如何为整行定义样式(字体、大小、颜色等),而无需在每个单元格前重复命令?
请注意,我不想使用 tabu 包。我想知道在没有 tabu 的情况下可以做到什么程度。(没有反对 tabu,我想演示标准表格环境的用法,并与 tabu 形成对比)。
此外,我不想添加新的列类型。该原则应适用于复杂文档中的任何表,而无需为每个表中的每个列发明列类型。
此例表明设置样式后只有第一个单元格发生了变化。
\documentclass[]{scrbook}
\usepackage[
dvipsnames, % Load a set of predefined colors
table, % Load the colortbl package
]{xcolor}
\usepackage{float}
\begin{document}
\begin{table}[H]
% --- table -->
\renewcommand{\arraystretch}{1.4}
\centering
\sffamily
\rowcolors{1}{gray!15}{white!100}%
% <------------
\begin{tabular}{lll}
\hline
% --- thead -->
\rowcolor{gray!25}
\small
\rmfamily
% <------------
header &
header &
header \tabularnewline
\hline
% --- tbody -->
\tiny\slshape
% <------------
content & content & content \tabularnewline
content & content & content \tabularnewline
content & content & content \tabularnewline
\hline
\end{tabular}
\end{table}
\end{document}
答案1
我整理了一个包,它几乎可以实现我想要的功能 - 可配置的表格样式。这是用户 API 的一个示例。如果您喜欢它或者应该更改什么,请提供反馈。完整代码(包括一个非常详细的示例)链接如下。
\begin{table}[H]
\tablestyle[sansboldbw]
\captionabove{table with darker alternating colors}
\begin{tabular}{*{2}{v{0.45\textwidth}}}
\theadstart
\thead header &
\thead header \tabularnewline
\tbody
\tsubheadrow{2}{subheader}
content & content \tabularnewline
content & content \tabularnewline
content & content \tabularnewline
content & content \tabularnewline
content & content \tabularnewline
content & content \tabularnewline
%
\tsubheadstart
\tsubhead subhead &
\tsubhead subhead \tabularnewline
%
content & content \tabularnewline
content & content \tabularnewline
\tend
\end{tabular}
\end{table}
用于配置新样式的 API 可以改进。目前没有文档。但我只想在代码本身有用时开始。我目前不喜欢的是新列样式的定义。但那是另一个线程的一部分。