thmtools 的问题:thmbox 和 numbered=no

thmtools 的问题:thmbox 和 numbered=no

当我尝试在包中同时使用选项thmbox=M和时,遇到了问题。以下是 MWE:numbered=nothmtools

\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,如文档)。

相关内容