Fondo

Fondo

Fondo

Actualmente estoy trabajando en el envío de un manuscrito de revista y estoy tratando de convertir mi manuscrito original de elsarticleclase a uno cas-dcbasado en comentarios y recomendaciones de Elsevier. Mi código escribirá correctamente mi documentocada dos veces. Se ejecuta, crea el siguiente mensaje de error, lo vuelvo a ejecutar y luego elimina el .auxarchivo y lo compila correctamente.

Mensaje de error:! Missing = inserted for \ifnum.

Normalmente esto no sería un problema, pero como señaló @PhelypeOleinik ensu respuesta a mi pregunta original, necesito compilar exitosamente el documentodos vecespara que cosas como las notas del autor y del título funcionen.

Preguntas similares

He mirado las siguientes respuestas/preguntas sin mucho éxito:

MWE

A continuación se muestra un ejemplo práctico mínimo que replica el problema. Utilizo \inputmucho para mantener limpios los archivos separados y he replicado esa estructura aquí en caso de que esté relacionado de alguna manera. Todos los archivos separados están en la misma carpeta.

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

Ensettings_options_parameters.tex

\usepackage{natbib}
\usepackage{lipsum}  

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

Enfrontmatter.tex

Basado en gran medida en la documentación decas-dc aquí.


\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

Resultados

Estas son imágenes del resultado final, la primera vez que compila, la segunda vez arroja el error mencionado anteriormente y nunca muestra las notas del título \tnotemarkni del autor.\cormark

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Se puede encontrar el logarchivo después de que se produce el error.aquí. \listfilesSe ha agregado, pero si se debe agregar algo más, hágamelo saber.

¡Muchas gracias por cualquier ayuda sobre este tema!

Respuesta1

els-castiene problemas. Encontraste dos.

Primero:el documento opcional de\cormark debeser un número, y esnoOpcional: si lo omite, obtendrá un error. Sí :-)
\cormark[]no es válido, tal cual \cormark[1,2], por lo que en principio no puedes poner más de uno \cormarkpor autor (quién sabe si es por diseño o por un error). Aquí hay un parche para hacer que el argumento opcional sea \cormarkrealmente opcional y permitirlo \cormark[1,2](agréguelo en su preámbulo):

\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

Segundo:El argumento opcional de \eadbásicamente no hace nada. es tan válido como . Sí :-) La única diferencia es que si el argumento opcional no está vacío, se usa ; de lo contrario, se usa alrededor del argumento. No tiene mucho sentido, si me preguntas. De cualquier manera,\ead[url]{[email protected]}\ead[mashed potatoes]{[email protected]}
els-cas\url\detokenize\ead ¿no(correctamente) admite más de una dirección.

La documentación sugiere que uses y crees una sola URL a partir de todo, lo cual está mal (pero probablemente esté bien, ya que tu artículo será editado por la gente de Elsevier y la plantilla LaTeX no se usará en el proceso, así que Probablemente elegiría eso.\ead{[email protected], [email protected]}

Otra opción es usar \eaddos veces, cuando necesites dos direcciones:

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

Respuesta2

Yo tuve exactamente el mismo problema. Se debió a que faltaba un yearcampo en una de las entradas de BibTeX. Pude solucionar el problema agregando el campo de año de esta manera:

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

información relacionada