> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/fr/specifique-a-un-domaine/04-molecular-orbital-diagrams.md).

# Diagrammes d'orbitales moléculaires

Cet article propose une brève introduction à la création de [diagrammes d'orbitales moléculaires](https://en.wikipedia.org/wiki/Molecular_orbital_diagram) en LaTeX à l'aide de [`modiagram` package](https://ctan.org/pkg/modiagram?lang=en). Les lecteurs sont vivement encouragés à consulter le [`modiagram` documentation du paquet](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf) qui contient de nombreux exemples utiles pour démontrer ses nombreuses fonctionnalités — bien plus que nous ne pouvons en traiter dans ce court article.

Pour des informations sur les plus traditionnels *diagrammes de structure moléculaire* consultez notre documentation sur [formules chimiques](/latex/fr/specifique-a-un-domaine/02-chemistry-formulae.md).

## Introduction

Les diagrammes moléculaires sont créés à l'aide de [`modiagram` package](https://ctan.org/pkg/modiagram?lang=en) que vous importez dans votre document en ajoutant la ligne suivante à son préambule :

`\usepackage{modiagram}`\[$$\langle$$`options`$$\rangle$$]

L'ensemble des $$\langle$$`options`$$\rangle$$ sont répertoriés et présentés dans le [documentation du paquet](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf).

Pour appliquer les options du package $$\langle$$`options`$$\rangle$$ *globalement* vous pouvez

* les définir lors du chargement du package via `\usepackage{modiagram}`\[$$\langle$$`options`$$\rangle$$], ou
* utiliser la commande de configuration `\setmodiagram`{$$\langle$$`options`$$\rangle$$}

Les diagrammes OM sont créés à l'aide de `modiagram` environnement, qui prend en charge l'utilisation locale des options du package $$\langle$$`options`$$\rangle$$:

`\begin{modiagram}`\[$$\langle$$`options`$$\rangle$$] ...

`\end{modiagram}`

L'exemple suivant montre un `modiagram` environnement minimal sans utiliser aucun $$\langle$$`options`$$\rangle$$:

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}

Premiers atomes d'exemple :

\begin{modiagram}
\atom{left}{1s, 2s, 2p}
\end{modiagram}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=example+of+molecular+diagram\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%0AFirst+example+atoms%3A%0A%0A%5Cbegin%7Bmodiagram%7D%0A%5Catom%7Bleft%7D%7B1s%2C+2s%2C+2p%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple de diagramme moléculaire produit en LaTeX](/files/2e9c32b6a0fecc150a7689e31749d0ea3f13695f)

La commande de base pour dessiner des diagrammes OM est `\atom` qui, comme démontré dans l'exemple ci-dessus, prend deux arguments :

* `gauche` : l'alignement de l'atome.
* `1s, 2s, 2p` : les sous-niveaux d'énergie à dessiner. Ceux-ci peuvent être davantage personnalisés, comme vous l'apprendrez dans le [section suivante](#atoms).

## Atomes

Vous pouvez transmettre des informations supplémentaires sur les orbitales atomiques à la commande présentée dans l'exemple d'introduction.

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}

\begin{modiagram}
 \atom{right}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }

 \atom{left}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }
 \end{modiagram}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=example+of+molecular+diagram\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bright%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A%0A+%5Catom%7Bleft%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A+%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![exemple d'orbitales atomiques](/files/f4adc1b89fd3104e5151d69a329613f0ba2f291e)

Dans cet exemple, deux atomes identiques sont dessinés, alignés respectivement à gauche et à droite.

Dans le style de la `modiagram` documentation du package, la syntaxe générique pour créer des atomes peut s'écrire comme suit :

`\atom`\[$$\langle$$`nom`$$\rangle$$]{$$\langle$$`gauche`$$\rangle$$|$$\langle$$`droite`$$\rangle$$}{$$\langle$$`AO-spec`$$\rangle$$}

où

* $$\langle$$`nom`$$\rangle$$ est un nom facultatif pour l'atome
* $$\langle$$`gauche`$$\rangle$$ et $$\langle$$`droite`$$\rangle$$ déterminent le placement dans le diagramme
* $$\langle$$`AO-spec`$$\rangle$$ est la spécification de l'orbitale atomique.

Le $$\langle$$`AO-spec`$$\rangle$$ prend la forme générale suivante

```latex
sub-level = {energy; specifications}
```

où

* `sous-niveau` peut être `1s`, `2s` ou `2p`
* `énergie` est le niveau d'énergie, un nombre qui détermine l'espacement vertical dans le diagramme. S'il est omis, il est fixé à 0.
* `spécifications` est une liste, séparée par des virgules, des spins des électrons contenus dans chaque orbitale. Les valeurs possibles sont `up`, `bas`, `paire` et vide (seul le point-virgule est saisi) pour une orbitale vide. S'il est omis, il est fixé à `paire`.

Voici une description des commandes utilisées dans l'exemple précédent :

* `1s = { 0; pair}`. Le sous-niveau `1s` est dans le `0` niveau d'énergie, l'orbitale contient deux électrons (appariés).
* `2s = { 1; pair}`. Le sous-niveau `2s` dessiné dans le `1` niveau d'énergie, il y a deux électrons dans cette orbitale.
* `2p = {1.5; up, down}`. Le sous-niveau `2p` dessiné dans le niveau d'énergie `1.5` , c'est-à-dire que dans le diagramme l'espacement vertical est fixé à 1,5 ; ce sous-niveau d'énergie a deux électrons : l'un avec le spin `up` dans la première orbitale et l'autre avec le spin `bas` dans la seconde orbitale.

Les mêmes commandes sont répétées pour le second atome à droite.

Pour afficher le `nom` facultatif d'un atome, utilisez un `modiagram` environnement avec l'option `[names]` option :

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}[names]
 \atom[Atome à droite]{right}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }

 \atom[Atome à gauche]{left}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }
\end{modiagram}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+names+option+in+a+molecular+diagram\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%5Bnames%5D%0A+%5Catom%5BAtom+on+the+right%5D%7Bright%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A%0A+%5Catom%5BAtom+on+the+left%5D%7Bleft%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple d'orbitale moléculaire](/files/4930f55477090297b88830a704ad14f89c0172bd)

## Molécules

La syntaxe des molécules est très similaire à celle de la [`\atom`](#atoms) et, dans le style de la documentation, peut s'écrire ainsi :

`\molecule`\[$$\langle$$`nom`$$\rangle$$]{$$\langle$$`MO-spec`$$\rangle$$}

où

* $$\langle$$`nom`$$\rangle$$ est une légende facultative de la molécule
* $$\langle$$`MO-spec`$$\rangle$$ est la spécification de l'orbitale moléculaire

Les sous-niveaux d'énergie `1s`, `2s` et `2p` deviennent `1sMO`, `2sMO` et `2pMO` respectivement. Voici un exemple de base :

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}
 \atom{left}{1s}
 \atom{right}{1s={;up}}
 \molecule{
    1sMO={0.75;pair,up}
  }
\end{modiagram}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Molecule+example+with+modiagram+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bleft%7D%7B1s%7D%0A+%5Catom%7Bright%7D%7B1s%3D%7B%3Bup%7D%7D%0A+%5Cmolecule%7B%0A++++1sMO%3D%7B0.75%3Bpair%2Cup%7D%0A++%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![exemple de diagramme moléculaire](/files/610a6db966bfa9e32409830b709a9b528ea13890)

Dans l'exemple ci-dessus, la spécification de l'orbitale moléculaire ($$\langle$$`MO-spec`$$\rangle$$ ) est

```latex
1sMO={0.75;pair,up}
```

où

* `0.75` est maintenant le rapport *(gain d'énergie)/(perte d'énergie)*.
* `paire, haut` sont les spins des électrons dans les orbitales moléculaires liantes et antiliantes, respectivement.

L'exemple suivant, légèrement plus élaboré, devrait vous aider à comprendre la syntaxe :

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}
 \atom{left}{
      1s, 2s, 2p = {;pair,up,up}
  }
  \atom{right}{
      1s, 2s, 2p = {;pair,up,up}
  }
  \molecule{
      1sMO, 2sMO, 2pMO = {;pair,pair,pair,up,up}
  }
\end{modiagram}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+elaborate+modiagram+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bleft%7D%7B%0A++++++1s%2C+2s%2C+2p+%3D+%7B%3Bpair%2Cup%2Cup%7D%0A++%7D%0A++%5Catom%7Bright%7D%7B%0A++++++1s%2C+2s%2C+2p+%3D+%7B%3Bpair%2Cup%2Cup%7D%0A++%7D%0A++%5Cmolecule%7B%0A++++++1sMO%2C+2sMO%2C+2pMO+%3D+%7B%3Bpair%2Cpair%2Cpair%2Cup%2Cup%7D%0A++%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![exemple élaboré d'orbitale moléculaire](/files/f99cc5d1251b290e947d6b12b09f2e4495621697)

Trois atomes sont placés de chaque côté du diagramme et la molécule correspondante se trouve au milieu.

## Convention de nommage

Le diagramme suivant est reproduit de la [`modiagram` package](https://ctan.org/pkg/modiagram?lang=en) documentation. Il contient les noms (étiquettes) utilisés pour les orbitales, qui sont des nœuds dans un `tikzpicture` et peuvent donc être utilisés dans les commandes de dessin TikZ standard dans un `modiagram` environnement.

![noms des orbitales pour modiagram](/files/ec66f84861f8463a6d776a86695adf8d86aaae26)

Voici un exemple utilisant le nom de l'orbitale antiliante `1sigma*` pour le positionnement relatif.

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}
 \atom{left}{1s}
 \atom{right}{1s={;up}}
 \molecule{
    1sMO={;pair,up}
 }
 \draw[<-,shorten <=8pt,shorten >=15pt,blue]
 (1sigma*) --++(2,1) node {OM antiliante};
\end{modiagram}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+orbital+labels+in+an+modiagram+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bleft%7D%7B1s%7D%0A+%5Catom%7Bright%7D%7B1s%3D%7B%3Bup%7D%7D%0A+%5Cmolecule%7B%0A++++1sMO%3D%7B%3Bpair%2Cup%7D%0A+%7D%0A+%5Cdraw%5B%3C-%2Cshorten+%3C%3D8pt%2Cshorten+%3E%3D15pt%2Cblue%5D%0A+%281sigma%2A%29+--%2B%2B%282%2C1%29+node+%7Banti-bonding+MO%7D%3B%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![exemple d'orbitale antiliante](/files/c660a12f215092eef8f3b565056c0836fea456ef)

## Lectures complémentaires

Pour plus d'informations, voir :

* [Formules chimiques](/latex/fr/specifique-a-un-domaine/02-chemistry-formulae.md)
* [Diagrammes de Feynman](/latex/fr/specifique-a-un-domaine/03-feynman-diagrams.md)
* [Package TikZ](/latex/fr/figures-et-tableaux/05-tikz-package.md)
* [Dessiner des diagrammes directement en LaTeX](/latex/fr/figures-et-tableaux/04-picture-environment.md)
* [Insertion d'images](/latex/fr/autres-sujets/27-inserting-images.md)
* [Liste des lettres grecques et des symboles mathématiques](/latex/fr/mathematiques/11-list-of-greek-letters-and-math-symbols.md)
* [Le `modiagram` manuel](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/fr/specifique-a-un-domaine/04-molecular-orbital-diagrams.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
