Separate \arraystretch value for every table
If you define \arraystretch
direct before the table (i.e. tabular
) inside a group it should only be active for this table.
\begingroup
\renewcommand*{\arraystretch}{<value>}
\begin{tabular}{...}
...
\end{tabular}
\endgroup
Or define your own environment:
\renewenvironment{mytabular}[1][1]{%
\renewcommand*{\arraystretch}{#1}%
\tabular%
}{%
\endtabular
}
% ...
\begin{mytabular}[<stretch value>]{...}
...
\end{mytabular}
\documentclass{article}
\newenvironment{Tabular}[2][1]
{\def\arraystretch{#1}\tabular{#2}}
{\endtabular}
\begin{document}
\begin{Tabular}{ccc}
c & c & C\\
c & c & C
\end{Tabular}
\begin{Tabular}[3]{ccc}
c & c & C\\
c & c & C
\end{Tabular}
\end{document}
If you are using the table enviroment to place your tables floats you can just redefine arraystretch within that environment without affecting other tables:
\documentclass{article}
\begin{document}
\begin{table}
\centering
\renewcommand*{\arraystretch}{0.95}
\caption{table 1}
\begin{tabular}{ccc}
c & c & C\\
c & c & C
\end{tabular}
\end{table}
\begin{table}
\centering
\caption{table 2}
\begin{tabular}[3]{ccc}
c & c & C\\
c & c & C
\end{tabular}
\end{table}
\end{document}