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édentes Révision précédente
generalites:erreurs:interpreter_les_messages_d_erreur2 [2018/12/04 01:31]
jejust
generalites:erreurs:interpreter_les_messages_d_erreur2 [2020/11/19 20:43] (Version actuelle)
yannick.tanguy Traduction de l'article anglais et mise à jour des liens.
Ligne 1: Ligne 1:
-====== ​How to approach errors ​======+====== ​Comment traiter les erreurs ? ======
  
  
-Since TeX is a macroprocessor, ​its error messages ​are often +<​latex>​\TeX</​latex>​ étant un processeur de macro (//macroprocessor//)ces messages ​d'​erreur restent souvent difficiles à comprendre ​c'est une propriété ​(apparemment invariantede ce type de programme. Knuth met en lumière le problème dans le <​latex>​\TeX</​latex>​book en suggérant que vous acquériez les compétences d'​investigation d'​un ​Sherlock Holmes ​des temps modernes pour traiter ces erreurs. Bien que cette approche présente un certain ​charme romantiquece n'est pas une bonne solution pour un simple utilisateur de <​latex>​\TeX</​latex>​ et <​latex>​\LaTeX</​latex>​Cette réponse ​(tirée en partie d'un [[http://​tug.org/​TUGboat/​tb16-4/​tb49rahtz.pdf|article ​de Sebastian Rahtz]] dans le [[http://​tug.org/​TUGboat/​Contents/​contents16-4.html|TUGboat volume 16, n°4]]propose des lignes de conduite pour gérer les rapports d'​erreur de <​latex>​\TeX</​latex>​ et est suivie d'​autres réponses sur les erreurs courantes ​(mais embarrassantesque vous pourriez rencontrer
-difficult to understandthis is a (seemingly invariantproperty of +
-macroprocessors Knuth makes light of the problem in the TeXbook, +
-suggesting that you acquire the sleuthing skills of a latter-day +
-Sherlock Holmes; while this approach has a certain ​romantic charm to +
-itit's not good for the "​production"​ user of (La)TeX.  ​This +
-answer ​(derived, in part, from an article ​by Sebastian Rahtz in +
-TUGboat ​16(4)) offers some general guidance in dealing with TeX +
-error reports, and other answers in this section deal with common ​(but +
-perplexingerrors that you may encounter ​There'​s a long list of +
-"​hints"​ in Sebastian'​s article, including the following:​ +
-  ​+
  
--  Look at TeX errors; those messages may seem cryptic at first, +===== Lire les erreurs =====
-    but they often contain a straightforward clue to the problem. ​ See +
-    [[FAQ-errstruct|the structure of errors]] for further +
-    details.  +
--  Read the ''​log''​ file; it contains hints to things you may +
-    not understand, often things that have not even presented as error +
-    messages. +
--  Be aware of the amount of context that TeX gives you.  The +
-    error messages gives you some bits of TeX code (or of the +
-    document itself), that show where the error "​actually happened";​ +
-    it's possible to control how much of this "​context"​ TeX actually +
-    gives you.  LaTeX (nowadays) instructs TeX only to give you +
-    one line of context, but you may tell it otherwise by saying +
-    ```latex +
-    \setcounter{errorcontextlines}{999} +
-    ``` +
-    in the preamble of your document. ​ (If you're not a confident macro +
-    programmer, don't be ashamed of cutting that 999 down a bit; some +
-    errors will go on and //on//, and spotting the differences +
-    between those lines can be a significant challenge.) +
--  As a last resort, tracing can be a useful tool; reading a full +
-    (La)TeX trace takes a strong constitution,​ but once you know how, +
-    the trace can lead you quickly to the source of a problem. ​ You need +
-    to have read the TeXbook (see +
-    [[FAQ-tex-books|books about TeX]]) in some detail, fully +
-    to understand the trace. +
-  ​+
  
-    The command ​''​\tracingall''​ sets up maximum tracing; it also sets +Les messages d'erreur peuvent sembler énigmatiques à première vue mais ils contiennent souvent une indication sur la nature du problème. Voir la question sur [[generalites:​erreurs:​structure_d_un_message_d_erreur|la structure des erreurs]] pour plus de détails.
-    the output to come to the interactive terminal, which is somewhat of +
-    a mixed blessing (since the output tends to be so vast --- all but +
-    the simplest traces are best examined in a text editor after the event). +
-  ​+
  
-    The LaTeX [[ctanpkg>​trace|trace]] package (first distributed with the +===== Lire le fichier journal =====
-    2001 release of LaTeX) provides more manageable tracing. ​ Its +
-    ''​\traceon''​ command gives you what ''​\tracingall''​ offers, but +
-    suppresses tracing around some of the truly verbose parts of +
-    LaTeX itself. ​ The package also provides a ''​\traceoff''​ +
-    command (there'​s no "​off"​ command for ''​\tracingall''​),​ and a +
-    package option (''​logonly''​) allows you to suppress output to the +
-    terminal.+
  
-The best advice to those faced with TeX errors is not to panic: +Le fichier ''.log'' ​contient souvent des indications sur des éléments que vous pourriez n'avoir pas compris, souvent des éléments qui ne sont pas présentés comme des messages d'erreur
-most of the common errors are plain to the eye when you go back to the +
-source line that TeX tells you of.  If that approach doesn't work, +
-the remaining answers in this section deal with some of the odder +
-error messages you may encounter You should not ordinarily need to +
-appeal to the [[FAQ-gethelp|wider public]] +
-for assistance, but if you do, be sure to +
-report full backtraces (see ''​errorcontextlines'' ​above) and so on.+
  
 +===== Définir la quantité de contexte entourant les erreurs =====
  
------+Les messages d'​erreur vous donnent des extraits du code <​latex>​\TeX</​latex>​ ou du document présents là où l'​erreur « s'est produite ». Il est possible de contrôler la quantité de contexte que <​latex>​\TeX</​latex>​ vous communique. De nos jours, <​latex>​\LaTeX</​latex>​ dit à <​latex>​\TeX</​latex>​ de vous restituer une ligne de contexte mais vous pouvez en décider autrement en indiquant dans le préambule de votre document : 
  
 +<code latex>
 +\setcounter{errorcontextlines}{999}
 +</​code>​
 +
 +Si vous n'​êtes pas un programmeur très confiant, n'ayez pas peur de diminuer quelque peu le ''​999''​ : certaines erreurs vont générer beaucoup de texte et trouver alors les problèmes peut être un sacré défi.  ​
 +
 +===== Utiliser les traces =====
 +
 +En dernier recours, l'​utilisation de trace (//​tracing//​) peut être une technique très performante. Lire une trace intégrale de <​latex>​\TeX</​latex>​ ou <​latex>​\LaTeX</​latex>​ demande une sacrée constitution mais, une fois que vous savez le faire, la trace peut vous mener rapidement à la source d'un problème. Vous devez avoir lu une bonne part du <​latex>​\TeX</​latex>​book (voir [[generalites:​documentations_payantes:​livres_sur_plain_tex_en_anglais|les livre sur TeX]]) pour bien comprendre une trace.
 +v
 +La commande ''​\tracingall''​ génère la version la plus exhaustive de la trace. Elle transfère aussi le document de sortie vers le terminal interactif, ce qui constitue, quelque part, un mélange pas très heureux (dans la mesure où la sortie générée est généralement vaste, toutes les traces à l'​exception des plus simples demandent à être analysée dans un éditeur de texte séparément).  ​
 +
 +L'​extension <​latex>​\LaTeX</​latex>​ [[ctanpkg>​trace|trace]] (distribuée pour la première fois avec la version de 2001 de <​latex>​\LaTeX</​latex>​) fournit des mécaniques de trace plus pratiques. Sa commande ''​\traceon''​ vous restitue ce que fait la commande ''​\tracingall''​ en supprimant toutefois les parts de trace autour des zones particulières verbeuses de <​latex>​\LaTeX</​latex>​ lui-même. Cette extension vous fournit également :
 +  * une commande ''​\traceoff'' ​ (il n'y a pas de commande « off » pour ''​\tracingall''​) ;
 +  * et une option d'​extension (''​logonly''​) vous permettant de supprimer le transfert de la sortie vers le terminal.
 +
 +===== Ne pas paniquer ! =====
 +
 +Le meilleur conseil à donner aux personnes faisant face à des erreurs <​latex>​\TeX</​latex>​ reste de ne pas paniquer : la plupart des erreurs sont évidentes lorsque vous retournez à la ligne de votre code source que vous indique <​latex>​\TeX</​latex>​. Si cela ne marche pas, les autres réponses données dans cette FAQ traite de certaines des erreurs les plus bizarres que vous puissiez rencontrer. Vous ne devriez donc pas avoir besoin d'​appeler à l'​[[generalites/​documentations_libres/​listes_de_discussion|aide du grand public]] mais, si c'est le cas, pensez bien à fournir un contexte complet (voir ''​errorcontextlines''​ ci-dessus) à vos interlocuteurs.
 +
 +-----
 //Source:// [[faquk>​FAQ-erroradvice|How to approach errors]] //Source:// [[faquk>​FAQ-erroradvice|How to approach errors]]
  
-{{htmlmetatags>​metatag-keywords=(LaTeX,​errors+{{htmlmetatags>​metatag-keywords=(LaTeX,​erreurs,​trace,​log,​journal
-metatag-og:​title=(How to approach errors)+metatag-og:​title=(Comment traiter les erreurs)
 metatag-og:​site_name=(FAQ LaTeX francophone) metatag-og:​site_name=(FAQ LaTeX francophone)
 }} }}
- 
generalites/erreurs/interpreter_les_messages_d_erreur2.txt · Dernière modification: 2020/11/19 20:43 par yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0