Eliminar columna en \input{table.tex} sin editar el archivo table.tex

Eliminar columna en \input{table.tex} sin editar el archivo table.tex

Estoy exportando una tabla LaTeX desde Stata y la estoy agregando a un documento usando el comando de entrada. Sin embargo, no quiero que el documento muestre la última columna de esta tabla. El archivo de la tabla se regenerará (sobrescribirá) periódicamente, por lo que no quiero editarlo cada vez. ¿Hay alguna manera de no mostrar la columna sin editar el archivo de la tabla?

tabla.tex:

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

principal.tex:

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

Respuesta1

Puede modificar temporalmente tabularpara ignorar el argumento dado y reemplazarlo con otra cosa.

Archivo temporal.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}

Documento de prueba:

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

manifestación

información relacionada