可破坏的 tcolorbox 上的圆角 + 自定义标题

可破坏的 tcolorbox 上的圆角 + 自定义标题

我正在尝试采用该线程中给出的解决方案。

多页 tcolorbox,每页都有完整的框

我正在寻找一个适合我的定理的漂亮的 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 middleskin lastenhancedenhanced

由于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 firstoverlay middleoverlay 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}

相关内容