पाठ ७

ग्राफिक्स फाइलों के नामकरण

LaTeX कई कंप्यूटर प्लेटफार्म पर काम करता है, इसलिए फाइलों के नाम पर थोड़ी सोच-विचार जरूरी है। सबसे सुरक्षित तरीका है कि आप अपने ग्राफिक्स के नाम सरल रखें, विशेष रूप से बिना स्पेस (spaces) के। उदाहरण के लिए, यदि आप सभी ग्राफ़िक्स को एक उप-डायरेक्टरी (subdirectory) में रखकर फाइलों को व्यवस्थित करना चाहते हैं, तो कुछ इस प्रकार का नाम देना \includegraphics[width=30pt]{pix/mom.png} सुव्यवस्थित और भविष्य में भी उपयोगी रहेगा।

फाइल नामों में स्पेस पारंपरिक रूप से कुछ समस्याएं उत्पन्न कर सकते हैं, हालाँकि अब अधिकतर प्लेटफार्म इन्हें सपोर्ट देते हैं। यदि आपके फाइल नाम में स्पेस हैं और कोई समस्या आ रही है, तो पहला प्रयास स्पेस को हटाने का होना चाहिए।

उच्चारण (accented) अक्षरों का सपोर्ट प्लेटफार्म पर निर्भर करता है; कुछ सिस्टम, विशेषकर Windows पर, इससे संबंधित समस्याएँ आ सकती हैं। यदि आपके फाइल नाम में accented अक्षरों के कारण समस्या हो रही है, तो परीक्षण के लिए केवल ASCII अक्षरों का प्रयोग करें।

ग्राफ़िक्स को उप-डायरेक्टरी में संग्रहित करना

स्रोत फाइलों को व्यवस्थित करने का एक सामान्य तरीका यह है कि सभी ग्राफिक्स को एक उप-डायरेक्टरी में रखा जाए। आप फिर संबंधित पथ (relative path) को शामिल कर सकते हैं, जैसा कि ऊपर दिखाया गया है; ध्यान दें कि पथ के भागों को अलग करने के लिए / का उपयोग किया जाता है यहाँ तक कि Windows पर भी

यदि आपके पास बहुत सारे ग्राफिक्स हैं, तो आप उप-डायरेक्टरी को पहले से निर्धारित करना चाह सकते हैं। यह \graphicspath के माध्यम से किया जा सकता है, जिसमें प्रत्येक उप-डायरेक्टरी के लिए एक ब्रैस्ड (braced) प्रविष्टि देना आवश्यक होता है। उदाहरण के लिए, यदि आप figs और pics दोनों उप-डायरेक्टरी जोड़ना चाहते हैं, तो हम लिखेंगे:

\graphicspath{{figs/}{pics/}}

इनमें विशेष रूप से अंतिम / पर ध्यान दें।

ग्राफिक्स तैयार करना

जैसा कि पहले चर्चा की गई थी, LaTeX आसानी से अधिकांश स्रोतों से ग्राफिक्स का उपयोग कर सकता है, जिनमें वैज्ञानिक सॉफ़्टवेयर से बनाए गए प्लॉट्स भी शामिल हैं। जब आप ऐसा करें, तो यदि संभव हो तो ग्राफिक्स को PDF फ़ॉर्मेट में सेव करना बेहतर होता है, क्योंकि यह एक स्केलेबल (आकार में बिना गुणवत्ता खोए बढ़ाया जा सकने वाला) फ़ॉर्मेट है। यदि आपको बिटमैप बनाना ही पड़े, तो उच्च रिज़ॉल्यूशन का उपयोग करें।

आप ग्राफिक्स जिनमें LaTeX कोड भी शामिल हो, Inkscape सॉफ़्टवेयर की मदद से बना सकते हैं। एक और विकल्प है Asymptote, जो इस तकनीक को तीन-आयामी (3D) चित्रों तक बढ़ा देता है। इन दोनों सॉफ़्टवेयर से बनाए गए चित्र फ़ाइल के रूप में सेव होते हैं, जिन्हें आप अपने डॉक्यूमेंट में शामिल कर सकते हैं।

आप LaTeX के लिए विशेष रूप से उपयुक्त चित्र भी बना सकते हैं, जिनमें बहुत उच्च सटीकता होती है और जिनमें समीकरण व लेबल्स ठीक वैसे ही होते हैं जैसे आपके डॉक्यूमेंट में। आप चित्र सीधे डॉक्यूमेंट के अंदर बना सकते हैं, जो सुविधाजनक होता है, हालांकि इससे डॉक्यूमेंट थोड़ा जटिल और संसाधन-भारी हो जाता है। इसके लिए आप TikZ का उपयोग कर सकते हैं। एक अन्य विकल्प है PSTricks

फ्लोट्स (चित्र आदि) को स्थान देना

LaTeX में फ्लोट्स (जैसे चित्र या तालिका) की स्थिति तय करना थोड़ा जटिल होता है। सबसे आम आवश्यकता यह होती है कि चित्र डॉक्यूमेंट में ठीक उसी स्थान पर दिखाई दे जहाँ उसे कोड में लिखा गया है। इस उद्देश्य के लिए आप float पैकेज का उपयोग कर सकते हैं।

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lipsum}  % dummy text for filler
\usepackage{float}

\begin{document}
\lipsum[1-7]
\begin{figure}[H]
  \centering
  \includegraphics[width=0.5\textwidth]{example-image}
  \caption{An example image}
\end{figure}
\lipsum[8-15]
\end{document}

H विकल्प का ध्यान दें, जो चित्र को बिल्कुल उसी स्थान पर रखता है जहाँ उसे कोड में लिखा गया है। हालाँकि, आमतौर पर H का उपयोग करने की हिदायत नहीं की जाती, क्योंकि इससे डॉक्यूमेंट में बड़ी मात्रा में खाली जगह (white space) बन सकती है।

फ्लोट के अन्य प्रकार

हम आगे के पाठ में देखेंगे कि हम तालिकाओं (tables) को भी फ्लोट के रूप में रख सकते हैं; इसके लिए हम table वातावरण का उपयोग करते हैं। हालाँकि, चित्रों को figure वातावरण में या तालिकाओं को table वातावरण में रखना अनिवार्य नहीं है—यह सिर्फ एक प्रचलन (convention) है।

अगर आप अन्य प्रकार के फ्लोटिंग वातावरण बनाना चाहते हैं, तो आप trivfloat पैकेज का उपयोग कर सकते हैं।
यह पैकेज \trivfloat नामक एक आसान कमांड प्रदान करता है, जिससे आप अपनी आवश्यकतानुसार नए प्रकार के फ्लोट बना सकते हैं।

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lipsum}  % dummy text for filler
\usepackage{trivfloat}
\trivfloat{image}

\begin{document}
\begin{image}
  \centering
  \includegraphics[width=0.5\textwidth]{example-image}
  \caption{An example image}
\end{image}
\end{document}