调整从另一个 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

浮动环境 ( tablefigure、...) 不能放入内部使用 的\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}

相关内容