我有 160 个名为“regj.tex”的 tex 文件,j=1,...,160。每个文件包含一个表格。这些 tex 文件不包含序言/开始{document}/结束{document}。例如 reg1.tex 是
\begin{table}[htbp]\centering
\caption{Reg1}
\begin{tabular}{l*{9}{c}}
\hline\hline
&\multicolumn{1}{c}{(1.1)}&\multicolumn{1}{c}{(1.2)}&\multicolumn{1}{c}{(1.3)}&\multicolumn{1}{c}{(2.1)}&\multicolumn{1}{c}{(2.2)}&\multicolumn{1}{c}{(2.3)}&\multicolumn{1}{c}{(3.1)}&\multicolumn{1}{c}{(3.2)}&\multicolumn{1}{c}{(3.3)}\\
\hline
A& 0.0599& 0.172& 0.110& 0.200& 0.574& 0.368& 640.2& 1836.0& 1177.8\\
& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)\\
[1em]
B& -3.181& -2.978& -2.967& -0.875& -0.197& -0.160& -2929.9& -762.1& -641.9\\
& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)\\
[1em]
C& -13.09& -15.68& -15.28& 15.56& 6.904& 8.245& 44234.8& 16538.5& 20827.6\\
& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)\\
[1em]
D& -259451.5& -242691.5& -241750.9& -70803.4& -14782.8& -11638.9&-238755093.5& -59586716.2& -49531616.2\\
& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)\\
[1em]
E& 69993.2& 65360.3& 65152.5& 20567.4& 5081.7& 4387.2& 70028268.8& 20501094.0& 18279814.0\\
& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)& (.)\\
\hline
Number of observations:& 30& 30& 30& 30& 30& 30& 30& 30& 30\\
\hline\hline
\multicolumn{10}{l}{\footnotesize \textit{t} statistics in parentheses}\\
\end{tabular}
\end{table}
我想创建一个可执行 tex 文件 reg0.tex,用循环调用所有表。我该怎么做?
答案1
有很多方法可以做到这一点,但根据您所描述的,最简单的方法是使用pgffor
为此类循环提供简单语法的包:
\documentclass{article}
\usepackage{pgffor}
% next code just generates some files to mimic yours
\begin{filecontents}{test-table-1.tex}
\begin{table}[htpb]
\begin{tabular}{ccc}
A & B & C\\
A & B & C
\end{tabular}
\end{table}
\end{filecontents}
\begin{filecontents}{test-table-2.tex}
\begin{table}[htpb]
\begin{tabular}{ccc}
D & E & F\\
D & E & F
\end{tabular}
\end{table}
\end{filecontents}
\begin{filecontents}{test-table-3.tex}
\begin{table}[htpb]
\begin{tabular}{ccc}
G & H & I\\
G & E & F
\end{tabular}
\end{table}
\end{filecontents}
%end of files
\begin{document}
\foreach \x in {1,...,3}{
\input{test-table-\x}
}
\end{document}
答案2
这是基于 提供的 LaTeX 3 语法的方法expl3
。我稍微修改了表格以使其适合。否则,我只是将您的示例复制到 3 个不同的文件中,并带有 3 个不同的标题。
显然,geometry
是可选的。我只是为了演示目的才使用它。
序言定义了一个新命令,语法如下
\inputloop[<optional prefix>]{<number of files>}
如果没有给出可选前缀,reg
则使用默认值。
\documentclass[a4paper]{article}
\usepackage{expl3,xparse,geometry}
\geometry{scale=.9}
\ExplSyntaxOn
\NewDocumentCommand\inputloop { O { reg } m }
{
\int_step_inline:nnnn { 1 } { 1 } { #2 }
{
\input { #1 ##1 }
}
}
\ExplSyntaxOff
\begin{document}
\small
\inputloop{3}
\end{document}