我在项目中使用 listings 和 hyperref,我想跳过某些列表的行号。我使用\Suppressnumber
-command a \Reactivatenumber
-command(来自列表:跳过当前行的行号)。但是,\Suppressnumber
-command 会产生以下错误
pdfTeX warning (ext4): destination with the same identifier (name{lstnumber.-1.\\thelstnumber\040}) has been already used, duplicate ignored
它还会为所有后续列表(包括输入和内联列表)生成此警告。对于我的项目,这意味着日志中有 60000 行(共 63000 行)。我该怎么做才能修复它?
平均能量损失
\documentclass{article}
\usepackage{listings}
\lstset{language=[Sharp]C,escapeinside={(*@}{@*)}}
\let\origthelstnumber\thelstnumber
\makeatletter
\newcommand*\Suppressnumber{%
\lst@AddToHook{OnNewLine}{%
\let\thelstnumber\relax%
\advance\c@lstnumber-\@ne\relax%
}%
}
\makeatother
\usepackage{hyperref}
\begin{document}
\begin{lstlisting}
public void Main(){
(*@ \Suppressnumber @*)
int i = 0;
}
\end{lstlisting}
\end{document}