LaTeX Listings 包,注释无行号

LaTeX Listings 包,注释无行号

我试图只对实际代码进行行编号,而不是同时对代码和注释进行行编号。示例:

\lstset{basicstyle=\footnotesize, xleftmargin=40pt, frame =
single, numbers = left,caption = Test, label = list:Test} 
\begin{lstlisting}[language = java,mathescape]
//Test comment
if( this = test)
print;
\end{lstlisting}
\vspace{2 mm}

还打印注释的所有行号。

感谢您的帮助。

答案1

我认为使用“listings”包无法实现您想要的功能。但是,如果值得您花时间,您可以将其分成几个部分,并使用一种样式来表示数字,另一种样式来表示非数字。请参阅下面的示例,了解其中一种实现方式。

\documentclass{article}
\usepackage{listings}
\begin{document}
\lstdefinestyle{numbers}
{numbers=left, stepnumber=1, numberstyle=\tiny, numbersep=10pt}
\lstdefinestyle{nonumbers}
{numbers=none}
\begin{lstlisting}[style=nonumbers]
// this is comments
// and more
\end{lstlisting}
\begin{lstlisting}[style=numbers]
for i:=maxint to 0 do
begin
  {do some code}
end;
\end{lstlisting}
\begin{lstlisting}[style=nonumbers]
// this is comments
// and more
\end{lstlisting}
\end{document}

就我个人而言,我避免排版带有注释的代码,因为它看起来很丑。由于您描述了代码,因此最好用文字提供您自己的注释,而不是注释(就像大多数软件包中的文档一样)。

您还可以尝试“fancyvrb”,我相信它可以提供您所指定的功能。

相关内容