# Chemfig drawing with arrows and Lewis dots

If I wanted to draw something like this with the chemfig package, how would I do that?

I'm especially wondering how to draw the arrows in the most simple and beautiful way possible.

Update: With help from one of the replies i've managed to fully complete the right side of the arrow. My code so far looks like this:

\documentclass[border=5mm]{standalone}
\usepackage{chemfig}
\definesubmol{e}{-[,.15,,,draw=none]}

\begin{document}

\schemestart
\chemfig{[:30]**6(--(-C(=[90]O)-O)----)}
%
%
\chemfig{[:30]**6(--(!e\Lewis{0.,})----)}
\arrow{0}[,0]\+
\chemfig{C(=[90]O)(=[270]O)}
\schemestop

\end{document}


This is how it looks:

I'm still missing a few elements as you can probably see being:

1. The Lewis dot on the oxygen molecule is not showing.
2. The arrows are still missing.
3. The left side is not properly lined up with the arrow and the right side.

If anyone has any improvements to my code, feel free to say so! :)

• Probably useful for the product part of the reaction: tex.stackexchange.com/q/59816/134144 Oct 10, 2019 at 20:05
• Thank you! Helped a lot. I've updated the question with my drawing so far. Still have a bunch of issues though! Oct 10, 2019 at 20:48
• Great update. The missing radical dot on the left side can be added using \lewis{0.,O} as in \chemfig{[:30]**6(--(-C(=[90]O)-\lewis{0.,O})----)}. Oct 10, 2019 at 20:57
• For the curved arrows, you might find \mcfpush from the mol2chemfig package useful. You can find an example here: tex.stackexchange.com/q/508895/134144 Oct 10, 2019 at 21:00
• Whew, that seems difficult! For some reason, my compiler can't use the mol2chemfig package, weird.. Even when i copy the code directly from the other post, it wont compile :/. Anyway, im gonna take a look at it tomorrow. Oct 10, 2019 at 21:15

\documentclass{article}

\usepackage{chemfig}
\usetikzlibrary{calc}

\begin{document}

\setchemfig{lewis radius =0.25ex,lewis sep =1ex}
\schemestart
\chemfig{
[:-30]**6(---(@{a1}-[@{a2}0]C(=[2]O)(=[6,,,,draw=none]\phantom{O})
-[@{a3}0]@{a4}\Lewis{0.,O}-[,0.7,,,draw=none])---)}
\arrow{->}
\chemfig{-[0,0.5,,,draw=none]**6(---(-[,0.3,,,draw=none]\Lewis{0.,})---)}
\arrow{0}[,0.2]
\+
\arrow{0}[,0.2]
\chemfig{C(=[2]O)(=[6]O)}
\schemestop
\chemmove{
\draw[arrows = {-Stealth[harpoon]}, shorten <=1pt, shorten >=1pt]
($(a2)+(-1pt,0)$) .. controls +(270:10mm) and +(270:10mm) .. (a1);
\draw[arrows = {-Stealth[harpoon]}, shorten <=1pt, shorten >=1pt]
($(a2)+(1pt,0)$) .. controls +(270:10mm) and +(270:10mm) .. ($(a3)+(-1pt,0)$);
\draw[arrows = {-Stealth[harpoon,swap]}, shorten <=2pt, shorten >=1pt]
($(a4)+(1.25ex,0)$) .. controls +(270:10mm) and +(270:10mm) .. ($(a3)+(1pt,0)$);
}

\end{document}


Edit

change \Lewis to \charge

\documentclass{article}
\usepackage{chemfig}
\usetikzlibrary{calc}
\begin{document}
\setchemfig{lewis radius =0.25ex,lewis sep =1ex}
\schemestart
\chemfig{
[:-30]**6(---(@{a1}-[@{a2}0]C(=[2]O)(=[6,,,,draw=none]\phantom{O})
-[@{a3}0]@{a4}\charge{0=\.}{O}-[,0.7,,,draw=none])---)}
\arrow{->}
\chemfig{-[0,0.5,,,draw=none]**6(---\charge{0:2pt=\.}{}---)}
\arrow{0}[,0.2]
\+
\arrow{0}[,0.2]
\chemfig{C(=[2]O)(=[6]O)}
\schemestop
\chemmove{
\draw[arrows = {-Stealth[harpoon]}, shorten <=1pt, shorten >=1pt]
($(a2)+(-1pt,0)$) .. controls +(270:10mm) and +(270:10mm) .. (a1);
\draw[arrows = {-Stealth[harpoon]}, shorten <=1pt, shorten >=1pt]
($(a2)+(1pt,0)$) .. controls +(270:10mm) and +(270:10mm) .. ($(a3)+(-1pt,0)$);
\draw[arrows = {-Stealth[harpoon,swap]}, shorten <=2pt, shorten >=1pt]
($(a4)+(1.25ex,0)$) .. controls +(270:10mm) and +(270:10mm) .. ($(a3)+(1pt,0)$);
}
\end{document}