I would like to use single-spaced equations with equation numbers in a double-spaced document. I found a solution to this problem: Single-spaced equations in double-spaced documents, but this solution puts extra spaces around the equations. Could you please help me how to modify the patch to let
\AtBeginDocument{%
\abovedisplayskip=0pt plus 0pt minus 0pt
\abovedisplayshortskip=0pt plus 0pt
\belowdisplayskip=0pt plus 0pt minus 0pt
\belowdisplayshortskip=0pt plus 0pt minus 0pt
}
work? My MWE is as follows:
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{amsmath}
\usepackage[doublespacing,nodisplayskipstretch]{setspace}
\usepackage{etoolbox}
\makeatletter
\newcommand\MySingleSpacePatch{%
\begin{singlespace}%
\vskip -\baselineskip
\noindent
\dimen@ \hsize
\advance \dimen@ \p@
\hskip \dimen@ @minus \tw@\p@
\null
}
\newcommand\EndMySingleSpacePatch{%
\end{singlespace}%
\noindent\ignorespaces
}
\makeatother
\BeforeBeginEnvironment{equation}{\MySingleSpacePatch}
\AfterEndEnvironment{equation}{\EndMySingleSpacePatch}
\BeforeBeginEnvironment{gather}{\MySingleSpacePatch}
\AfterEndEnvironment{gather}{\EndMySingleSpacePatch}
\BeforeBeginEnvironment{align}{\MySingleSpacePatch}
\AfterEndEnvironment{align}{\EndMySingleSpacePatch}
\AtBeginDocument{%
\abovedisplayskip=0pt plus 0pt minus 0pt
\abovedisplayshortskip=0pt plus 0pt
\belowdisplayskip=0pt plus 0pt minus 0pt
\belowdisplayshortskip=0pt plus 0pt minus 0pt
}
\begin{document}
\lipsum[2]
\begin{align}
x&=y+1 \
a&=b
\end{align}
\lipsum[4]
\lipsum[2]
\begin{gather}
x=y \
a=b
\end{gather}
\lipsum[4]
\lipsum[2]
\begin{equation}
DEF = Abc
\end{equation}
\lipsum[4]
\end{document}

