背景
我目前正在提交一份期刊手稿,并试图根据 Elsevier 的反馈和建议将我原来的elsarticle
课堂手稿转换为。我的代码将成功排版我的文档cas-dc
其他时间。它运行完毕,出现以下错误消息,我重新运行,然后它删除该.aux
文件并成功编译。
错误信息:! Missing = inserted for \ifnum.
通常这不是一个问题,但正如@PhelypeOleinik 指出的那样他对我最初问题的回答,我需要成功编译文档两次以便使作者和标题注释之类的内容能够发挥作用。
类似问题
我查看了以下答案/问题,但没有取得多大成功:
siunitx 的编译问题(返回与 ifnum 相关的错误):声称这是版本维护和更新方式的问题,建议用户更新 Tex 发行版。我已经更新了 MikTex 中的所有内容,并反复检查更新,直到没有可用的更新。问题仍然存在。
缺失=插入 \ifnum:没有答案表明存在潜在问题
beamer
。我没有使用beamer
,不认为这是一个问题。使用 natbib 生成参考书目时,缺少 = 插入 \ifnum 错误:建议删除bib
aux
文件并重新运行。这不起作用,因为我需要在不删除文件的情况下重新运行aux
才能显示所有注释。缺少 = 插入 \ifnum。\usepackage:或者建议查看此列表中的第一个答案并更新软件包/MikTex 分发版。我已经更新了任何内容,但没有成功。
错误“缺少 = 插入 \ifnum”:表明这是用户使用包
pgfmath
中的函数的方式存在的问题tikz
。在我的 MWE 中,我没有tikz
直接使用(据我所知)并且问题仍然存在。
平均能量损失
下面是一个可重现此问题的最小工作示例。我使用了\input
很多方法来保持单独文件的整洁,并在此处复制了该结构,以防万一有关联。所有单独文件都位于同一个文件夹中。
在draft_paper.tex
\listfiles
\documentclass[sort&compress]{cas-dc}
\input{settings_options_parameters} % contains all of the settings/options that I don't think we'll need to change very often
\begin{document}
\input{frontmatter}
\end{document}
在settings_options_parameters.tex
\usepackage{natbib}
\usepackage{lipsum}
\ExplSyntaxOn
\keys_set:nn { stm / mktitle } { nologo }
\ExplSyntaxOff
在frontmatter.tex
主要基于以下文档cas-dc
这里。
\title[mode=title]{Test Title: 101 Reasons Why I Can't \LaTeX}
\tnotemark[1]
\tnotetext[1]{This document is the result of blood, sweat, tears and taxpayer money.}
\author[1]{Dummy Author One}[%
type=author,
orcid=]
\cormark[1]
\fnmark[1]
\ead[url]{[email protected], \url{fakewebaddress.com}}
\credit{Everything}
\address[1]{Nowheresville, North America}
\author[1]{Dummy Author Two}[%
type=author,
orcid=]
\cormark[2]
\fnmark[2]
\ead[url]{[email protected], \url{phishingsupplies.com}}
\credit{Nothing}
\author[1]{Dummy Author Two}[%
type=author,
orcid=]
\cormark[1,2]
\fnmark[1,2]
\ead[url]{[email protected], \url{hackingsupplies.com}}
\credit{Nothing}
\address[1]{Nowheresville, North America}
\cortext[cor1]{Corresponding author}
\cortext[cor2]{Principal corresponding author}
\fntext[fn1]{This is the first author footnote. but is commonto third author as well.}
\fntext[fn2]{Another author footnote, this is a very longfootnote and it should be a really long footnote. But thisfootnote is not yet sufficiently long enough to make two linesof footnote text.}
% Abstract
\begin{abstract}[SUMMARY]
\lipsum[1-1]
\end{abstract}
% Key words
\begin{keywords}
\LaTeX \sep Science \sep Crying
\end{keywords}
\maketitle
结果
这些是最终结果的图像,第一次编译时,第二次会抛出上述错误,并且它永远不会显示标题注释\tnotemark
或作者注释\cormark
log
抛出错误后的文件可以找到这里.\listfiles
已添加,但如果需要添加其他内容,请告诉我。
非常感谢您对此问题的任何帮助!
答案1
els-cas
有... 个问题。您发现了两个。
第一的:可选文件\cormark
必须是一个数字,并且它是不是可选:如果你忽略它,你会得到一个错误。是的 :-)
\cormark[]
是无效的,\cormark[1,2]
所以原则上你不能为每个作者放置多个\cormark
(谁知道这是设计使然还是一个错误)。这里有一个补丁,使可选参数\cormark
真正可选并允许\cormark[1,2]
(将它添加到你的序言中):
\ExplSyntaxOn
\makeatletter
\RenewDocumentCommand \process@marks { }
{
\bool_lazy_or:nnTF
{ \cs_if_free_p:c { mark@corau\theauthor } }
{ \tl_if_empty_p:c { mark@corau\theauthor } }
{ \ignorespaces }
{ \str_set:Nx \l_tmpa_str { \use:c{ mark@corau\theauthor } }
\clist_map_inline:Nn \l_tmpa_str
{
\int_case:nn { ##1 }
{
{ 1 } { \sep$\ast$ }
{ 2 } { \sep$\ast\ast$ }
{ 3 } { \sep$\ast\!\ast\!\ast$ }
}
\tex_def:D \sep{\unskip,}
}
}
\cs_if_free:cTF { mark@fnau\theauthor }
{ \ignorespaces }
{ \sep\use:c { mark@fnau\theauthor }
\tex_def:D \sep{\unskip,}
}
}
\makeatother
\ExplSyntaxOff
第二:的可选参数\ead
基本上不执行任何操作。与 一样有效。是的 :-) 唯一的区别是,如果可选参数不为空,则使用,否则使用围绕参数。如果你问我,这没什么意义。无论如何,\ead[url]{[email protected]}
\ead[mashed potatoes]{[email protected]}
els-cas
\url
\detokenize
\ead
不是(正确)支持多个地址。
文档建议您使用并制作整个内容的单一 URL,这是错误的(但可能没问题,因为您的论文将由 Elsevier 人员编辑,并且 LaTeX 模板不会在此过程中使用,所以我可能会选择这样做。\ead{[email protected], [email protected]}
\ead
当您需要两个地址时,另一个选择是使用两次:
\author[1]{Dummy Author Two}
\ead{[email protected]} % e-mail adrress
\ead[mashed potatoes]{hackingsupplies.com} % website
答案2
我遇到了完全相同的问题。这是由于year
BibTeX 条目之一中缺少字段造成的。我可以通过添加年份字段来修复该问题,如下所示:
@online{arXiv,
title = {arXiv.org e-Print archive},
url = {https://arxiv.org/},
author = {arXiv},
year= {2023},
urldate = {2023-08-07}
}