如何在缩放表的乳胶中创建\ newenvironment

时间:2010-05-01 13:31:15

标签: latex

我尝试将表定义为新环境。

\newenvironment{scaledtable}[1]{%
\begin{table}[h]
\caption{xxx}
\label{tab:xxx}
\begin{center}
\begin{tabular}{rcrrrrrrrrrrrrcc}
}{
\hline
\end{tabular}
\end{center}
\end{table}}

我遇到的问题是我无法使用scalebox {}。如果我将结束括号放入环境的最终定义中,则乳胶不能再分配括号。由于pdflatex,我也不能使用PStricks。

1 个答案:

答案 0 :(得分:3)

使用\lrbox临时存储表格,然后缩放

\newsavebox{\scaledtablebox}
\newcommand*{\scaledtablefactor}{1}
\newenvironment{scaledtable}[1]{%
\renewcommand*{\scaledtablefactor}{#1}%
\begin{table}[h]%
\caption{xxx}%
\label{tab:xxx}%
%
\begin{lrbox}{\scaledtablebox}%
\begin{tabular}{ll}%
}{%
\hline%
\end{tabular}%
\end{lrbox}%
%
\begin{center}%
\scalebox{\scaledtablefactor}{\usebox{\scaledtablebox}}%
\end{center}%
\end{table}%
}

这样工作(0.5是比例因子):

\begin{scaledtable}{0.5}
Hello & World! \\
\end{scaledtable}