右对齐列和粗体行

右对齐列和粗体行

我是 Latex 的新手,但我正在尝试学习并将来自不同帖子的各种代码拼凑在一起,因此如果这段代码“混乱”,我深表歉意。

在表格中,我想自定义列的宽度,还想将特定行设为粗体。我从另一篇文章中找到了如何将特定行设为粗体,但现在当我添加代码以使列的宽度自定义并右对齐时,粗体行部分不再起作用。以下是一个例子,您可以看到这两种情况:

\documentclass{scrreprt}

%for adding the ability to make entire rows bold:
\usepackage{array}
\newcolumntype{$}{>{\global\let\currentrowstyle\relax}}
\newcolumntype{^}{>{\currentrowstyle}}
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}%
  #1\ignorespaces
}

%define right justified column with custom width
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\begin{document}
\begin{table}[ht]

\begin{tabular}{$p{2.1cm} ^p{1.6cm} R{1.5cm} R{2cm}}
\hline
header1 & header2 & header3 & header4\\
\hline
a & b & c & d\\
\rowstyle{\bfseries}
e & f & g & h\\
\hline
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

正如您所看到的,当我使用 raggedleft 列类型(使其右对齐)时,粗体不起作用。

关于如何让这两者协同工作,您有什么想法吗?

答案1

您需要\currentrowstyleR列类型中包含:

\newcolumntype{R}[1]{>{\currentrowstyle\raggedleft\arraybackslash}p{#1}}

进行此更改将产生以粗体显示的完整行:

在此处输入图片描述

相关内容