tcolorbox를 중첩하면 테두리 스타일이 변경됩니다.

tcolorbox를 중첩하면 테두리 스타일이 변경됩니다.

테두리 스타일이 수정된 상자가 있는데 이러한 상자를 두 개 중첩하면 안쪽 상자의 스타일이 내가 설정한 스타일이 아닙니다. 나는 문서와 이 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}

여기에 이미지 설명을 입력하세요

관련 정보