`\declaretheoremstyle` `\headformat` 的问题

`\declaretheoremstyle` `\headformat` 的问题

我正在尝试更改headformat中的选项declaretheoremstyle,但出现错误,即使复制 中的thmtools允许代码也是如此\headformat=margin。这是我的序言:

\documentclass{amsart}
\usepackage{thmtools}
\declaretheoremstyle[
    headformat=\makebox[0pt][r]{\NUMBER\ }\NAME\NOTE,
    notefont=\bfseries, 
    notebraces={}{},
]{mystyle}

\theoremstyle{mystyle}
\newtheorem{thm}{Theorem}

但是当我尝试构建时,我收到一个错误指向headformat=并且输出变为默认值:

在此处输入图片描述

知道为什么\makebox以下操作不起作用吗\headformat=

或者,如果我将我的序言调整为

\documentclass{amsart}
\usepackage{thmtools}
\declaretheoremstyle[
    headformat=\makebox[0pt][r]{\NUMBER\ }\NAME\NOTE,
    notefont=\bfseries, 
    notebraces={}{},
]{mystyle}

\theoremstyle{mystyle}
\newtheorem{thm}{Theorem}

我明白了

在此处输入图片描述

为什么文本前面有那个不需要的空格\NOTE

答案1

之后]0pt被误认为是 的可选参数的右括号\declaretheoremstyle。将 的值括headformat在括号中。

\documentclass{amsart}
\usepackage{lipsum} % just for the example
\usepackage{thmtools}
\declaretheoremstyle[
    headformat={\makebox[0pt][r]{\NUMBER\ }\NAME\NOTE},
    notefont=\bfseries, 
    notebraces={}{},
]{mystyle}

\theoremstyle{mystyle}
\newtheorem{thm}{Theorem}

\begin{document}

\lipsum[2]

\begin{thm}
Whatever
\end{thm}

\begin{thm}[Oops]
Whatever
\end{thm}

\end{document}

在此处输入图片描述

相关内容