आपातकालीन रोक और भगोड़ा तर्क
गायब सिरों, ब्रेसिज़, या ख़राब तत्वों से घातक गर्भपात।
आपातकालीन रोक और भगोड़ा तर्क
लक्षण
संकलन एकदम मर जाता है। लॉग के साथ समाप्त होता है! आपातकालीन रोक। या भगोड़ा तर्क? दिखाता है, जिसके बाद आपके स्वयं के पाठ का एक लंबा खंड होता है, अक्सर एक साथी पंक्ति के साथ जैसे फ़ाइल \ textbf के उपयोग को स्कैन करते समय समाप्त हो जाती है या पैराग्राफ \ foo पूरा होने से पहले समाप्त हो जाता है। अधिकांश LaTeX त्रुटियों के विपरीत, कोई पीडीएफ नहीं है, और रिपोर्ट की गई लाइन संख्या अक्सर वास्तविक गलती के बजाय फ़ाइल के अंत में इंगित करती है।
ऐसा क्यों होता है
दोनों संदेश एक ही समस्या से आते हैं: TeX ने कुछ पढ़ना शुरू किया जिसे बंद किया जाना चाहिए और समापन टोकन आने से पहले इनपुट के अंत तक पहुंच गया। जब आप \textbf{ लिखते हैं, तो TeX मिलान वाले } तक सब कुछ तर्क के रूप में एकत्र करता है। यदि वह ब्रेस कभी नहीं आता है, तो TeX पैराग्राफ और अनुभागों के माध्यम से पाठ को निगलता रहता है, जब तक कि फ़ाइल खत्म नहीं हो जाती। “भगोड़ा तर्क” TeX आपको दिखा रहा है कि उसने क्या निगल लिया। “आपातकालीन रोक” TeX का त्याग है क्योंकि यह लापता टुकड़े के बिना जारी नहीं रह सकता है। एक गुम \end{document}, एक खुला वातावरण, या एक फ़ाइल का \input जो मौजूद नहीं है, वही टर्मिनल स्थिति उत्पन्न करता है।
वास्तविक स्थान का पता कैसे लगाएं
लाइन नंबर पर भरोसा न करें; यह चिन्हित करता है कि TeX का इनपुट कहाँ ख़त्म हुआ, न कि कहाँ से असंतुलन शुरू हुआ। इसके बजाय, लॉग में भगोड़ा तर्क? ब्लॉक पढ़ें। निगले गए पाठ के पहले कुछ शब्द आपको बताते हैं कि दस्तावेज़ में कहां से भगोड़ा शुरू हुआ, और फ़ाइल का उपयोग स्कैन करते समय समाप्त हुआ ... पंक्ति उस कमांड को नाम देती है जिसका तर्क कभी बंद नहीं हुआ था। उद्धृत पाठ के पास उस आदेश को खोजें और उसके ब्रेसिज़ को गिनें।
यदि लॉग अनुपयोगी है, तो दस्तावेज़ को बाइनरी-सर्च करें। मुख्य भाग के दूसरे भाग पर टिप्पणी करें (या इसे \iffalse ... \fi में लपेटें) और पुनः संकलित करें। यदि त्रुटि गायब हो जाती है, तो समस्या आपके द्वारा हटाए गए आधे हिस्से में है; जब तक दोषपूर्ण अनुच्छेद अलग न हो जाए तब तक आधा-आधा करते रहें। यह अटपटा लगता है, लेकिन एक बड़े दस्तावेज़ पर यह मुट्ठी भर संकलनों में एक अकेला गायब ब्रेस पाता है।
हमेशा की तरह संदिग्ध
बोल्ड, इटैलिक, फ़ुटनोट और कैप्शन के आसपास { के बिना } की जाँच करें, क्योंकि वे कमांड आपके द्वारा हाथ से टाइप किए गए तर्क ब्रेसिज़ लेते हैं। जांचें कि प्रत्येक \begin{...} में समान परिवेश नाम के साथ मेल खाने वाला \end{...} है। पुष्टि करें कि फ़ाइल \end{document} के साथ समाप्त होती है और प्रत्येक \input और \include उस पथ पर मौजूद फ़ाइल को नाम देता है। संपादक यहां मदद करते हैं: जैसे ही आप टाइप करते हैं, ओलेफली मेल खाने वाले ब्रेसिज़ और पर्यावरण जोड़े को हाइलाइट करता है, जो कंपाइलर द्वारा देखे जाने से पहले इनमें से अधिकतर को पकड़ लेता है।