![表格中的 \toprule 和 \midrule 问题](https://linux22.com/image/261788/%E8%A1%A8%E6%A0%BC%E4%B8%AD%E7%9A%84%20%5Ctoprule%20%E5%92%8C%20%5Cmidrule%20%E9%97%AE%E9%A2%98.png)
在 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) 将共享元素从第二列中的单元格移动到相应的标题。 S
c
\%
\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
。
我希望您会同意左边的表格比右边的表格更具可读性。