--- myst: html_meta: keywords: messages d'erreur de LaTeX,note marginale,flottant dans une note --- # Que signifie l'erreur : « Not in outer par mode » ? :Message: `Not in outer par mode` :Origine: LaTeX. On obtient cette erreur lorsqu'un environnement `\marginpar` ou un environnement de flottant, tel que `table` ou `figure`, se trouve à l'intérieur d'une commande ou d'un environnement produisant une boîte. Par exemple, on ne peut pas utiliser un `\marginpar` dans une note de bas de page, un flottant, un `tabular`, ou tout autre emplacement analogue (puisqu'ils produisent tous des boîtes). On doit déplacer l'objet fautif dans le texte principal. ## Plus précisément Vous avez le message d'erreur : ```text *\mbox{\marginpar{foo}} ! LaTeX Error: Not in outer par mode. ``` Ce problème survient lorsque vous essayez mettre un élément mobile à l'intérieur d'une boîte. Les éléments mobiles, dans ce contexte, sont les environnements de flottants (`figure` ou `table`, par exemple) et les commandes `\marginpar` (notes marginales). LaTeX ne dispose tout simplement pas des mécanismes permettant à un flottant de flotter hors d'une boîte. En fait, les environnements de flottants et les `\marginpar` sont eux-mêmes définis à partir de boîtes, de sorte qu'ils ne peuvent pas être imbriqués. Si votre erreur provient de `\marginpar`, cherchez simplement un autre moyen de placer la commande ; il n'y a pas de solution générale, mais on arrive à se débrouiller au cas par cas. Si un environnement de flottant est le coupable, il est sans doute possible d'utiliser l'option de placement `H`, fournie (par exemple) par le paquetage  : ```{noedit} \parbox{14cm}{% \begin{figure}[H] ... \caption{Apparemment flottant...} \end{figure}% } ``` Cet exemple n'a pas beaucoup de sens en l'état ; cependant, il est concevable de trouver des utilisations réelles (par exemple, en utilisant un paquetage tel que pour placer deux algorithmes côte à côte). Un autre cas fréquent est celui où l'utilisateur veut insérer une figure quelque part dans un tableau : ```{noedit} \begin{tabular}{|l|} \hline \begin{figure} \includegraphics{mon_image} \end{figure} \hline \end{tabular} ``` une construction qui était censée dessiner un cadre autour de l'image, mais qui ne fonctionne pas. Pas plus que ça, d'ailleurs : ```{noedit} \framebox{\begin{figure} \includegraphics{foo} \end{figure}% } ``` Le problème est que l'environnement `tabular` et la commande `\framebox` empêchent l'environnement `figure` de jouer son rôle normal, qui est de flotter dans le document. La solution consiste simplement à ne pas utiliser l'environnement `figure` ici : ```{noedit} \begin{tabular}{|l|} \hline \includegraphics{mon_image} \hline \end{tabular} ``` À quoi servait l'environnemnt de flottant ? Tel qu'il était utilisé dans les deux premiers exemples, il ne servait à rien. Mais peut-être vouliez-vous en fait encadrer l'image et sa légende, dans un flottant ? Il est facile d'y parvenir, il suffit d'inverser l'ordre des environnements (ou de l'environnement `figure` et de la commande) : ```{noedit} \begin{figure} \begin{tabular}{|l|} \hline \includegraphics{mon_image} \caption{Une image} \hline \end{tabular} \end{figure} ``` Il en va de même pour les environnements `table` (ou tout autre environnement que vous auriez défini vous-même) à l'intérieur des commandes de tableaux ou de boîtes; vous devez *faire sortir l'environnement de flottant* de ces commades, d'une façon ou d'une autre. :::{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, - [Not in outer par mode](faquk:FAQ-parmoderr), - [LaTeX Error : Not in outer par mode](https://tex.stackexchange.com/questions/124346/latex-error-not-in-outer-par-mode). :::