自动将标题中未包含的文本编号添加到 PDF 书签中

自动将标题中未包含的文本编号添加到 PDF 书签中

在下面的示例中,我在 lettrine 数字后添加了 hyperref 包的 belowpdfbookmark 命令,以便手动将它们添加到书签中。

我如何才能自动执行此操作,以便不必在每个 gChapter 实例后添加 belowpdfbookmark 命令?我需要使用“addtohook”选项吗?如果需要,如何使用?

\documentclass[12pt]{memoir}

\usepackage{lettrine}
\usepackage{lipsum}
\usepackage{hyperref}
\usepackage{bookmark}

\newcommand{\gChapter}[1]{\lettrine{{{#1}}}\ignorespaces}

\begin{document}
\chapter{Sayings}
\gChapter{1}\belowpdfbookmark{1}{one}
\lipsum[2]
\gChapter{2}\belowpdfbookmark{2}{two}
\lipsum[3]
\gChapter{3}\belowpdfbookmark{3}{three}
\lipsum[4]
\end{document}

答案1

对于您想要手动编号的评论,您可以使用它。计数器用于获取唯一的书签名称。

\documentclass[12pt]{memoir}

\usepackage{lettrine}
\usepackage{lipsum}
\usepackage{hyperref}
\usepackage{bookmark}

\newcounter{gChapter}[chapter]
\newcommand{\gChapter}[1]{\par\refstepcounter{gChapter}\belowpdfbookmark{#1}{\thechapter.\thegChapter}\lettrine{#1}\ignorespaces}

\begin{document}
\chapter{Sayings}
\gChapter{1}
\lipsum[2]
\gChapter{2}
\lipsum[3]
\gChapter{3}
\lipsum[4]

\chapter{Sayings}
\gChapter{1}
\lipsum[2]
\gChapter{2}
\lipsum[3]
\gChapter{1} %to check if the link is unique
\lipsum[4]

\end{document}

相关内容