Fundo
Atualmente, estou trabalhando no envio de um manuscrito de periódico e tentando converter meu manuscrito original da elsarticle
aula para cas-dc
baseado no feedback e recomendações da Elsevier. Meu código irá compor meu documento com sucessotodas as outras vezes. Ele é executado, cria a seguinte mensagem de erro, executo novamente e, em seguida, ele exclui o .aux
arquivo e compila com sucesso.
Mensagem de erro:! Missing = inserted for \ifnum.
Normalmente isso não seria um problema, mas como @PhelypeOleinik apontou emsua resposta à minha pergunta original, preciso compilar o documento com sucessoduas vezespara fazer coisas como notas do autor e do título funcionarem.
Perguntas semelhantes
Eu olhei para as seguintes respostas/perguntas sem muito sucesso:
Problema de compilação com siunitx (retornando erro em relação ao ifnum): afirma que é um problema com a forma como as versões são mantidas e datadas, sugere que o usuário atualize a distribuição Tex.Atualizei tudo no MikTex e verifiquei repetidamente se havia atualizações até que não houvesse mais atualizações disponíveis. O problema persiste.
Ausente=inserido para \ifnum: nenhuma resposta sugere um possível problema com
beamer
.Não estou usandobeamer
, não acho que seja um problema.Ausente = inserido por erro \ifnum ao gerar bibliografia usando natbib: sugere excluir o
aux
arquivo bib e executar novamente.Isso não funcionará porque preciso executar novamente sem excluir oaux
arquivo para que todas as notas apareçam.Ausente = inserido para \ifnum. \usepacote: sugira alternativamente olhar a primeira resposta nesta lista e atualizar a distribuição de pacotes/MikTex.Já atualizei nada sem sucesso.
Erro “Faltando = inserido para \ifnum”: sugere que é um problema de como o usuário estava usando
pgfmath
funções notikz
pacote.No meu MWE não estou usandotikz
diretamente (que eu saiba) e o problema persiste.
MWE
Abaixo está um exemplo mínimo de trabalho que replica o problema. Eu uso \input
muito para manter arquivos separados limpos e repliquei essa estrutura aqui caso isso esteja de alguma forma relacionado. Todos os arquivos separados estão na mesma pasta.
Emdraft_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}
Emsettings_options_parameters.tex
\usepackage{natbib}
\usepackage{lipsum}
\ExplSyntaxOn
\keys_set:nn { stm / mktitle } { nologo }
\ExplSyntaxOff
Emfrontmatter.tex
Baseado fortemente na documentação paracas-dc
aqui.
\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 são imagens do resultado final, na primeira vez que compila, na segunda vez gera o erro mencionado acima e nunca mostra as notas do título \tnotemark
ou do autor\cormark
O log
arquivo após o erro ser lançado pode ser encontradoaqui. \listfiles
foi adicionado, mas se algo mais precisar ser adicionado, por favor me avise.
Muito obrigado por qualquer ajuda sobre este assunto!
Responder1
els-cas
tem... problemas. Você encontrou dois.
Primeiro:o documento facultativo de\cormark
deveseja um número, e énãoopcional: se você omitir, receberá um erro. Sim :-)
\cormark[]
é inválido, como está \cormark[1,2]
, então em princípio você não pode colocar mais de um \cormark
por autor (quem sabe se é intencional ou um bug). Aqui está um patch para tornar o argumento opcional \cormark
realmente opcional e permitir \cormark[1,2]
(adicione-o ao seu 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:O argumento opcional \ead
basicamente não faz nada. é tão válido quanto . Sim :-) A única diferença é que se o argumento opcional não estiver vazio, usa , caso contrário usa em torno do argumento. Não faz muito sentido, se você me perguntar. De qualquer forma, faz\ead[url]{[email protected]}
\ead[mashed potatoes]{[email protected]}
els-cas
\url
\detokenize
\ead
não(corretamente) suporta mais de um endereço.
A documentação sugere que você use e crie uma única URL de tudo isso, o que é errado (mas provavelmente tudo bem, já que seu artigo será editado pelo pessoal da Elsevier e o modelo LaTeX não será usado no processo, então eu provavelmente concordaria com isso.\ead{[email protected], [email protected]}
Outra opção é usar \ead
duas vezes, quando precisar de dois endereços:
\author[1]{Dummy Author Two}
\ead{[email protected]} % e-mail adrress
\ead[mashed potatoes]{hackingsupplies.com} % website
Responder2
Eu tinha exatamente o mesmo problema. Isso foi causado devido a um year
campo ausente em uma das entradas do BibTeX. Consegui corrigir o problema adicionando o campo do ano assim:
@online{arXiv,
title = {arXiv.org e-Print archive},
url = {https://arxiv.org/},
author = {arXiv},
year= {2023},
urldate = {2023-08-07}
}