如何制作不带编号的 tcolorbox 定理

如何制作不带编号的 tcolorbox 定理

我想要一个由创建的框tcolorbox来制作一个没有编号的定理。这是我设置时的代码:

\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\newtcbtheorem{theorem}{}
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}

我在网上搜索过,得到的一个技巧是在制定定理时使用 *,所以它看起来像这样:

\begin{theorem*}{Theorem Name}
  This is a theorem.
\end{theorem*}

但是,虽然编号消失了,但仍然有一个冒号 (:) 和一个空格。我该如何去掉它?在此处输入图片描述 另外,tcolorbox 还有哪些其他可用的颜色?(解决了)

定理结束后还有一个奇怪的缩进,有没有办法系统地解决这个问题?

在此处输入图片描述

梅威瑟:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\newtcbtheorem{theorem}{}
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}
\begin{document}
\begin{theorem*}{Theorem Name}
  This is a theorem.
\end{theorem*}
\textit{proof.}
\end{document}

答案1

编辑: 从您的评论可以看出,您不需要库theorem中定义的专用盒子theorems,而是普通盒子(参见下面 MWE 中的第三个示例)。

尝试:

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}

\newtcbtheorem[number within=section]{theorem}{Theorem}
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}

\newtcolorbox{my theorem}[1]{
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries, title={#1}}

\begin{document}

\section{test}
\begin{theorem}{Theorem Name}
  This is a theorem.
\end{theorem}

\begin{theorem*}{Theorem Name}
  This is a theorem.
\end{theorem*}


\begin{my theorem}{Theorem name}
This is a theorem.
\end{my theorem}

\end{document}

在此处输入图片描述

如果您喜欢其他颜色,则只需在定理定义中选择所需的颜色即可。例如:

\newtcbtheorem[number within=section]{theorem}{Theorem}
{colback=yellow!30,colframe=orange!50!black,fonttitle=\bfseries}{th}

给出

在此处输入图片描述

附录:

有时,当您希望mytherem框后没有缩进的文本时,您需要执行以下操作:

  • 定义my therem
\newtcolorbox{my theorem}[1]{%
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries, title={#1},
after=\par\noindent\ignorespacesafterend\ignorespaces}
  • 框和文本之间不能有空行

一个例子:

\documentclass{article}
\usepackage{tcolorbox}

\newtcolorbox{my theorem}[1]{%
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries, title={#1},
after=\par\noindent\ignorespacesafterend\ignorespaces}

\usepackage{lipsum}
                          
\begin{document}

\begin{my theorem}{Theorem name}
This is a theorem.
\end{my theorem}
\lipsum*[66]
\end{document}

给出

\noindent\ignorespacesafterend\ignorespaces

相关内容