使用 pdflatex 重新编译 tex 文件后,我收到一个奇怪的警告。我认为我以前没有收到过同样的警告,并且不知道文档有任何更改。我在本地安装和 overleaf 上都遇到了同样的错误。
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input
line 84.
Overfull \hbox (2.22221pt too wide) has occurred while \output is active
[]
[]
Package hyperref Warning: Token not allowed in a PDF string
(PDFDocEncoding):
(hyperref) removing `\<def>-command' on input line 87.
第 87 行只是 itemized 中的一个 \item。如果我将其注释掉,我会在下一行收到警告。如果我注释整个 itemized 块,我会在稍后收到警告。
序言如下:
\documentclass[review]{elsarticle}
\usepackage{lineno}
\usepackage[hidelinks,breaklinks=true]{hyperref}
\usepackage[english]{babel}
有任何想法吗?
答案1
谢谢您的回复。“宏”这个词很关键。不幸的是,这可能是一个很特殊的问题。但是,它可能对其他人仍然有用。在这里,它源于我们希望稿件上有两位通讯作者。我们使用的是 Elsevier 模板,它不允许这样做,所以我编写了我们自己的宏,如下所示:
\author[address]{My Name\corref{thecorrespondingauthors}}
\author[address]{The other guy\corref{thecorrespondingauthors}}
\cortext[thecorrespondingauthors]{Corresponding authors: [email protected] (me), [email protected] (other)}
但是,\corref
必须位于作者姓名括号之外,如下所示:
\author[address]{My Name}\corref{thecorrespondingauthors}
\author[address]{The other guy}\corref{thecorrespondingauthors}
再次感谢!
答案2
当文本被放入 PDF 书签或信息条目中时,无法定义宏。此外,PDF 查看器不了解 TeX。因此,hyperref
尝试过滤掉至少一些非文本的内容。
尝试做一个最小工作示例(MWE)如果您有兴趣,可以更详细地了解导致警告的原因。起点是警告消息中的行号。也许,第 87 行包含一个\section
或类似的命令,其标题包含某种定义。
\section
有时,和等标题\paragraph
会在下一个段落的开头执行。因此,如果\item
在第 87 行开始一个新段落,则 section 命令位于该行之前。
作为解决方法,软件包hyperref
提供了宏\texorpdfstring{<TeX stuff>}{<replacement for bookmarks>}
来用无害文本替换书签中不允许的 TeX 内容。