当我使用
\begin{tabular}{l*{20}{c}}
它运行完美。
但是当我使用
\begin{tabular}{l|c*{4}|c*{8}|c*{8}}
它给出了错误。我怎样才能将对齐运算符指定为多个,而不明确说明每个运算符。
答案1
你可以这样想
*{<num>}{<col-spec>}
作为一个非常简单的“重复器”或循环,如果你愿意的话。它的唯一效果是任何有效的列规范集<col-spec>
都将在其使用位置被逐字地<num>
放入 s 序言中。tabular
因此,类似于 的内容将变得与创建时\begin{tabular}{*{2}{c}}
的效果完全相同。由于垂直规则(使用 创建)是有效的“列”规范,因此它们可以像任何其他列类型一样重复:将变为。\begin{tabular}{cc}
tabular
|
{*{2}{c|}}
{c|c|}
但是,请注意,这不是对称的,因为我们需要比列多一条规则,以便所有重复列的左右两侧都有规则。可以在重复列规范之外添加额外的规则:{|*{2}{c|}}
或者 {*{2}{|c}|}
都将“扩大”到{|c|c|}
这是一个展示用法的简短示例:
\documentclass{article}
\begin{document}
\begin{tabular}{|c|c|}
A & B
\end{tabular}
\begin{tabular}{|*{2}{c|}}
A & B
\end{tabular}
\begin{tabular}{*{2}{|c}|}
A & B
\end{tabular}
\end{document}
补充:我个人尽可能避免在表格中使用垂直线,但有些人喜欢它们或必须使用它们。不过,在某些情况下,我承认它们很有用。如果您愿意,您可以在以下位置阅读我偏爱它们背后的一些原因booktabs
包装文档或为什么不在表格中使用垂直线('|')?