Aninhar tcolorbox altera o estilo da borda

Aninhar tcolorbox altera o estilo da borda

Tenho uma caixa com estilo de borda modificado, mas quando aninho duas dessas caixas, o estilo da caixa interna não é aquele que defini. Eu sei, pelo documento e por outras perguntas neste stackexchange, que breakablecaixas de aninhamento podem criar problemas, mas não me lembro de ter lido nada sobre estilos.

Então, minha pergunta: como posso aninhar caixas preservando o estilo, como se a interna não estivesse aninhada?

Uma imagem com duas caixas, a primeira é exibida corretamente; a segunda contém outra caixa dentro, que não possui o tipo correto.

\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}

Observe que, neste MWE, aninho o mesmo tipo de caixa (ou seja, a sideboxem a sidebox), mas na prática, não é necessariamente o caso, e a caixa pode ter sido criada com \tcolorboxenvironment.

Responder1

Eu sugiro ler a seção4.16 Caixas em camadas e configurações de cada caixana tcolorboxdocumentação onde a relação entre estilos em camadas é explicada.

Com o seu exemplo, parece que mudar \tcbsetfunciona \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}

insira a descrição da imagem aqui

informação relacionada