Создание таблицы в основном файле из другого файла, содержащего несколько таблиц

Создание таблицы в основном файле из другого файла, содержащего несколько таблиц

Я хочу создать отдельный файл для таблиц, чтобы не загромождать основной файл 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, например.

Связанный контент