tcolorbox
Ich 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 before
Schlü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 tcolorbox
Umgebung scheinen dieses Problem ebenfalls zu verursachen. Insbesondere habe ich festgestellt, dass ähnliche Fehlermeldungen angezeigt werden, wenn ich versuche, eine tcolorbox
Umgebung 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!