Größe einer aus einer anderen TeX-Datei importierten Tabelle ändern

Größe einer aus einer anderen TeX-Datei importierten Tabelle ändern

Ist es möglich, die Größe einer aus einer anderen Tabelle importierten Tabelle zu ändern, ohne den LaTeX-Code in der Datei ändern zu müssen, aus der die Tabelle importiert wird? Ich dachte dabei an so etwas wie:

\documentclass[english]{article}
\usepackage{babel}
\usepackage{graphicx}
\usepackage[margin = 1.5 cm, tmargin=1.5 cm]{geometry} 

\begin{document}

\scalebox{0.5}{%
    \input{DS}
  }%

\end{document}

Die Tabelle in der Datei DS.tex sieht wie folgt aus:

\begin{table}[!htpb]
\centering
\begin{tabular}{ccc}
% ...
\end{tabular}
\end{table}

Ich habe wie erwartet den Fehler erhalten: ! LaTeX-Fehler: Nicht im äußeren Par-Modus.

Ich möchte wissen, ob es möglich ist, die Größe der Tabelle in der DS-Datei zu ändern, ohne sie zu verändern.

Antwort1

Eine schwebende Umgebung ( table, figure, ...) kann nicht in ein \hboxoder eingefügt werden \scalebox, das intern verwendet \hbox. Die Umgebung kann jedoch lokal neu definiert werden:

\scalebox{0.5}{%
    \renewenvironment{table}[1][]{\ignorespaces}{\unskip}%
    \input{DS}%
    \unskip
}

\ignorespacesund \unskipLeerzeichen an Zeilenenden in der Datei entfernen DS.tex, die im horizontalen Modus wichtig sind. Eine Alternative ist die Verwendung von \endlinechar=-1\relax, dies hängt jedoch vom Inhalt der tabularUmgebung ab, da einige Zeilenenden möglicherweise nicht unerwünscht sind (z. B. Leerzeichen zwischen Wörtern).

Die schwebende Umgebung kann nachträglich eingefügt werden, zB:

\begin{table}
  \centering
  \caption{Table caption}
  \scalebox{...}{...}
\end{table}

verwandte Informationen