amsthm - Ошибка отсутствия числа

amsthm - Ошибка отсутствия числа

(Я провел быстрый поиск и не нашел этого вопроса, заданного ранее, но если кто-то знает, что он уже задавался и на него давали ответ, я был бы признателен, если бы его указали в правильном направлении.)

Я часть группы, которая собирается написать длинный документ, который, вероятно, будет в значительной степени зависеть от пакета amsthm. К сожалению, я получаю "Ошибку пропущенного числа" при определении (и использовании) новых стилей. В настоящее время у меня в основном проблемы со следующим определением нового стиля определения:

\newtheoremstyle{definition}% name
{9pt}           %       Space above, empty = 'usual value'
{9pt}           %       Space below
{}              %       Body font
{0cm}           %       Indent amount (empty = no indent, \parindent = para indent)
{\bfseries}     %       Thm head font
{\ }            %       Punctuation after thm head
{}              %       Space after thm head: \newline = linebreak
{}              %       Thm head spec`

\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

Когда я использую этот стиль, я получаю ошибку пропущенного числа, но если я использую \newlineв определении стиля, я не получаю ошибку пропущенного числа. Из-за этого я не думаю, что ошибка возникает из-за конфликта пакетов, но я не так много знаю о более технических деталях LaTex, поэтому вполне возможно, что я ошибаюсь (я бы сказал, что это вероятно).

Если у кого-то есть ответ/идея, как решить эту проблему, я буду очень рад услышать!

решение1

Следующий MWE даст желаемый результат:

\documentclass{article}
\usepackage{amsthm}
\newtheoremstyle{definition}% name
{9pt}           %       Space above, empty = 'usual value'
{9pt}           %       Space below
{}              %       Body font
{0cm}           %       Indent amount (empty = no indent, \parindent = para indent)
{\bfseries}     %       Thm head font
{\ }            %       Punctuation after thm head
{ }             %       Space after thm head: \newline = linebreak
{}              %       Thm head spec

\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

\begin{document}
\begin{definition}
foo
\end{definition}
\end{document}

Обратите внимание на непустой восьмой аргумент \newtheoremstyle. Разрешены:

  • \newlineдля переноса строки
  • { }для нормального межсловного пробела
  • длина по выбору пользователя

Если оставить этот аргумент пустым, возникнет описанная Missing numberошибка.

Связанный контент