包 hyperref 警告:PDF 字符串中不允许使用令牌(PDFDocEncoding)

包 hyperref 警告:PDF 字符串中不允许使用令牌(PDFDocEncoding)

当加载 hyperref 包时,例如:

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

我的日志文件中收到以下超链接警告:

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

与 Ulrike 的修复类似的修复报告于这个答案,效果类似于\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}

相关内容