3

我在我的文档中使用hyperref包。它所做的一件事是根据目录在我的 pdf 中创建书签。某些章节标题包含对引文的引用

\section{Some title \citep{BibTeXkey}}

书签的标签看起来像

Some title BibTeXkey

但我希望它是

Some title (Author, year)

就像它显示在文本和目录中一样。所以只有书签被弄乱了。

我使用序列pdflatex, bibtex, pdflatex,pdflatex来编译文档。

如何更改书签标签以使用与目录中相同的格式?

4

1 回答 1

5

每当我遇到 pdf 书签无法正常工作的问题时,解决方案通常是使用\texorpdfstring. 它允许您使节标题包含一些非文本材料(如链接或一些符号)并指定应该出现在 pdf 书签中的内容,不能包含符号。输入

\section{带有 \texorpdfstring{LaTeX 符号}{纯文本版本}} 的部分

生成章节标题“带有 LaTeX 符号的章节”,但该章节的 pdf 书签是“带有纯文本版本的章节”。

在你的情况下,最简单的事情可能是

\section{一些标题 \texorpdfstring{\citep{BibTeXkey}}{(作者,年份)}}

不幸的是,这意味着你必须(Author, year)手动粘贴“”,这有点烦人,但如果你的参考书目条目没有改变(这可能不应该)并且你没有改变你的引文,这没什么大不了的公约。

如果您真的想避免(Author, year)手动输入“”,您可以尝试使用该\show命令来尝试弄清楚\citep它是如何产生输出的。但我警告你,这种方法不适合胆小的人:在这种情况下,我认为你最终会浏览aux文件,更不用说blg,brfbbl文件了。

于 2009-08-21T15:21:02.963 回答