![如何在使用 booktabs 时增加行高?](https://linux22.com/image/257828/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%BD%BF%E7%94%A8%20booktabs%20%E6%97%B6%E5%A2%9E%E5%8A%A0%E8%A1%8C%E9%AB%98%EF%BC%9F.png)
我正在使用 booktabs 制作表格。其中一列包含一系列分数。
\documentclass[12pt, letterpaper]{article}
\usepackage{nag}
\usepackage[margin=1.0in]{geometry}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage[tableposition=top]{caption}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Test}
\begin{tabular}{llll}
\toprule
A & B & C & D \\
\midrule
A: $\frac{6}{16}$ B: $\frac{5}{16}$ C: $\frac{3}{16}$ D: $\frac{2}{16}$ & 1.9375919592 & 1.88285606369 & 0.0547358955059 \\
A: $\frac{6}{16}$ B: $\frac{5}{16}$ C: $\frac{4}{16}$ D: $\frac{1}{16}$ & 1.94014431443 & 1.80503653258 & 0.135107781856 \\
A: $\frac{6}{16}$ B: $\frac{6}{16}$ C: $\frac{2}{16}$ D: $\frac{2}{16}$ & 1.87649654966 & 1.81127812446 & 0.0652184251977 \\
A: $\frac{6}{16}$ B: $\frac{6}{16}$ C: $\frac{3}{16}$ D: $\frac{1}{16}$ & 1.87992559246 & 1.76409765557 & 0.115827936888 \\
A: $\frac{7}{16}$ B: $\frac{3}{16}$ C: $\frac{3}{16}$ D: $\frac{3}{16}$ & 1.93245604561 & 1.88024081494 & 0.0522152306624 \\
A: $\frac{7}{16}$ B: $\frac{4}{16}$ C: $\frac{3}{16}$ D: $\frac{2}{16}$ & 1.86806360636 & 1.84960175271 & 0.0184618536479 \\
A: $\frac{7}{16}$ B: $\frac{4}{16}$ C: $\frac{4}{16}$ D: $\frac{1}{16}$ & 1.87194209421 & 1.7717822216 & 0.100159872612 \\
A: $\frac{7}{16}$ B: $\frac{5}{16}$ C: $\frac{2}{16}$ D: $\frac{2}{16}$ & 1.81500630063 & 1.79617969195 & 0.0188266086843 \\
A: $\frac{7}{16}$ B: $\frac{5}{16}$ C: $\frac{3}{16}$ D: $\frac{1}{16}$ & 1.81178637864 & 1.74899922306 & 0.0627871555774 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
它看起来是这样的:
每行的高度有点太小了——分数被挤压得不舒服。有什么方法可以增加行高,让分数更舒适地显示?
如果可能的话,我还想避免对我可能添加到文档中的其他表格进行任何更改。
答案1
对于单线booktabs
提供\addlinespace
:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}\centering
\begin{tabular}{lrc}
\toprule[2pt]
a & b & c \\
\cmidrule[1pt](rl){1-3}
d & e & f \\
j & k & l \\
\addlinespace[0.5em]
g & h & i \\
\bottomrule[2pt]
\end{tabular}\caption{abcde}
\end{table}
\end{document}
答案2
这里最简单的方法是调整 的值\arraystretch
。例如,
\renewcommand{\arraystretch}{2}
以下是关于差异的看法:
\documentclass[12pt, letterpaper]{article}
%\usepackage{amsmath}
%\usepackage{nag}
\usepackage[margin=1.0in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
%\usepackage[tableposition=top]{caption}
\newcommand{\mytable}{%
\begin{tabular}{llll}
\toprule
A & B & C & D \\
\midrule
A: $\frac{6}{16}$ B: $\frac{5}{16}$ C: $\frac{3}{16}$ D: $\frac{2}{16}$ & 1.9375919592 & 1.88285606369 & 0.0547358955059 \\
A: $\frac{6}{16}$ B: $\frac{5}{16}$ C: $\frac{4}{16}$ D: $\frac{1}{16}$ & 1.94014431443 & 1.80503653258 & 0.135107781856 \\
A: $\frac{6}{16}$ B: $\frac{6}{16}$ C: $\frac{2}{16}$ D: $\frac{2}{16}$ & 1.87649654966 & 1.81127812446 & 0.0652184251977 \\
A: $\frac{6}{16}$ B: $\frac{6}{16}$ C: $\frac{3}{16}$ D: $\frac{1}{16}$ & 1.87992559246 & 1.76409765557 & 0.115827936888 \\
A: $\frac{7}{16}$ B: $\frac{3}{16}$ C: $\frac{3}{16}$ D: $\frac{3}{16}$ & 1.93245604561 & 1.88024081494 & 0.0522152306624 \\
A: $\frac{7}{16}$ B: $\frac{4}{16}$ C: $\frac{3}{16}$ D: $\frac{2}{16}$ & 1.86806360636 & 1.84960175271 & 0.0184618536479 \\
A: $\frac{7}{16}$ B: $\frac{4}{16}$ C: $\frac{4}{16}$ D: $\frac{1}{16}$ & 1.87194209421 & 1.7717822216 & 0.100159872612 \\
A: $\frac{7}{16}$ B: $\frac{5}{16}$ C: $\frac{2}{16}$ D: $\frac{2}{16}$ & 1.81500630063 & 1.79617969195 & 0.0188266086843 \\
A: $\frac{7}{16}$ B: $\frac{5}{16}$ C: $\frac{3}{16}$ D: $\frac{1}{16}$ & 1.81178637864 & 1.74899922306 & 0.0627871555774 \\
\bottomrule
\end{tabular}
}
\begin{document}
\begin{table}
\centering
\caption{Test}
\mytable
\end{table}
\begin{table}
\centering
\caption{Test}
\renewcommand{\arraystretch}{2}
\mytable
\end{table}
\end{document}
请注意,这会影响整个表。有关详细信息(包括单个修改),请参阅表格中的列填充。
答案3
这可能看起来很复杂,但可以对输出进行微调:因为分数是这种特殊情况下的罪魁祸首,而改变\arraystretch
会影响所有表行,我建议对分数使用不同的命令,以便在它们旁边插入一个支柱;这个支柱比正常的支柱大,是根据分数本身计算出来的。
\documentclass[12pt, letterpaper]{article}
\usepackage[margin=1.0in]{geometry}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage[tableposition=top]{caption}
\newcommand{\fracpadding}{}
\newcommand{\setfracpadding}[1][2pt]{%
\sbox0{$\frac{1}{2}$}%
\dimen0=\ht0 \advance\dimen0 #1\relax
\dimen2=\dp0 \advance\dimen2 #1\relax
\edef\fracpadding{\vrule width 0pt height \the\dimen0 depth \the\dimen2\relax}%
}
\newcommand{\afrac}[2]{\fracpadding\frac{#1}{#2}}
\begin{document}
\begin{table}[htbp]
\centering
\setfracpadding
\caption{Test}
\begin{tabular}{llll}
\toprule
A & B & C & D \\
\midrule
A: $\afrac{6}{16}$ B: $\afrac{5}{16}$ C: $\afrac{3}{16}$ D: $\afrac{2}{16}$ & 1.9375919592 & 1.88285606369 & 0.0547358955059 \\
A: $\afrac{6}{16}$ B: $\afrac{5}{16}$ C: $\afrac{4}{16}$ D: $\afrac{1}{16}$ & 1.94014431443 & 1.80503653258 & 0.135107781856 \\
A: $\afrac{6}{16}$ B: $\afrac{6}{16}$ C: $\afrac{2}{16}$ D: $\afrac{2}{16}$ & 1.87649654966 & 1.81127812446 & 0.0652184251977 \\
A: $\afrac{6}{16}$ B: $\afrac{6}{16}$ C: $\afrac{3}{16}$ D: $\afrac{1}{16}$ & 1.87992559246 & 1.76409765557 & 0.115827936888 \\
A: $\afrac{7}{16}$ B: $\afrac{3}{16}$ C: $\afrac{3}{16}$ D: $\afrac{3}{16}$ & 1.93245604561 & 1.88024081494 & 0.0522152306624 \\
A: $\afrac{7}{16}$ B: $\afrac{4}{16}$ C: $\afrac{3}{16}$ D: $\afrac{2}{16}$ & 1.86806360636 & 1.84960175271 & 0.0184618536479 \\
A: $\afrac{7}{16}$ B: $\afrac{4}{16}$ C: $\afrac{4}{16}$ D: $\afrac{1}{16}$ & 1.87194209421 & 1.7717822216 & 0.100159872612 \\
A: $\afrac{7}{16}$ B: $\afrac{5}{16}$ C: $\afrac{2}{16}$ D: $\afrac{2}{16}$ & 1.81500630063 & 1.79617969195 & 0.0188266086843 \\
A: $\afrac{7}{16}$ B: $\afrac{5}{16}$ C: $\afrac{3}{16}$ D: $\afrac{1}{16}$ & 1.81178637864 & 1.74899922306 & 0.0627871555774 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
默认填充是分数上下各 2pt;也可以说成其他长度。我建议不要全局设置,而是在需要时设置;因此,如果您改变主意并决定以较小的字体排版带有此类分数的表格,只需在 之前添加或声明\setfracpadding[3pt]
即可。\small
\footnotesize
\setfracpadding
答案4
这不是一个可以完成你想做的事情的强大方法,而只是一个生疏的黑客手段:
\documentclass[12pt, letterpaper]{article}
%\usepackage{amsmath}
%\usepackage{nag}
\usepackage[margin=1.0in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
%\usepackage[tableposition=top]{caption}
\newcommand{\vhtable}{\rule{0pt}{15pt}}% defines the separation and can be different if you so desire for each different row.
\begin{document}
\begin{tabular}{llll}
\toprule
A & B & C & D \\
\midrule
\vhtable A: $\frac{6}{16}$ B: $\frac{5}{16}$ C: $\frac{3}{16}$ D: $\frac{2}{16}$ & 1.9375919592 & 1.88285606369 & 0.0547358955059 \\
\vhtable A: $\frac{6}{16}$ B: $\frac{5}{16}$ C: $\frac{4}{16}$ D: $\frac{1}{16}$ & 1.94014431443 & 1.80503653258 & 0.135107781856 \\
\vhtable A: $\frac{6}{16}$ B: $\frac{6}{16}$ C: $\frac{2}{16}$ D: $\frac{2}{16}$ & 1.87649654966 & 1.81127812446 & 0.0652184251977 \\
\vhtable A: $\frac{6}{16}$ B: $\frac{6}{16}$ C: $\frac{3}{16}$ D: $\frac{1}{16}$ & 1.87992559246 & 1.76409765557 & 0.115827936888 \\
\vhtable A: $\frac{7}{16}$ B: $\frac{3}{16}$ C: $\frac{3}{16}$ D: $\frac{3}{16}$ & 1.93245604561 & 1.88024081494 & 0.0522152306624 \\
\vhtable A: $\frac{7}{16}$ B: $\frac{4}{16}$ C: $\frac{3}{16}$ D: $\frac{2}{16}$ & 1.86806360636 & 1.84960175271 & 0.0184618536479 \\
\vhtable A: $\frac{7}{16}$ B: $\frac{4}{16}$ C: $\frac{4}{16}$ D: $\frac{1}{16}$ & 1.87194209421 & 1.7717822216 & 0.100159872612 \\
\vhtable A: $\frac{7}{16}$ B: $\frac{5}{16}$ C: $\frac{2}{16}$ D: $\frac{2}{16}$ & 1.81500630063 & 1.79617969195 & 0.0188266086843 \\
\vhtable A: $\frac{7}{16}$ B: $\frac{5}{16}$ C: $\frac{3}{16}$ D: $\frac{1}{16}$ & 1.81178637864 & 1.74899922306 & 0.0627871555774 \\
\bottomrule
\end{tabular}
\end{document}
您可以更改规则的高度,也就是说,更改15pt
为您认为合适的高度分离。