我想在我的 tex 文件中包含一些 Mathematica 代码。为此,我使用这个解决方案。
举个例子:
\documentclass[12pt,a4paper]{book}
\usepackage{graphicx}
\usepackage{bm}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{enumitem}
\usepackage{listings,xcolor}
\lstset{language=Mathematica}
\lstset{basicstyle={\sffamily\footnotesize},
numbers=left,
numberstyle=\tiny\color{gray},
numbersep=5pt,
breaklines=true,
captionpos={t},
frame={lines},
rulecolor=\color{black},
framerule=0.5pt,
columns=flexible,
tabsize=2,
mathescape,
commentstyle=\color{gray}
}
\begin{document}
\begin{lstlisting}[language=Mathematica,caption={Loglrt computes the loglikelihood for a sample, under the null.}]
loglrt[tetas_, sigmaest_, y_, n_] := Log[Times @@ (1/(Sqrt[2 * Pi] * sigmaest) *
E^(-(y[[2 ;; n]] - tetas[[2]] - tetas[[1]] * y[[1 ;; n - 1]])^2 / (2 * sigmaest^2)))];
\end{lstlisting}
\end{document}
当公式已经存在于乳胶文档中并作为生成 pdf 的基础时,这种方法有效。
然而,
我写论文就像写书一样。我分别写每一章,然后将它们输入到主 tex 文件中。与我通常所做的类似,我在主 tex 中写道:
\documentclass[12pt,a4paper]{book}
\usepackage{graphicx}
\usepackage{bm}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{enumitem}
\usepackage{listings,xcolor}
\lstset{language=Mathematica}
\lstset{basicstyle={\sffamily\footnotesize},
numbers=left,
numberstyle=\tiny\color{gray},
numbersep=5pt,
breaklines=true,
captionpos={t},
frame={lines},
rulecolor=\color{black},
framerule=0.5pt,
columns=flexible,
tabsize=2,
mathescape
}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
\graphicspath{ {./Pictures} }
\begin{document}
\frontmatter
%\setcounter{section}{1}
\input{title.tex}
\input{dedication.tex}
\tableofcontents
\mainmatter
\chapter{Introduction}
\input{Introduction.tex}
\appendix
\chapter{Mathematica Code}
\input{Mathematica Code2.tex}
\backmatter
\end{document}
在这种情况下,我的 tex 编译器说它找不到文件“Mathematica Code2.tex”,这很奇怪,因为它与“Introduction.tex”和在主体中输入的所有其他 tex 文件存在于同一文件夹中...
任何帮助,将不胜感激。