将表保存在单独的文件中

将表保存在单独的文件中

我是 LaTeX 新手。我有一个 LaTeX 格式的表格,我想将其包含在我的文档中。由于这是一个大表格,我想将其保存在另一个文件中,然后将其加载到我的主文档中。

我怎样才能做到这一点?

答案1

您的问题并没有解释您的表格是怎样的,除了它很大并且您想将其保存在另一个文件中,但您并没有说它是否已经被格式化为tabular或仅包含raw数据。

如果你的外部文件(table.tex)已经格式化,则类似于:

\begin{tabular}{ccc}
\toprule
A & B & C \\
\midrule
a & b & c \\
aa & bb & cc \\
\bottomrule
\end{tabular}

您只需要\input在文本中您想要的位置添加它即可。要使用的命令是\input{name-of-your-file}

但是,如果你的文件只包含数据而没有LaTeX格式化命令,则有多个包可用于处理和格式化文档中的数据。其中一个包是pgfplotstable它是 的一部分pgfplots

举例来说,假设您的数据文件 ( table-raw.txt) 包含:

A B C 
a b c 
aa bb cc

使用命令\pgfplotstabletypeset[formatting options]{table-raw.txt} 您可以在文本编译期间处理和排版其内容。

下一个代码显示两种解决方案的示例:

\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}

\begin{document}

File \texttt{table.tex} contains an already formatted \LaTeX\ tabular. 
To include it in your text just use \verb+\input{table.tex}+: where you want it.

\begin{center}
\input{table.tex}
\end{center}


File \texttt{table-raw.txt} contains some data organized in rows and columns. 
Its \LaTeX\ format will be generated with  \texttt{pgfplotstable} help.

\begin{center}
\pgfplotstabletypeset[%
   every head row/.style={before row=\toprule, 
                             after row=\midrule},
   every last row/.style={after row=\bottomrule},
   col sep=space, 
   header=true, 
   string type]{table-raw.txt}
\end{center}
\end{document}

在此处输入图片描述

答案2

这个答案由 @Werner 在 StackOverflow 主网站上使用catchfile包为我提供非常好用的功能,因此我将其复制到了这里。

%main.tex
\documentclass{article}
\usepackage{filecontents,catchfile}
\begin{filecontents*}{table.tex}
%table.tex
\hline
a & b \\
\hline
c & d \\
\hline 
\end{filecontents*}

\begin{document}

Table test.

1. Insert a full table

\begin{tabular}{|c|c|}
  \hline
  a & b \\
  \hline
  c & d \\
  \hline
\end{tabular}

2. Input the body of table from a separate file

\CatchFileDef{\mytable}{table.tex}{}% table.tex > \mytable
\begin{tabular}{|c|c|} 
  \mytable
\end{tabular}

\end{document}

相关内容