Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
generalites:erreurs:m:missing_control_sequence_inserted [2020/10/22 00:12] – Changement de titre. jejust2_programmation:erreurs:m:missing_control_sequence_inserted [2022/08/13 13:53] (Version actuelle) – Balise <latex>...</latex> inutile supprimée (gras Unicode : expérimental) dbitouze
Ligne 1: Ligne 1:
-====== Que signifie l'erreur: « Missing control sequence inserted » ? ======+====== Que signifie l'erreur: « Missing control sequence inserted »? ======
  
   * **Message**: ''Missing control sequence inserted''   * **Message**: ''Missing control sequence inserted''
Ligne 6: Ligne 6:
 On a utilisé ''\newcommand'' ou ''\renewcommand'' sans fournir de nom de commande On a utilisé ''\newcommand'' ou ''\renewcommand'' sans fournir de nom de commande
 (commençant par une barre oblique inverse) comme premier argument. (commençant par une barre oblique inverse) comme premier argument.
 +
 +===== Plus précisément =====
 +
 +Si vous souhaitez par exemple définir la macro ''\L'' pour écrire un « 𝐋 » gras,
 +la syntaxe correcte est:
 +
 +<WRAP column 45ex>
 +<code latex>
 +\documentclass{article}
 +  \renewcommand{\L}{\textbf{L}}
 +
 +\begin{document}
 +L \L
 +\end{document}
 +</code>
 +</WRAP>
 +<WRAP column 30ex>
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage{lmodern}
 +  \pagestyle{empty}
 +  \renewcommand{\L}{\textbf{L}}
 +
 +\begin{document}
 +\Large L \L
 +\end{document}
 +</latexdoc>
 +</WRAP>
 +<WRAP clear />
 +
 +Si vous oubliez la barre oblique dans la définition de la commande, en écrivant
 +
 +<WRAP column 45ex>
 +<code latex>
 +  \renewcommand{L}{\textbf{L}}
 +</code>
 +</WRAP>
 +<WRAP clear />
 +
 +Vous aurez l'erreur:
 +
 +<WRAP column 70ex>
 +<code>
 +! Missing control sequence inserted.
 +<inserted text> 
 +                \inaccessible 
 +l.2   \renewcommand{L}{\textbf{L}}
 +</code>
 +</WRAP>
 +<WRAP clear />
 +
 +Donc il suffit de remettre la barre oblique ''\L'' pour corriger le problème.
 +
 +===== Avec “\def” =====
 +
 +Si vous employez les primitives <latex>\TeX</latex> au lieu des macros fournies par <latex>\LaTeX</latex>,
 +vous pouvez également recontrer ce message.
 +
 +Ainsi, si vous avez écrit par erreur:
 +<WRAP column 45ex>
 +<code latex>
 +  \def{\L}{\textbf{L}}
 +</code>
 +</WRAP>
 +<WRAP clear />
 +
 +vous obtiendrez:
 +<WRAP column 70ex>
 +<code>
 +! Missing control sequence inserted.
 +<inserted text> 
 +                \inaccessible 
 +l.2   \def{
 +           \L}{\textbf{L}}
 +</code>
 +</WRAP>
 +<WRAP clear />
 +
 +La primitive ''\def'' attend comme premier argument le nom d'une séquence de contrôle commençant par ''\'' ou un caractère actif.
 +Tout autre token est invalide, et TeX essaie de s'en sortir en insérant une séquence de contrôle particulière, nommée ''\inaccessible''.
 +
 +Le message explique bien ce qui s'est passé: TeX s'est arrêté quand il a lu ''{'' après ''\def'';
 +le token ''{'' en question a été remis dans le flux d'entrée, et pourra éventuellement être lu de nouveau.
 +Entre ''\def'' et ''{'', TeX a inséré la séquence de contrôle '' \inaccessible''.
 +Ceci vous permettrait, si vous le souhaitiez, de corriger votre erreur immédiatement, sans interrompre la compilation:
 +retirez le ''\inaccessible'' en tapant ''1'', puis saisissez ''i\nouvelleSeq'' pour insérer la bonne séquence de contrôle.
 +
 +Pour être honnête, personne ne corrige ses erreurs en cours de compilation. Il vaut probablement mieux
 +terminer la compilation en cours en tapant ''x'', et corriger l'erreur dans votre fichier d'entrée.
 +Pour que ça marche, retirez les parenthèses autour de l'argument de ''\def'':
 +
 +<WRAP column 45ex>
 +<code latex>
 +\documentclass{article}
 +  \def\L{\textbf{L}}
 +
 +\begin{document}
 +L \L
 +\end{document}
 +</code>
 +</WRAP>
 +<WRAP column 30ex>
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage{lmodern}
 +  \pagestyle{empty}
 +  \def\L{\textbf{L}}
 +
 +\begin{document}
 +\Large L \L
 +\end{document}
 +</latexdoc>
 +</WRAP>
 +<WRAP clear />
 +
  
 ----- -----
Ligne 11: Ligne 126:
   * [[https://latex.developpez.com/faq/erreurs?page=M]],   * [[https://latex.developpez.com/faq/erreurs?page=M]],
   * [[https://www.latex-project.org/help/books/#french|LaTeX Companion, 2e édition]], 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.   * [[https://www.latex-project.org/help/books/#french|LaTeX Companion, 2e édition]], 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.
 +  * [[https://tex.stackexchange.com/questions/121481/declaredocumentenvironment-missing-control-sequence-inserted-inaccessible|DeclareDocumentEnvironment: missing control sequence inserted — \inaccessible]].
  
 {{htmlmetatags>metatag-keywords=(messages d'erreur de LaTeX,définir une commande,définir une macro,nom de commande) {{htmlmetatags>metatag-keywords=(messages d'erreur de LaTeX,définir une commande,définir une macro,nom de commande)
2_programmation/erreurs/m/missing_control_sequence_inserted.1603325563.txt.gz · Dernière modification : 2020/10/22 00:12 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0