
Antwort1
Typischerweise tcolorbox
wird der Inhalt einer Box in ein oder mehrere interne Boxregister verarbeitet. Anschließend werden diese Box/en mit dem entsprechenden Zeichencode etc. versehen.
Für height fill
gibt es einige Ausnahmen. Insbesondere before
wird der Code ausgeführt, bevor der Inhalt verarbeitet wird. Dies kann leider zu Nebeneffekten führen. Hier greift eine Einstellung von before
durch.
Mit einem Patch lässt sich dies für das aktuelle Beispiel beheben:
\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}
Ich werde diesen Patch der nächsten tcolorbox
Version hinzufügen, wenn nichts Neues herauskommt.