---
myst:
html_meta:
keywords: LaTeX,TeX,messages d'erreur de LaTeX,options incompatibles,charger des extensions,charger des packages
---
# Que signifie l'erreur : « Option clash for package ⟨nom⟩ » ?
- **Message** : `Option clash for package ⟨nom⟩`
- **Origine** : *LaTeX*.
L'extension `⟨nom⟩` a été chargée deux fois avec des ensembles d'options qui entrent en conflit.
## Les cas non problématiques
Plusieurs cas ne génèrent aucune erreur. Le simple est le suivant :
```{noedit}
\usepackage[a]{truc}
...
\usepackage{truc}
```
De la même manière, il ne dira rien pour le cas suivant (le second chargement ne faisant rien) :
```{noedit}
\usepackage[a]{truc}
...
\usepackage[a]{truc}
```
Voici enfin le dernier cas où LaTeX ne réagit pas :
```{noedit}
\usepackage[a,b]{truc}
...
\usepackage[a]{truc}
```
De fait, la règle générale est la suivante : le premier chargement d'une extension définit un ensemble d'options ; si un autre `\usepackage` ou `\RequirePackage` appelle également l'extension, les options de cet appel peuvent ne pas étendre l'ensemble déclaré lors du premier chargement.
Il existe ici un cas particulier : l'extension peut être chargée autant de fois que nécessaire avec différentes options. Voir section 7.5.3 page 369 du *LaTeX Companion*).
:::{todo} Le précédent paragraphe appelle une révision.
:::
## Les cas problématiques
### Le cas simple
Le cas suivant génère le message d'erreur, même dans le cas où les options `a` et `b` sont des alias (LaTeX ne poussant pas la vérification au-delà du simple nom) :
```{noedit}
\usepackage[a]{truc}
...
\usepackage[b]{truc}
```
Heureusement, l'erreur (dans ce genre de cas) est facilement réparable une fois que vous avez examiné le préambule de votre document.
### Le cas de l'extension qui appelle une autre extension
Ce cas donne du fil à retordre. Supposons que l'extension `truc` charge l'extension `machin` avec l'option `b` et que votre document indique (dans cet ordre ou l'ordre inverse) :
```{noedit}
\usepackage{truc}
...
\usepackage[a]{machin}
```
Alors, l'erreur sera détectée, même si vous n'avez chargé explicitement `machin` qu'une seule fois. En appuyant sur `H` lorsque LaTeX croise le problème lors de la compilation, les options en conflit sont affichées. Si cela ne marche pas, il faudra procéder à une analyse des fichiers journaux comme décrit dans la question « [](/2_programmation/erreurs/interpreter_les_messages_d_erreur2) ». Il faut ici savoir que le processus de chargement de chaque fichier est mis entre parenthèses dans le journal. Aussi, si l'extension `truc` charge , le journal contiendra quelque chose comme :
```bash
(⟨path⟩/truc.sty ...
...
(⟨path⟩/graphics.sty ...
...)
...
)
```
Si nous avons affaire à une extension `truc` qui charge l'extension `machin` sans les options qui vous intéresse, vous devez demander à LaTeX de glisser des options lorsque `truc` le charge :
```{noedit}
\PassOptionsToPackage{⟨option1⟩,⟨option2⟩}{machin}
\usepackage{truc}
```
La commande `\PassOptionsToPackage` dit à LaTeX de se comporter comme si la liste des options données étaient passées quand il charge enfin l'extension.
### Le cas de la classe qui appelle une autre extension
Dans ce cas, on peut tenter une des solutions suivantes :
- spécifier les options requises en tant qu'options globales au niveau de `\documentclass` ;
- charger une extension avant `\documentclass` avec la commande `\RequirePackage`.
:::{todo} Voir section 2.1.1 du *LaTeX Companion*pour plus de détails.
:::
- placer une commande `\PassOptionsToPackage` avant `\documentclass`.
### Le cas des options incomptibles
Si l'extension `truc` ou la classe `machin` charge une extension avec une option qui entre en conflit avec ce dont vous avez besoin, vous êtes bloqué. Un exemple d'options opposées est celui de `draft` et `final` pour l'extension . Dans un tel cas, vous devez modifier l'extension ou la classe (sous réserve des termes de sa licence). Il peut s'avérer utile de contacter l'auteur : il peut avoir une alternative utile à suggérer.
:::{sources}
- ,
- [LaTeX Companion, 2e édition](https://www.latex-project.org/help/books/#french), Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley (Pearson, 2006) ; ISBN : 978-2-7440-7182-9. Annexe B, *Détecter et résoudre les problèmes*, reproduite avec l'aimable autorisation de l'éditeur,
- [Option clash for package](faquk:FAQ-optionclash).
:::