【发布时间】:2021-12-21 05:20:10
【问题描述】:
我有许多表格,它们的列数不同,应该适合页面大小。为此,我使用了类似于下面的代码:
\begin{table}
\caption{Values}
\centering
\resizebox{\linewidth}{!}{
\begin{tabular}{!{\vrule}l!{\vrule}l!{\vrule}l!{\vrule}l!{\vrule}l!{\vrule}l}
\toprule
DS & Criterion1 & Criterion2 & Criterion3 & Criterion4 \\
\midrule
DS1 & V1 & V2 & V3 & V4 \\
\midrule
DS2 & V5 & V6 & V7 & V8 \\
\midrule
DS3 & V9 & V10 & V11 & V12 \\
\midrule
DS4 & V13 & V14 & V15 & V16 \\
\botrule
\end{tabular}
}
\end{table}
此代码生成表格,但显示以下错误:数组 arg 中的非法字符。 我不明白这个错误。
任何帮助将不胜感激。
【问题讨论】:
-
不要对包含文本的元素使用
\resizebox,而是选择适当的字体大小。这将提供更好的印刷效果。 -
...话虽如此,请发minimal reproducible example 以便我们重现错误
-
...请阅读
booktabs用户指南如何通过删除垂直线来设计更好看的表格 -
@samcarter_is_at_topanswers.xyz。谢谢你的回复。但是,字体大小对我的上下文无关紧要,我有其他超过 15 列的表,必须减小大小以免超过页面宽度。没有
\resizebox,还有其他方法可以创建这样的表吗?再次感谢 -
字体大小很重要。如果你使用较小的字体而不是缩小字体,好的字体会使用稍微不同的字母形状,这样在小尺寸下更容易阅读。例如比较
\tiny和\Hugei.stack.imgur.com/DCBjZ.png中Q的形状,按比例加粗的笔划使小尺寸更容易阅读