是否可以调整从另一个表导入的表的大小,而无需修改导入表的文件中的 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}