LaTeX/Écrire des formules chimiques
Modèle:NavTitre Modèle:LaTeX/Navigation
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 avec LaTeX/Dessiner des molécules|Dessiner des molécules]].
Avec chemist
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 Modèle:Début rendu LaTeX
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}$).
Avec mhchem
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];
- on peut mettre du texte au dessus avec
- la double flèche d'équilibre se note
<=>; - un chapeau
^entouré de deux espace indique un dégagement de gaz ↑ ; unventouré 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 Modèle:Début rendu LaTeX
Avec ppchtex
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 (
Cpour le carbone,CH_4pour le méthane) ; - une liaison simple :
-ouSINGLE; - une liaison double :
--ouDOUBLE; - une liaison triple :
---ouTRIPLE; - une espace fine :
\,; - une flèche de réaction :
->ouGIVES; - deux flèches tête-bêche d'équilibre :
<->ouEQUILIBRIUM - une double-flèche ↔ :
<>ouMESOMERIC; - un plus :
+ouPLUS.
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 Modèle:Début rendu LaTeX Modèle:Fin rendu LaTeX 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
Pour écrire des formules chimiques, on peut bien sûr utiliser les mathématiques (voir [[../É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\equivpour 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,\longrightarrowet\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
CModèle:Bleu_nModèle:BleuHModèle:Vert_{2n+2} + \frac{3n + 1}{2}Modèle:VertOModèle:Bleu_2 \xrightarrow{\enthreac} nModèle:BleuCOModèle:Vert_2 + (n+1)Modèle:VertHModèle:Bleu_2Modèle:BleuO
Avec chemtex
L'extension ChemTeX se trouve à l'adresse suivante :
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}
où longueur est le nombre de caractères du texte le plus grand (indices et exposants compris). Par exemple :
\[
HC \equiv CH + H_{2}O
Modèle:BleuHg^{++}Modèle:Bleu18\%\ H_{2}SO_{4},\ 90^\circModèle:Bleu14Modèle:Bleu
CH_{3}-CHO
\]
Notes
- ↑ Ainsi que les phrases d'avertissement sur les risques chimiques.
Voir aussi
Wikilivres
- [[../Dessiner_avec_LaTeX/Dessiner_des_molécules]]
Liens externes
- Pour dessiner un tableau de classification périodique : Mendeleiev, il pue ?, discussion du 26 août sur news:fr.comp.text.tex