运行并将 matlab 代码的输出包含在文档中

运行并将 matlab 代码的输出包含在文档中

我想运行一个 matlab 程序并将输出包含在我的文档中。为此,我尝试结合\inputmatlab-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"}

相关内容