Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
generalites:erreurs:m:missing_control_sequence_inserted [2017/10/14 19:51] – créée nikopol2_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 veut dire l'erreur: ''Missing control sequence inserted'' (//TeX//======+====== Que signifie l'erreur: « Missing control sequence inserted »? ======
  
-<a name="Missing-control-sequence-inserted-TeX" href="#Missing-control-sequence-inserted-TeX" title="Missing control sequence inserted (TeX)" class="AQuestionFAQ">Missing control sequence inserted (TeX)</a>+  * **Message**: ''Missing control sequence inserted'' 
 +  * **Origine**: //TeX//. 
 + 
 +On a utilisé ''\newcommand'' ou ''\renewcommand'' sans fournir de nom de commande 
 +(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 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 />
  
-<div class="DivQuestionContenuFAQ"><p>On a utilisé <span style="font-family: monospace; padding: 2px; background: #eee">\newcommand</span> ou <span style="font-family: monospace; padding: 2px; background: #eee">\renewcommand</span> sans fournir de nom de commande (commençant par une barre oblique inverse) comme premier argument. </p></div> 
  
 ----- -----
-//Source:// https://latex.developpez.com/faq/erreurs?page=M+//Sources:// 
 +  * [[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://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)
 +metatag-og:title=(Que signifie l'erreur: Missing control sequence inserted ?)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
2_programmation/erreurs/m/missing_control_sequence_inserted.1508010707.txt.gz · Dernière modification : 2017/10/14 19:51 de nikopol
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0