我在我的文档中使用hyperref包。它所做的一件事是根据目录在我的pdf中创建书签。某些章节标题包含对引文的引用
\section{Some title \citep{BibTeXkey}}
书签的标签看起来像
Some title BibTeXkey
但我希望它是
Some title (Author, year)
就像它显示在文本和目录中一样。所以只有书签搞砸了。
我使用序列pdflatex
,bibtex
,pdflatex
,pdflatex
来编译文档。
如何更改书签标签以使用与目录中相同的格式?
答案 0 :(得分:5)
每当我遇到pdf书签无法正常工作的问题时,解决方案通常都是使用\texorpdfstring
。它允许您使节文标题包含一些非文本材料(如链接或某些符号),并指定应在pdf书签中显示的内容,该标题不能包含符号。输入
\section{The section with \texorpdfstring{LaTeX symbols}{plain text version}}
生成部分标题“带有LaTeX符号的部分”,但该部分的pdf书签是“带纯文本版本的部分”。
在您的情况下,最简单的事情可能是
\section{Some title \texorpdfstring{\citep{BibTeXkey}}{(Author, year)}}
不幸的是,这意味着您必须手动粘贴“(Author, year)
”,这有点令人讨厌,但如果您的参考书目条目没有改变(这可能不应该),这不是什么大问题而且你不会改变你的引用惯例。
如果你真的想避免手动输入“(Author, year)
”,你可以尝试使用\show
命令来弄清楚\citep
如何产生它的输出。但我警告你,这种方法不适合胆小的人:在这种情况下,我认为你最终会查看aux
文件,更不用说blg
,{{1} }和brf
个文件。