如何向 titlelingpage 环境添加正确的交叉引用超链接?

如何向 titlelingpage 环境添加正确的交叉引用超链接?

我有以下命令用于在我的博士论文中设置一些标题页:

\newcommand{\AddPaperTitlePage}[5]{%
    \begin{titlingpage*}
    \addcontentsline{toc}{chapter}{#1}
    \begin{flushright}
    \setlength\beforepapernumskip{30pt}
    \setlength\beforepapernameskip{5\baselineskip}
    \setlength\beforepaperdetailskip{2\baselineskip}
    
    \vspace*{\beforepapernumskip}
    {\papernumfont#1}
    
    \vspace{\beforepapernameskip}
    {\papernamefont#2}
    
    \vspace{\beforepaperdetailskip}
    {\paperdetailfont#3}\\[2\baselineskip]
    {\paperdetailfont#4}\\[10mm]
    
    %\includegraphics[width=0.75\textwidth]{./figs/CBS-O-METER}
    
    \vfill
    {\paperdetailfont Supporting Information Available At: \\ \url{#5}}
    
    \end{flushright}
\end{titlingpage*}
}

但是目录中创建的超链接不会将读者带到标题页的实际页面,而是带到目录中最后一个“正常创建”的章节。有没有办法让上述命令中的超链接起作用?

答案1

首先,始终提供完整但最小的示例,供其他人复制和测试。例如,此处的代码未显示正在使用 hyperref。但我们从上下文中知道这一点。

为了使超链接正常工作,需要有独特的东西来锁定。通常这是一个计数器,如章节、方程式等。这里没有,所以超链接最终会变得很奇怪。

为了这个目的,我们\phantomsection提供了一些东西来\addcontentsline抓住它。像这样使用它

\phantomsection
\addcontentsline.... 

相关内容