我想要一个由创建的框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}
给出