2009-08-21 33 views
3

我在文檔中使用了hyperref包。其中一件事是根據目錄在我的pdf中創建書籤。有些章節的標題包含對引用的參考引用格式和超參照包

\section{Some title \citep{BibTeXkey}} 

書籤的標籤,然後,看起來像

Some title BibTeXkey 

但我想它是

Some title (Author, year) 

就像它顯示在文本和目錄中。所以只有書籤被搞亂了。

我使用的序列pdflatexbibtexpdflatexpdflatex編譯文檔。

如何更改書籤標籤以使用與目錄中相同的格式?

回答

5

每當我在與PDF書籤不能正常工作的問題,解決方案通常是使用\texorpdfstring。它允許您創建節標題包含一些非文本材料(如鏈接或某些符號)並指定應該出現在pdf書籤中的內容,該書籤不能包含符號。輸入

 
\section{The section with \texorpdfstring{LaTeX symbols}{plain text version}} 

生產的部分標題爲「用乳膠符號的節」,但對於部分PDF書籤是「純文本版的部分」。

在你的情況下,最容易做的事情可能是

 
\section{Some title \texorpdfstring{\citep{BibTeXkey}}{(Author, year)}} 

不幸的是,這意味着你必須在手工,這是一個有點惱人粘貼「(Author, year)」,但不是一個大問題,如果你的參考書目不會改變(這可能不應該),你也不會改變你的引用約定。

如果你真的想避免必須手工輸入「(Author, year)」,你可以嘗試使用\show命令來試圖找出\citep如何產生它的輸出。但是,我警告你,這種方法不適合心臟虛弱:在這種情況下,我認爲你最終會翻翻aux文件,更不用說blgbrf,和bbl文件。

+0

這可以作爲解決方法 – Thierry 2009-08-24 08:52:54