Изменить размер таблицы, импортированной из другого файла TeX

Изменить размер таблицы, импортированной из другого файла TeX

Можно ли изменить размер таблицы, импортированной из другой таблицы, не изменяя код LaTeX в файле, из которого импортируется таблица? Я думал о чем-то вроде:

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

Таблица в файле DS.tex выглядит следующим образом:

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

Я получил, как и ожидалось, ошибку: ! Ошибка LaTeX: не в режиме внешнего пар.

Я хотел бы узнать, возможно ли изменить размер таблицы в файле DS, не изменяя ее.

решение1

Плавающая среда ( table, figure, ...) не может быть помещена в \hboxили \scalebox, который внутренне использует \hbox. Однако среда может быть переопределена локально:

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

\ignorespacesи \unskipудалить пробелы в концах строк в файле, DS.texкоторый имеет значение в горизонтальном режиме. Альтернативой является использование \endlinechar=-1\relax, но это зависит от содержимого среды tabular, поскольку некоторые концы строк могут быть не нежелательными (например, пробел между словами).

Плавающую среду можно вставить позже, например:

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

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