使用 booktabs 制作的表格中的列

使用 booktabs 制作的表格中的列

我正在尝试使用该booktabs包制作一个表格。以下是代码:

\documentclass[11pt,amssymb]{amsart}
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables
\usepackage{amsmath}
\usepackage{caption}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage{fullpage}

\begin{document}

\begin{table}\hspace*{-1cm}
\centering
\begin{tabular}[h]{ccccccc}
\toprule
$\circ$ & $1$ & $r$ & $r^2$ & $s$ & $sr$ & $sr^2$  \\
\midrule
$1$ & $1$ & $r$ & $r^2$ & $s$ & $sr$ & $sr^2$  \\
\midrule
$r$ & $r$ & $r^2$ & $1$ & $sr^2$ & $s$ & $sr$  \\
\midrule
$r^2$ & $r^2$ & $1$ & $r$ & $sr$ & $sr^2$ & $sr$  \\
\midrule
$s$ & $s$ & $sr$ & $sr^2$ & $1$ & $r$ & $r^2$  \\
\midrule
$sr$ & $sr$ & $sr^2$ & $s$ & $r^2$ & $1$ & $r$  \\
\midrule
$sr^2$ & $sr^2$ & $s$ & $sr$ & $r$ & $r^2$ & $1$  \\
\bottomrule
\end{tabular}
\caption{Group Table for $D_6$}
\end{table}

\end{document}

输出如下:

在此处输入图片描述

我想添加垂直列,但是包会产生按每行断开的垂直线。

答案1

设计精良的表格的特点是 (a) 几乎不使用垂直线,(b) 使用少量但间距适当的水平线。空白可以像视觉分隔符一样有效。

应用于你的表,我建议你不要使用任何 \midrule指令;而是简单地增加位的值。(在下面的例子中,\arraystretch我使用了值。)1.25

另外,由于 7*7 表中的每个单元格都包含一个数学公式,因此您可能希望使用环境array而不是tabular环境。这样您就可以避免键入2*7*7=98[!] 单独的$符号——每个单元格两个……

在此处输入图片描述

\documentclass[11pt,amssymb]{amsart}
\usepackage{mathtools,booktabs,caption,fullpage}

\begin{document}
\begin{table}
\centering
\renewcommand\arraystretch{1.25}
$\begin{array}{@{} *{7}{c} @{}}
\toprule
\circ& 1   & r   & r^2 & s   & sr  & sr^2 \\
1    & 1   & r   & r^2 & s   & sr  & sr^2 \\
r    & r   & r^2 & 1   & sr^2& s   & sr   \\
r^2  & r^2 & 1   & r   & sr  & sr^2& sr   \\
s    & s   & sr  & sr^2& 1   & r   & r^2  \\
sr   & sr  & sr^2& s   & r^2 & 1   & r    \\
sr^2 & sr^2& s   & sr  & r   & r^2 & 1    \\
\bottomrule
\end{array}$
\caption{Group Table for $D_6$}
\end{table}
\end{document}

答案2

凯莱表不是普通的数据表,所以我建议不是booktabs为他们使用。

\documentclass[11pt]{amsart}
\usepackage{array}
\usepackage{caption}

\begin{document}

\begin{table}
\centering

% adjustments for this table
\setlength{\extrarowheight}{.3ex} % add to the height
\renewcommand{\arraystretch}{1.2} % add some space between rows
\captionsetup{belowskip=2ex}

$\begin{array}{c|cccccc}
\circ & 1 & r & r^2 & s & sr & sr^2  \\
\hline
1 & 1 & r & r^2 & s & sr & sr^2  \\
r & r & r^2 & 1 & sr^2 & s & sr  \\
r^2 & r^2 & 1 & r & sr & sr^2 & sr  \\
s & s & sr & sr^2 & 1 & r & r^2  \\
sr & sr & sr^2 & s & r^2 & 1 & r  \\
sr^2 & sr^2 & s & sr & r & r^2 & 1  \\
\end{array}$

\caption{Group Table for $D_6$}

\end{table}

\end{document}

我只添加了必要的包;\captionsetup如果您希望表格标题位于底部,那么命令可能应该放在序言中。

选项amssymb没有\documentclass意义。此外,amsmathamsthm会自动加载amsart

进行了几个调整:增加了单元格的高度,增加了行间距。使用array可避免使用$命令。

在此处输入图片描述

相关内容