我试图在子部分旁边放置一个可点击的图标,以便读者可以点击它来访问与该子部分相关的 URL。此 URL 包含页码、子部分编号和子部分标题作为参数。
这是我正在使用的代码:
\subsection[My Dummy Subsection]{My Dummy Subsection \texorpdfstring{\href{\mybaseurl sn=\thesubsection &pn=\thepage &tn=My-Dummy-Subsection}{\icon{hreficon.jpg}} }{}}
对于大多数页面,此方法都行得通,但对于某些页面,生成的 URL 包含\href
错误的页码。具体来说,\thepage
它给出的是上一页的页码,而不是子节所在的页码。我观察到,当子节是页面的第一行时,就会发生这种情况。
知道发生了什么吗?如何解决?
答案1
由于页码编号比较复杂,并且取决于页面的构造方式,因此最好使用 ,\label
然后\pageref
来检索准确的页码。考虑到这一点,如下所示:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\tableofcontents
% <some document content>
\section
[My dummy section]% ToC
{My dummy section \pageref*{sec:dummy_section}}% Title
\label{sec:dummy_section}
% <some more document content>
\end{document}
在某些情况下(当页面引用的标签号发生变化时),您必须编译两次才能设置正确的引用。