{"id":24746836,"url":"https://github.com/nilqed/fricas-texmacs","last_synced_at":"2026-01-04T18:07:04.840Z","repository":{"id":272624199,"uuid":"917221465","full_name":"nilqed/fricas-texmacs","owner":"nilqed","description":"FriCAS \u0026 TeXmacs (plugin enhancements)","archived":false,"fork":false,"pushed_at":"2025-03-09T20:32:19.000Z","size":324,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T21:25:21.148Z","etag":null,"topics":["computer-algebra-system","fricas","texmacs-config","texmacs-plugin"],"latest_commit_sha":null,"homepage":"","language":"Scheme","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nilqed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-15T15:30:51.000Z","updated_at":"2025-03-09T20:32:22.000Z","dependencies_parsed_at":"2025-01-15T17:49:01.416Z","dependency_job_id":"e847f441-3131-41fb-a2dc-236939e11f84","html_url":"https://github.com/nilqed/fricas-texmacs","commit_stats":null,"previous_names":["nilqed/fricas-texmacs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilqed%2Ffricas-texmacs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilqed%2Ffricas-texmacs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilqed%2Ffricas-texmacs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilqed%2Ffricas-texmacs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nilqed","download_url":"https://codeload.github.com/nilqed/fricas-texmacs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245042336,"owners_count":20551569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-algebra-system","fricas","texmacs-config","texmacs-plugin"],"created_at":"2025-01-28T04:35:06.860Z","updated_at":"2026-01-04T18:07:04.835Z","avatar_url":"https://github.com/nilqed.png","language":"Scheme","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fricas-texmacs\nFriCAS \u0026amp; TeXmacs (plugin enhancements + SPAD support)\n\n:construction: work in progress :warning:\n\n### Improved Math Input \nUsing the pattern matcher of guile/scheme.\n\n![math-input](./docs/math-input.jpg?raw=true)\n\n### Package TMSPT (tmspt.spad)\nThe `TexmacsSupport` package allows to control most of the __TeXmacs__\nmenu commands from __FriCAS__.\n\n![tmspt](./docs/tmspt.jpg?raw=true)\n\n\n### .fricas.input\nOne may use the FriCAS startup file `~/.fricas.input`  to tailor the initial\n__TeXmacs__ environment.\n\nExample:\n\n    -- Usage: quickLoad pkg \n    -- =\u003e same as )lisp (ql:quickload pkg)\n    macro quickLoad(s) ==\n      syscmd(s) ==\u003e systemCommand(s)$MoreSystemCommands\n      lisp2(f,a) ==\u003e syscmd string(FORMAT('NIL,\"lisp (~A _\"~A_\")\",f,a)$Lisp)\n      syscmd \"lisp (defvar |$inclAssertions| NIL)\" \n      lisp2(\"load\", \"~/quicklisp/setup\")\n      lisp2(\"ql:quickload\",s)\n\n    -- Usage: setPromot(\"beforeNumber\",\"afterNumber\")\n    -- Example: setprompt(\"\",\". \") --\u003e \"10. \" instead of \"(10)-\u003e \"\n    macro setPrompt(beg,end) ==\n      syscmd(s) ==\u003e systemCommand(s)$MoreSystemCommands\n      fmt1:=\"(DEFUN MKPROMPT () (PROG () (RETURN (STRCONC \" \n      fmt2:=\"(STRINGIMAGE |$IOindex|) \" \n      fmt3:= \"))))\"\n      cmd:=\"lisp \" fmt1  \"_\"\" beg \"_\"\" fmt2 \"_\"\" end \"_\"\" fmt3\n      syscmd(cmd)  \n\n    -- Usgae: lisp str (evaluates the string in Lisp and returns an SExpression)\n    lisp(s:String):SExpression == EVAL(READ_-FROM_-STRING(s)$Lisp)$Lisp\n\n    -- If one calls the following macro, the prompt will be changed\n    -- the package TMSPT will be loaded (if in ~/quicklisp/local-projects), \n    -- the \"types\" output will be redefined and the start banner will be deleted.\n    macro tmenv ==\n      setPrompt(\"\",\". \")\n      quickLoad tmspt\n      ioHook()\n      removeBanner()\n\n\n\nOne may also call a `FriCAS` session in `TeXmacs` by a shell script. The example\nbelow will start `TeXmacs` then creates a `FriCAS` session and calls the macro \n`tmenv()` from `.fricas.input` (if defined).\n\n\n    #!/bin/sh\n    #if [ -z \"$1\" ]; then echo *.input ... filename expected; exit 1; fi\n    texmacs -x  \"(begin \\\n    (make-session \\\"fricas\\\" \\\"default\\\") \\\n    (insert  \\\"tmenv() \\\") \\\n    (session-evaluate))\"\n\n\n\nTODO: \n* more math input patterns\n* menu\n* documentation\n* tidy up\n\n\n:date: 15-JAN-2025\n:revised: 15-AUG-2025\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilqed%2Ffricas-texmacs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnilqed%2Ffricas-texmacs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilqed%2Ffricas-texmacs/lists"}