是否可以将两个位于单独 .tex 文件中的表格放在一起,然后通过 添加到文档中\input
?如果不能,我也可以使用content.only
xtable 命令仅创建表格的“原始”内容,即仅创建行和列。
假设我得到下表两次,保存为两个单独的 tex 文件:
\begin{table}
\begin{tabular}{lYY}
\toprule
& \multicolumn{1}{c}{$N_1$} &
\multicolumn{1}{c}{$N_2$} \\
\midrule
\multicolumn{1}{l}{$S_1$} & 0.14 & -1.243 \\
\multicolumn{1}{l}{$S_2$} & 0.217 & 4.132 \\
\multicolumn{1}{l}{$S_3$} & 7.350 & -9.913 \\
\multicolumn{1}{l}{$S_4$} & 0.132 & 6.664 \\
\bottomrule
\end{tabular}
\end{table}
我可以使用 将它们放在一起input
吗?我知道您需要以minipage
某种方式利用环境,但我不知道这是否可以与 include 结合使用。我无法让它在某些测试中发挥作用。
如果 include 不起作用,我可能会只创建内容,将其放在 minipage 环境中的正确位置。无论如何,请帮我编写代码。谢谢!
答案1
答案是肯定的,有可能。
假设你的 .tex 文件都包含以下形式的代码\begin{table}\begin{tabular}{...} ... \end{tabular}\end{table}
,你可以
- 本地重新定义
table
环境,使其不执行任何操作,并且 - 在环境内输入该代码
subtable
;这样的环境minipage
在内部使用,这意味着您不必明确使用minipage
。
请注意,在这种特定情况下,您要使用\input
,而不是\include
;请参阅何时应使用 \input 和 \include?更多细节。
请参阅下面的示例,其中我定义了一个名为的宏\insertmytabular
,以实现更多自动化。
\documentclass{article}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{filecontents}
\newcommand\insertmytabular[3][.45]%
{%
{% extra group to make the redefinition of table local
\renewenvironment{table}[1][]{}{}
\begin{subtable}[b]{#1\textwidth}
\centering
\input{#2}
\caption{#3}
\end{subtable}%
}%
}
\begin{filecontents*}{tabularstuff.tex}
\begin{table}
\begin{tabular}{lll}
\toprule
& \multicolumn{1}{c}{$N_1$} &
\multicolumn{1}{c}{$N_2$} \\
\midrule
$S_1$ & 0.14 & -1.243 \\
$S_2$ & 0.217 & 4.132 \\
$S_3$ & 7.350 & -9.913 \\
$S_4$ & 0.132 & 6.664 \\
\bottomrule
\end{tabular}
\end{table}
\end{filecontents*}
\begin{document}
\begin{table}
\insertmytabular{tabularstuff}{first table}
\hfill
\insertmytabular{tabularstuff}{second table}
\caption{two tables}
\end{table}
\end{document}
编辑(回答后续问题):在这种情况下,定义\insertmytabular
如下:
\newcommand\insertmytabular[3][.45]%
{%
{% extra group to make the redefinition of table local
\renewenvironment{table}[1][]{}{}
\begin{subtable}[b]{#1\textwidth}
\input{#2}
\end{subtable}%
}%
}