答案1
您可能知道,tcolorbox
可以创建所有类型的彩色框,还包括一个theorems
库来支持为定理、定义等创建彩色环境......
这类框的主要命令是:
\newtcbtheorem[init options]{env-name}{displayed name}{format options}{reference prefix}
在第 16.1 节中有解释tcolorbox 文档。此命令创建一个env-name
具有两个强制参数的环境,一个定理标题和一个标签,该标签前面将加上reference prefix
创建与此特定框相关联的标签。
以下代码显示了如何使用三个\newtcbtheorem
命令以所需的样式定义定理、定义和推论。所有框都会在页面边界处断开,但只有第一个片段会被标记。如果框内容高度短于旋转后的标题高度,则会出现不理想的效果,如您在第一个示例中看到的那样。
(附注:如果以下代码显示与tcolorbox
选项相关的错误,请更新tcolorbox
包)
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\tcbset{%
theo/.style={%
enhanced,
breakable,
sharp corners,
toprule=0pt, rightrule=0pt, bottomrule=0pt, leftrule=1mm,
colback=#1!5, colframe=#1!80!black, coltitle=#1!80!black,
detach title,
overlay unbroken and first ={
\node[rotate=90, minimum width=1cm, anchor=south, font=\bfseries]
at (frame.west) {\tcbtitle};
}
}
}
\newtcbtheorem[auto counter]{mytheo}{Théorème}
{theo=green}{th}
\newtcbtheorem[auto counter]{mydef}{Définition}
{theo=blue}{df}
\newtcbtheorem[auto counter]{mycoro}{Corollaire}
{theo=green}{cl}
\begin{document}
\begin{mytheo}{}{}
\lipsum[1]
\end{mytheo}
\begin{mydef}{}{}
\lipsum[2]
\end{mydef}
\begin{mycoro}{}{}
\lipsum[3]
\end{mycoro}
\end{document}