我从问题中得到了这个简洁的小片段将表格第一行全部设为粗体:
\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}