![运行并将 matlab 代码的输出包含在文档中](https://linux22.com/image/428197/%E8%BF%90%E8%A1%8C%E5%B9%B6%E5%B0%86%20matlab%20%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%E5%8C%85%E5%90%AB%E5%9C%A8%E6%96%87%E6%A1%A3%E4%B8%AD.png)
我想运行一个 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"}