--- myst: html_meta: keywords: LaTeX, domaines spécialisés, sciences, chimie, équation, réaction, mécanisme, électrons --- # Comment représenter des équations de réaction ? Pour mettre en forme des équations de réaction, plusieurs extensions sont disponibles : - , de Clemens Niederberger, permet très simplement d’écrire des équations bilans ; - , du même auteur, fournit les fonctionnalités de ainsi qu'un grand nombre de commandes supplémentaires très utiles. De fait, à l'origine, était une partie de mais est maintenant une extension à part entière et dispose de sa propre documentation ; - , de Christian Tellechea, permet d'écrire des mécanismes réactionnels. ## Équation bilan avec / ### Principe de base Cette extension est particulièrement simple d’utilisation. Elle fournit la commande `\ch{}` qui contient la description des formules et du type de flèche. ``` \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \usepackage{chemmacros} % ou, ici "chemformula". \begin{document} \begin{enumerate} \item \ch{CH4 (g) + 2 O2 (g) -> CO2 (g) + H2O (g)} \item \ch{MnO4- (aq) + 8 H+ (aq) + 5 e- = Mn^2+ + 4 H2O (l)} \end{enumerate} \end{document} ``` Noter qu'il faut bien faire attention à mettre des espaces entre les nombres stœchiométriques, les états physiques, et la formule de la molécule. ### Noms des espèces Vous pouvez facilement ajouter le nom des espèces chimiques avec la syntaxe suivante : ```{noedit} \ch{!(⟨nom de l'espèce⟩)(⟨formule⟩)} ``` ``` \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \usepackage{chemmacros} % ou, ici "chemformula". \begin{document} \ch{!(Méthane)(CH4 (g)) + !(Dioxygène)(2 O2 (g)) -> !(Dioxyde~de~carbone)(CO2 (g)) + !(Eau)(2 H2O (g))} \end{document} ``` Par défaut, les chiffres sont placés en indice et les signes en exposants. Pour les chiffres en exposant, il faut utiliser `^` (les accolades ne sont pas nécessaires). ## Équations bilan avec Dans cette partie, la syntaxe de base de l'extension est considérée connue. Si ce n’est pas le cas, vous pouvez vous référer à sa documentation ou à la question dédiée sur la FAQ "[](/4_domaines_specialises/sciences/chimie/representer_des_molecules_avec_chemfig)". L’équation bilan doit être comprise entre les commandes `\schemestart` et `\schemestop`. Vous disposez alors de deux commandes supplémentaires : `\arrow(⟨arguments optionnels⟩)` et `\+`. ``` \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \usepackage{chemfig} \begin{document} \schemestart \chemfig{CH_3 - C (=[:90]O) - OH} \+ \chemfig{CH_3 - CH_2 - OH} \arrow(.mid east--.mid west) \chemfig{CH_3 - C (=[:90]O) - O - CH_2 - CH_3} \+ \chemfig{H_2O} \schemestop \end{document} ``` Vous pouvez noter que, pour aligner la flèche, un argument optionnel à la commande `\arrow()` a été ajouté *entre parenthèses* Pour les molécules linéaires cela devrait être souvent le même. Toutefois, si l’alignement n’est pas satifaisant, vous trouverez d’autres possibilités dans la [documentation](texdoc:chemfig) de . ## Mécanisme réactionnel avec ### Étape 1 : donner un nom Pour simplifier, une première étape peut constituer à attribuer un nom à un atome ou une liaison avec `@{⟨nom⟩}` placé : - juste après pour une liaison ; - juste avant pour un atome. ``` \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \usepackage{chemfig} \begin{document} \chemfig{ R-O-C(-[2]R)(-[6]OH)-@{donneur} \charge{90=\|,-90=\|}{O}H} \hspace{1cm} \chemfig{@{accepteur}\charge{ 90:3pt=$\oplus$, 180=\"}{H} } \end{document} ``` En réalité nous définissons ici des nœuds. Pour aller plus loin sur cette notion, vous pouvez vous reporter à la documentation et/ou à celle de . Pour l’instant, rien de plus n'apparaît et c’est normal. Maintenant que cette étape est faite, vous pouvez utiliser les deux nœuds nommés comme points de repère pour représenter le mouvement des électrons. ### Étape 2 : tracer le mouvement des électrons La commande utilisée pour cela est `\chemmove{}`. Voici un premier exemple d’utilisation. ``` \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \usepackage{chemfig} \begin{document} % formules et création de nœuds \chemfig{ R-O-C(-[2]R)(-[6]OH)-@{donneur} \charge{90=\|,-90=\|}{O}-H} \hspace{1cm} \chemfig{@{accepteur}\charge{ 90:3pt=$\oplus$, 180=\"}{H} } % mouvement des électrons \chemmove{ \draw[shorten <=2pt, shorten >=3pt] (donneur).. controls +(90:1cm) and +(180:1cm).. (accepteur); } \end{document} ``` Dans le détail : - les arguments optionnels de la commande `\draw` permettent de réduire la taille de la flèche qui irait sinon jusqu'aux atomes. Nous réduisons ici de 2 points le départ et de 3 points l'arrivée ; - dans la suite, nous définissons deux points de contrôle pour la courbure de la flèche en indiquant *leurs coordonnées polaires* par rapport aux deux nœuds (*donneur* et *accepteur*). Pour en savoir plus sur ces points de contrôle, vous pouvez vous référer à la [documentation](texdoc:pgf) de l'extension , partie 2.3. ### Exemple complet Voici un exemple classique avec l’étape de protonation d’un alcool primaire. ``` \documentclass[french]{article} \usepackage[T1]{fontenc} % Encodage T1 (adapté au français) \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \pagestyle{empty} % N'affiche pas de numéro de page \usepackage{chemfig} \begin{document} \schemestart \chemfig{R - C(=[2]@{donneur}\charge{45=\|,135=\|}{O}) - \charge{90=\|, -90=\|}{O} - H} \hspace{.5cm} \+ \hspace{.5cm} \chemfig{@{accepteur}\charge{180=\", 45:3pt=$\oplus$}{H}} \arrow(.mid east--.mid west) \chemfig{R - C(=[2]\charge{180=\|,90:3pt=$\oplus$}{O} - H) % - \charge{90=\|, -90=\|}{O} - H} \schemestop \chemmove{ \draw[shorten <=3pt, shorten >=3pt] (donneur).. controls +(45:3cm) and +(180:1cm).. (accepteur); } \end{document} ```