Prochaine révision | Révision précédente |
generalites:erreurs:r:runaway_something [2017/10/14 18:22] – créée 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⟩ »? ====== |
| |
<a name="Runaway-lt-quelque-chose-gt-TeX" href="#Runaway-lt-quelque-chose-gt-TeX" title="Runaway <quelque chose> (TeX)" class="AQuestionFAQ">Runaway <quelque chose> (TeX)</a> | * **Message**: ''Runaway ⟨//quelque chose//⟩'' |
| * **Origine**: //TeX//. |
| |
<div class="DivQuestionContenuFAQ"><p><b>TeX</b> 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 <b>TeX</b> 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 <b>TeX</b> recherche la fin de l'argument jusqu'à atteindre la fin du document ou remplir totalement sa mémoire. Des définitions incomplètes avec <span style="font-family: monospace; padding: 2px; background: #eee">\newcommand</span>, <span style="font-family: monospace; padding: 2px; background: #eee">\newenvironment</span>, et d'autres déclarations analogues, indiquent également que l'« <span style="font-family: monospace; padding: 2px; background: #eee">argument has run away</span> » (l'argument s'emballe). Seules les définitions de bas niveau, avec les primitives de <b>TeX</b> telles que <span style="font-family: monospace; padding: 2px; background: #eee">\def</span>, produisent une <span style="font-family: monospace; padding: 2px; background: #eee">Runaway definition</span>. <br/><br/>Un <span style="font-family: monospace; padding: 2px; background: #eee">Runaway preamble</span> 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).<br/><br/>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 <b>TeX</b> 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<br /> | <latex>\TeX{}</latex> pense qu'il a analysé trop loin alors qu'il recherche la fin |
<div class="bbcode_container"> | du ''⟨//quelque chose//⟩'', où ''⟨//quelque chose//⟩'' peut être //argument//, //definition//, |
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr> | //preamble// ou //text//. Outre du code <latex>\TeX{}</latex> de bas niveau fautif, |
<td style="border: 0; padding: 0; text-align: left">Code :</td> | le cas le plus fréquent est argument. On a, par exemple, oublié de refermer une accolade |
<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> | d'un argument et <latex>\TeX{}</latex> recherche la fin de l'argument jusqu'à atteindre |
</td></tr></table> | la fin du document ou remplir totalement sa mémoire. Des définitions incomplètes |
<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 | avec ''\newcommand'', ''\newenvironment'', et d'autres déclarations analogues, |
\begin{document} du texte \end{document}</pre></td></tr></table></pre></div><br /> | indiquent également que l'« ''argument has run away'' » (l'argument s'échappe). |
On obtient<br/><br/><div class="bbcode_container"> | Seules les définitions de bas niveau, avec les primitives de <latex>\TeX{}</latex> |
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr> | telles que ''\def'', produisent une « ''Runaway definition'' ». |
<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><br /> | |
L'insertion d'un <span style="font-family: monospace; padding: 2px; background: #eee">\par</span> par <b>TeX</b> 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 « <span style="font-family: monospace; padding: 2px; background: #eee">File ended while...</span> », on peut voir un autre message tel que « <span style="font-family: monospace; padding: 2px; background: #eee">Paragraph ended before...</span> ».</p></div> | |
| |
----- | Un « ''Runaway preamble'' » signifie qu'une structure d'alignement a des problèmes |
//Source:// https://latex.developpez.com/faq/erreurs?page=R | (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). |
| |
| 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 ici: |
| |
| <code latex> |
| \newcommand\foo{bar |
| \begin{document} |
| Du texte |
| \end{document} |
| </code> |
| |
| qui donne: |
| |
| <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) |
| }} |