我想运行一个 matlab 程序并将输出包含在我的文档中。为此,我尝试结合\input
和matlab-prettifier
。这是我尝试的:
\begin{lstlisting}[
style = Matlab-editor,
basicstyle = \mlttfamily,
escapechar = `
]
`\input|"matlab -batch MyProgram"`
\end{lstlisting}
如果输出包含未转义的字符(如下划线),则此方法不起作用,并会出现以下错误:
/test/test.tex:13: Extra }, or forgotten $.
<recently read> \egroup
我觉得这很奇怪,因为如果我手动输入输出,我就可以得到这些字符。我该如何实现我想要的行为?
答案1
正如 David 指出的那样,您可以简单地使用|"matlab -batch MyProgram"
文件名\lstinputlisting
。因此,工作结果是:
\lstinputlisting[
style = Matlab-editor,
basicstyle = \mlttfamily,
]{|"matlab -batch MyProgram"}