Fundo

Fundo

Fundo

Atualmente, estou trabalhando no envio de um manuscrito de periódico e tentando converter meu manuscrito original da elsarticleaula para cas-dcbaseado 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 .auxarquivo 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:

MWE

Abaixo está um exemplo mínimo de trabalho que replica o problema. Eu uso \inputmuito 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 \tnotemarkou do autor\cormark

insira a descrição da imagem aqui insira a descrição da imagem aqui

O logarquivo após o erro ser lançado pode ser encontradoaqui. \listfilesfoi adicionado, mas se algo mais precisar ser adicionado, por favor me avise.

Muito obrigado por qualquer ajuda sobre este assunto!

Responder1

els-castem... 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 \cormarkpor autor (quem sabe se é intencional ou um bug). Aqui está um patch para tornar o argumento opcional \cormarkrealmente 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 \eadbasicamente 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\eadnã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 \eadduas 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 yearcampo 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}
}

informação relacionada