背景
我目前正在提交一份期刊手稿,並嘗試將我的原始手稿從elsarticle
課堂上轉換為cas-dc
基於愛思唯爾的回饋和建議。我的程式碼將成功排版我的文檔每隔一次。它運行完畢,創建以下錯誤訊息,我重新運行,然後刪除檔案.aux
並成功編譯。
錯誤訊息:! Missing = inserted for \ifnum.
通常這不會是一個問題,但正如 @PhelypeOleinik 中指出的那樣他對我原來問題的回答,我需要成功編譯文檔兩次以便讓作者和標題註釋等內容發揮作用。
類似問題
我查看了以下答案/問題但沒有太大成功:
siunitx 的編譯問題(傳回有關 ifnum 的錯誤):聲稱這是版本維護和日期的問題,建議用戶更新 Tex 發行版。我已經更新了 MikTex 中的所有內容,並反覆檢查更新,直到沒有更多更新可用。問題仍然存在。
缺失=插入\ifnum:沒有答案顯示 存在潛在問題
beamer
。我沒有使用beamer
,不認為這是一個問題。使用 natbib 產生參考書目時缺少 = 插入 \ifnum 錯誤:建議刪除bib
aux
檔案並重新運行。這不起作用,因為我需要重新運行而不刪除文件aux
才能顯示所有註釋。缺少 = 為 \ifnum 插入。 \使用包:或建議查看此列表中的第一個答案並更新 packages/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}
}