Hyperref 引用了错误的标签

Hyperref 引用了错误的标签

我在 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>命令的重新定义。

相关内容