我基本上想在表中列出属性名称和属性描述。属性属于某个类别。想法是将所有属性列在一个表中,以避免为每个类别创建多个表。目前我只是通过使用每个类别的中间规则来细分表格。结果看起来不错,但我想知道是否有更美观的方法来做到这一点(例如缩进每个类别下面的行)。
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{ll}
\toprule
\textbf{Attribute} & \textbf{Description} \\ \midrule
\multicolumn{2}{l}{{Category 1}} \\ \midrule
A1 & D1 \\
A2 & D2 \\ \midrule
\multicolumn{2}{l}{{Category 2}} \\ \midrule
A3 & D3 \\
A4 & D4 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
也许我比较老派,但是我还是喜欢简单的表格:
\documentclass{article}
\usepackage{booktabs,multirow}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{ccc}
\toprule
\textbf{Category} & \textbf{Attribute} & \textbf{Description} \\ \midrule\\[-.9em]
\multirow{2}{*}{1}
& A1 & D1 \\
& A2 & D2 \\[.5em]
\multirow{2}{*}{2}
& A3 & D3 \\
& A4 & D4 \\[.5em]
\multirow{2}{*}{3}
& A2 & D1 \\
& A3 & D4 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
我会做这样的事:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
&\textbf{Attribute} & \textbf{Description} \\ \midrule
\multicolumn{3}{l}{\small \textsc{category 1}} \\
&A1 & D1 \\
&A2 & D2 \\
\multicolumn{3}{l}{\small \textsc{category 2}} \\
&A3 & D3 \\
&A4 & D4 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
主要变化:
- 不要使用
hline
- 使用 3 列(而不是 2 列)来“缩进”行。
- “类别”的独特字体。
- 在列描述中使用
@{}
来删除第一列和最后一列的空白。