当我使用 pdflatex 构建 Elsevier (Automatica) 模板时,我发现其中有一个奇怪的错误。如果其中一位作者带有重音符号(ó 或其他符号)。文档的构建会产生错误。如果删除重音符号,错误就会消失,一切正常。2020 版没有出现此问题,2022 版和 2023 版都有此错误...
pdfTeX 版本 3.141592653-2.6-1.40.25(TeX Live 2023)(预加载格式=pdflatex 2023.6.15)2023 年 6 月 16 日 09:24
模板来源:http://www.elsevier.com/__data/promis_misc/automatica_latex.zip
中(中)英双语:
\documentclass[twocolumn]{elsart}
\usepackage{tikz}
\usepackage{color,cite}
\usepackage{url}
\usepackage{graphicx}
\usepackage{amssymb,amsmath,amsfonts,accents}
\begin{document}
\begin{frontmatter}
\title{Some title
\thanksref{footnoteinfo}}
\thanks[footnoteinfo]{This paper was not presented at any meeting.}
\author[bla]{someone}
\ead{[email protected]},\,
\author[bla]{someone}
\ead{[email protected]},\,
\author[bla,blo]{Some\'one}\ead{[email protected]} % remove the accent to get it working...
\address[bla]{Bla uni, blacity}
\address[blo]{Blo uni, blocity}
\begin{keyword}
Science
\end{keyword}
\begin{abstract}
In this paper,
\end{abstract}
\end{frontmatter}
\section{bla}
Lorem Ipsum
\end{document}
答案1
班级里的人做了一些糟糕的事情。但你可以纠正这些错误行为。
奇怪的是,造成主要损害的宏被称为\no@harm
……
该类在不应该使用\edef
和\xdef
的地方使用了和,而应该优先使用\protected@edef
和\protected@xdef
。
\documentclass[twocolumn]{elsart}
\usepackage{tikz}
\usepackage{color,cite}
\usepackage{url}
\usepackage{graphicx}
\usepackage{amssymb,amsmath,amsfonts,accents}
\usepackage{xpatch}
\makeatletter % fix the wrong code in elsart.cls
\xpatchcmd{\runningauthor@fmt}{\global\edef}{\protected@xdef}{}{}
\xpatchcmd{\runningauthor@fmt}{\global\edef}{\protected@xdef}{}{}
\xpatchcmd{\author@fmt}{\edef}{\protected@edef}{}{}
\def\@xnamedef#1{\expandafter\protected@xdef\csname #1\endcsname}
\def\ead@au#1{\protected@edef\@ead@au{#1}}
\def\add@xtok#1#2{\begingroup
\protected@xdef\@act{\global\noexpand#1{\the#1#2}}\@act
\endgroup}
\def\no@harm{}
\makeatother
\begin{document}
\begin{frontmatter}
\title{Some title
\thanksref{footnoteinfo}}
\thanks[footnoteinfo]{This paper was not presented at any meeting.}
\author[bla]{someone}
\ead{[email protected]},
\author[bla]{someone}
\ead{[email protected]},
\author[bla,blo]{Sóme\'one}\ead{[email protected]} % remove the accent to get it working...
\address[bla]{Bla uni, blacity}
\address[blo]{Blo uni, blocity}
\begin{keyword}
Science
\end{keyword}
\begin{abstract}
In this paper,
\end{abstract}
\end{frontmatter}
\section{bla}
Lorem Ipsum
\end{document}
请注意,您可以使用ó
或\'o
,都没有问题。