Aller au contenu

LaTeX/Écrire des formules chimiques

Un livre de Wikilivres.

Il existe plusieurs extensions dédiées à l'écriture de la chimie. On peut en trouver plusieurs dans le TeXCatalog.

Note
Le dessin des molécules chimiques est décrit au chapitre Dessiner des molécules.

L'extension chemist fournit des commandes et environnements s'utilisant comme les modes mathématiques, mais affichant les lettres romaines (droites) et non italiques. L'appel de l'extension se fait par

\usepackage{chemist}

Pour une formule dans le texte, on utilise la commande \chemform{formule}, par exemple

\chemform{Fe_2O_3}

donne

Fe2O3

L'environnement chemmath est l'équivalent de \[…\] (formules centrées), et l'environnement chemeqn est l'équivalent de l'environnement mathématique equation (formules centrées numérotées) :

\begin{chemmath}
.
.
.
\end{chemmath}
\begin{chemeqn}
.
.
.
\end{chemeqn}

Pour les équations, on utilise les flèches habituelles : \rightarrow, \longrightarrow, \rightleftarrows, \rightleftharpoons, … (voir ci-après). Par exemple,

\begin{chemmath}
CH_4 + 2O_2 \longrightarrow CO_2 + 2H_2 O
\end{chemmath}

donne

Notons que cette extension, au moins à ce jour (v2.00a du 3 novembre 2000), modifie le placement des flèches de vecteur dans le mode mathématique, ce qui pose problème avec les capitales (par exemple $\vec{F}$).

L'extension mhchem permet d'écrire simplement des équations de réaction[1], mais pas de dessiner des molécules. L'appel de l'extension au complet se fait par

 \usepackage[version=4]{mhchem}

L'option version=4 est importante pour bénéficier de toutes les fonctionnalités.

La commande principale est \ce{formule}. Notons que :

  • les + et - sont placés automatiquement en exposant
    \ce{Fe^{2}+} ; on peut aussi utiliser la notation habituelle ^{…} ;
  • les coefficients après des symboles chimiques ou les parenthèses sont placés directement en indice, les coefficients avant sont placés sur la ligne
    \ce{2Sb2O3} ; on peut aussi utiliser la notation habituelle _{…} ;
  • l'écriture des fractions est simple
    \ce{1/2H2O} ;
  • la notation mathématique en indice et exposant est utilisable, y compris avant un symbole chimique, comme pour les isotopes
    \ce{^{227}_{90}Th+} ;
  • la liaison simple se marque avec un - ou \sbond, la double avec un = ou \dbond, et la triple avec un # ou \tbond ;
  • la flèche de réaction se marque -> ;
    • on peut mettre du texte au dessus avec ->[texte au dessus],
    • du texte au dessus et en dessous avec ->[texte au dessus][texte en dessous] ;
  • la double flèche d'équilibre se note <=> ;
  • un chapeau ^ entouré de deux espace indique un dégagement de gaz ↑ ; un v entouré de deux espaces indique une précipitation ↓ ;
  • un astérisque « * » ou un point « . » est transformé en un point centré « · ».

Par contre, l'extension ne gère pas très bien les formules contenant des coefficients sous forme de lettre, par exemple . Mais on peut mêler les \ce{…} au sein d'expressions mathématiques, ou des expressions mathématiques au sein d'un \ce{…}, pour contourner le problème.

Si l'on veut mettre une formule à l'intérieur d'une formule, il vaut mieux utiliser \cf{…} à l'intérieur du \ce{…}. La commande \cf{…} est quasiment équivalente à \ce{…}.

Par exemple

\ce{CH4 + 2O2 -> CO2 + 2H2O}

$\ce{C}_n \ce{H}_{2n+2} + \frac{3n+1}{2}\ce{O2 ->[\Delta G]} n \ce{CO2} + (n+1)\ce{ H2O}$

\ce{Ag+ + Cl- -> AgCl v}

donnent

 L'extension livrée avec MacTeX 2007 est erronée ; il faut télécharger la version à jour et l'installer dans ~Library/texmf

L'extension ppchtex se compose de deux extensions : m-pictex et m-ch-en. On place donc dans le préambule

\usepackage{etex}
\usepackage{m-pictex,m-ch-en}

(L'extension etex permet de rajouter des « registres », ce qui peut être nécessaire avec PPCHTeX.)

Une formule en ligne s'écrit sous la forme

\chemical{élément 1, élément 2, …, élément n}

où les éléments peuvent être :

  • un atome ou un groupement d'atomes : on utilise la notation chimique classique (C pour le carbone, CH_4 pour le méthane) ;
  • une liaison simple : - ou SINGLE ;
  • une liaison double : -- ou DOUBLE ;
  • une liaison triple : --- ou TRIPLE ;
  • une espace fine : \, ;
  • une flèche de réaction : -> ou GIVES ;
  • deux flèches tête-bêche d'équilibre  : <-> ou EQUILIBRIUM
  • une double-flèche ↔ : <> ou MESOMERIC ;
  • un plus : + ou PLUS.

Lorsque la formule est dans un environnement mathématique hors paragraphe (\[…\] ou environnement equation), on peut placer du texte en dessous des éléments :

\chemical{texte principal}{texte dessous}
\chemical{texte principal}{texte dessus}{}
\chemical{texte principal}{texte dessus}{texte dessous}

par exemple

\[
   \chemical{2H_2}{dihydrog\grave{e}ne} \chemical{+} \chemical{O_2}{dioxyg\grave{e}ne}
   \chemical{->}{combustion}{}
   \chemical{2H_2O}{eau}
\]

pour obtenir

Si la formule est en texte, on peut placer du texte au dessus de flèches :

\startchemical
   \chemical[''flèche''][''texte dessus'']
\endchemical

ou flèche est GIVES, MESOMERIC ou EQUILIBRIUM (on ne peut pas utilise ->, <> ou <->). La flèche est alors considérée comme faisant partie d'une molécule, ce qui donne de grandes espaces avant et après ; par contre, la flèche est plus longue.

\chemical{2H_2} \chemical{PLUS} \chemical{O_2}
\startchemical
   \chemical[GIVES][combustion] 
\stopchemical
\chemical{2H_2O}

Avec le mode mathématiques

[modifier | modifier le wikicode]

Pour écrire des formules chimiques, on peut bien sûr utiliser les mathématiques (voir LaTeX/Écrire des mathématiques), en retenant les points suivants :

  • on utilise \mathrm{…} pour avoir une écriture en romain ; comme cela concerne tous les symboles chimiques, cela devient vite fastidieux ;
  • pour les formules semi-développées en ligne, on peut utiliser pour - les liaisons simples, = pour les liaisons doubles et \equiv pour les liaisons triples ; pour les dessins de molécules, on envisagera d'utiliser un logiciel de dessin et d'intégrer l'image ainsi produite ;
  • les flèches de réaction sont obtenues par \rightarrow, \longrightarrow et \rightleftarrows (ou \rightleftharpoons) ;
  • avec l'extension amsmath, on peut utiliser la flèche \xrightarrow{texte dessus}, \xrightarrow[texte dessous]{} et \xrightarrow[texte dessous]{texte dessus} ;
  • penser aux instructions de placement \overset{texte dessus}{texte principal} et \underset{texte dessous}{texte principal}.

Exemples :

\newcommand{\chimie}[1]{$\mathrm{#1}$}
\newcommand{\chimiecite}[1]{\[\mathrm{#1}\]}
\newcommand{\nchim}{\mathit{n}}

\chimiecite{CH_4 + 2O_2 \longrightarrow CO_2 + 2H_2 O}

\chimiecite{ C_{\nchim} H_{2\nchim+2} + \frac{3\nchim + 1}{2}O_2 \xrightarrow{\Delta G}
   \nchim CO_2 + (\nchim+1)H_2 O} \]

\chimiecite{Ag^+ + Cl^- \rightarrow \underset{\searrow}{AgCl}}

donnent

Pour les équations dans le texte, on peut mixer le texte normal et les mathématiques, mais on se prive alors de la possibilité d'utiliser les formules centrées, numérotées ou non (\[…\] et environnement equation). Le deuxième exemple devient alors

C$_n$H$_{2n+2} + \frac{3n + 1}{2}$O$_2 \xrightarrow{\enthreac} n$CO$_2 + (n+1)$H$_2$O

L'extension ChemTeX se trouve à l'adresse suivante :

http://www.ctan.org/tex-archive/macros/latex209/contrib/chemtex/

Les formules chimiques se tapent simplement en mode mathématique comme évoqué ci-dessus.

ChemTeX consiste en des macros de mise en forme. Par exemple, pour tracer une flèche de réaction :

\cto{texte au dessus}{texte en dessous}{longueur}

longueur est le nombre de caractères du texte le plus grand (indices et exposants compris). Par exemple :

\[
  HC \equiv CH + H_{2}O
  \cto{Hg^{++}}{18\%\ H_{2}SO_{4},\ 90^\circ}{14} 
  CH_{3}-CHO
\]

pour

  1. Ainsi que les phrases d'avertissement sur les risques chimiques.

Liens externes

[modifier | modifier le wikicode]
Table des matières - Généralités - Premiers pas - Structure du document - Gestion de la bibliographie - Tableaux - Images - Éléments flottants et figures - Mise en forme du texte - Choix de la police - Mise en page - Mathématiques - Gestion des gros documents - Faire des présentations - Arts et loisirs - Dessiner avec LaTeX - Créer une extension ou une classe - Programmer avec LaTeX - Annexes - Vade mecum - Conversion - Glossaire de typographie - Index - Commandes - Liens externes