Comment représenter des molécules avec le package chemfig?#

Note

Même si la syntaxe est différente, une connaissance basique de celle du package TikZ peut faciliter la prise en main.

1.  Principes de base#

1.1.  Liaisons et angles#

Le principe de base est relativement aisé à comprendre. Ce package fournit une commande \chemfig{} dans laquelle on décrit la structure de la molécule.

Chaque liaison prend plusieurs paramètres optionnels et le premier est l’angle de la liaison avec l’horizotale.

L’exemple ci-dessous indique comment peut être modifier l’angle d’une liaison.

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


\chemfig{CH_3 - CH_2 - CH_2 - CH_3}

\vspace{1.5cm}

\chemfig{CH_3 -[:30] CH_2 -[:-30] CH_2 -[:30] CH_3}

\end{document}

Liaisons les plus courantes :#

  • simple : -

  • double : =

  • triple : ~

  • cram vers l’avant : <| ou >|

  • cram vers l’arrière : <: ou >:

Arguments des liaisons#

On indique les arguments optionnels entre crochets à la suite de la liaison de la même manière que l’exemple ci-dessus. L’angle à été vu précédement et le coefficient permet de modifier la longueur de la liaison.

La modification des atomes de départ et d’arrivée peut être utile dans certains cas (voir l’exemple du cyclohexane

[<angle> , <coeff> , <atome_de_départ> , <atome_arrivée>, <code_tikz> ]

1.2.  Angles prédéfinis#

On peut utiliser les angles prédéfinis 0°, 45°, 90° etc en indiquant 0, 1 ou 2 dans l’argument optionnels des liaisons.

On note dans l’exemple suivant l’absence des : avant la valeur de l’angle.

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

\chemfig{CH_3 -[1] CH_2 -[-1] CH_2 -[1] CH_3}

\end{document}

1.3.  Représentations topologiques#

Pour la représentation topologique, il suffit… de ne pas indiquer les atomes de carbone et d’hyodrogène:

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

\chemfig{-[1]-[-1]-[1]-[-1]OH}

\end{document}

2.  Ramifications#

Les ramifications sont indiquées à l’aide de parenthèses. Attention cependant à bien indiquer la valeur de l’angle pour la liaison correspondant.

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

\chemfig{CH_3 - CH (-[2] CH_2 - CH_3) - CH_2 - CH_3}

\end{document}

3.  Molécules cycliques#

On peut dessiner les molécules cycliques manuellemment, mais le package fournit une syntaxe simple et rapide.

\chemfig{ <atome de départ> * <nb de côtés> (liaisons et atomes aux sommets) }

L’atome de départ est nécessairement l’atome situé « en bas à gauche » du cycle, qui est construit en tournant le sens horaire.

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

\section*{Le cyclohexane}
\chemfig{HC*6(-CH=CH-CH=CH-HC=[,,2,1])}

\section*{Le cyclohexanol}
\chemfig{HC*6(-CH=CH-CH=CH(-[2]OH)-HC=[,,2,1])}

\end{document}

Note

Ici on a dû imposer les atomes de départ et d’arrivée de la dernière liaison du cycle, qui n’était pas satisfaisante.

Pour se rendre compte du problème, on peut retirer ces arguments et observer le résultats.

4.  Charges#

Pour indiquer la charge d’un atome, on place la commande suivante dans le code de la molécule.

\charge{<angle> = <valeur>}{atome}
\documentclass{article}
\usepackage{chemfig}
\begin{document}

\chemfig{ CH_3 - C (=[2]O) - \charge{45=$\ominus$}{O}}

\end{document}

On peut ajuster la position de la charge en indiquant un décalage après la valeur de l’angle.

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

\chemfig{CH_3 - C (=[2]O) - \charge{45:3pt=$\ominus$}{O}}

\end{document}

5.  Représentation de Lewis#

Obsolète depuis la version 1.5: Attention, les commandes \Lewis{} ou lewis{} ne doivent plus être

utlisées depuis la version 1.5 du 05/03/2020. L’auteur précise qu’on doit utiliser maintenant la commande \charge{}

La macro \charge{} est donc également utilisée pour représenter les doublets non liants dans la représentation de Lewis. Il suffit d’utiliser comme valeur la macro \|

Exemple :

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

\chemfig{
	CH_3 - C (=[2] \charge{135=\|, 45=\|}{O}) 
		 - \charge{45:5pt=$\ominus$, 90=\|, 0=\|, -90=\|}{O}
}
\end{document}

Attention

  • La macro \| permet au « doublet » de pivoter en fonction de sa position autour de l’atome porteur. Si on utilise | seulement comme valeur de la charge, cela ne sera pas le cas.

  • Il ne doit pas y avoir d’espace entre la valeur de l’angle et celle de la charge.

6.  Ajouter le nom des molécules#

Pour ajouter le nom d’une espèce chimique, on peut bien entendu la mettre dans une figure et utiliser la commande \caption{}, mais pour en nommer plusieurs, cela devient plus complexe.

Le package chemfig propose une commande permettant de le faire de manière simple.

\chemname{\chemfig{<code de l’entité chimique>}}{<nom>}

Un exemple avec l’acide éthanoïque :

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

\chemname{\chemfig{CH_3 - C (=[2]O) - OH}}{Acide éthanoïque}

\end{document}