如何将样式应用于表格中的完整行或表

如何将样式应用于表格中的完整行或表

如何为整行定义样式(字体、大小、颜色等),而无需在每个单元格前重复命令?

请注意,我不想使用 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 可以改进。目前没有文档。但我只想在代码本身有用时开始。我目前不喜欢的是新列样式的定义。但那是另一个线程的一部分。

相关内容