tcolorbox-Umgebung innerhalb von longtable – ist das möglich?

tcolorbox-Umgebung innerhalb von longtable – ist das möglich?

tcolorboxIch versuche, Umgebungen innerhalb von Umgebungen zu verwenden longtable. Minimales Beispiel:

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{longtable}
\usepackage{lipsum}

\begin{document}
\begin{longtable}{|p{\linewidth}|}
\hline
\begin{tcolorbox}
\lipsum[3]
\end{tcolorbox}
\\
\hline
\end{longtable}
\end{document}

Leider lässt sich der Code nicht kompilieren:

! Misplaced \noalign.                                                                                                            
\pagebreak ->\noalign                                                                                                            
                      {\ifnum `}=0\fi \@testopt {\LT@no@pgbk -}4                                                                 
l.11 \end{tcolorbox}                                                                                                             

Gibt es dafür eine magische Option/einen Hack/Workaround?

Antwort1

Sie müssen den beforeSchlüssel zurücksetzen. Standardmäßig enthält er einen \pagebreak und wenn longtable \pagebreak neu definiert, treten Fehler auf. Das hier kompiliert:

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{longtable}
\usepackage{lipsum}

\begin{document}

\begin{longtable}{|p{\linewidth}|}
\hline
\begin{tcolorbox}[before={}]
\lipsum[3]
\end{tcolorbox}
\\
\hline
\end{longtable}
\end{document}

Antwort2

Einige nicht standardmäßige Optionen der tcolorboxUmgebung scheinen dieses Problem ebenfalls zu verursachen. Insbesondere habe ich festgestellt, dass ähnliche Fehlermeldungen angezeigt werden, wenn ich versuche, eine tcolorboxUmgebung in einer Umgebung zu platzieren longtable, die eine der folgenden Optionen verwendet:

  • breakable
  • lines before break=X
  • und möglicherweise andere Seitenumbruch-bezogene Einstellungen

Diese Einstellungen erscheinen nicht im vom OP bereitgestellten Mindestbeispiel, aber andere Benutzer arbeiten möglicherweise mit Umgebungen, in denen sie solche Einstellungen verwenden, und landen hier (genau so bin ich hier gelandet).

Ulrikes Antwortsollte auch angewendet werden!

verwandte Informationen