\setstretch 在 \begin{figure} 中重置

\setstretch 在 \begin{figure} 中重置

我用來\setstretch{1.3}增加行距。它tabular也確實增加了環境中的行間距,這正是我想要的。但如果tabular是在一個figure環境中,行距又會回到 1。

這篇文章:基線伸展與設定空間建議設置\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}

相關內容