避免在所有显示多行方程中改变行距

避免在所有显示多行方程中改变行距

我需要增加包装的行距setspace,但我想要影响全部显示数学方程式。换句话说,我想将1所有显示数学方程的行距设置为。

梅威瑟:

\documentclass{article}
\usepackage{mathtools}
\usepackage{lipsum}
\usepackage[nodisplayskipstretch]{setspace}
\setstretch{1.5}
\setlength{\jot}{0pt}
\begin{document}
    \lipsum[1]
    \begin{align}
        x \\ y \\ z
    \end{align}
    \[
        \begin{bmatrix}
            1 & 2 & 3 \\
            4 & 5 & 6 \\
            7 & 8 & 9
        \end{bmatrix}
    \]
    \begin{gather}
        x \\ y \\ z
    \end{gather}
    \lipsum[2]
\end{document}

答案1

最后,我找到了解决方案。我们可以先使用这些命令\begin{document}

\everydisplay\expandafter{%
    \the\everydisplay
    \renewcommand{\baselinestretch}{1}\selectfont
}

完整代码:

\documentclass{article}
\usepackage{mathtools}
\usepackage{lipsum}
\usepackage[nodisplayskipstretch]{setspace}
\setstretch{1.5}
%\setlength{\jot}{0pt}
\everydisplay\expandafter{%
    \the\everydisplay
    \renewcommand{\baselinestretch}{1}\selectfont
}
\begin{document}
    \lipsum[1]
    \begin{align}
        x \\ y \\ z
    \end{align}
    \[
        \begin{bmatrix}
            1 & 2 & 3 \\
            4 & 5 & 6 \\
            7 & 8 & 9
        \end{bmatrix}
    \]
    \begin{gather}
        x \\ y \\ z
    \end{gather}
    \lipsum[2]
\end{document}

如果我们想删除方程之间的垂直空间:

\everydisplay\expandafter{%
    \the\everydisplay
    \renewcommand{\baselinestretch}{1}\selectfont
    \abovedisplayskip \displayskipstretch0pt
    \belowdisplayskip \displayskipstretch0pt
    \abovedisplayshortskip \displayskipstretch0pt
    \belowdisplayshortskip \displayskipstretch0pt
}

相关内容