嵌套tcolorbox改變邊框樣式

嵌套tcolorbox改變邊框樣式

我有一個修改了邊框樣式的盒子,但是當我嵌套兩個這樣的盒子時,內部盒子的樣式不是我設定的樣式。我從文件和此 stackexchange 上的其他問題知道,巢狀breakable框可能會產生問題,但我不記得讀過任何有關樣式的內容。

所以我的問題是:如果內部盒子沒有嵌套,如何在保留樣式的同時嵌套盒子?

一張圖片有兩個框,第一個框顯示正常;第二個裡麵包含另一個盒子,它沒有正確的stype。

\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 位於sideboxa 中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}

在此輸入影像描述

相關內容