两个表计数器和超链接

两个表计数器和超链接

我有一份包含两组表格的文件。第一组表格编号为 1 至 5,位于正文中。第二组表格编号为 1 至 3,位于附录中。

当我使用\ref链接到附录中的一张表时,PDF 文件中的超链接会链接到主部分中的相应表(因此,附录表 1 的链接会链接到主表 1)。提供了以下警告消息:

pdfTeX warning (ext4): destination with the same identifier (name{table.1}) 
   has been already used, duplicate ignored

显然这是一个计数器问题:当我在附录中重置表计数器时,有两个计数器为 1 的表,而 hyperref 只指向第一个。

相关问题已在本论坛上讨论过,网上也有很多讨论,但我还没能找到解决这一特定问题的方法。(修复页码问题似乎更直接。)此外,我觉得该软件包aliascnt可以在这里工作,但我不知道如何让它工作。

答案1

事实上,问题出在链接锚点没有唯一名称。为了提供这些唯一名称,您可以适当地重新定义\theHtable以保证它将扩展为唯一值(尽管计数器重置);例如:

\documentclass{article}
\usepackage{hyperref}

\begin{document}

\section{test}
\renewcommand*{\theHtable}{\arabic{table}} 
\begin{table}
  \centering Test
  \caption{test1}\label{fig:test1}
\end{table}

\begin{table}
  \centering Test
  \caption{test2}\label{fig:test2}
\end{table}

\begin{table}
  \centering Test
  \caption{test3}\label{fig:test3}
\end{table}

\appendix

\setcounter{table}{0}
\renewcommand*{\theHtable}{\arabic{section}.\arabic{table}} 

\begin{table}
  \centering Test
  \caption{test4}\label{fig:test4}
\end{table}

\begin{table}
  \centering Test
  \caption{test5}\label{fig:test5}
\end{table}

\ref{fig:test1}\ref{fig:test2}\ref{fig:test3}\ref{fig:test4}\ref{fig:test5}

\end{document}

相关内容