Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
generalites:erreurs:r:runaway_something [2017/11/12 18:34] – nikopol | 2_programmation:erreurs:r:runaway_something [2022/07/04 20:19] (Version actuelle) – <> → angle brackets dbitouze |
---|
====== Que veut dire l'erreur: ''Runaway <//quelque chose//>'' ? (//TeX//) ====== | ====== Que signifie l'erreur: « Runaway ⟨quelque chose⟩ »? ====== |
| |
<latex>\TeX{}</latex> pense qu'il a analysé trop loin alors qu'il recherche la fin du <span style="font-family: monospace; padding: 2px; background: #eee"><quelque chose></span>, où <span style="font-family: monospace; padding: 2px; background: #eee"><quelque chose></span> peut être <i>argument</i>, <i>definition</i>, <i>preamble</i> ou <i>text</i>. Outre du code <latex>\TeX{}</latex> de bas niveau fautif, le cas le plus fréquent est argument. On a, par exemple, oublié de refermer une accolade d'un argument et <latex>\TeX{}</latex> recherche la fin de l'argument jusqu'à atteindre la fin du document ou remplir totalement sa mémoire. Des définitions incomplètes avec ''\newcommand'', ''\newenvironment'', et d'autres déclarations analogues, indiquent également que l'« ''argument has run away'' » (l'argument s'échappe). Seules les définitions de bas niveau, avec les primitives de <latex>\TeX{}</latex> telles que ''\def'', produisent une « ''Runaway definition'' ». | * **Message**: ''Runaway ⟨//quelque chose//⟩'' |
| * **Origine**: //TeX//. |
| |
Un « ''Runaway preamble'' » signifie qu'une structure d'alignement a des problèmes (cela ne doit pas arriver dans des documents LaTeX normaux) et Runaway text indique généralement un problème sur une assignation de registre d'unité lexicale (cela ne doit normalement jamais arriver, à moins d'une sérieuse erreur d'implémentation dans une extension). | <latex>\TeX{}</latex> pense qu'il a analysé trop loin alors qu'il recherche la fin |
| du ''⟨//quelque chose//⟩'', où ''⟨//quelque chose//⟩'' peut être //argument//, //definition//, |
| //preamble// ou //text//. Outre du code <latex>\TeX{}</latex> de bas niveau fautif, |
| le cas le plus fréquent est argument. On a, par exemple, oublié de refermer une accolade |
| d'un argument et <latex>\TeX{}</latex> recherche la fin de l'argument jusqu'à atteindre |
| la fin du document ou remplir totalement sa mémoire. Des définitions incomplètes |
| avec ''\newcommand'', ''\newenvironment'', et d'autres déclarations analogues, |
| indiquent également que l'« ''argument has run away'' » (l'argument s'échappe). |
| Seules les définitions de bas niveau, avec les primitives de <latex>\TeX{}</latex> |
| telles que ''\def'', produisent une « ''Runaway definition'' ». |
| |
Contrairement aux situations avec des messages d'erreur normaux, il n'y a pas de numéro de ligne qui indique où l'erreur a été détectée (puisque <latex>\TeX{}</latex> a souvent atteint la fin du fichier). À la place, on a le début du matériel qui a été absorbé. Par exemple, en cas de définition sans l'accolade fermante, comme | Un « ''Runaway preamble'' » signifie qu'une structure d'alignement a des problèmes |
| (cela ne doit pas arriver dans des documents LaTeX normaux) et Runaway text indique |
| généralement un problème sur une assignation de registre d'unité lexicale |
| (cela ne doit normalement jamais arriver, à moins d'une sérieuse erreur d'implémentation |
| dans une extension). |
| |
<div class="bbcode_container"> | Contrairement aux situations avec des messages d'erreur normaux, il n'y a pas |
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr> | de numéro de ligne qui indique où l'erreur a été détectée (puisque <latex>\TeX{}</latex> |
<td style="border: 0; padding: 0; text-align: left">Code :</td> | a souvent atteint la fin du fichier). À la place, on a le début du matériel qui a été absorbé. |
<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> | Par exemple, en cas de définition sans l'accolade fermante, comme ici: |
</td></tr></table> | |
<pre class="bbcode_code" style="overflow:auto;height:60px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">\newcommand\foo{bar | |
\begin{document} du texte \end{document}</pre></td></tr></table></pre></div><br /> | |
On obtient<br/><br/><div class="bbcode_container"> | |
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr> | |
<td style="border: 0; padding: 0; text-align: left">Code :</td> | |
<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> | |
</td></tr></table> | |
<pre class="bbcode_code" style="overflow:auto;height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">Runaway argument? | |
{bar \begin{document} du texte \end{document} | |
! file ended while scanning use of \@argdef. | |
<inserted text> | |
\par | |
<*> samplefile.tex | |
| |
?</pre></td></tr></table></pre></div> | |
| |
L'insertion d'un ''\par'' par <latex>\TeX{}</latex> afin de corriger l'erreur n'aide en rien dans ce cas précis, puisque la totalité du document a été avalée. Au lieu de « ''File ended while...'' », on peut voir un autre message tel que « ''Paragraph ended before...'' ». | <code latex> |
| \newcommand\foo{bar |
| \begin{document} |
| Du texte |
| \end{document} |
| </code> |
| |
----- | qui donne: |
//Source:// https://latex.developpez.com/faq/erreurs?page=R | |
| |
| <code> |
| Runaway argument? |
| {bar \begin {document} Du texte \end {document} |
| ! File ended while scanning use of \@argdef. |
| <inserted text> |
| \par |
| <*> samplefile.tex |
| |
| ? |
| </code> |
| |
| L'insertion d'un ''\par'' par <latex>\TeX{}</latex> afin de corriger l'erreur |
| n'aide en rien dans ce cas précis, puisque la totalité du document a été avalée. |
| Au lieu de « ''File ended while...'' », on peut voir un autre message tel que |
| « ''Paragraph ended before...'' ». |
| |
| ----- |
| //Sources:// |
| * [[https://latex.developpez.com/faq/erreurs?page=R]], |
| * [[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. |
| |
| {{htmlmetatags>metatag-keywords=(messages d'erreur de LaTeX,truc qui s'échappe,accolade ouvrante,accolade fermante) |
| metatag-og:title=(Que signifie l'erreur: Runaway ⟨quelque chose⟩ ?) |
| metatag-og:site_name=(FAQ LaTeX francophone) |
| }} |