Среда tcolorbox внутри longtable — это возможно?

Среда tcolorbox внутри longtable — это возможно?

Я стараюсь использовать tcolorboxокружение внутри longtableокружения. Минимальный пример:

\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}

К сожалению, код не компилируется:

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

Есть ли какой-нибудь волшебный вариант/хак/обходной путь, чтобы это сделать?

решение1

Вам необходимо сбросить beforeключ. По умолчанию он содержит \pagebreak, и поскольку longtable переопределяет \pagebreak, вы получаете ошибки. Это здесь компилируется:

\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}

решение2

Некоторые нестандартные параметры среды tcolorboxтакже, по-видимому, вызывают эту проблему. В частности, я столкнулся с тем, что подобные сообщения об ошибках появляются при попытке поместить tcolorboxсреду в , longtableесли она использует какие-либо из следующих параметров:

  • breakable
  • lines before break=X
  • и, возможно, другие настройки, связанные с разрывом страницы

Эти настройки не отображаются в минимальном примере, предоставленном автором, но другие пользователи могут иметь дело со средами, в которых они используют такие настройки, и попадать сюда (именно так я и оказался здесь).

Ответ Ульрикитакже следует применять!

Связанный контент