从包含多个表的其他文件中生成主文件中的表

从包含多个表的其他文件中生成主文件中的表

我想为表格创建一个单独的文件,这样主 latex 文件就不会变得杂乱。我知道我可以在新文件中定义表格,并使用 input{Tables.tex} 在主文件中添加相同的文件。但是,我不确定如何使用主文档中的表格标签来请求/生成(而不是引用)表格?任何建议都将不胜感激。谢谢。

答案1

这是包含表格的文件 tables.tex

\newcommand{\firsttable}{% no arguments
\begin{table}[htbp]
\begin{center}
\begin{tabular}{|ccc|}
\hline
This & is & a \\
stupid & table. & \\
\hline
\end{tabular}
\caption{First}
\end{center}
\end{table}}

\newcommand{\secondtable}{% no arguments
\begin{table}[htbp]
\begin{center}
\fbox{\begin{tabular}{ccc}
This & is & another \\
stupid & table.
\end{tabular}}
\caption{Second}
\end{center}
\end{table}}

这是主文件

\documentclass{article}
\usepackage{lipsum}

\input{tables}% file containing cammands

\begin{document}
\lipsum[1]
\firsttable
\lipsum[2]
\secondtable
\lipsum[3]
\end{document}

注意:在将文本中的表格转换为命令之前,对其进行调试会更容易。

答案2

我所做的(使用threeparttable)是将整个 threeparttable 放入 table.tex 文件中。这包括标题。我总是将 放在\label里面\caption- 我从来没有遇到过这样的问题,而且它让我免于忘记。标签与文件名相同,因此可以轻松进行交叉引用。

我的主要 .tex 文件包括:

\begin{table}
  \input{table.tex}
\end{table}
This is some text that refers to table~\ref{tab_table}.

而我的表格文件有 \caption{\label{tab_table}这是一个表格} \begin{tabular} ... \end{tabular}

在里面。

其行为将完全像将 table.tex 的全部内容输入到\input主文件中的位置一样。

有多种工具可用于制作表格,无需输入或记住所有语法 - 但这些工具不会受到使用的影响\input。例如,您的编辑器可能包含某些内容,或者有一个 openoffice 插件。

相关内容