我正在尝试采用该线程中给出的解决方案。
我正在寻找一个适合我的定理的漂亮的 tcolorbox,它是可拆分的,并且在第一页的底部和第二页的顶部,框架有圆角。(另外,如果有定理名称,我希望能够用定理名称个性化标题,但也许我应该将其作为另一个问题发布)。
我认为一个困难是标题在盒子的主框架上发生了移动。这是我现在正在使用的:
\documentclass{article}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage[skins,many]{tcolorbox}
\newtcolorbox{theo}{enhanced,title=Théorème,breakable,
overlay first={\draw[line width=.5mm, magenta!70!white] (frame.south west)--(frame.south east);},
overlay middle={\draw[line width=.5mm, magenta!70!white] (frame.south west)--(frame.south east);\draw[line width=.5mm, magenta!70!white] (frame.north west)--(frame.north east);},
overlay last={\draw[line width=.5mm, magenta!70!white] (frame.north west)--(frame.north east);},
colframe=magenta!60!white,colback=magenta!10!white,
arc=1mm,colbacktitle=magenta!10!white,
fonttitle=\bfseries,coltitle=magenta!50!black,
attach boxed title to top left=
{xshift=-2mm,yshift=-2mm},
boxed title style={size=small,colframe=magenta!60!white, colback=white!65!magenta}
}
\begin{document}
\begin{theo}{}{}
\lipsum[1-7]
\end{theo
\end{document}
如果有人能提供帮助我将非常感激。
答案1
对于theorems
和类似的构造,最好使用\newtcbtheorem
命令。这就是我在这个解决方案中所做的。这个框声明创建一个theo
带有两个强制参数的框,第一个是特定标题,第二个是标签后缀(本例中未使用)。
关于破损盒子的完整框架,您可以使用和skin first
选项修复要使用的皮肤。由于您想要一个带圆角的完整框架,因此所有三个都固定为。初始选项将它们修复为破损,这些选项再次恢复到未破损的外观。skin middle
skin last
enhanced
enhanced
由于many
已经加载了skins
库,因此在加载包时不需要将其添加为选项。
\documentclass{article}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage[many]{tcolorbox}
\newtcbtheorem{theo}{Theorem}{enhanced, breakable,
skin first=enhanced,
skin middle=enhanced,
skin last=enhanced,
colframe=magenta!60!white,colback=magenta!10!white,
arc=1mm,colbacktitle=magenta!10!white,
fonttitle=\bfseries,coltitle=magenta!50!black,
attach boxed title to top left=
{xshift=-2mm,yshift=-2mm},
boxed title style={size=small,colframe=magenta!60!white, colback=white!65!magenta}
}{theo}
\begin{document}
\begin{theo}{My first theorem}{}
\lipsum[1-10]
\end{theo}
\begin{theo}{My second theorem}{}
\lipsum[1]
\end{theo}
\end{document}
答案2
从你的帖子中,我可以理解你不想要第一页的底部规则和第二页的顶部规则,如果我的理解正确的话,那么它是中的默认设置tcolorbox
,问题是由于你定义了overlay first
和overlay middle
和overlay last
,只需对其进行注释,输出就会如你所愿,修改后的结果MWE
是:
\documentclass{article}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage[skins,many]{tcolorbox}
\newtcolorbox{theo}{enhanced,title=Theorem,breakable,
% overlay first={\draw[line width=.5mm, magenta!70!white] (frame.south west)--(frame.south east);},
% overlay middle={\draw[line width=.5mm, magenta!70!white] (frame.south west)--(frame.south east);\draw[line width=.5mm, magenta!70!white] (frame.north west)--(frame.north east);},
% overlay last={\draw[line width=.5mm, magenta!70!white] (frame.north west)--(frame.north east);},
colframe=magenta!60!white,colback=magenta!10!white,
arc=1mm,colbacktitle=magenta!10!white,
fonttitle=\bfseries,coltitle=magenta!50!black,
attach boxed title to top left=
{xshift=-2mm,yshift=-2mm},
boxed title style={size=small,colframe=magenta!60!white, colback=white!65!magenta}
}
\begin{document}
\begin{theo}{}{}
\lipsum[1-7]
\end{theo}
\end{document}