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 \hbox
oder 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
}
\ignorespaces
und \unskip
Leerzeichen 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 tabular
Umgebung 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}