1

("Reduce spacing between subequations" refers to spacing between equation environments within a subequations environment. This question refers to spacing between two different subequations environments.)

I am using fleqn so that a number of sets of subequations are all aligned on the left side. The space that exists above and below each set of subequations is bigger than I need it to be. And when two sets appear back to back (picture below), this results in a very large vertical space in between.

Is there any (simple) solution to reduce this vertical space before/after every subequations (+align) environment?

\documentclass[11pt]{book}
\usepackage[fleqn]{amsmath}
\usepackage[utf8]{inputenc}
\begin{document}

\begin{subequations}\begin{align}
x = & r_M\cos\beta\cos\alpha        \\
y = & r_M\cos\beta\sin\alpha    \\
z = & r_M\sin\beta
\end{align}\end{subequations}
\begin{subequations}\begin{align}
v_{p_x} = & -v_M\sin\gamma\sin\beta\cos\alpha - v_M\cos\gamma\sin\alpha \\
v_{p_y} = & -v_M\sin\gamma\sin\beta\sin\alpha + v_M\cos\gamma\cos\alpha \\
v_{p_z} = & v_M\cos\beta\sin\gamma
\end{align}\end{subequations}

\end{document}

enter image description here

2
  • The question this is marked a duplicate from asks about vertical spacing betwen equation environments within a single subequations environment. This question addresses spacing between two subequations environments. I considered it a different case altogether and reckoned the solutions might differ.
    – user50624
    Sep 5, 2018 at 13:52
  • 1
    OT: The spacing around your equals sign is wrong. Put the alignment points & before the = signs.
    – Troy
    Sep 5, 2018 at 15:27

1 Answer 1

3

You can use \useshortskip from nccmath between consecutive subequations:

\documentclass[11pt]{book}
\usepackage[fleqn]{amsmath, nccmath}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}

\begin{document}

\lipsum[11]
\begin{subequations}\begin{align}
x = & r_M\cos\beta\cos\alpha \\
y = & r_M\cos\beta\sin\alpha \\
z = & r_M\sin\beta
\end{align}\end{subequations}
\useshortskip
\begin{subequations}\begin{align}
v_{p_x} = & -v_M\sin\gamma\sin\beta\cos\alpha - v_M\cos\gamma\sin\alpha \\
v_{p_y} = & -v_M\sin\gamma\sin\beta\sin\alpha + v_M\cos\gamma\cos\alpha \\
v_{p_z} = & v_M\cos\beta\sin\gamma
\end{align}\end{subequations}
\lipsum[11]

\end{document} 

enter image description here

2
  • Thank you, it seems to work. However, if I add the hyperref package, the vertical space seems to remain untouched. Do you have any extra tips? I understand this is beyond the scope of the original question, and I will accept your answer.
    – user50624
    Sep 5, 2018 at 14:42
  • No tip a priori. I'll try to see what can be done. Also, may be a guru will find out what happens between hyperref and nccmath.
    – Bernard
    Sep 5, 2018 at 14:46

You must log in to answer this question.