如何使用 PDF 书签中的 FIGURE 计数器进行基本数学运算

如何使用 PDF 书签中的 FIGURE 计数器进行基本数学运算

我正在准备一份revtex4-1包含图片的文档(类)。我想为 PDF 中的每个图片添加书签,因此我使用hyperref以下命令插入图片:

\newcommand{\AddFigureLabelContentCaption}[3]{{
\clearpage
\begin{figure}[t]
\currentpdfbookmark{Figure \arabic{figure}}{name:#1}
{#2}
\caption{#3}
\label{#1}
%\currentpdfbookmark{Figure \thefigure~[++]}{name:#1}
\end{figure}
}}

一切正常,但图号从零开始。当我将命令移到命令\currentpdfbookmark之后时label,PDF 书签中的图号正常。但单击书签会将我直接发送到图之后,这不好。

是否可以不输出figure计数器,但是figure+1?我不想弄乱计数器figure,我只想输出一个figure+1

答案1

\thefigure可以打印复杂的数字,并且不能用于一般计算(例如1.4,,(a)...)。一个技巧是更新figure计数器,然后重置它:

\stepcounter{figure}%
\currentpdfbookmark{Figure \thefigure}{name:#1}%
\addtocounter{figure}{-1}%

包裹bookmark

  • 如果使用包,则生成的目标\caption可用于书签。内部将其存储在宏中。(当前包不提供从标签中提取目标名称的功能。)bookmarkhyperref\@currentHrefbookmark
  • 另外,我会将图形书签放在比当前级别更深的级别,而不会随后改变当前级别。
  • caption(或hypcap)将锚点放在图形的顶部,而不是\caption通常位于实际图形下方的位置。

例子:

\documentclass{article}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{bookmark}
\bookmarksetup{
  numbered,
  open,
}
\begin{document}
\section{Hello World}
\begin{figure}
\centering
\fbox{\phantom{\rule{50mm}{10mm}}}
\caption{My caption}
\label{fig:my}
\bookmark[   
  rellevel=1,
  keeplevel=false,
  dest=\csname @currentHref\endcsname,
]{Figure \thefigure: My caption}
\end{figure}
\end{document}

相关内容