![Hyperref 引用了错误的标签](https://linux22.com/image/334444/Hyperref%20%E5%BC%95%E7%94%A8%E4%BA%86%E9%94%99%E8%AF%AF%E7%9A%84%E6%A0%87%E7%AD%BE.png)
我在 LaTeX 中拥有此代码,并且正在处理一些带有标签和引用的动态工作。此代码有效 - 第一个引用引用第一个文本,第二个引用引用第二个文本,但我想在contentCounter
每个部分内重置。
\documentclass{article}
\usepackage{hyperref}
\newcounter{contentCounter}
\renewcommand{\thesection}{\arabic{section}}
\newcommand{\inserttext}{%
\refstepcounter{contentCounter}
\par This is inserted text widh ID \thesection.\thecontentCounter. \\
\label{text:\thesection.\thecontentCounter}
}
\begin{document}
\setcounter{section}{1}
\inserttext
\setcounter{section}{2}
\inserttext
\newpage
\textbf{References}
\setcounter{section}{1}
\hyperref[text:\thesection.1]{first text}
\setcounter{section}{2}
\hyperref[text:\thesection.2]{second text}
\end{document}
我尝试重置计数器,但第二个引用不起作用。问题出在哪里?谢谢。
\documentclass{article}
\usepackage{hyperref}
\newcounter{contentCounter}
\renewcommand{\thesection}{\arabic{section}}
\newcommand{\inserttext}{%
\refstepcounter{contentCounter}
\par This is inserted text with the ID \thesection.\thecontentCounter. \\
\label{text:\thesection.\thecontentCounter}
}
\begin{document}
\setcounter{section}{1}
\inserttext
\setcounter{section}{2}
\setcounter{contentCounter}{0}
\inserttext
\newpage
\textbf{References}
\setcounter{section}{1}
\hyperref[text:\thesection.1]{first text}
\setcounter{section}{2}
\hyperref[text:\thesection.1]{second text}
\end{document}
答案1
(如果这不是重复的....)
在这种情况下,只需使用可选参数即可\newcounter
:
\newcounter{contentCounter}[section]
其中[section]
表示contentCounter
每次使用 时应将 重置为零\section
。
请注意,如果您需要修改最初定义的没有可选参数的计数器(或者相反,修改使用可选参数定义的计数器),则可以使用包chngcntr
及其命令:\counterwithin
和\counterwithout
。 这两个命令都包含一个“带星号”的变体,它可以抑制相关\the<counter>
命令的重新定义。