Tcolorbox parbox=false 옵션은 높이 채우기 옵션으로 구분됩니다.

Tcolorbox parbox=false 옵션은 높이 채우기 옵션으로 구분됩니다.

Tcolorbox 옵션이 옵션 parbox=false에 의해 중단됨height fill

\documentclass[]{article}
\usepackage[most, many]{tcolorbox}
\usepackage{lipsum}

\begin{document}

\begin{tcolorbox}[
parbox=false, 
height fill % this option breaks parbox=false option
]
\lipsum[1-3]
\end{tcolorbox}

\end{document}

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

답변1

일반적으로 a의 내용은 tcolorbox하나 이상의 내부 박스 레지스터로 처리됩니다. 그런 다음 이 상자/이 상자는 적절한 도면 코드 등으로 조판됩니다.

의 경우 height fill몇 가지 예외가 있습니다. 특히 before콘텐츠가 처리되기 전에 코드가 실행됩니다. 불행히도 이로 인해 부작용이 발생할 수 있습니다. 여기, before펀치부터 시작해서 몇 가지 설정이 있습니다.

패치를 사용하면 현재 예에서 이 문제를 복구할 수 있습니다.

\documentclass[]{article}
\usepackage[most, many]{tcolorbox}
\usepackage{lipsum}

\makeatletter
\tcbset{
  parskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
      \ifvmode\edef\tcb@prevdepth{\the\glueexpr\prevdepth+\lineskip+\parskip}%
      \def\tcb@undo@before{\addvspace{-\glueexpr\tcb@prevdepth}}%
      \pagebreak[0]\fi\fi\noindent},
    after={\tcb@parfillskip@check\par}},
  noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
      \ifvmode\edef\tcb@prevdepth{\the\glueexpr\prevdepth+\lineskip}%
      \def\tcb@undo@before{\addvspace{-\glueexpr\smallskipamount+\tcb@prevdepth}}%
      \pagebreak[0]\smallskip\fi\fi\noindent},
    after={\tcb@parfillskip@check\par\smallskip}},
}
\makeatother

\begin{document}

\begin{tcolorbox}[
parbox=false,
height fill
]
\lipsum[1-3]
\end{tcolorbox}

\end{document}

tcolorbox새로운 내용이 나오지 않으면 다음 버전에 이 패치를 추가하겠습니다 .

관련 정보