使用宏向表中添加行

使用宏向表中添加行

我已阅读给出的答案这里但无法修改代码以允许我\hline在表中添加的每一行之间插入。

如何修改代码以便\hline每次定义新行时插入?

因此,R1C1 | R1C2 和 R2C1 | R2C2 之间会有一条线,就像标题和主表内容之间有一条线一样。

无边框行的表格

答案1

\@gobble开始处插入\foorows链接答案意味着要吞噬&行的第一行。您可以\hline在第一行之前插入,以便始终在每个行中插入一条水平线\addtotable

在此处输入图片描述

\documentclass{article}

\newcommand\foorows{}

\makeatletter
\newcommand\addtotable[1]{%
  \g@addto@macro\foorows{\hline\@gobble}% Insert horizontal rule and gobble first &
  \@for\tmp:=#1\do{%
    \expandafter\g@addto@macro\expandafter\foorows
      \expandafter{\expandafter&\tmp}%
  }%
  \g@addto@macro\foorows{\\}%
}
\makeatother

\begin{document}

\addtotable{R1C1,R1C2,R1C3,R1C4}
\addtotable{R2C1,R2C2,R2C3,R2C4}

\begin{table}[htp]
  \centering
  \begin{tabular}{ |c|c|c|c| }
    \hline
    Header 1 & Header 2 & Header 3 & Header 4 \\ \hline % Header row
    \foorows
    \hline
  \end{tabular}
\end{table}

\end{document}

相关内容