从两个输入文件中追加表列

从两个输入文件中追加表列

假设我有 2 个文件,in1.texin2.tex。在文件中in1.tex,数据是

1a & 1b \\
1c & 1d

在 中in2.tex,数据采用类似的格式:

2a & 2b \\
2c & 2d

在我的场景中,这些是 Stata 的输出表。要垂直组合它们,我只需执行

\input{in1.tex} \\
\input{in2.tex}

我想知道是否有办法将这两个文件附加在一起,使它们并排显示……换句话说,得到类似

1a & 1b & 2a & 2b \\
1c & 1d & 2c & 2d

编辑:以便我可以将其放在表格/表格环境中。

\begin{table}[htbp]
    \begin{tabular}{*{4}{c}}
        ** some function of in1.tex and in2.tex here
    \end{tabular}
\end{table}

谢谢!

答案1

在将其设置为 之前,您不需要将in1.texin2.tex水平合并(例如) 。以下是在没有合并的情况下执行此操作的方法:in3.textabular

在此处输入图片描述

\documentclass{article}

\usepackage{filecontents}

% First standalone table
\begin{filecontents*}{in1.tex}
1a & 1b \\
1c & 1d
\end{filecontents*}

% Second standalone table
\begin{filecontents*}{in2.tex}
2a & 2b \\
2c & 2d
\end{filecontents*}

% Third combined table
\begin{filecontents*}{in3.tex}
1a & 1b & 2a & 2b \\
1c & 1d & 2c & 2d
\end{filecontents*}

\begin{document}

% Combined in1.tex and in2.tex
\begin{tabular}[t]{ *{2}{c} }
  \input{in1}%
\end{tabular}%
\begin{tabular}[t]{ *{2}{c} }
  \input{in2}%
\end{tabular}

\bigskip

% Desired output
\begin{tabular}{ *{4}{c} }
  \input{in3}%
\end{tabular}

\end{document}

这里需要注意以下几点:

  1. 结构的任一端tabular都只有常规的一半\tabcolsep;即.5\tabcolsep。因此,水平串联相当于常规的\tabcolsep

  2. \input{..}%以 结尾%。请参阅%行末百分号 ( ) 有什么用?

  3. 结束第一个tabular使用\end{tabular}%。动机与上述类似。

  4. 两个单独的tabulars 是op 对齐的。但是,在和[t]中的行数相等的情况下,实际上没有必要进行这种强制对齐。in1.texin2.tex

相关内容