Можно ли изменить размер таблицы, импортированной из другой таблицы, не изменяя код 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}