我有一个附录,里面有完整的 Matlab 脚本,逐字引用,并按我想要的方式编号和着色。
但是,我想引用其中的大约 10 行作为报告正文中的图表,而且由于我不会引用任何特定的行号,因此不需要包含它们(这些数字在带有换行标题的表格旁边看起来也很糟糕,因为 1 基本上位于连字符上!)
目前,我已经在包选项中打开了编号,但似乎无法关闭摘录。
或者,我可以从包选项中取出编号,然后告诉它对附录进行编号。
\documentclass{article}
\usepackage[numbered,breaklines=true]{mcode}
\begin{document}
some body
\begin{figure}[h]
\begin{lstlisting}[language=Matlab,breaklines=true]
% loop over different monosaccharide in minimal media
offset = 2;
for j = 1:length(carbonSourceList)
disp(['Current carbon source in media is: ', carbonSourceList{j}]);
%fprintf('\n');
lbColumn = (j - 1) * offset + 2;
%ubColumn = (j - 1) * offset + 3;
ubColumn = lbColumn + 1;
currentFBAsettings = allFBAsettings(:, [1 lbColumn:ubColumn]);
tempModel = batch_modify_flux_bounds(currentFBAsettings, origModel);
\end{lstlisting}
\label{Extract}
\caption{Extract from FBA Matlab script showing looping over different carbon sources}
\end{figure}
more body
\newpage
\appendix
\onecolumn
\small
\newpage
\section{MATLAB FBA Script, quoted verbatim}
%\lstinputlisting[language=Matlab,breaklines=true]{ATCC29149_FBA_all_v4_3.m}
\begin{lstlisting}[language=Matlab,breaklines=true]
% loop over different monosaccharide in minimal media
offset = 2;
for j = 1:length(carbonSourceList)
disp(['Current carbon source in media is: ', carbonSourceList{j}]);
%fprintf('\n');
lbColumn = (j - 1) * offset + 2;
%ubColumn = (j - 1) * offset + 3;
ubColumn = lbColumn + 1;
currentFBAsettings = allFBAsettings(:, [1 lbColumn:ubColumn]);
tempModel = batch_modify_flux_bounds(currentFBAsettings, origModel);
\end{lstlisting}
\label{FBAscript}
\end{document}
这会产生带有数字的结果。当我尝试将 numbered=False 作为参数时,它开始抛出有关断线的错误消息,当 \lstinputlisting 选项中不包含“numbered”参数时,此方法有效。
答案1
好的,我明白了。我设置了 mcode 而没有选择编号。然后我发现选项中带有编号的命令集运行了,它看起来像这样:
\lstset{%
numbersep=3mm, numbers=left, numberstyle=\tiny, % number style
}
因此我只是将其添加到附录中的 \section 中,其中就包含了数字。