如何轻松地使表格中的多列变为空白?

如何轻松地使表格中的多列变为空白?
\documentclass{article}
\usepackage{booktabs}    
\begin{tabular{@{}ll|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|@{}}
A & B &&&&&&&&&&&&&&&\\%15 blank &
\end{tabular}

我想像上面那样做,其中只有前两列有值,其他列为空白。

对于每一行,&可以放入很多行来创建表。

答案1

您可以复制&使用详细信息重复命令 n 次?

在此处输入图片描述

\documentclass{article}

\usepackage{xparse}

\ExplSyntaxOn
\cs_new_eq:NN \Repeat \prg_replicate:nn
\ExplSyntaxOff

\begin{document}

\begin{tabular}{ @{} l l *{15}{|r} | @{} }
  A & B \Repeat{15}{& c} \\
  \Repeat{13}{&} & 1 & 2 & 3
\end{tabular}

\end{document}

\Repeat可以使用类似的宏multido

\usepackage{multido}
\makeatletter
\renewcommand{\Repeat}[2]{%
  \def\@@x{}% Make sure \@@x is defined
  \multido{\i=1+1}{#1}{\protected@xdef\@@x{\@@x #2}}% Create global repetition
  \@@x% Execute repetition
}
\makeatother

这里使用\newcommand{\Repeat}[2]{\multido{\i=1+1}{#1}{#2}}不起作用,因为 中的每个单元格都会tabular创建一个组,并且 的默认定义\multido不会对步进宏 ( \i) 进行全局赋值。相反,必须在执行之前将重复组装成一个宏。

还要注意可以指定列规范的简洁方式:*{<num>}{<col spec>}重复<col spec>总共<num>次数。

相关内容