在 Org 中运行 Maxima 代码报错 incorrect syntax: / is not a prefix operator

不新了,有 4 年了。就是又一个 Python 能写各種语言解釋器的证明罢了。

试一下 windows 版 bash.exe

然后设置 shell-file-name

谢提示,没有用过,试试看。

我虽然偶尔用一下 maxima,不过不在emacs中用,而是用 TeXmacs 作为它的前端,因为这样可以利用 TeXmacs 的排版能力对 maxima 的输出进行排版,下面是截图

這个用 Emacs 和 imaxima 也能做到。imaxima.el 是 maxima 源碼里就有的。只是很少人知道。

niubility

在texmacs里用过MAXIMA,很不错。但我看起来emacs里面更加灵活。支持太全面了,虽然不是很完善。但TEXMACS也不稳定。

TeXmacs 在 windows 10 下面不大稳定,但在 windows 7 和 debian 下都没有问题。

是的,但自从了ORG,可以运行各种语言。做各种运算,秀图片曲线。对其他啥的都不感兴趣了。全力调教emacs,目前对部分功能不太掌握。希望用一段时间能好点。接触的算多了,tecmacs,jupyter note,latex,markdown,RST.还是这个对得上眼。

orgmode,用过的都说好 :joy:

这个是怎么配置出来的,有文档不,需不需要 latex 环境?

Maxima 自帶有文档,不复雜,就是原本 maxima.el 的升級版。光看代码就差不多知道怎麼用了。 https://github.com/andrejv/maxima/blob/master/interfaces/emacs/imaxima/imaxima.el

配置总共就这么多:

(add-to-list 'load-path "/usr/local/share/maxima/5.18.1/emacs/")
 (autoload 'maxima-mode "maxima" "Maxima mode" t)
 (autoload 'imaxima "imaxima" "Frontend for maxima with Image support" t)
 (autoload 'maxima "maxima" "Maxima interaction" t)
 (autoload 'imath-mode "imath" "Imath mode for math formula input" t)
 (setq imaxima-use-maxima-mode-flag t)
 (add-to-list 'auto-mode-alist '("\\.ma[cx]" . maxima-mode))

只要 latex 和导出图片的相關工具。

谢谢,费心啊。我现在正好在ARCHLINUX里调试。直接用的得上。原先是在WINDOWS里。出错。

你好,我配置maxima+emacs时,使用maxima模式可以得到正确的计算结果。但是在emacs的imaxima前端,渲染公式时会出现Latex error in 。。。错误。但是这个latex转换过程的错误也没有啥输出,请问怎么处理。我的版本27.2,maxima 是5.44.

你 latex 是用啥装的

texlive2020.iso安装的,我查到在配置文件中添加 (setq imaxima-latex-preamble “\usepackage{amsmath}”) 可以解决我之前提的问题,但新的问题是,第一次输入可以正确渲染,如果输入错误想要在原来的式子上修改,会报incorrect syntax: syntax is not an infix operator,错误。

那就更新吧,2021早出来了

话说emacs的maxima插件已经有新包了 Fermin / maxima.el · GitLab

我用这里的方法成功运行了

I think it might be because of how windows is handling the path. I found the following code online and replaced it in “ob-maxima.el” : ;; (let* ((cmdline (or (cdr (assq :cmdline params)) “”)) ;; (in-file (org-babel-temp-file “maxima-” “.max”)) ;; (cmd (format “%s --very-quiet -r 'batchload(%S)' %s" ;; org-babel-maxima-command in-file cmdline))) (let* ((cmdline (or (cdr (assoc :cmdline params)) "")) (in-file (org-babel-temp-file "maxima-" ".max")) (cmd (format "%s --very-quiet -r \"batchload(\\\"%s\\\")" %s” org-babel-maxima-command in-file cmdline)))