我有一个修改了边框样式的框,但是当我嵌套两个这样的框时,内部框的样式不是我设置的样式。我从文档和此 stackexchange 上的其他问题中知道,嵌套breakable
框会产生问题,但我不记得读过有关样式的任何内容。
所以我的问题是:如果内部框未嵌套,我该如何嵌套框同时保留样式?
\documentclass{article}
\usepackage[skins, breakable]{tcolorbox}
\tcbset{
enhanced,
frame hidden,
sharp corners,
}
\newtcolorbox{sidebox}{
borderline={1pt}{0pt}{gray!80!cyan},
colback=gray!80!cyan!5,
}
\begin{document}
\begin{sidebox}
\[A=B\]
\end{sidebox}
\begin{sidebox}
\begin{sidebox}
\[A=B\]
\end{sidebox}
\end{sidebox}
\end{document}
请注意,在这个 MWE 中,我嵌套了相同类型的盒子(即 asidebox
在 a 中sidebox
),但实际上,情况并非一定如此,并且该盒子可能是用 创建的\tcolorboxenvironment
。
答案1
我建议阅读部分4.16 分层框及每个框的设置在tcolorbox
文档中解释了分层样式之间的关系。
通过您的例子,看起来改变\tcbset
是\tcbsetfoereverylayer
有效的。
\documentclass{article}
\usepackage[skins, breakable]{tcolorbox}
\tcbsetforeverylayer{
enhanced,
frame hidden,
sharp corners,
}
\newtcolorbox{sidebox}{
borderline={1pt}{0pt}{gray!80!cyan},
colback=gray!80!cyan!5,
}
\begin{document}
\begin{sidebox}
\[A=B\]
\end{sidebox}
\begin{sidebox}
\begin{sidebox}
\[A=B\]
\end{sidebox}
\end{sidebox}
\end{document}