从 PDF 书签中删除脚注

从 PDF 书签中删除脚注

我有

   \section{My Title\footnote{ My Footnote 1}\footnote{My Footnote 2}}

pdfLatex 和 Latex 都会自动从我的节标题创建书签。这就是我想要的。但它们还包括脚注。因此书签的示例是

   "My Title My foootnote 1 My Footnote 2"

.但我只想要

   "My Title"

我如何实现这个目标?

答案1

您可以轻松地使用可选参数\section在目录和书签中使用不同的标题文本:

\section[My Title]{My Title\footnote{ My Footnote 1}\footnote{My Footnote 2}}

答案2

假设您使用hyperref您可以\footnote通过在 preabmle 中添加以下内容来禁用所有 pdf 字符串的命令:

\pdfstringdefDisableCommands{%
  \def\footnote#1{}%
}

完整示例:

\documentclass{article}

% \footnote is a fragile command so can cause troubles in moving
% arguments like in \section. Let's make it robust:
\usepackage{etoolbox}
\robustify{\footnote}

% load hyperref and disable the \footnote command in bookmarks:
\usepackage{hyperref}
\pdfstringdefDisableCommands{%
  \def\footnote#1{}%
}
\begin{document}

\section{My Title\footnote{ My Footnote 1}\footnote{My Footnote 2}}

\end{document}

答案3

另一种可能性是使用\texorpdfstring包中的宏hyperref

此宏切换 PDF 文件书签中使用的文本。

\texorpdfstring{text that will appear in the document}{text used in the bookmark}

相关内容