表のインポート元のファイル内の 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 エラー: 外部 par モードではありません。
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}