我想利用Maxima作为后端来解决我的LaTeX输入文件中使用的一些计算.我做了以下步骤.
下载并安装Maxima.
创建一个名为cas.bat
(例如)的批处理文件,如下所示.
rem cas.bat
echo off
set PATH=%PATH%;"C:\Program Files (x86)\Maxima-5.31.2\bin"
maxima --very-quiet -r %1 > solution.tex
将批处理保存在下面的输入文件所在的同一目录中.这只是为了简单起见.
创建名为main.tex
(例如)的输入文件,如下所示.
% main.tex \documentclass[preview,border=12pt,12pt]{standalone} \usepackage{amsmath} \def\f(#1){(#1)^2-5*(#1)+6} \begin{document} \section{Problem} Evaluate $\f(x)$ for $x=\frac 1 2$. \section{Solution} \immediate\write18{cas "x: 1/2;tex(\f(x));"} \input{solution} \end{document}
编译输入文件,pdflatex -shell-escape main
您将得到一个很好的输出,如下所示.
!
完成.
显然,Maxima的输出如下.我不知道如何让它更清洁.
solution.tex
1
-
2
$${{15}\over{4}}$$
false
现在,我的问题是
如何删除这些文本?
如何获得\frac{15}{4}
没有$$...$$
?
Robert Dodie.. 10
(1)要抑制输出,请使用美元符号(即$
)而不是分号(即;
)终止输入表达式.
(2)为了得到TeX-ified表达式sans环境分隔符(即$$
),调用tex1
而不是tex
.请注意,tex1
返回一个字符串,您必须自己打印(同时tex
为您打印).
将这些想法与您展示的内容相结合,我认为您的程序可能如下所示:
"x: 1/2$ print(tex1(\f(x)))$"
我想您可能会发现Maxima邮件列表很有帮助.[1]我很确定已经有多次尝试创建一个系统,例如你描述的系统.你也可以看看[2].
[1] http://maxima.sourceforge.net/maximalist.html [2] http://maxima.sourceforge.net/relatedprojects.html
(1)要抑制输出,请使用美元符号(即$
)而不是分号(即;
)终止输入表达式.
(2)为了得到TeX-ified表达式sans环境分隔符(即$$
),调用tex1
而不是tex
.请注意,tex1
返回一个字符串,您必须自己打印(同时tex
为您打印).
将这些想法与您展示的内容相结合,我认为您的程序可能如下所示:
"x: 1/2$ print(tex1(\f(x)))$"
我想您可能会发现Maxima邮件列表很有帮助.[1]我很确定已经有多次尝试创建一个系统,例如你描述的系统.你也可以看看[2].
[1] http://maxima.sourceforge.net/maximalist.html [2] http://maxima.sourceforge.net/relatedprojects.html