用循环调用几个 tex 文件?

用循环调用几个 tex 文件?

我有 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}

循环输入

相关内容