表格对齐规范

表格对齐规范

当我使用

\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包装文档为什么不在表格中使用垂直线('|')?

相关内容