सामग्री पर जाएँ
Topos Uranos

सारांश

यह पाठ सिखाता है कि TikZ से दस्तावेज़ के भीतर ही चित्र कैसे बनाए जाते हैं। यह समझाता है कि LaTeX में चित्र बनाने से क्या मिलता है (पाठ का फ़ॉन्ट और सूत्र, बिना गुणवत्ता खोए आकार बदलना, स्रोत में सुधार और संस्करण नियंत्रण), इसकी क्या कीमत है, और कब R या Python से ग्राफ़ निर्यात करना बेहतर है; यह दिखाता है कि जिन भाषाओं का babel मॉड्यूल कुछ चिह्नों को सक्रिय संक्षेपों में बदल देता है (जैसे स्पेनिश), उनके दस्तावेज़ में TikZ को अपनी babel लाइब्रेरी चाहिए, जिसके बिना पहला ही तीर त्रुटियों की झड़ी लगा देता है; यह tikzpicture परिवेश और \tikz कमांड, कार्तीय, ध्रुवीय और सापेक्ष निर्देशांक, और पथ (रेखाखंड, आयत, वृत्त, चाप और वक्र) प्रस्तुत करता है; रेखा के विकल्पों और arrows.meta लाइब्रेरी के तीर-शीर्षों को देखता है; नोड सिखाता है: नाम वाले नोड, एंकर, और positioning लाइब्रेरी से एक-दूसरे के सापेक्ष रखे गए नोड; अपनी शैलियों से संकेत-पद्धति तय करता है; \foreach से दोहराव करता है; एक प्रवाह-आरेख, बलों का आरेख, अवधारणाओं का वृक्ष, वाक्य-संरचना वृक्ष और एक फलन का ग्राफ़ बनाता है, यह चेतावनी देते हुए कि plot कोणों को अंशों में मापता है; आँकड़ों के ग्राफ़ के लिए pgfplots प्रस्तुत करता है; चित्र को फ़्लोट में रखता है और उसका आकार बदलने के तीन तरीकों की तुलना करता है; और अंत में सामान्य त्रुटियों, संकलन-समय और उन बातों पर आता है जिनसे बचना चाहिए।

अधिगम उद्देश्य

  1. कारण सहित तय करना कि कोई चित्र TikZ से बनाया जाए, pgfplots से खींचा जाए या आँकड़ा-विश्लेषण के किसी प्रोग्राम से निर्यात किया जाए।
  2. TikZ के लिए दस्तावेज़ की प्रस्तावना तैयार करना और समझाना कि babel लाइब्रेरी कब और क्यों चाहिए।
  3. निरपेक्ष, ध्रुवीय और सापेक्ष निर्देशांकों से चित्र बनाना, और + तथा ++ वाले निर्देशांकों की शृंखला जो पथ बनाती है उसका पूर्वानुमान लगाना।
  4. नाम वाले नोडों से, positioning लाइब्रेरी से रखे गए और एक ही बार परिभाषित अपनी शैलियों वाले आरेख बनाना।
  5. चित्र को उसके शीर्षक और लेबल के साथ फ़्लोट में रखना, पाठ पर होने वाले प्रभाव का अनुमान लगाते हुए उसका आकार बदलना, और लॉग से सामान्य त्रुटियों का निदान करना।

LaTeX में चित्र क्यों बनाएँ

पिछले पाठों में दस्तावेज़ के बाहर बनी छवियाँ डाली गई थीं। इसके विपरीत, TikZ से बना चित्र स्रोत में कमांडों के रूप में लिखा जाता है, और इंजन उसे वैसे ही संयोजित करता है जैसे पाठ को। इससे चार लाभ निकलते हैं। पहला है टंकण की एकरूपता: चित्र के लेबल पाठ वाला ही फ़ॉन्ट और आकार इस्तेमाल करते हैं, और लेबल में आया सूत्र उस अनुच्छेद के सूत्र जैसा ही होता है जो उसकी चर्चा करता है। दूसरा है बिना हानि के आकार बदलना: परिणाम सदिश (वेक्टर) होता है, इसलिए बड़ा करने पर पिक्सेल नहीं दिखते। तीसरा यह कि चित्र स्रोत में ही सुधारा जाता है: कोई लेबल बदलना या कोई बिंदु खिसकाना एक पंक्ति बदलना है, न किसी चित्र-प्रोग्राम में लौटना पड़ता है, न मूल फ़ाइल ढूँढनी पड़ती है। चौथा यह कि चित्र पाठ के साथ ही संस्करण-नियंत्रण में रहता है, क्योंकि वह स्वयं पाठ है: वह उसी फ़ाइल, उसी बैकअप और उसी इतिहास में रहता है।

फिर भी इन लाभों की एक कीमत है। TikZ अपने व्याकरण वाली एक भाषा है, जिसका मैनुअल हज़ार पृष्ठों से अधिक का है, और जो चित्र किसी ग्राफ़िक प्रोग्राम में माउस से एक मिनट में बन जाता है, उसे यहाँ पहली बार आधा घंटा लग सकता है। इसलिए भेद करना ज़रूरी है। योजनाएँ, आरेख और ज्यामितीय आकृतियाँ, जो लेबल वाली थोड़ी-सी आकृतियों से बनती हैं, TikZ का स्वाभाविक क्षेत्र हैं। आँकड़ों के ग्राफ़ इसके विपरीत pgfplots से बेहतर बनते हैं, जो TikZ पर बना है और इस पाठ के अंत में प्रस्तुत है; या, यदि आँकड़ों का विश्लेषण R या Python में होता है, तो उसी प्रोग्राम से जो उनका विश्लेषण करता है: ग्राफ़ PDF में निर्यात होकर छवियों वाले पाठ की तरह डाला जाता है, और उन आँकड़ों तथा विश्लेषण से जुड़ा रहता है जिनसे वह बना। दोनों भाषाएँ ऐसे आउटपुट भी देती हैं जो ग्राफ़ को LaTeX के कोड के रूप में लिखते हैं (R में tikzDevice पैकेज और Python में matplotlib का PGF आउटपुट), ताकि लेबल दस्तावेज़ का फ़ॉन्ट अपना लें।