newtheoremstyle 中未定义的控制序列

newtheoremstyle 中未定义的控制序列

我有以下一段 LaTeX 代码:

\newtheoremstyle{quest}
    {20pt} % space above
    {\topset} % space below
    {} % body font
    {} % indentation
    {\bfseries} % theorem head font
    {} % punctuation after theorem head
    {0pt} % space after theorem head
    {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)} \\} % head spec
\theoremstyle{quest}
\newtheorem{question}{Question}

编译器抱怨该% head spec行有“未定义的控制序列”,但我无法弄清楚该行有什么问题。

任何帮助,将不胜感激!

答案1

在第二个参数中,您有\topset(带有“t”)并且它应该是\topsep(带有“p”):

\documentclass{article}
\usepackage{amsthm}

\newtheoremstyle{quest}
    {20pt} % space above
    {\topsep} % space below
    {} % body font
    {} % indentation
    {\bfseries} % theorem head font
    {} % punctuation after theorem head
    {0pt} % space after theorem head
    {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)} \\} % head spec
\theoremstyle{quest}
\newtheorem{question}{Question}

\begin{document}

\begin{question}
test
\end{question}

\end{document}

enter image description here

顺便说一句,你可以用更简单的方式实现相同的风格:

\newtheoremstyle{quest}
    {20pt} % space above
    {\topsep} % space below
    {} % body font
    {} % indentation
    {\bfseries} % theorem head font
    {} % punctuation after theorem head
    {\newline} % space after theorem head
    {} % head spec

您可以通过查看原始代码产生的错误消息自己发现问题:

! Undefined control sequence.
<argument> \topset 

l.12     {}
            % head spec
? 

“!未定义的控制序列。”部分后面的行中的最后一个命令是有问题的命令;在本例中为\topset

相关内容