\ref 跳转至附录中的右侧图片

\ref 跳转至附录中的右侧图片

我重新命令了附录中表格和图片的编号。但是当我在正文中使用 ref 命令时,它不会跳转到附录中的正确图片。例如,我的平均部分中有图 1,附录中有图 A.Abb.1,我想在平均部分中使用 \ref{test123},它会跳转到平均部分的图 1,而不是附录中的图 A.Abb.1。我该如何修复它?

       \documentclass[a4paper, 12pt]{article}
        \usepackage{hyperref}
        \usepackage{amsmath,amssymb,slashbox,graphicx}
    \usepackage{float}
        \begin{document}

\begin{figure}[h]
    \includegraphics[width=1\textwidth,height=180px]{test1234}
    \caption{test1234}\label{test1234}
\end{figure}

blabla \ref{test1234}
       blabla \ref{test123}

        \section*{Appendix}

        \setcounter{table}{0}
        \renewcommand{\thetable}{A.Tab.\arabic{table}}
        \setcounter{figure}{0}
        \renewcommand{\thefigure}{A.Abb.\arabic{figure}}
        \setcounter{figure}{0}

        \begin{figure}[H]
            \includegraphics[width=1.0\textwidth]{test}
            \caption{test}\label{test123}
        \end{figure}



        \end{document}

答案1

超链接包会自动为超链接的锚点创建名称。为了创建这些名称,它为每个 ⟨counter⟩ 定义了一个宏\theH⟨counter⟩

当将 ⟨counter⟩ 重置为 0 或任何先前的值时,除非您还调整以下内容,否则不再能确保锚点名称的唯一性\theH⟨counter⟩

\documentclass[a4paper, 12pt]{article}
\usepackage{hyperref}
\usepackage{amsmath,amssymb,slashbox,graphicx}
\usepackage{float}
\begin{document}

\begin{figure}[h]
  \includegraphics[width=1\textwidth,height=180px]{example-image-a}
  \caption{test1234}\label{test1234}
\end{figure}

blabla \ref{test1234}
blabla \ref{test123}

\section*{Appendix}

\renewcommand{\thetable}{A.Tab.\arabic{table}}
\renewcommand{\thefigure}{A.Abb.\arabic{figure}}
\renewcommand{\theHtable}{A.Tab.\arabic{table}}%<---!!!!---
\renewcommand{\theHfigure}{A.Abb.\arabic{figure}}%<---!!!!---
\setcounter{table}{0}
\setcounter{figure}{0}

\begin{figure}[H]
  \includegraphics[width=1.0\textwidth]{example-image-b}
  \caption{test}\label{test123}
\end{figure}

\end{document}

经过这种调整,超链接可以引导至正确的位置。

但是我在评论中提到的问题,即pdfTeX warning (ext4): destination with the same identifier (name{...}) has been already used, duplicate ignored..log 文件中的问题仍未解决。该警告仅在以下情况下出现:漂浮包已加载。我猜想这是该包中的一个错误,与它的使用方式有关\AtBeginShipoutBox

相关内容