
我有一個修改了邊框樣式的盒子,但是當我嵌套兩個這樣的盒子時,內部盒子的樣式不是我設定的樣式。我從文件和此 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 中,我嵌套了相同類型的框(即 a 位於sidebox
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}