表格中的 \toprule 和 \midrule 问题

表格中的 \toprule 和 \midrule 问题

在 LyX 中有下siunitx表代码,每次出现\toprule和时\midrule我都会收到一条错误消息:

错误消息顶行末尾的控制序列从未被 \def 过。如果拼写错误(例如,“hobx”),请键入“I”和正确拼写(例如,“I\hbox”)。否则请继续,我会忘记未定义的内容。

siunitx在序言中正确导入了。TexLive
版本:2012.10.20121205_r28449.fc18

LaTeX 代码:

\centering
\sisetup{output-decimal-marker={,}}

\begin{tabular}{ccS}
\toprule
{Dimensione finestra} & {Perdita} & {Tempo}\\
{} & {} & {(secondi)}\\
\midrule
10                & 0$\%$       & 121\\
\midrule
10                & 10$\%$       & 127\\
\midrule
10                & 20$\%$       & 176\\
\midrule
10                & 30$\%$       & 257\\
\midrule
10                & 40$\%$       & 442\\
\midrule
10                & 50$\%$       & 780\\
\midrule
10                & 60$\%$       & 1226\\
\midrule
10                & 70$\%$       & 1469\\
\midrule
10                & 80$\%$       & 1904 \\
\midrule
10                & 90$\%$       & 3234 \\
\midrule
50                & 0$\%$        & 46 \\
\midrule
50                & 10$\%$       &109 \\
\midrule
50                & 20$\%$       &146 \\
\midrule
50                & 30$\%$       &202 \\
\midrule
50                & 40$\%$       &257 \\
\midrule
50                & 50$\%$       &373 \\
\midrule
50                & 60$\%$       &544 \\
\midrule
50                & 70$\%$       &760 \\
\midrule
50                & 80$\%$       &1356 \\
\midrule
50                & 90$\%$       &6588 \\
\midrule
100                & 0$\%$       &76 \\
\midrule
100                & 10$\%$       &91 \\
\midrule
100                & 20$\%$       &109 \\
\midrule
100                & 30$\%$       &146 \\
\midrule
100                & 40$\%$       &180 \\
\midrule
100                & 50$\%$       &297 \\
\midrule
100                & 60$\%$       &414 \\
\midrule
100                & 70$\%$       &585 \\
\midrule
100                & 80$\%$       &1355 \\
\midrule
100                & 90$\%$       &4326 \\

\bottomrule
\end{tabular}

答案1

\midrule是由定义的命令书页标签包。包含\usepackage{booktabs}在您的序言中以排版您的表格。

答案2

添加

\usepackage{booktabs}

问题解决了:O

答案3

您当然应该加载该booktabs包以便能够使用\toprule\midrule\bottomrule

您还应该努力提高表格的可读性。您可以先删除所有内部\midrule语句,因为这些语句会增加很多视觉混乱,而不会使表格更易于阅读。此外,请考虑 (a) 通过插入语句在第 10 行和第 20 行末尾添加一些空格,(b) 通过为前两列中的条目分配类型而不是 来\addlinespace更优雅地格式化它们,以及 (c) 将共享元素从第二列中的单元格移动到相应的标题。 Sc\%

\documentclass{article}
\usepackage{booktabs,siunitx}
\begin{document}

\centering
\sisetup{output-decimal-marker={,}}
\begin{tabular}{S[table-format=3.0] 
                S[table-format=2.0] 
                S[table-format=4.0]}
\toprule
{Dimensione finestra} & {Perdita} & {Tempo}\\
{} & {(\%)} & {(secondi)}\\
\midrule
10                & 0        & 121\\
10                & 10       & 127\\
10                & 20       & 176\\
10                & 30       & 257\\
10                & 40       & 442\\
10                & 50       & 780\\
10                & 60       & 1226 \\
10                & 70       & 1469 \\
10                & 80       & 1904 \\
10                & 90       & 3234 \\
\addlinespace
50                & 0        & 46 \\
50                & 10       &109 \\
50                & 20       &146 \\
50                & 30       &202 \\
50                & 40       &257 \\
50                & 50       &373 \\
50                & 60       &544 \\
50                & 70       &760 \\
50                & 80       &1356 \\
50                & 90       &6588 \\
\addlinespace
100                & 0        & 76 \\
100                & 10       & 91 \\
100                & 20       &109 \\
100                & 30       &146 \\
100                & 40       &180 \\
100                & 50       &297 \\
100                & 60       &414 \\
100                & 70       &585 \\
100                & 80       &1355 \\
100                & 90       &4326 \\
\bottomrule
\end{tabular}
\end{document}

以下屏幕截图显示了tabular环境左侧为建议的修改,以及没有修改(即,仅加载所需booktabs包会产生的结果)在右侧。请注意,第三列中的数字更好地居中,这是通过指定S[table-format=4.0]而不是仅仅实现的S

我希望您会同意左边的表格比右边的表格更具可读性。

在此处输入图片描述

相关内容