1、首先介绍运算输出公式。先说在Mathematica中查看公式的数学样式。在运算结果右侧对应的展开收起括号上右键,选择转换成->TraditionalForm。即可看到传统样式的公式。
2、在仍然在公式右侧的括号上右键,点击赋值为->LATEX。粘贴到latex编辑器中的\begin{math}和\end{math}之间(或者其他可以输入数学公式的begin-髫潋啜缅end之间)另外注意引用宏包amsmath。编译成pdf效果如图。
3、下面说输入公式的转换。在输入代码上,也是可以右键->复制为->LaTeX的。但是不加处理可能出现错误。因为复制为LaTeX时,首先会对复制内容进行一定的解析和运算。
4、一种解决方法是,把需要导出的公式写在HoldForm函数内。HoldForm是保持表达式,对表达式形式不进行计算,这样再复制为Latex就仅解析层级关系,不会计算代码。
5、注意:不论复制为Latex的内容,是字符串代码,还是数学样式,都会进行解析计算再按照数学格式输出为latex代码。因此,如图代码会被直接转换成公式。
6、另外,如果公式与Mathematica语法有冲枥昂龄室突,可以在字符串里边编辑公式,然后将整个字符串导出为latex公式,再把两个引号去掉。瞽攥涛徭但是这种方式,公式的层级关系不会被分析,可能会看到括号不匹配的情况。中文会被翻译成\unicode{XXXX}无法直接使用,应该尽可能避免在MMA公式中嵌入中文。或者需要自己令行处理。
7、处理方法是,在公式里使用\text{中文内容}。(需要中文支持比如ctex)效果如图。
8、另外需要注意,HoldForm虽然可以防止公式蹲赓忧甘被计算,但是要求公式符合语法。这也是为什么刚才那个有中文还有标点的例子无法使用HoldForm使其合法化。但是,在Mathematica中,任何元素可以相乘,所以字符串与相乘是符合语法的,我们只需要使用HoldForm使其不计算即可。导出效果如图。