Is there a way to draw a radical cation like using chemfig?

Edit #2

\chemfig{C(-[:-150]Y)(=[:90,,,2]\radcationleft O)-[:-30]\chemabove{C}{H}(-[:-90]R\rlap{'})-[:30]C(<[:-60]H)(<:[:-15]H)-[:90]C(<[:120]H)(<:[:165]H)-[:30]R}


with \radcationleft defined as (an adaptation of unbonpetit's code)

\newcommand*\radcationleft{\chemabove[0pt]{\lewis{4.,\rule[0pt]{0pt}{4.4pt}}}{\vspace{-.8pt} \scriptsize+ \hspace{5pt}}}


draws a pretty

Note that this only works with Helvetica (tgheros), as the alignment is made by eye.

Edit #1

I've tried both unbonpetit's and Steven's methods. Steven's code was easier to adapt to the molecule I'm trying to draw: chemfig treats the dot and + signs as an atom and I just needed to correct the arrival atom, so that the double bond links the carbon with the oxygen instead of the signs:

\chemfig{Y-[::30]C(=[::60,,,2]\stackon[0pt]{$\cdot$}{\scriptsize +}O)-[::-60]\chemabove{C}{H}(-[::-60]R\rlap{'})-[::60]C(<[::-90]H)(<:[::-50]H)-[::60]C(<[::30]H)(<:[::70]H)-[::-60]R}


yields to

While with

\chemfig{Y-[::30]C(=[::60]\chemabove[0pt]{\lewis{4.,\vphantom o}}{\scriptsize +}O)-[::-60]\chemabove{C}{H}(-[::-60]R\rlap{'})-[::60]C(<[::-90]H)(<:[::-50]H)-[::60]C(<[::30]H)(<:[::70]H)-[::-60]R}


I'm getting this

and I don't know how to correct it.

One last thing, how can I lower the symbols a bit to make them vertically centered with respect to the O?

• See chemfig's \lewis macro – clemens Jun 2 '15 at 10:35
• @clemens I can draw a neutral radical using it, but I can't show the charge of a radical ion. – Arch Stanton Jun 2 '15 at 10:53
• Please see my revision. I have tried to vertically center the result and now use the macro \cation. – Steven B. Segletes Jun 2 '15 at 12:21
• Both of the methods described below work. I prefer to use unbonpetit's one because it uses the radical's dot so it blends better with other structures with neutral radicals. Thanks to both anyway :-) – Arch Stanton Jun 2 '15 at 22:06
• Your \radcationleft macro can also be written like this: \newcommand\radcationleft{\raisebox{1ex}{\Lewis{6.,\scriptscriptstyle+}}} – unbonpetit Jun 3 '15 at 5:13

No need the extra package since chembove can stack stuff.

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\chemfig{A-\chemabove[0pt]{\Lewis{4.,\vphantom o}}{\scriptstyle+}O-B}
\end{document}


EDIT: Still no need of extra package like "stackengine" or extra complicated macro. Lewis and chemabove can do the job:

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\chemfig{Y-[::30]C(=[::60,,,2]\chemabove[0pt]{\Lewis{4.,\vphantom{\scriptstyle +}}}{\scriptstyle +}|O)-[::-60]\chemabove{C}{H}(-[::-60]R\rlap{'})-[::60]C(<[::-90]H)(<:[::-50]H)-[::60]C(<[::30]H)(<:[::70]H)-[::-60]R}
\end{document}


• Thank you for your answer, I can't make it work for my molecule, though. See the edit in the question. – Arch Stanton Jun 2 '15 at 12:11
• Can I suggest it as a feature to add? ;) It's useful for mass spectrometry. – Arch Stanton Jun 2 '15 at 22:45

Ignoring the chemically incorrect structure of my 1st example, one can nonetheless use a stack to do what you ask.

This question also seems related: Draw Lewis structures like a book

EDITED to achieve vertical spacing more in line with OP's desire, and to place code in the macro \cation.

\documentclass{article}
\usepackage{chemfig,stackengine}
% ORIGINAL DEFINITION
\newcommand\cation{\stackon[.3pt]{$\cdot$}{\scriptsize +}}
% REVISED DEFINITION
\renewcommand\cation{\raisebox{-.3pt}{\stackon[-.2pt]{$\cdot$}{\scriptsize +}}}
\begin{document}
\chemfig{!{ring}-[:30]-[:-30](-[:-90]NH_2)-[:30](=[:90]O)(-[:-30]
\cation O)}

\vspace{2em}
\chemfig{Y-[::30]C(=[::60,,,2]%
\cation O)-[::-60]\chemabove{C}{H}(-[::-60]R\rlap{'})-[::60]C(<[::-90]H)(<:[::-50]H)-[::60]C(<[::30]H)(<:[::70]H)-[::-60]R}

\end{document}