Фон
В настоящее время я работаю над отправкой рукописи журнала и пытаюсь преобразовать свою оригинальную рукопись из elsarticle
класса в cas-dc
основанную на отзывах и рекомендациях Elsevier. Мой код успешно наберет мой документкаждый второй раз. Он запускается, создает следующее сообщение об ошибке, я перезапускаю, а затем он удаляет файл .aux
и успешно компилируется.
Сообщение об ошибке:! Missing = inserted for \ifnum.
Обычно это не является проблемой, но как отметил @PhelypeOleinik вего ответ на мой первоначальный вопрос, мне нужно успешно скомпилировать документдваждыдля того, чтобы такие вещи, как примечания к автору и названию, работали.
Похожие вопросы
Я рассмотрел следующие ответы/вопросы, но без особого успеха:
Проблема компиляции с siunitx (возвращается ошибка относительно ifnum): утверждает, что проблема связана с тем, как поддерживаются и датируются версии, предлагает пользователю обновить дистрибутив Tex.Я обновил все в MikTex и неоднократно проверял наличие обновлений, пока больше обновлений не стало доступно. Проблема сохраняется.
Отсутствует=вставлено для \ifnum: отсутствие ответа предполагает потенциальную проблему с
beamer
.Я не пользуюсьbeamer
, не думаю, что это проблема.Отсутствует = вставлено для ошибки \ifnum при создании библиографии с помощью natbib: предлагает удалить файл bib
aux
и выполнить повторный запуск.Это не сработает, потому что мне нужно перезапустить программу, не удаляя файл,aux
чтобы отобразить все заметки.Отсутствует = вставлено для \ifnum. \usepackage: поочередно предлагаю посмотреть на первый ответ в этом списке и обновить пакеты/дистрибутив MikTex.Я уже все обновил, но безуспешно.
Ошибка «Отсутствует = вставлено для \ifnum»: предполагает, что проблема связана с тем, как пользователь использовал
pgfmath
функции вtikz
пакете.В моем MWE я не использую егоtikz
напрямую (насколько мне известно), но проблема сохраняется.
МВЭ
Ниже приведен минимальный рабочий пример, который воспроизводит проблему. Я использую \input
много, чтобы поддерживать отдельные файлы в чистоте, и воспроизвел эту структуру здесь на случай, если это как-то связано. Все отдельные файлы находятся в одной папке.
Вdraft_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}
Вsettings_options_parameters.tex
\usepackage{natbib}
\usepackage{lipsum}
\ExplSyntaxOn
\keys_set:nn { stm / mktitle } { nologo }
\ExplSyntaxOff
Вfrontmatter.tex
Основываясь в значительной степени на документации дляcas-dc
здесь.
\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
Полученные результаты
Это изображения конечного результата, когда он компилируется в первый раз, во второй раз он выдает ошибку, упомянутую выше, и он никогда не показывает примечания к заголовку \tnotemark
или примечания автора.\cormark
Файл log
после возникновения ошибки можно найтиздесь. \listfiles
добавлено, но если нужно добавить что-то еще, пожалуйста, дайте мне знать.
Большое спасибо за любую помощь по этому вопросу!
решение1
els-cas
имеет... проблемы. Вы нашли две.
Первый:необязательный документ\cormark
долженбыть числом, и этонетнеобязательный: если вы его опустите, вы получите ошибку. Да, :-)
\cormark[]
недействителен, как есть \cormark[1,2]
, поэтому в принципе вы не можете указать более одного аргумента \cormark
на автора (кто знает, сделано ли это намеренно или это ошибка). Вот патч, чтобы сделать необязательный аргумент \cormark
действительно необязательным и разрешить \cormark[1,2]
(добавьте его в свою преамбулу):
\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
Второй:Необязательный аргумент \ead
ничего не делает. так же допустим, как и . Да :-) Единственное отличие в том, что если необязательный аргумент не пустой, используется , в противном случае он использует вокруг аргумента. Не имеет особого смысла, если вы меня спросите. В любом случае,\ead[url]{[email protected]}
\ead[mashed potatoes]{[email protected]}
els-cas
\url
\detokenize
\ead
нет(правильно) поддерживать более одного адреса.
В документации предлагается использовать и сделать из всего этого один URL, что неправильно (но, вероятно, нормально, поскольку ваша статья будет редактироваться людьми из Elsevier, а шаблон LaTeX не будет использоваться в процессе, поэтому я бы, пожалуй, выбрал этот вариант).\ead{[email protected], [email protected]}
Другой вариант — использовать \ead
дважды, когда вам нужны два адреса:
\author[1]{Dummy Author Two}
\ead{[email protected]} % e-mail adrress
\ead[mashed potatoes]{hackingsupplies.com} % website
решение2
У меня была точно такая же проблема. Она была вызвана отсутствующим year
полем в одной из записей BibTeX. Я смог исправить проблему, добавив поле года следующим образом:
@online{arXiv,
title = {arXiv.org e-Print archive},
url = {https://arxiv.org/},
author = {arXiv},
year= {2023},
urldate = {2023-08-07}
}