我使用booktabs
包和excel2latex
来生成表格。我在 TeXmaker 中工作。当我放大或缩小表格时,我发现,有时\toprule
,有时\midrule
,有时\bottomrule
似乎比其他线条更宽。另一方面,当我打印这样的表格时,顶部和底部的规则更宽,而中间的规则更细。
这是正常的吗?我喜欢表格的打印效果,但如果我决定打印整个论文,我不希望它随机改变。
这是我的代码和示例:
% Table generated by Excel2LaTeX from sheet 'Tabelle3'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{rrr}
\toprule
\multicolumn{1}{c}{Anzahl der Kanäle} & \multicolumn{1}{c}{Streifenbreite in [mm]} & \multicolumn{1}{c}{Kanalbreite in [mm]} \\
\midrule
\multicolumn{1}{c}{n} & \multicolumn{1}{c}{c} & \multicolumn{1}{c}{b} \\
5 & 13 & 2,80 \\
6 & 11 & 2,50 \\
7 & 9 & 2,86 \\
8 & 8 & 2,50 \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
答案1
您的 PDF 查看器正在欺骗您。请参阅David 的评论。事实上,默认情况下,\toprule
和\bottomrule
产生的规则比 产生的规则稍粗一些\midrule
。
如果你不相信我(或你的眼睛),你可以自己检查一下,方法是在文档中打印相关厚度宏的值。根据booktabs
文档,
此处的规则命令均采用默认值,可在文档中重置(最好但不一定在序言中重置)。对于顶部和底部规则,此默认值为;
\heavyrulewidth
对于中间规则,此默认值为\lightrulewidth
[...]
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\bgroup
\ttfamily
\begin{tabular}{ll}
\string\toprule\ \& \string\bottomrule\ thickness & \the\heavyrulewidth\\
\string\midrule\ thickness & \the\lightrulewidth
\end{tabular}
\egroup
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{rrr}
\toprule
\multicolumn{1}{c}{Anzahl der Kanäle} & \multicolumn{1}{c}{Streifenbreite in [mm]} & \multicolumn{1}{c}{Kanalbreite in [mm]} \\
\midrule
\multicolumn{1}{c}{n} & \multicolumn{1}{c}{c} & \multicolumn{1}{c}{b} \\
5 & 13 & 2,80 \\
6 & 11 & 2,50 \\
7 & 9 & 2,86 \\
8 & 8 & 2,50 \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
答案2
这是作者的精确选择:和booktabs
产生的规则除了应用不同的垂直间距外,其厚度也与 产生的规则不同。\toprule
\bottomrule
\midrule
我使用“厚度”来表示包作者使用“宽度”,以避免与规则的水平范围相混淆,对于\toprule
、\midrule
和来说,水平范围是相同的\bottomrule
。
顶部和底部规则用于将表格与上下文清晰地分开,因此它们绘制得稍微粗一些。您可以通过为某些参数赋予不同的值来修改设置;以下是默认值
\setlength{\heavyrulewidth}{0.08em}
\setlength{\lightrulewidth}{0.05em}
\setlength{\cmidrulewidth}{0.03em}
在包加载时计算em
,这可能是一个糟糕的选择;最好推迟此设置,它在发出\AtBeginDocument
后执行。\normalfont
用于\heavyrulewidth
和\toprule
,\bottomrule
而\lightrulewidth
用于\midrule
。对于\cmidrule
第三个参数使用 ,它略小于\lightrulewidth
。
比较规则粗细时,不要相信低分辨率的 PDF 查看器:像素调整可以使不同的规则看起来相似或反之。