当加载 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}