我正在向书签添加条目,并且希望一个条目指向特定页面。但是,我不想提供它的编号,因为它可能会根据该页面之前的内容修改而改变。使用书签包添加条目的命令是:
\bookmark[page=X,level=0]
其中 X 是页码。我如何在编译时确定当前页码并用它替换 X?我尝试使用\thepage
代替 X,但没有成功。在包装文档我发现 PrevPage、NextPage、FirstPage 和 LastPage 有命名操作,但没有 CurrentPage。如何修复此问题?
谢谢。
答案1
在页面上设置目标:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{bookmark}
\begin{document}
\bookmark[dest=mypage]{go to my page!}
page 1\newpage page 2 \newpage my page \hypertarget{mypage}{}
\newpage next page
\end{document}
答案2
这里有一个解决方案,如何使用zref
包提供的绝对页码将书签添加到当前页面。
我现在确实需要这个来做我的论文。我想要一个 PDF 书签,例如书目页(实际上是页面,而不是标题等)。
定义:
\usepackage{zref-user}
\usepackage{zref-abspage}
\makeatletter
\newcommand{\pagebookmark}[3][]{%
\zlabel{#2}%
\bookmark[page=\zref@extractdefault{#2}{abspage}{1},#1]{#3}%
}
\makeatother
用法:
\pagebookmark[<options>]{<page label>}{<bookmark text>}
例子:
我的 bibLaTeX 书目使用以下代码打印并添加书签:
\clearpage
\pagebookmark[level=0]{bibpage}{\bibname}%
\printbibliography
确保\clearpage
正确的页面被添加为书签。
答案3
随着pageslts
包,可以说
\bookmark[page=\theCurrentPage,level=0]{Hi!}
即使\pagenumbering{roman}\addtocounter{page}{42}
被使用过。
答案4
您可以使用包获取页码refcount
。
\usepackage{refcount}
\label{thispage}
\newpage
page=\getpagerefnumber{thispage}