\setstretch 在 \begin{figure} 中重置

\setstretch 在 \begin{figure} 中重置

我用\setstretch{1.3}它来增加行距。它tabular确实也会在环境中增加行距,这正是我想要的。但如果tabular在环境中figure,行距会回到 1。

本文:baselinestretch 与 setspace建议设置\renewcommand{\arraystretch}{1.2},但它会影响我的所有tabular,无论figure环境如何。

有没有办法强制\setstretch环境figure呢?

编辑:以下是 MWE:

\documentclass{article}
\usepackage{lipsum}
\usepackage{setspace}

\begin{document}
\setstretch{1.3}

\lipsum[1]

\bigskip
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}

\begin{figure}[h]
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}
\end{figure}

\end{document}

答案1

如果您想在所有figure环境中执行此操作,请使用etoolbox及其\AtBeginEnvironment

将以下内容放入你的序言中:

\usepackage{etoolbox}
\AtBeginEnvironment{figure}{\renewcommand\arraystretch{1.3}}{}{}

完整代码:

\documentclass{article}
\usepackage{lipsum}
\usepackage{setspace}
\usepackage{etoolbox}
\AtBeginEnvironment{figure}{\renewcommand\arraystretch{1.3}}{}{}

\begin{document}
\setstretch{1.3}

\lipsum[1]

\bigskip
\noindent
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}

\begin{figure}[ht]
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}
\end{figure}

\end{document}

在此处输入图片描述

答案2

在这里,我创建了myfigure环境来执行您所要求的操作。

\documentclass{article}
\usepackage{lipsum}
\usepackage{setspace}
\newenvironment{myfigure}[1][htbp]{\figure[#1]\renewcommand\arraystretch{1.3}}
{\endfigure}

\begin{document}
\setstretch{1.3}

\lipsum[1]

\bigskip
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}

\begin{myfigure}[ht]
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}
\end{myfigure}

\end{document}

然而,如果你想真正重新定义环境figure

\documentclass{article}
\usepackage{lipsum}
\usepackage{setspace}
\let\svfigure\figure
\let\svendfigure\endfigure
\renewenvironment{figure}[1][htbp]{\svfigure[#1]\renewcommand\arraystretch{1.3}}
{\svendfigure}

\begin{document}
\setstretch{1.3}

\lipsum[1]

\bigskip
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}

\begin{figure}[ht]
\begin{tabular}{ r | r | r }
         7168 &       1623040  &  28.30    \\
        14336 &       3228672  &  28.15    \\
        28160 &       6439936  &  28.59    \\
        56320 &      12862464  &  28.55    \\
       110592 &      25707520  &  29.06    \\
\end{tabular}
\end{figure}

\end{document}

相关内容