# How to draw ligands with different hapticities

In organometallic chemistry it's common to draw ligands that are not bound atom to atom. Common examples are ferrocene:

or Zeisse's salt:

Does anyone have a strategy for approaching structures such as these?

For the alkene bond, one approach would be \chemfig{M-([2,0.5]=)([6,0.5]=} but this has the bond from the metal extending to the center of the double bond, rather than stop just before it.

I'm looking more for a general approach than a solution to these particular compounds.

-

I'm not aware of a truly general approach. I solve these kinds of bonds by using invisible bonds -[,,,,draw=none] for placing atoms or determining access points for other bonds.

Ferrocene and similar compounds are not quite easy with chemfig and my approach is even less general. So far the only way I know is to draw them from scratch (but then I do not need to draw metallocenes very often (or ever)). Here's a try I recently used as an answer on chemieonline.de:

\documentclass{article}
\usepackage{chemfig}
\setcrambond{3pt}{}{}
\begin{document}

\chemfig{
?[a]>[:18,.8]-[:108,.8]-[4]
(
-[:-40,.65,,,draw=none]@{r1}-[2,,,,dotted]
Fe
-[2,,,,dotted]@{r2}-[:-130,.7,,,draw=none]
?[b]-[,,,,line width=3.5pt]>[:72,.8]-[:162,.8]-[:-162,.8]?[b,4]
)
-[:-108,.8]?[a,4]}
\chemmove{
\draw (r1) ellipse (15pt and 8pt);
\draw (r2) ellipse (15pt and 8pt);
}
\end{document}


The values need adjusting of course (I was being lazy) but the principle should be clear. What I've done here is the following: I drew the cp rings using chemfig's ? hook and marked the center (or actually only somewhere near) by using the @{<nodename>} syntax. These nodes then are accessed via \chemmove (which basically is a wrapper for \tikz[remember picture,overlay]) to draw the ellipses. This needs a least two compilations.

The second one's easier. I just use an invisible bond like I said above. This should also work for other similar compounds:

\documentclass{article}
\usepackage{chemfig}
\usepackage{chemmacros}% for formal charges
\definesubmol{inv}{-[,,,,draw=none]}
\begin{document}

\chemfig{
H>[:-10]C(<:[:60]H)
(-[:-14.5,2,,,draw=none]Pt(-[4,1.8])(<[:-120]Cl)(<:[:60]Cl|^{\fminus})-Cl)
=[6]
C(<[:-110]H)<:[:-20]H
}

\end{document}


-
Thanks! It's becoming clear to me that I should familiarize myself with TikZ. The \chemmove command is new to me. I really appreciate such an elaborate answer. –  Anthony Oct 19 '12 at 14:22
\chemmove is described in the chemfig manual in the section about electon movement. And yes, since chemfig uses TikZ internally it often helps if one knows the basics of TikZ :) –  cgnieder Oct 19 '12 at 14:48