Date Редакция Категория comp Теги LaTeX

Речь пойдет о двух предупреждениях от пакета hyperref:

Package hyperref Warning:
Token not allowed in a PDFDocEncoded string:

и

Package hyperref Warning: Glyph not defined in PD1 encoding,
(hyperref)                removing ... on input line ...

Оба они связаны с созданием закладок в документе PDF, и потому возникают в элементах, на основе которых эти закладки создаются: \title, \author, \section и т. п. Текст закладки — это текст без форматирования и команд LaTeX, состоящий только из первых 127 символов таблицы ASCII (хотя последнее можно изменить). Если при создании закладок hyperref встречает нечто не соответствующее этим требованием, то он выдает предупреждение.

Решить эту проблему можно, заменив недопустимые в закладках символы, на те, что допустимы. Для этого существует команда

\texorpdfstring{Текст TeX}{Текст, который будет помещен в закладку'}

которая вставляется в то место текста, на которое указывает предупреждение. Например, в закладках нельзя указывать команду перехода на новую строку. Заменяем фрагмент текста с этой командой на фрагмент без команды:

\texorpdfstring{first line. New line}{first line. New line}

Команда \texorpdfstring позволяет избавиться от обоих предупреждений. Однако для символов кириллицы применять ее неудобно, к тому же существует более простое решение — разрешить использование символов Юникод в закладках. Делается это в настройках hyperref:

\hypersetup{unicode=true}

Подробнее о решении проблем, связанных с hyperref, читайте здесь.



Комментарии

comments powered by Disqus