重复整个表

重复整个表

有没有方法可以重复整个表格?我已经使用 xparse 定义了自定义表格格式,并且可能有大约 50 个这样的自定义表格。我想创建表格的附录,包括所有内容。我不想重复内容,因为它经常变化

编辑:一种解决方案是使用单独的文件并多次包含它。这不是一个很好的解决方案,因为我的一些“表格”实际上只有 2-3 行长,而且我本来就有很多表格(例如,~50 个单独的包含文件比当前的内联表格更难处理)

答案1

那么使用filecontents包?此方法本质上会创建单独的文件,但处理起来更容易。查看示例:

\documentclass{article}
\usepackage{filecontents}

\begin{document}
\begin{filecontents}{mytable.tex}
\begin{center}
\begin{tabular}{l*{6}{c}r}
Team              & P & W & D & L & F  & A & Pts \\
\hline
Manchester United & 6 & 4 & 0 & 2 & 10 & 5 & 12  \\
Celtic            & 6 & 3 & 0 & 3 &  8 & 9 &  9  \\
Benfica           & 6 & 2 & 1 & 3 &  7 & 8 &  7  \\
FC Copenhagen     & 6 & 2 & 1 & 3 &  5 & 8 &  7  \\
\end{tabular}
\end{center}
\end{filecontents}

\input{mytable.tex}

\input{mytable.tex}

\input{mytable.tex}

\input{mytable.tex}

\end{document}

及其结果:在此处输入图片描述

当然,你可以将此包与其他包组合使用,例如ltxtable,以增强结果,正如包装文件所建议的那样。

表格示例取自LaTeX 维基百科

答案2

您可以使用collect包;使用定义一个集合\definecollection{<name>},然后使用collect*环境包装你的表;然后简单地使用将你的集合包含在附录中\includecollection{<name>};一个小例子:

\documentclass{article}
\usepackage{booktabs}
\usepackage{collect}

\definecollection{mytables}

\begin{document}

\section{Test section}

\begin{collect*}{mytables}{}{\par\bigskip}{}{}
\noindent\begin{tabular}{*{3}{l}}
\toprule
Header1 & Header 2 & Header3 \\
\midrule
column1a & column2a & column 3a \\
column1b & column2b & column 3b \\
column1c & column2c & column 3c \\
\bottomrule
\end{tabular}
\end{collect*}

\begin{collect*}{mytables}{}{\par\bigskip}{}{}
\noindent\begin{tabular}{*{2}{l}}
\toprule
Header1 & Header 2 \\
\midrule
column1a & column2a \\
column1b & column2b \\
column1c & column2c \\
column1d & column2d \\
\bottomrule
\end{tabular}
\end{collect*}

\section{Appendix}
\includecollection{mytables}

\end{document}

在此处输入图片描述

相关内容