5

I would like to draw the cation uranyl. So far this is what I have

\documentclass{minimal}
\usepackage{chemfig}
\begin{document}

\chemfig{
    O~U~O
}
\end{document}

And that produces the following image: enter image description here

However I would like to get something like this (sorry for my poor artistic abilities). enter image description here

Is the only way to use tikz? My problem is that I do not how to draw the desired diagram using chemfig.

5

It is rather straightforward with plain TikZ but also not too difficult with chemfig, which is of course based on TikZ.

\documentclass[margin=3.14mm]{standalone}
\usepackage{chemfig}
\usetikzlibrary{decorations.markings,positioning}
\tikzset{triple line with arrow/.style args={#1,#2,#3}{decorate,decoration={markings,%
mark=at position 0 with {\coordinate (ta-base-1) at (0,2pt);
\coordinate (ta-base-2) at (0,0pt);
\coordinate (ta-base-3) at (0,-2pt);},
mark=at position 1 with {\draw[#1] (ta-base-1) -- (0,2pt);
\draw[#2] (ta-base-2) -- (0,0pt);
\draw[#3] (ta-base-3) -- (0,-2pt);}}}}
\begin{document}
$\left[~~\vcenter{\hbox{%
\schemestart
\chemfig{
    @{O1}O-[,,,,triple line with arrow={-,-,->}]U-[,,,,triple line with arrow={<-,-,-}]@{O2}O
}
\schemestop
\chemmove{
\draw[-] (O1) to[out=150,in=-150,looseness=4] (O1);
\node[left=-3pt of O1.west,font=\small\bfseries]{:};
\draw[-] (O2) to[out=30,in=-30,looseness=4] (O2);
\node[right=-3pt of O2.east,font=\small\bfseries]{:};}}}~~
\right]^{2+}$
\end{document}

enter image description here

Of course, you can adjust the arrow style as you like, e.g. -latex instead of ->.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.