2013-03-11 78 views
15

我想用Maxima评估文档。这很容易千里马输出转换成TeX的:从Maxima输入生成LaTeX

(%i1) tex(5*x^2+sin(x)+c)$ 
$$\sin x+5\,x^2+c$$ 

但是,它不会为以前的输入线工作:

(%i2) 5*x^2+sin(x)+c; 
              2 
(%o2)       sin(x) + 5 x + c 
(%i3) tex(%i2); 

\begin{verbatim} 
(%i2)sin(x)+5*x^2+c; 
\end{verbatim} 

(%o3)        (%i2) 

大量的研究(包括here这是接近,但没有雪茄)我后已经空了。任何见解?

+1

顺便说一句,使用'$$ ... $$'在LaTeX的界定数学是不可取的。与其他数学环境存在一些间距不一致的情况,通常建议使用'\ [... \]'或扩展的AMSmath环境之一,比如'align'等(类似于'$ ... $'与'\(... \)'但由于不同的原因)。 – 2013-03-11 16:58:06

+0

谢谢。我打算剥离美元符号并做一些后期处理。 – 2013-03-11 18:17:03

回答

17

试试这个。

tex (''%i2); 

apply (tex, [%i2]); 
+1

如果添加了一些解释,这将是很好的。对于我们自己无法想到的解决方案(我是其中之一),这将非常有益。 – 2013-12-26 12:41:37

+1

@AlbertvanderHorst那么,问题是'tex'检查它的参数是否是输入或输出标签,如果是这样,它会特别对待它们。为了击败检查,你必须确保'tex'看到'%i2'的值或任何参数。有两种方法可以使用引用引用(即两个单引号)在评估之前将值插入到输入中,或者使用apply来将函数应用于标签的值。 'apply'更通用,因为quote-quote只能用于控制台输入,但quote-quote更方便。 – 2013-12-26 21:00:00