当我尝试在包中同时使用选项thmbox=M
和时,遇到了问题。以下是 MWE:numbered=no
thmtools
\documentclass{minimal}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheorem[numbered=no, name=TheoremA, ]{mytheo1}
\declaretheorem[ name=TheoremB, thmbox=M]{mytheo2}
%\declaretheorem[numbered=no, name=TheoremC, thmbox=M]{mytheo3} -> Here the error accurs
\begin{document}
\begin{mytheo1}
test1
\end{mytheo1}
\begin{mytheo2}
test2
\end{mytheo2}
\end{document}
样式 1 和 2 工作正常,但取消注释第三\declaretheorem...
行会产生错误
! LaTeX Error: Missing \begin{document}.
! LaTeX Error: \mytheo3 undefined
有人知道是否有办法同时使用这两个thmbox
选项吗nonumbered
?
答案1
thmbox
当使用该选项时,控制权将传递给thmbox
包,而包不提供未编号的定理。
这意味着您不能将该选项与numbered=no
选项一起使用。
作为一种解决方法,为了获得您正在寻找的定理环境,定义
\newenvironment{mytheo3}{%
\thmbox[M]{\textbf{TheoremC}}%
\hspace*{-1.5em}\slshape\ignorespaces%
}
{%
\endthmbox\vspace*{.75ex}%
}
像
\begin{mytheo3}
test3
\end{mytheo3}
或者
\newenvironment{mytheo4}[2][M]{%
\thmbox[#1]{\textbf{#2}}%
\hspace*{-1.5em}\slshape\ignorespaces%
}
{%
\endthmbox\vspace*{.75ex}%
}
像
\begin{mytheo4}[M]{TheoremD}
test4
\end{mytheo4}
由于本例中M
是默认的,因此可以省略。
梅威瑟:
\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheorem[numbered=no, name=TheoremA, ]{mytheo1}
\declaretheorem[ name=TheoremB, thmbox=M]{mytheo2}
%\declaretheorem[numbered=no, name=TheoremC, thmbox=M]{mytheo3} % this doesn't work!!!!!!!!!!
\newenvironment{mytheo3}{%
\thmbox[M]{\textbf{TheoremC}}%
\hspace*{-1.5em}\slshape\ignorespaces%
}
{%
\endthmbox\vspace*{.75ex}%
}
\newenvironment{mytheo4}[2][M]{%
\thmbox[#1]{\textbf{#2}}%
\hspace*{-1.5em}\slshape\ignorespaces%
}
{%
\endthmbox\vspace*{.75ex}%
}
\begin{document}
\begin{mytheo1}
test1
\end{mytheo1}
\begin{mytheo2}
test2
\end{mytheo2}
\begin{mytheo3}
test3
\end{mytheo3}
\begin{mytheo4}[M]{TheoremD}
test4
\end{mytheo4}
\end{document}
输出:
答案2
对于这些年来一直徘徊在这里并且不喜欢任何数字定理的人来说,我刚刚发现添加
\makeatletter
\renewcommand\thmbox@headstyle[2]{\bfseries #1}
\makeatother
在序言中将禁用所有编号thmbox
(默认值为:\bfseries\boldmath#1 #2
,如文档)。