Fondo
Actualmente estoy trabajando en el envío de un manuscrito de revista y estoy tratando de convertir mi manuscrito original de elsarticle
clase a uno cas-dc
basado 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 .aux
archivo 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:
Problema de compilación con siunitx (error de devolución con respecto a ifnum): afirma que es un problema con la forma en que se mantienen y fechan las versiones, sugiere que el usuario actualice la distribución Tex.Actualicé todo en MikTex y busqué actualizaciones repetidamente hasta que no hubo más actualizaciones disponibles. El problema persiste.
Faltante=insertado para \ifnum: ninguna respuesta sugiere un posible problema con
beamer
.No lo estoy usandobeamer
, no creas que es un problema.Falta = insertado por error \ifnum al generar bibliografía usando natbib: sugiere eliminar el
aux
archivo bib y volver a ejecutarlo.Esto no funcionará porque necesito volver a ejecutar sin eliminar elaux
archivo para que aparezcan todas las notas.Falta = insertado para \ifnum. \usopaquete: alternativamente sugerimos mirar la primera respuesta en esta lista y actualizar los paquetes/distribución MikTex.Ya he actualizado nada sin éxito.
Error "Falta = insertado para \ifnum": sugiere que es un problema con la forma en que el usuario usaba
pgfmath
las funciones deltikz
paquete.En mi MWE no lo estoy usandotikz
directamente (que yo sepa) y el problema persiste.
MWE
A continuación se muestra un ejemplo práctico mínimo que replica el problema. Utilizo \input
mucho 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 \tnotemark
ni del autor.\cormark
Se puede encontrar el log
archivo después de que se produce el error.aquí. \listfiles
Se ha agregado, pero si se debe agregar algo más, hágamelo saber.
¡Muchas gracias por cualquier ayuda sobre este tema!
Respuesta1
els-cas
tiene 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 \cormark
por autor (quién sabe si es por diseño o por un error). Aquí hay un parche para hacer que el argumento opcional sea \cormark
realmente 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 \ead
bá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 \ead
dos 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 year
campo 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}
}