कैप्शन जो संख्या से मेल खाते हैं

कैप्शन के बाद लेबल लगाएं ताकि नंबर चिपक जाए।

कैप्शन जो संख्या से मेल खाते हों

क्रॉस-रेफरेंस उन चीजों में से एक है जो LaTeX एक वर्ड प्रोसेसर से बेहतर करता है। आप कभी भी “चित्र 3” हाथ से टाइप न करें। इसके बजाय आप आकृति के साथ एक लेबल संलग्न करते हैं और LaTeX को उल्लेखित हर जगह संख्या भरने देते हैं, ताकि संख्याएँ सही रहें चाहे आप कितना भी पुन: व्यवस्थित करें, डालें या हटाएँ। तंत्र का एक नियम है जो लगभग सभी को कम से कम एक बार परेशान करता है: \caption और \label का क्रम मायने रखता है।

आदेश क्यों मायने रखता है

\caption कमांड दो कार्य करता है। यह आपके चित्र या तालिका के नीचे कैप्शन टेक्स्ट को प्रिंट करता है, और यह काउंटर पर कदम रखता है, इस फ़्लोट को चित्र 3 में बदल देता है। \label कमांड लोगों की अपेक्षा से कुछ अधिक मूर्खतापूर्ण कार्य करता है: यह हाल ही में जो भी नंबर सौंपा गया था, उसे रिकॉर्ड करता है, चाहे वह कुछ भी हो। इसका कोई अंदाज़ा नहीं है कि यह “एक आकृति के अंदर” है। इसलिए लेबल को कैप्शन के बाद आना चाहिए:

\caption{A neat diagram.}
\label{fig:neat}

यदि आप \caption से पहले \label डालते हैं, तो कैप्शन ने अभी तक आंकड़ा काउंटर को आगे नहीं बढ़ाया है, इसलिए लेबल पूरी तरह से कहीं और से नवीनतम संख्या को कैप्चर करता है, आमतौर पर वर्तमान अनुभाग। आपका पाठ तब कहता है “चित्र 2.4 देखें” जबकि चित्र वास्तव में चित्र 7 है। यह क्लासिक लक्षण है: संदर्भ जो चित्र संख्याओं के बजाय अनुभाग संख्याओं को इंगित करते हैं, उनका मतलब लगभग हमेशा बहुत पहले रखा गया लेबल होता है। सबसे सुरक्षित आदत है, हर बार, आंकड़ों और तालिकाओं दोनों में, \caption के ठीक बाद वाली पंक्ति पर \label लिखना।

लेबल का संदर्भ देना

अपने पाठ में संदर्भ इस प्रकार लिखें:

Figure~\ref{fig:neat}

\ref{fig:neat} का विस्तार नंगे नंबर तक होता है, और आप स्वयं “चित्रा” शब्द की आपूर्ति करते हैं। उनके बीच ~ एक नॉन-ब्रेकिंग स्पेस है, जो LaTeX को “चित्र” के बाद एक पंक्ति को समाप्त करने और अगली पंक्ति को “3” से शुरू करने से रोकता है। अंजीर:, टैब:, सेकंड:, और eq: जैसे उपसर्ग शुद्ध परंपरा हैं, LaTeX उनकी व्याख्या नहीं करता है, लेकिन वे आपके लेबल को पढ़ने योग्य रखते हैं और एक आकृति और एक तालिका को गलती से एक नाम साझा करने से रोकते हैं।

ध्यान दें कि \pageref{fig:neat} पृष्ठ संख्या देता है जिस पर चित्र उतरा है, यह लंबे दस्तावेज़ों में उपयोगी है जहां एक फ़्लोट अपने उल्लेख से बहुत दूर जा सकता है। संदर्भित आदेशों के संपूर्ण दौरे के लिए, प्रत्येक आदेश की व्याख्या देखें।

दो बार संकलित करें, और अन्य नुकसान

संदर्भों को कंपाइलर रन में हल किया जाता है: पहला पास .aux फ़ाइल में लेबल स्थिति लिखता है, और दूसरा पास उन्हें वापस पढ़ता है। दूसरी बार पास होने तक, संदर्भ बोल्ड प्रश्न चिह्न के रूप में प्रिंट होते हैं, इसलिए आपके पीडीएफ में ?? का आमतौर पर मतलब केवल “फिर से संकलित करें” होता है, ऐसा नहीं है कि कुछ भी टूटा हुआ है। ओलेफ़ली सहित अधिकांश संपादक आपके लिए स्वचालित रूप से पास पुनः चला देते हैं। यदि ?? बार-बार संकलित होने पर जीवित रहता है, तो लेबल मौजूद नहीं है। संभावित कारण लेबल नाम में कोई त्रुटि है, या कोई \कैप्शन है जिसे आपने \label को पीछे छोड़ते समय हटा दिया है।

{ट्रैक} पर वापस जाएँ