抑制列表包中特定行的行号

抑制列表包中特定行的行号

我想listings通过使用某种命令识别特定行来抑制包中特定行的行号。

答案1

这并不像听起来那么简单。你必须把每一行都勾住。这里有一个小解决方案,需要更多测试:

在此处输入图片描述

\documentclass{article} 
\usepackage{listings}

\lstset{numbers=left,numberblanklines=false,escapeinside=||}
\let\origthelstnumber\thelstnumber
\makeatletter
\newcommand*\Suppressnumber{%
  \lst@AddToHook{OnNewLine}{%
    \let\thelstnumber\relax%
     \advance\c@lstnumber-\@ne\relax%
    }%
}

\newcommand*\Reactivatenumber{%
  \lst@AddToHook{OnNewLine}{%
   \let\thelstnumber\origthelstnumber%
   \advance\c@lstnumber\@ne\relax}%
}


\makeatother
\begin{document}

\begin{lstlisting}
First line.
Second line.|\Suppressnumber|
Third line.
Next line.|\Reactivatenumber|
Next Line
\end{lstlisting}
\end{document}

下次请举个例子。这个例子是我从你上一个问题中摘取的。

相关内容