Hintergrund

Hintergrund

Hintergrund

Ich arbeite derzeit an der Einreichung eines Zeitschriftenmanuskripts und versuche, mein Originalmanuskript aus elsarticledem Unterricht auf cas-dcder Grundlage von Feedback und Empfehlungen von Elsevier in ein Manuskript umzuwandeln. Mein Code wird mein Dokument erfolgreich setzenjedes zweite Mal. Es läuft durch, erzeugt die folgende Fehlermeldung, ich führe es erneut aus und dann löscht es die .auxDatei und kompiliert erfolgreich.

Fehlermeldung:! Missing = inserted for \ifnum.

Normalerweise wäre das kein Problem, aber wie @PhelypeOleinik inseine Antwort auf meine ursprüngliche Frage, ich muss das Dokument erfolgreich kompilierenzweimalum Dinge wie Autoren- und Titelnotizen zum Laufen zu bringen.

Ähnliche Fragen

Ich habe mir die folgenden Antworten/Fragen ohne großen Erfolg angesehen:

MWE

Unten finden Sie ein minimales funktionierendes Beispiel, das das Problem reproduziert. Ich verwende \inputviel, um einzelne Dateien sauber zu halten, und habe diese Struktur hier repliziert, falls das irgendwie damit zusammenhängt. Alle einzelnen Dateien befinden sich im selben Ordner.

Indraft_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}

Insettings_options_parameters.tex

\usepackage{natbib}
\usepackage{lipsum}  

\ExplSyntaxOn
\keys_set:nn { stm / mktitle } { nologo }
\ExplSyntaxOff

Infrontmatter.tex

Basiert weitgehend auf der Dokumentation fürcas-dc Hier.


\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

Ergebnisse

Dies sind Bilder des Endergebnisses, beim ersten Kompilieren, beim zweiten Mal tritt der oben erwähnte Fehler auf und es werden nie die Titelnotizen \tnotemarkoder Autorennotizen angezeigt\cormark

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Die logDatei nach dem Auftreten des Fehlers finden SieHier. \listfileswurde hinzugefügt, aber wenn noch etwas hinzugefügt werden sollte, lassen Sie es mich bitte wissen.

Vielen Dank für jede Hilfe zu diesem Problem!

Antwort1

els-cashat ... Probleme. Sie haben zwei gefunden.

Erste:das optionale Dokument von\cormark musseine Zahl sein, und es istnichtoptional: Wenn Sie es weglassen, erhalten Sie eine Fehlermeldung. Ja :-)
\cormark[]ist ungültig, so wie es ist \cormark[1,2], also können Sie im Prinzip nicht mehr als eines \cormarkpro Autor angeben (wer weiß, ob das so beabsichtigt ist oder ein Fehler). Hier ist ein Patch, um das optionale Argument \cormarkwirklich optional zu machen und zuzulassen \cormark[1,2](fügen Sie es Ihrer Präambel hinzu):

\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

Zweite:Das optionale Argument von \eadbewirkt im Grunde nichts. ist genauso gültig wie . Ja :-) Der einzige Unterschied besteht darin, dass , wenn das optionale Argument nicht leer ist, verwendet wird , andernfalls um das Argument herum. Macht nicht viel Sinn, wenn Sie mich fragen. Macht jedenfalls nicht viel Sinn\ead[url]{[email protected]}\ead[mashed potatoes]{[email protected]}
els-cas\url\detokenize\eadnicht(ordnungsgemäß) mehr als eine Adresse unterstützen.

In der Dokumentation wird vorgeschlagen, dass Sie aus dem Ganzen eine einzige URL erstellen. Das ist zwar falsch (aber wahrscheinlich in Ordnung, da Ihr Dokument von den Leuten von Elsevier redigiert wird und die LaTeX-Vorlage dabei nicht verwendet wird. Ich würde mich also wahrscheinlich dafür entscheiden).\ead{[email protected], [email protected]}

Eine weitere Möglichkeit ist die zweimalige Verwendung \ead, wenn Sie zwei Adressen benötigen:

\author[1]{Dummy Author Two}
\ead{[email protected]} % e-mail adrress
\ead[mashed potatoes]{hackingsupplies.com} % website

Antwort2

Ich hatte genau das gleiche Problem. Es wurde durch ein fehlendes yearFeld in einem der BibTeX-Einträge verursacht. Ich konnte das Problem beheben, indem ich das Jahresfeld wie folgt hinzufügte:

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

verwandte Informationen