我正在尝试使用该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
意义。此外,amsmath
和amsthm
会自动加载amsart
。
进行了几个调整:增加了单元格的高度,增加了行间距。使用array
可避免使用$
命令。