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。我必须将括号加倍:

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

结果

相关内容