\bfseries 用于数学模式(整个表格行以粗体显示)

\bfseries 用于数学模式(整个表格行以粗体显示)

我从问题中得到了这个简洁的小片段将表格第一行全部设为粗体

\documentclass{article}
\usepackage{array}
\newcolumntype{$}{>{\global\let\currentrowstyle\relax}}
\newcolumntype{^}{>{\currentrowstyle}}
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}%
  #1\ignorespaces
}

\begin{document}
\begin{tabular}{$l^c^r}
\rowstyle{\bfseries}
a & a & a \\
b & b & b \\
c & c & c \\
\end{tabular}
\end{document}

在文本模式下,它运行得很好。但是,如果我的表格中有数学模式,如下面的代码片段所示,这将不起作用。

\begin{tabular}{$l^c^r}
\rowstyle{\bfseries}
a & $1.33*10^5$ & a \\
b & b           & b \\
c & c           & c \\
\end{tabular}

两个 a 是粗体,但等式不是粗体。但是如果我使用

\begin{tabular}{$l^c^r}
\rowstyle{\bfseries}
a & \textbf{$1.33*10^5$} & a \\
b & b                    & b \\
c & c                    & c \\
\end{tabular}

公式以粗体显示,效果非常好。我需要另一个命令才能使其工作吗?我尝试在大约 20 个表格中将一行(约 17 列,12 个数学模式)排版为粗体。我真的不想将每个公式都放在 \textbf 中。


使用

\begin{tabular}{$l^c^r}
\rowstyle{\textbf}
a & $1.33*10^5$ & a \\
b & b           & b \\
c & c           & c \\
\end{tabular}

You can't use a prefix with `\aftergroup'下一行以错误结束。

答案1

太快了,我是个笨蛋。解决方案是添加\boldmath

\begin{tabular}{$l^c^r}
\rowstyle{\boldmath\textbf}
a & $1.33*10^5$ & a \\
b & b           & b \\
c & c           & c \\
\end{tabular}

相关内容