Producir una tabla en el archivo principal a partir de otro archivo que contiene varias tablas

Producir una tabla en el archivo principal a partir de otro archivo que contiene varias tablas

Quiero crear un archivo separado para las tablas para que el archivo principal de látex no se abarrote. Sé que puedo definir tablas en un archivo nuevo y agregar el mismo archivo en el archivo principal usando input{Tables.tex}. Sin embargo, no estoy seguro de cómo puedo solicitar/producir (no consultar) las tablas utilizando las etiquetas de las tablas en el documento principal. Cualquier sugerencia sera apreciada. Gracias.

Respuesta1

Aquí está el archivo table.tex que contiene las tablas.

\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}}

Aquí está el archivo principal.

\documentclass{article}
\usepackage{lipsum}

\input{tables}% file containing cammands

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

Nota: Es más fácil depurar tablas en el texto antes de convertirlas en comandos.

Respuesta2

Lo que hago (usando threeparttable) es poner toda la tabla de tres partes en el archivo table.tex. Esto incluye el título. Siempre pongo el \labelinterior \caption, nunca he tenido ningún problema de esta manera y me ahorra olvidos. La etiqueta es la misma que el nombre del archivo, lo que facilita las referencias cruzadas.

Mi archivo .tex principal incluye:

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

mientras que mi archivo de tabla tiene \caption{\label{tab_table}Esta es una tabla} \begin{tabular} ... \end{tabular}

en eso.

El comportamiento entonces sería exactamente como si todo el contenido de table.tex se hubiera escrito en la ubicación donde se encuentra \inputen el archivo maestro.

Existen varias herramientas para producir tablas sin escribir ni recordar toda la sintaxis, pero estas no se ven afectadas por el uso de \input. Puede que tu editor incluya algo, o que haya un complemento para openoffice, por ejemplo.

información relacionada