पाठ ५

डॉक्यूमेंट्स के वर्ग

यह पाठ बताता है कि डॉक्यूमेंट क्लास क्या होती है और यह किसी डॉक्यूमेंट के लेआउट और डिज़ाइन को कैसे प्रभावित कर सकता है। इसमें उन प्रमुख क्लासों की सूची दी गई है जो आपको एक TeX वितरण में मिल सकती हैं।

आपने शायद ध्यान दिया होगा कि अब तक हमने जितने भी LaTeX डॉक्यूमेंट बनाए हैं, वे सभी \documentclass लाइन से शुरू हुए हैं, और उनमें से सबसे आम विकल्प \documentclass{article} रहा है। (हमें पिछले पाठ में \chapter कमांड आज़माने के लिए \documentclass{report} की आवश्यकता पड़ी थी।) यह लाइन सभी LaTeX डॉक्यूमेंट्स में आवश्यक होती है और यह लगभग हमेशा ही पहला कमांड होता है।

डॉक्यूमेंट क्लास क्या करती है?

डॉक्यूमेंट क्लास डॉक्यूमेंट के सामान्य लेआउट को निर्धारित करता है, उदाहरण के लिए:

डॉक्यूमेंट क्लास नए कमांड को भी जोड़ सकता है, खासकर उन मामलों में जहाँ विशेष आवश्यकताएँ होती हैं, जैसे कि प्रेजेंटेशन स्लाइड्स बनाना।

डॉक्यूमेंट क्लास लाइन ग्लोबल विकल्प (global options) भी सेट कर सकती है, जो पूरे दस्तावेज़ पर लागू होते हैं। ये विकल्प वर्ग कोष्ठकों (square brackets) में दिए जाते हैं: \documentclass[<options>]{<name>}

यह सिंटैक्स (syntax), जहाँ वैकल्पिक जानकारी [] कोष्ठकों द्वारा दी जाती है, LaTeX के कई कमांड में उपयोग की जाती है।

मूल एवं मानक क्लासेस

LaTeX के साथ कुछ मानक क्लासेस दी जाती हैं, जिनका रूप एक जैसा होता है लेकिन उनमें कुछ भिन्नताएँ होती हैं:

article, report और book क्लासेस में समान प्रकार के आदेश उपलब्ध होते हैं, जैसा कि पहले देखा गया है। letter लिखते समय उपलब्ध आदेश कुछ भिन्न हो जाते हैं।

\documentclass{letter}
\usepackage[T1]{fontenc}
\begin{document}

\begin{letter}{Some Address\\Some Street\\Some City}

\opening{Dear Sir or Madam,}

The text goes Here

\closing{Yours,}

\end{letter}

\end{document}

देखिए कैसे \\ का उपयोग पंक्तियों को अलग करने के लिए किया गया है; हम टेक्स्ट विभाजन को थोड़ी बाद में देखेंगे। साथ ही देखिए कैसे letter क्लास प्रत्येक लेटर अर्थात पत्र के लिए एक नया परिवेश बनाती है और विशेष आदेश प्रदान करती है।

मानक article, report और book क्लासेस फ़ॉन्ट आकार बदलने के लिए 10pt, 11pt और 12pt का विकल्प लेती हैं, और दो-स्तंभीय (two columns) का डॉक्यूमेंट बनाने के लिए twocolumn विकल्प का प्रयोग किया जाता है।

फ़ंक्शन-संपन्न क्लासेस

मूल क्लासेस अत्यंत स्थिर (stable) होती हैं, लेकिन इसका अर्थ यह भी है कि वे डिज़ाइन और उपलब्ध आदेशों की दृष्टि से काफ़ी पारंपरिक और कम बदलाव करने का विकल्प देने वाली हैं। समय के साथ कई अधिक महत्वपूर्ण क्लासेस विकसित की गई हैं, जो डिज़ाइन को मैन्युअल रूप से बदले बिना परिवर्तित करने की सुविधा देती हैं (जिसका उल्लेख हम थोड़ा बाद में करेंगे)।

American Mathematical Society ने मानक क्लासेस के कुछ रूपांतर (amsart, amsbook) प्रदान किए हैं, जिनका डिज़ाइन गणितीय शोध-पत्रिकाओं में प्रयुक्त पारंपरिक स्वरूप के अधिक निकट है।

सबसे बड़ी और लोकप्रिय ‘विस्तारित’क्लासेस में दो प्रमुख हैं — KOMA-Script बंडल और memoir क्लास। KOMA-Script एक ऐसा सेट प्रदान करता है जो मानक क्लासेस:scrartcl, scrreprt, scrbook, और scrlttr2 के समानांतर चलता है, जबकि memoir एक ऐसा एकल क्लास है जो book क्लास के विस्तार जैसी है।

इन विस्तारित क्लासेस में अनुकूलन के लिए अनेक हुक्स (hooks) होते हैं, जिन्हें हम एक अभ्यास में थोड़ा अन्वेषित करेंगे। आप सोच सकते हैं कि हम यह कैसे जान सकते हैं कि कौन-से हुक्स उपलब्ध हैं; हम इसे एक बाद के पाठ में कवर करेंगे, लेकिन आप चाहें तो पहले भी देख सकते हैं!

प्रस्तुतियाँ (Presentations)

slides क्लास 1980 के दशक के मध्य में भौतिक स्लाइड्स बनाने के लिए विकसित की गई थी, इसलिए इसमें इंटरैक्टिव PDF-आधारित प्रस्तुतियाँ बनाने की सुविधाएँ नहीं हैं। इसके लिए आधुनिक क्लासेस उपलब्ध हैं जो विशेष रूप से यही कार्य करती हैं। ये सामान्य LaTeX डाक्यूमेंट्स की तुलना में कुछ विशिष्ट होती हैं, इसलिए हमने इन्हें अतिरिक्त जानकारी में शामिल किया है।

अभ्यास

यह अन्वेषण करें कि मानक क्लासेस के बीच किसी एक क्लास का चयन करने से जैसे कि KOMA-Script बंडल और memoir, डाक्यूमेंट्स के रूप-रंग पर क्या प्रभाव पड़ता है।

\documentclass{article} % Change the class here
\usepackage[T1]{fontenc}

\begin{document}

\section{Introduction}

This is a sample document with some dummy
text\footnote{and a footnote}. This paragraph is quite
long as we might want to see the effect of making the
document have two columns.

\end{document}

twocolumn वर्ग विकल्प को जोड़ें और देखें कि लेआउट कैसे बदलता है।

ऊपर दिए गए \section को \chapter में बदलें और देखें कि scrreprt क्लास का उपयोग करते समय निम्नलिखित वर्ग विकल्पों का क्या प्रभाव पड़ता है: