这个问题是关于一个命令的,它会做同样的事情,\multicolumn
只是它只使用行中的总列数。
简单来说
\newcommand\allcolumns[2]{\multicolumn\AnswerToThisQuestion{#1}{#2}}
\multicolumn*
做同样事情的变体可能会很可爱。
答案1
这是一个丑陋的黑客攻击,利用计数列数\@addamp
,步进计数器,每次tabular
启动新环境时都会重置计数器。
我并不声称这适用于任何场合。
\documentclass{article}
\usepackage{xpatch}
\newcounter{colcntr}
\makeatletter
\xpatchcmd{\@addamp}{\if@firstamp}{\stepcounter{colcntr}\if@firstamp}{}{}
\makeatother
\newcommand{\allcolumns}[2]{%
\multicolumn{\number\value{colcntr}}{#1}{#2}%
}
\AtBeginEnvironment{tabular}{\setcounter{colcntr}{0}}
\begin{document}
\begin{tabular}{|l|l|l|}
Long & table column & stuff \tabularnewline
\allcolumns{|c|}{Foo stuff}
\end{tabular}
\end{document}