Удалить столбец в \input{table.tex} без редактирования самого файла table.tex

Удалить столбец в \input{table.tex} без редактирования самого файла table.tex

Я экспортирую таблицу LaTeX из Stata и добавляю ее в документ с помощью команды input. Однако я не хочу, чтобы документ отображал последний столбец в этой таблице. Файл таблицы будет регулярно перегенерироваться (перезаписываться), поэтому я не хочу редактировать его каждый раз. Есть ли способ не отображать столбец без редактирования самого файла таблицы?

таблица.tex:

\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{Table}
\begin{tabular}{l*{3}{cc}}
...
\end{tabular}
\end{table}

main.tex:

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

решение1

Вы можете временно изменить его tabular, чтобы игнорировать указанный аргумент и заменить его чем-то другим.

Файл temp.tex:

\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{Table}
\fboxsep=0pt
\fbox{\begin{tabular}{cc}
a & b \\
c & d
\end{tabular}}
\end{table}

Тестовый документ:

\documentclass{article}
\usepackage{array}

\newcolumntype{H}{>{\setbox0=\hbox\bgroup}c<{\egroup}@{\hspace{-\tabcolsep}}}

\begin{document}
\input{temp.tex}

{% begin group
  \let\normaltabular=\tabular
  \let\endnormaltabular=\endtabular
  \renewenvironment{tabular}[1]{\normaltabular{cH}}{\endnormaltabular}%
  \input{temp.tex}
}% end group

\end{document}

демо

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