longtable、\multicolumn、\boldmath

longtable、\multicolumn、\boldmath

次のコードはコンパイルされます

\documentclass{article}

\usepackage{longtable}


\begin{document}

\begin{longtable}{c}
  \noalign{\bfseries $r$ test}
  \multicolumn{1}{c}{Line 1}
\end{longtable}

\end{document}

しかし、これは

\documentclass{article}

\usepackage{longtable}


\begin{document}

\begin{longtable}{c}
  \noalign{\bfseries\boldmath $r$ test}
  \multicolumn{1}{c}{Line 1}
\end{longtable}

\end{document}

エラー メッセージが表示されましたmisplaced \omit。中括弧を 2 重にする必要があります。

\noalign{{\bfseries\boldmath $r$ test}}

理由について何か考えはありますか?

答え1

\boldmathは を使用し\mathversion、 を介して現在のグループの後に内容を配置します\aftergroup。したがって、マクロは\glb@settingsから漏れ\noalign、テーブルを乱します。

グループは次のようなことに役立ちます:

\documentclass{article}
\usepackage{longtable}

\begin{document}

\begin{longtable}{c}
  \noalign{{\bfseries\boldmath $r$ test}}
  \multicolumn{1}{c}{Line 1}
\end{longtable}

\end{document}

結果

関連情報