Пакет hyperref Предупреждение: токен не допускается в строке PDF (PDFDocEncoding)

Пакет hyperref Предупреждение: токен не допускается в строке PDF (PDFDocEncoding)

При загрузке пакета hyperref, например:

\usepackage[bookmarks,bookmarksnumbered]{hyperref}
\hypersetup{colorlinks = true,linkcolor = blue,anchorcolor =red,citecolor = blue,filecolor = red,urlcolor = red}

В моем лог-файле появляется следующее предупреждение hyperref:

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `\<def>-command' on input line 174.
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `\cnotenum' on input line 174.
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `\<def>-command' on input line 174.
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `\@corref' on input line 174.

Но в строке 174 это просто уравнение:

\begin{equation}\label{eq_DefP}
\mathbf{P} = <\boldsymbol{p}> = <\boldsymbol{\sigma}>
\end{equation}

Если я закомментирую эту строку, она появится в следующем уравнении. Перед этой строкой тоже есть уравнения, но предупреждения не появляется. Может кто-нибудь помочь мне решить это предупреждение?

Вот небольшой пример:

\documentclass[final,3p,times,authoryear]{elsarticle}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage[bookmarks,bookmarksnumbered]{hyperref}
\hypersetup{colorlinks = true,linkcolor = blue,anchorcolor =red,citecolor = blue,filecolor = red,urlcolor = red}

\journal{Elesvier}

\begin{document}

\begin{frontmatter}

\title{Title}

\author[GRs]{author\corref{cor}}

\cortext[cor]{Corresponding author.}

\end{frontmatter}

\begin{equation}\label{eq_DefP}
\mathbf{P} = <\boldsymbol{\sigma}>
\end{equation}

\end{document}

Я думаю, что проблема в \author[GRs]{author\corref{cor}}том, что когда я удалю, то \corref{cor}все будет нормально. Но мне это нужно, так что как мне это сделать?

решение1

Проблема не в уравнении - это только место, где сообщается о проблеме. В конце первой страницы hyperref сохраняет название и автора в информации pdf, а затем жалуется на \corref в имени автора.

Лучше всего вставить его вручную с помощью pdfauthor:

\documentclass[final,3p,times,authoryear]{elsarticle}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage[bookmarks,bookmarksnumbered]{hyperref}
\hypersetup{colorlinks = true,linkcolor = blue,anchorcolor =red,citecolor = blue,filecolor = red,urlcolor = red,
            pdfauthor=author}

\journal{Elesvier}

\begin{document}

\begin{frontmatter}

\title{Title}

\author[GRs]{author\corref{cor}}

\cortext[cor]{Corresponding author.}

\end{frontmatter}

\begin{equation}\label{eq_DefP}
\mathbf{P} = <\boldsymbol{\sigma}>
\end{equation}

\end{document}

решение2

Аналогичное исправление Ульрики описано вэтот ответ, с эффектом, похожим на \texorpdfstring:

\pdfstringdefDisableCommands{%
  \def\corref#1{<#1>}%
}

решение3

Решение daleif работает для меня как по волшебству:

\author[add1]{Author1\texorpdfstring{\corref{cor1}}{}}
\ead{[email protected]}     % e-mail of the author

\cortext[cor1]{Corresponding author}
\address[add1]{Institute for Study of Things}

Связанный контент