Tento usar tcolorbox
ambiente dentro de longtable
ambientes. Amostra mínima:
\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}
Infelizmente, o código não compila:
! Misplaced \noalign.
\pagebreak ->\noalign
{\ifnum `}=0\fi \@testopt {\LT@no@pgbk -}4
l.11 \end{tcolorbox}
Existe alguma opção mágica/hack/solução alternativa para fazer isso?
Responder1
Você deve redefinir a before
chave. No padrão ele contém um \pagebreak e conforme o longtable redefine \pagebreak você recebe erros. Isso aqui compila:
\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}
Responder2
Algumas opções não padrão do tcolorbox
ambiente também parecem causar esse problema. Especificamente, percebi que mensagens de erro semelhantes aparecem ao tentar colocar um tcolorbox
ambiente em um longtable
caso ele use qualquer uma das seguintes opções:
breakable
lines before break=X
- e possivelmente outras configurações relacionadas ao pagebreak
Essas configurações não aparecem no exemplo mínimo fornecido pelo OP, mas outros usuários podem estar lidando com ambientes onde usam tais configurações e acabar aqui (foi exatamente assim que acabei aqui).
A resposta de Ulricatambém deve ser aplicado!