我有一些 Matlab 代码,想要将其包含在我的 LaTeX 文档中。
我用幻想VRB包,在此基础上我定义了一个新的环境,叫做 code。一个完整且最小的示例是:
\documentclass[12pt,letterpaper]{article} \usepackage{fancyvrb} \DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small} \DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small} \begin{document} \begin{code} addpath('~/plot'); \end{code} \end{document}
但是,在创建的 pdf 文件中,如果我复制代码并将其粘贴到 Matlab 命令窗口中,Matlab 会抱怨单引号不是 Matlab 中使用的单引号。我想知道为什么以及如何解决这个问题?
- 概括来说,我还想知道除了单引号之外是否还有其他字符可能导致此类错误?不仅在 Matlab 中,而且在其他编程语言中也是如此?
- 另外,我想知道使用 fancyvrb 在 LaTeX 中包含代码的方法是否最好?您还有其他不错的方法可以推荐吗?
感谢致敬!
答案1
几年前,我写了一本关于 Matlab 的书,我把listings
所有包含的代码都用到了这个包中。这提供了许多选项:转为 (La)TeX、彩色背景、框架等。
我使用
\lstset{language={},
keepspaces=true,
xleftmargin=\parindent,
xrightmargin=\parindent,
basicstyle=\ttfamily,
frame=single,
framesep=2mm,
framerule=0pt,
columns=flexible,
backgroundcolor=\color[gray]{0.9}}
然后调用它
\begin{lstlisting}
function sc(n)
for i = 1:n
disp([i, i^2, i^3])
end
\end{lstlisting}
我也一直用它做学生笔记。