背景

背景

背景

我目前正在提交一份期刊手稿,并试图根据 Elsevier 的反馈和建议将我原来的elsarticle课堂手稿转换为。我的代码将成功排版我的文档cas-dc其他时间。它运行完毕,出现以下错误消息,我重新运行,然后它删除该.aux文件并成功编译。

错误信息! Missing = inserted for \ifnum.

通常这不是一个问题,但正如@PhelypeOleinik 指出的那样他对我最初问题的回答,我需要成功编译文档两次以便使作者和标题注释之类的内容能够发挥作用。

类似问题

我查看了以下答案/问题,但没有取得多大成功:

平均能量损失

下面是一个可重现此问题的最小工作示例。我使用了\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

我遇到了完全相同的问题。这是由于yearBibTeX 条目之一中缺少字段造成的。我可以通过添加年份字段来修复该问题,如下所示:

@online{arXiv,
    title = {arXiv.org e-Print archive},
    url = {https://arxiv.org/},
    author = {arXiv},
    year= {2023},
    urldate = {2023-08-07}
}

相关内容