如何确定当前页码?

如何确定当前页码?

我正在向书签添加条目,并且希望一个条目指向特定页面。但是,我不想提供它的编号,因为它可能会根据该页面之前的内容修改而改变。使用书签包添加条目的命令是:

\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}

相关内容