Форматирование цитирования и пакет гиперрефсов - PullRequest
3 голосов
/ 21 августа 2009

Я использую пакет hyperref в своем документе. Одна из вещей, которую он делает, это создает закладки в моем pdf, основываясь на оглавлении. Некоторые заголовки разделов содержат ссылку на цитату

\section{Some title \citep{BibTeXkey}}

Метка закладки выглядит как

Some title BibTeXkey

Но я бы хотел, чтобы это было

Some title (Author, year)

Так же, как это отображается в тексте и оглавлении. Так что только закладки перепутались.

Я использовал последовательность pdflatex, bibtex, pdflatex, pdflatex для компиляции документа.

Как изменить метку закладки, чтобы использовать тот же формат, что и в оглавлении?

1 Ответ

5 голосов
/ 21 августа 2009

Всякий раз, когда у меня возникает проблема с некорректной работой закладок в формате 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, brf и bbl файлы.

...