如何在 LaTeX 文档中包含 Matlab 代码
目前已经存在许多宏包可以将程序源码包含到 LaTeX 文档中。最为流行的是可能是 listings和 fancyvrb。然而,由于在设计时考虑到通用性,因此在包含 matlab 代码时设置适当的颜色与标记成为了一件十分繁琐的事。幸运的是Florian Knorn在 Matlab 中心发布了一个简单的模板文件——mcode, 来帮助我们完成这项工作。
配置
下载mcode.sty, 如果下载中断的话,还可以到howtotex网上去下载。下载完后将mcode.sty文件放在与tex文件向东文件夹下。并且在 tex 文件的导言区加入如下代码:
\usepackage[]{mcode}
方括号中的选项可以包括:
- bw: 黑白打印(根据灰度进行高亮)
- numbered: 生成代码行号
- framed: 包含代码框
- final: 该选项是配合使用 draft选项,当开启 draft选项时,除非添加 final选项,才会生成代码
- useliterate: 文学编程格式
- autolinebreaks: 自动断行
注意:mcode 宏包是基于 listing 宏包的,(它仅仅是针对 Matlab 代码高亮标准进行了特殊的颜色设置)。
使用
使用该宏包可以通过以下两种途径包含matlab代码:
第一种:
\begin{lstlisting}
a = 1; % MATLAB comment
b = 2;
c = a^2 + b^2;
\end{lstlisting}
第二种:
\lstinputlisting{/path_to_mfile/my_mfile.m}
评论
该宏包主要是针对 matalab 代码颜色与格式的精细调整,由于在论文文稿中 matlab代码较多,所以使用该宏包在某种程度上能够节省时间,美化排版。并且该宏包还提供了一些其他的比较雅观的排版技巧,比方说文学编程选项,使用该选项可以在代码中输出不等号,具体可见文档中的 demo。
相关文章