複数のテーブルを含む他のファイルからメインファイルにテーブルを作成する

複数のテーブルを含む他のファイルからメインファイルにテーブルを作成する

メインの 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}とあります。

初期化。

\inputすると、動作は、table.tex の内容全体がマスター ファイル内のその場所に入力された場合とまったく同じになります。

すべての構文を入力したり覚えたりせずに表を作成するためのさまざまなツールがありますが、これらは を使用しても影響を受けません\input。エディターに何かが含まれている場合や、たとえば OpenOffice 用のプラグインがある場合があります。

関連情報