在撰写论文时,我收到了Label multiply defined
警告。这种情况可能会发生,但不是大问题,但现在我的论文相当长,分为几个子文件。我找不到第二个定义,所以我必须浏览每个文档和CTR-F
标签。
是否有某些功能(在 Overleaf 中)可以查找有问题的标签?在日志中,它仅出现在错误消息中....
答案1
只是为了好玩:
\documentclass{article}
%\usepackage{hyperref}% changes number of arguments for \newlabel
\newcommand{\listoflabels}{}
\let\normalnewlabel=\newlabel
\makeatletter
\renewcommand{\newlabel}[2]{%
\protected@edef\listoflabels{\listoflabels label(#1) page(\getpagelabel#2)\protect\par}%
\global\let\listoflabels=\listoflabels
\normalnewlabel{#1}{#2}}
\makeatother
\IfPackageLoadedTF{hyperref}{\def\getpagelabel#1#2#3#4#5{#2}}% see also cleveref
{\def\getpagelabel#1#2{#2}}
\newcounter{foo}
\begin{document}
\listoflabels
\refstepcounter{foo}\label{bar}
\refstepcounter{foo}\label{bar}
\pageref{bar}
\end{document}