如何在文档中包含 Mathematica 代码?

如何在文档中包含 Mathematica 代码?

我想在 LaTeX 文档中包含一些 Mathematica 代码。

大致如下 f[a_,b_]:=a^2+b^2+4b^3+25a*b*c ;

但是,当我构建 PDF 时,和_总是^会呈现。有没有办法让它像上面显示的那样显示?

答案1

正如 rdhs 提到的,您可以使用 listings 包。示例如下:

\documentclass{article}

\usepackage{listings}
\lstloadlanguages{[5.2]Mathematica}

\begin{document}

\begin{lstlisting}
f[a_,b_]:=a^2+b^2+4b^3+25a*b*c ;
\end{lstlisting}

For inline stuff you can use \lstinline$f[a_,b_]:=a^2+b^2+4b^3+25a*b*c ;$
 instead of the lstlisting environment. 
    \end{document}

注意 lstinline 的动词分隔符。不过,列表手册指出了动词分隔符,但在我所有的工作中,我都使用通常的 { 和 },而且效果很好(可能有点奇怪,但我发现它更容易阅读,并且会尽可能长时间地继续使用它)

在此处输入图片描述

还有其他方法。例如,minted 包可以完成您想要的操作,但它要求您安装 Pygments,这是一个 Python 库。

答案2

使用\verb,如\verb|f[a_,b_]:=a^2+b^2+4b^3+25a*b*c ;|。对于较长的程序,使用listings包。或者使用 Mathematica 的将选择内容保存为 PDF功能并将 PDF 作为图像包含在内。

答案3

要包含 Mathematica 代码的图像,您可以评估单元格

Mathematica 8 中的函数

然后选择它(通过单击右方括号])。然后,按照菜单File>Save Selection As...并保存为 PDF 生成 PDF 输出:

在此处输入图片描述

这种方法的一个优点是它将包含嵌入的 Mathematica 字体,以及与实际 Mathematica 显示相同的间距和布局。如果您要摆脱输入/输出指示器,您可以使用以下方式剪辑图像graphicxtrim=lx ly ux uy,clip键值,或者提取图像它被评估。

答案4

除了lstlisting解决方案之外,这里还有另一种方法。

在 Mathematica 中,另存为菜单,选择 LaTex 文档格式,.tex并且代码将自动为您生成。

例如,以下代码

数学代码

将转换为

\documentclass{article}
\usepackage{amsmath, amssymb, graphics, setspace}

\newcommand{\mathsym}[1]{{}}
\newcommand{\unicode}[1]{{}}

\newcounter{mathematicapage}
\begin{document}

\begin{doublespace}
\noindent\(\pmb{f[\text{x$\_$}]\text{:=}\text{Exp}[-a*(x-y){}^{\wedge}2];}\\
\pmb{f\text{''}[x]}\)
\end{doublespace}

\begin{doublespace}
\noindent\(-2 a e^{-a (x-y)^2}+4 a^2 e^{-a (x-y)^2} (x-y)^2\)
\end{doublespace}

\end{document}

生成的文档如下

mathematica 代码 pdf

如果你希望它居中,请\centerline使用\noindent

\documentclass{article}
\usepackage{amsmath, amssymb, graphics, setspace}

\newcommand{\mathsym}[1]{{}}
\newcommand{\unicode}[1]{{}}

\newcounter{mathematicapage}
\begin{document}

\begin{doublespace}
\centerline{$\pmb{f[\text{x$\_$}]\text{:=}\text{Exp}[-a*(x-y){}^{\wedge}2];}$}

\centerline{$\pmb{f\text{''}[x]}$}
\end{doublespace}

\begin{doublespace}
\centerline{$-2 a e^{-a (x-y)^2}+4 a^2 e^{-a (x-y)^2} (x-y)^2$}
\end{doublespace}

\end{document}

相关内容