Chemfig – How to Reduce Vertical Distance Between Compounds in Chemfig

chemfig

When writing reaction mechanism in chemfig with subscheme there are wide vertical gaps between the two compounds as seen in the figure attached.
enter image description here

How can I achieve the desired position shown in the fig.
Attempt so far

documentclass{book}
\usepackage[version=4,arrows=pgf-filled]{mhchem}
\usepackage{chemfig,chemmacros}
\setatomsep{1.5em}
\setbondoffset{0pt}
\begin{document}
\schemestart
\subscheme[-90]{
\chemfig{CH_3CH=[@{d}]CH_2}
\arrow{0[][][-10pt]}
\chemfig{@{e}Br-[@{f}]@{g}Br}
}
\ce{->}
\chemfig{CH_3\chemabove{C}{\scrp}HCH_2Br} \+ \chemfig{Br^{-}} 
\schemestop
\chemmove[cyan,>=latex,shorten <=2pt,shorten >=2pt]{ 
\draw[shorten >=1pt,->] (d) ..controls +(-90:1cm) and +(135:1cm) .. (e) ;} 
\chemmove[red,>=latex,shorten <=1pt,shorten >=2pt]{ 
\draw[shorten >=0pt,->] (f) ..controls +(-90:.5cm) and +(-90:1cm) .. (g) 
;}
\end{document}

Best Answer

Adjusting the dimensions of the invisible arrow between the propylene and the bromine should get you closer to the ecpected output.

I also replaced the deprecated

\setatomsep{1.5em}
\setbondoffset{0pt}

commands with

\setchemfig{atom sep=1.5em,
            bond offset=0pt}

to make the code compilable with chemfig versions newer than 1.3 (from march 2018).

Lastly, I included an alternative layout for the reaction, as reagents are usually drawn next to the reactant(s) or above the reaction arrow, instead of somewhere below the reactant.

enter image description here

\documentclass{book}
\usepackage[version=4,arrows=pgf-filled]{mhchem}
\usepackage{chemfig,chemmacros}

\setchemfig{atom sep=1.5em,
            bond offset=0pt}
\begin{document}
\schemestart
\subscheme[-90]{
\chemfig{CH_3CH=[@{d}]CH_2}
\arrow{0}[-90,0.25]
\chemfig{@{e}Br-[@{f}]@{g}Br}
}
\ce{->}
\chemfig{CH_3\chemabove{C}{\scrp}HCH_2Br} \+ \chemfig{Br^{-}} 
\schemestop
\chemmove[cyan,>=latex,shorten <=2pt,shorten >=2pt]{ 
\draw[shorten >=1pt,->] (d) ..controls +(-90:.75cm) and +(135:1cm) .. (e) ;} 
\chemmove[red,>=latex,shorten <=1pt,shorten >=2pt]{ 
\draw[shorten >=0pt,->] (f) ..controls +(-90:.5cm) and +(-90:1cm) .. (g) 
;}

\vspace{3cm}


\schemestart
\chemfig{CH_3CH=[@{d}]CH_2}
\arrow{->[\chemfig{@{e}Br-[@{f}]@{g}Br}]}
\chemfig{CH_3\chemabove{C}{\scrp}HCH_2Br} \+ \chemfig{Br^{-}} 
\schemestop
\chemmove[cyan,>=latex,shorten <=2pt,shorten >=2pt]{ 
\draw[shorten >=1pt,->] (d) ..controls +(90:.75cm) and +(135:.75cm) .. (e) ;} 
\chemmove[red,>=latex,shorten <=1pt,shorten >=2pt]{ 
\draw[shorten >=0pt,->] (f) ..controls +(90:.5cm) and +(90:.5cm) .. (g) 
;}
\end{document}
Related Question