एनवायरमेंट्स के अंत में रिपोर्ट की गई त्रुटियाँ
कुछ एनवायरमेंट्स (विशेष रूप से amsmath
की alignments और tabularx
टेबल्स) पूरा एनवायरमेंट स्कैन करने के बाद ही उसकी सामग्री को प्रोसेस करते हैं। इसका अर्थ यह है कि यदि उस एनवायरमेंट के भीतर कोई त्रुटि होती है, तो वह त्रुटि अंतिम पंक्ति पर रिपोर्ट होती है। हालाँकि, जैसा कि मुख्य पाठ में देखा गया, TeX की त्रुटि संदर्भ (error context) दिखाने की प्रणाली अब भी आपको सटीक स्थान पर त्रुटि की पहचान करने में मदद करती है।
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\begin{document}
\begin{align}
\alpha &= \frac{1}{2}\\
\beta &= \frak{2}{3}\\
\gamma &= \frac{3}{4}
\end{align}
\end{document}
यहां त्रुटि लाइन 12 पर रिपोर्ट की जाएगी
l.12 \end{align}
यद्यपि वास्तविक त्रुटि पंक्ति 10 पर है जैसा कि संदर्भ पंक्तियों द्वारा दर्शाया गया है:
! Undefined control sequence.
<argument> ...ha &= \frac {1}{2}\\ \beta &= \frak
{2}{3}\\ \gamma &= \frac {...
पहले की त्रुटियों के कारण उत्पन्न हुई अतिरिक्त त्रुटियाँ
जब आप कमांड लाइन से LaTeX को इंटरएक्टिव रूप में चलाते हैं, तो पहली त्रुटि पर प्रोसेसिंग को x
दबाकर रोका जा सकता है, फिर डॉक्यूमेंट को संपादित करके दोबारा चलाया जा सकता है। हालाँकि, यदि आप त्रुटि को स्क्रॉल करके पार कर जाते हैं, या ऐसा कोई संपादक (editor) या ऑनलाइन सिस्टम उपयोग कर रहे हैं जो यह अपने आप करता है, तो TeX त्रुटि से उबरने की कोशिश करेगा। इससे यह संभव है कि कई और अतिरिक्त त्रुटियाँ भी रिपोर्ट हो जाएँ।
इसलिए रिपोर्ट की गई त्रुटियों की संख्या को लेकर अधिक चिंतित न हों, और हमेशा सबसे पहली त्रुटि को ठीक करने पर ध्यान केंद्रित करें।
\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
Text_word $\alpha + \beta$.
More text.
\end{document}
यहाँ त्रुटि अंडरस्कोर _
है जिसे \_
के रूप में दर्ज किया जाना चाहिए।
TeX इसे first त्रुटि संदेश के साथ सही ढंग से रिपोर्ट करता है
! Missing $ inserted.
<inserted text>
$
l.5 Text_
word $\alpha + \beta$.
?
हालाँकि यदि आप ?
प्रॉम्प्ट से आगे स्क्रॉल करते हैं तो TeX $
जोड़कर रिकवर करता है, इसलिए _
को गणित मोड में सबस्क्रिप्ट के रूप में देखा जाता है। गणित मोड तब तक जारी रहता है जब तक $
गणित को समाप्त नहीं कर देता, इसलिए निम्न \alpha
को टेक्स्ट मोड में देखा जाता है जो एक और त्रुटि उत्पन्न करता है
! Missing $ inserted.
<inserted text>
$
l.5 Text_word $\alpha
+ \beta$.
?
कुछ त्रुटियाँ जो त्रुटि-संकेत नहीं उत्पन्न करतीं
कुछ त्रुटियाँ, विशेष रूप से वे जो फ़ाइल के अंत तक पहुँचने पर ही पता चलती हैं, रुटि-संकेत (error prompt) नहीं देतीं, बल्कि केवल लॉग में एक चेतावनी (warning) के रूप में दिखाई देती हैं।
यदि आप यह उदाहरण TeXLive.net सर्वर पर प्रयोग करते हैं, तो वह डिफ़ॉल्ट रूप से एक PDF लौटाता है; यदि आप त्रुटि संदेश लॉग में देखना चाहते हैं, तो %!TeX log
जोड़ें।
\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
Text {\large some large text) normal size?
\end{document}
इस उदाहरण में आकार (size) बदलने की कमांड को गलती से }
की जगह )
से समाप्त कर दिया गया। TeX इस त्रुटि को फाइल के अंत को नहीं पहचानता जब, तब वह पाता है कि अभी भी एक group है जो बंद नहीं हुआ है। इस स्थिति में TeX उस पंक्ति की रिपोर्ट करता है जहाँ group खोला गया था {
। वह असली त्रुटि ()
का उपयोग) को नहीं पहचान पाता क्योंकि )
को वह “सामान्य टेक्स्ट” की तरह देखता है।
(\end occurred inside a group at level 1)
### simple group (level 1) entered at line 5 ({)