[由于问题不清楚] 我有一段程序代码想在论文中描述。我的问题是,我想解释的部分被不值得描述的简单代码片段包围着。现在我想问,行号是否有可能出现跳转。此外,我想问一下,是否有人有过指出我遗漏了部分代码的经验,因为它们不相关。
\noindent
\begin{minipage}{\linewidth}
\begin{lstlisting}[caption=Function, label={lst:example}, firstnumber=1]
int complicated_function(int b){
//I do a lot here..
if(a < b){
return a;
}else{
return b;
}
if(b == 0){
printf("Error"); //Not really relevant, just error handling. How can I leave it out?
}
return EXIT_SUCCESS;
}
\end{lstlisting}
\end{minipage}`
谢谢!
答案1
如果您只想在论文中讨论某些行,则可以轻松地将列表分成三个部分,例如使用linerange={1-3}
前 3 行选项。如果您希望列表中有实际行号,请使用例如firstnumber=10
从行号 10 开始的选项。
以下是 MWE:
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.c}
int complicated_function(int b){
//I do a lot here..
if(a < b){
return a;
}else{
return b;
}
if(b == 0){
printf("Error"); //Not really relevant, just error handling. How can I leave it out?
}
return EXIT_SUCCESS;
}
\end{filecontents*}
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\lstset{
language=c,
basicstyle=\footnotesize\ttfamily,
tabsize=2,
frame=single,
numbers=left,
numberstyle=\tiny
}
\begin{document}
We start with
\lstinputlisting[%
caption={Function}
,label={lst:example}
,linerange={1-1}
]{\jobname.c}
Then you will find
\lstinputlisting[%
caption={Function, Part 2}
,label={lst:example2}
,linerange={4-8}
]{\jobname.c}
And closing
\lstinputlisting[%
caption={Function, Part 3}
,label={lst:example3}
,linerange={10-12}
,firstnumber=10
]{\jobname.c}
\end{document}
我使用包来filecontents
将要讨论的程序代码放在一个文件中。