Ambiente tcolorbox dentro do longtable — é possível?

Ambiente tcolorbox dentro do longtable — é possível?

Tento usar tcolorboxambiente dentro de longtableambientes. 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 beforechave. 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 tcolorboxambiente também parecem causar esse problema. Especificamente, percebi que mensagens de erro semelhantes aparecem ao tentar colocar um tcolorboxambiente em um longtablecaso 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!

informação relacionada