由于可破坏的盒子无法放入可破坏的盒子中,正如可破碎的盒子,带有 tcolorbox 的可破碎盒子以及手册tcolorbox
。
所以我想到了一个替代方案:是否可以将可破坏的盒子放在彼此后面(重叠)?背景中的盒子比前景中的盒子稍大一些,因此看起来像是“盒子中的盒子”,但实际上它们只是彼此外面的可破坏盒子。人们会期望它们正常破裂吗?
例如,从手册tcolorbox
。我怎样才能通过重叠来模拟“盒子中的盒子”,以便人们能够正常地打破它们?
答案1
这只是一个想法。
由于嵌套盒子是牢不可破的,当我们只有两个嵌套盒子时,一个可能的解决方案是将内层盒子定义为可破坏的,并使用一些overlay
选项绘制外层盒子。
为了模拟内框,我们必须使用enlarge ...
选项调整边距并定义相应的width
。外框的标题、colframe 和 colback 在覆盖命令中是固定的。外框的几何形状可能不正确,但我留给您使用更好的调整尺寸。
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\newtcolorbox{myfakebreakablebox}[2][]{
title=#2,
enhanced, breakable,
enlarge top initially by=1cm,
enlarge bottom finally by=5mm,
enlarge left by=5mm,
enlarge right by=5mm,
width=\linewidth-10mm,
overlay first={
\draw[green!70!black, line width=.5mm, rounded corners]
([xshift=-5mm]frame.south west)|-([yshift=1cm]frame.north)-|
([xshift=5mm]frame.south east);
\node[fill=green!70!black, minimum height=5mm,
minimum width=\linewidth, anchor=north] at ([yshift=1cm]frame.north)
(outertitle) {};
\node[text=white, anchor=west] at ([xshift=3mm]outertitle.west) {Outer title};
},
overlay middle={
\draw[green!70!black, line width=.5mm, rounded corners]
([xshift=-5mm]frame.north west)--([xshift=-5mm]frame.north west);
\draw[green!70!black, line width=.5mm, rounded corners]
([xshift=-5mm]frame.north east)--([xshift=-5mm]frame.north east);
},
overlay last={
\draw[green!70!black, line width=.5mm, rounded corners]
([xshift=-5mm]frame.north west)|-([yshift=-5mm]frame.south)
-|([xshift=5mm]frame.north east);
}
}
\begin{document}
\lipsum[1-3]
\begin{myfakebreakablebox}{this is the title}
\lipsum[1-3]
\end{myfakebreakablebox}
\lipsum[1]
\end{document}