
答え1
通常、a の内容はtcolorbox
1 つ以上の内部ボックス レジスタに処理されます。次に、このボックス / これらのボックスは適切な描画コードなどでタイプセットされます。
には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
何も新しいことが起こらなければ、このパッチを次のバージョンに追加します。