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
- および他のページ区切り関連の設定
これらの設定は、OP が提供した最小限の例には表示されませんが、他のユーザーがそのような設定を使用している環境を扱っていて、ここにたどり着く可能性があります (まさに私がここにたどり着いた方法です)。
ウルリケの答えも適用する必要があります!