我有以下一段 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}
顺便说一句,你可以用更简单的方式实现相同的风格:
\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
。