調整從另一個 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}

相關內容