使用 mcode 时关闭/打开编号

使用 mcode 时关闭/打开编号

我有一个附录,里面有完整的 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 中,其中就包含了数字。

相关内容