How about this:
\documentclass{article}
\usepackage{chemfig}
\definesubmol\nobond{-[2,0.2,,,draw=none]}
\begin{document}
\schemestart
\subscheme[-90]{
\chemfig[atom style={scale=0.7}]{
HO-[:-30]@{5}(!\nobond\scriptstyle\oplus)(-[:-90]CH_3)(-[@{2}:30]O
-[:-30](-[:-90]CH_3)=[:30]O)
}
\arrow{0[+][][-10pt]}
\chemfig[atom style={scale=0.7}]{*6(=-=(-([:90]=O)([:-40]-OH))-(-@{4}O@{3}H)=-)}
}
\arrow{->[\tiny\chemfig{{-}CH_3COOH}]}[,1.5]
\chemfig[atom style={scale=0.7}]{
*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](-[:90]@{7}O-[@{6}:360]H)(-[:210]CH_3))=-)
}
\arrow{->[\tiny\chemfig{{-}\chemabove{H}\oplus}]}
\chemfig[atom style={scale=0.7}]{
*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](=[:90]O)(-[:210]CH_3))=-)
}
\schemestop
\chemmove[->,shorten <=2pt]{
\draw[shorten >=8pt](2)..controls +(-50:2.5cm)and+(45:1cm)..(3);
\draw[shorten >=3pt](4)..controls +(180:1cm)and+(-135:1cm)..(5);
\draw[shorten >=5pt](6)..controls +(90:5mm)and+(90:5mm)..(7);
}
\end{document}

Despite the scaling and the \tiny
fontsize for the arrow labels the scheme stil exceeds the page width. Personally I'd play with chemfig
's atom sep
(and bond offset
) but choose a larger fontsize, \footnotesize
maybe. (In the example below showframe
visualizes the page dimensions.)
The example uses the chemmacros
package (which also loads the chemformula
package). It provides the \scrp
and offers the possibility to print all charges in chemformula
's formulas (\ch
) as formal charges (\chemsetup{ charges/circled = all }
)
\documentclass{article}
\usepackage{chemfig,chemmacros,showframe}
\definesubmol\pchargeup{-[2,0.4,,,draw=none]\scrp}
\definesubmol\pchargedown{-[6,0.4,,,draw=none]\scrp}
\begin{document}
\begin{center}
\chemsetup{charges/circled=all}
\setchemfig{atom sep = 1.7em , bond offset = 0.5pt}
\footnotesize
\schemestart
\subscheme[-90]{
\chemfig{
HO-[:-30]@{C1}(!\pchargeup)
(-[:-90]CH_3)
(-[@{b}:30]O-[:-30](-[:-90]CH_3)=[:30]O)
}
\arrow{0[+][][-10pt]}
\chemfig{*6(=-=(-([:90]=O)([:-40]-OH))-(-@{OH}OH)=-)}
}
\arrow{->[${}-\ch{CH3COOH}$]}[,1.7]
\chemfig{
*6(
=-=(-([:90]=O)([:-40]-OH))
-(-O-[:-210]@{C2}(-[:90]O-[@{H}:360]H)(!\pchargedown)-[:210]CH_3)
=-
)
}
\arrow{->[${}-\ch{H+}$]}
\chemfig{*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](=[:90]O)(-[:210]CH_3))=-)}
\schemestop
\chemmove[red,-el,shorten <=2pt,shorten >=2pt]{
\draw[shorten >=8pt] (b) ..controls +(-50:2.5cm) and +(10:1cm) .. (OH) ;
\draw (OH)..controls +(180:1cm) and +(-135:1cm).. (C1) ;
\draw (H) ..controls +(-90:3mm) and +(30:5mm) .. (C2) ;
}
\end{center}
\end{document}

\documentclass{...}
, the required\usepackage
's,\begin{document}
, and\end{document}
. That may seem tedious to you, but think of the extra work it represents for TeX.SX users willing to give you a hand. Help them help you: remove that one hurdle between you and a solution to your problem. How do you want them to align exactly?