I've been trying to draw something like this with chemfig:


Specifically I'm trying to create those red brackets around the bonds indicating that due the Oxygen's higher electronegativity, it has a greater pull on the electrons than Hydrogen.

Since I never learned chemistry in English, I have no idea how these things are called (or even if they are used in actual chemistry?), that's why I apologize having to ask this question.

1 Answer 1


Here it is. chemfig basically works like Tikz. You can set nodes and use those nodes to draw arrows, etc.

I did the brackets by drawing arcs, and setting nodes on the lines. It would have been easier if each "atom" was a node, but I haven't found anything in the documentation. In any case, if you discover something like that, you can remove the extra nodes and use the atoms themselves as a base for other graphics.

I also added \pgfresetboundingbox to remove some extra white space that was appearing on the right. Not much, but it was noticeable enough.


figure 1





    \chemmove{\draw[red,thick] (a1)+(-8.3pt,-2.8pt) arc (-180:-90:5pt);}\pgfresetboundingbox
    \chemmove{\draw[red,thick] (a2)+(3pt,-7.8pt) arc (-90:0:5pt);}

  • Works great, thanks. As I'm not that experienced with TeX, I'd like to ask if there would be a theoretical way to directly implement this via a macro (?) to simplify it? Something like C((-[:0]O) to draw it into the bond (probably not). Any generalization would be nice.
    – Philip K.
    May 8, 2015 at 20:43
  • @user3107501 You're welcome! :)
    – Alenanno
    May 8, 2015 at 20:45
  • @user3107501 I didn't get notified of your comment edit. Anyway, if you mean remove those commands and place them in the preamble, you can issue a \newcommand. I think it would work. But I never worked with chemfig so I don't know off the top of my head. :D
    – Alenanno
    May 9, 2015 at 13:16

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.