可能重复:
复制表行 n 次
下面的代码旨在生成一个有 3 列 3 行(一个标题和两个空行)的表格,但可以看出它不起作用。
\documentclass{article}
\newcommand\emptytable[1]{%
\def\emptyrow{ & & \\ \hline}
\newcount\rows
\begin{tabular}{|c|c|c|}
\hline
A & B & C \\
\hline
%% the following 2 lines create 2 empty rows
%% \emptyrow
%% \emptyrow
%% the following loop doesn't work
\loop\relax\ifnum\rows<#1 \emptyrow\advance\rows by1\repeat
\end{tabular}
}
\begin{document}
\emptytable{2}
\end{document}
生产 而不是
为什么它不起作用?
答案1
虽然 egreg 的评论适用,但你可以通过以下方式实现你的自动化想法pgfplotstable
包。这是一个简单的例子
\documentclass{article}
\usepackage{pgfplotstable}
\newcommand{\myemptytable}[1]{
\pgfplotstableset{
create on use/new1/.style={},
create on use/new2/.style={},
create on use/new3/.style={}
}
{\pgfplotstablenew[columns={new1,new2,new3}]{#1}\loadedtable
\pgfplotstabletypeset[
columns={new1,new2,new3},
string type,
columns/new1/.style={column name=A},
columns/new2/.style={column name=B},
columns/new3/.style={column name=C,column type/.add={}{|}},
before row=\hline,
every last row/.style={after row=\hline},
column type/.add={|}{}%
]\loadedtable}
}
\begin{document}
\myemptytable{3}
\myemptytable{6}
\end{document}