\hyperlink{page.number} 并不总是有效

\hyperlink{page.number} 并不总是有效

\hyperlink{page.#}似乎有点问题。我尝试使用罗马页码。使用 可以,ix但使用 不行vii。有没有办法引用物理页码,即排版 PDF 文档顶部计数器中显示的页码?

我试过了truepage,但是没有用。

我试过负数(例如{page.-4})。但它也没有用……

答案1

您可以切换到绝对页码,但只能全部使用,不能全部使用。此外,虽然 [plainpages] 会将第 ii 页链接为 2,但不会将第 2 页链接为 6。

\documentclass{book}
\usepackage[hypertexnames=false]{hyperref}
\usepackage{lipsum}

\makeatletter
\newcommand\abspagenumber{\the\Hy@pagecounter}
\makeatother

\begin{document}
\frontmatter

\hyperlink{page.2}{Go to page 2}

\hyperlink{page.6}{Go to page 6}

\lipsum[1-20]

\mainmatter

\abspagenumber

\lipsum[1-20]

\end{document}

\thepage这为您提供了链接到或\theHpage(绝对)的选项。

\documentclass{book}
\usepackage{hyperref}
\usepackage{lipsum}

\newcounter{Hpage}
\AddToHook{shipout/after}{\raisebox{\dimexpr \headheight+\headsep}[0pt][0pt]{\refstepcounter{Hpage}}}
\setcounter{Hpage}{1}

\begin{document}
\frontmatter

\hyperlink{page.2}{Go to page 2}

\hyperlink{page.ii}{Go to page ii}

\hyperlink{Hpage.2}{Go to Hpage 2}

\hyperlink{Hpage.6}{Go to Hpage 6}

\lipsum[1-20]

\mainmatter

\lipsum[1-20]

\end{document}

相关内容