पाठ १३

लंबे डाक्यूमेंट्स (जैसे कि थीसिस) की संरचना करना

यह पाठ यह दिखाता है कि LaTeX कैसे आपको अपने स्रोतों (sources) को छोटे और अधिक प्रबंधनीय फाइलों में विभाजित करने की सुविधा देता है, और यह लंबा डाक्यूमेंट्स तैयार करने की प्रक्रिया को कैसे आसान और तेज बना सकता है।

जब आप एक लंबा डॉक्यूमेंट लिख रहे होते हैं, तो संभवतः आप अपने स्रोत (source) को कई फाइलों में विभाजित करना चाहेंगे। उदाहरण के लिए, यह बहुत सामान्य है कि पूरे प्रोजेक्ट में कोई एक ‘मुख्य’ या ‘रूट’ फाइल हो, और फिर प्रत्येक अध्याय (यदि आप पुस्तक या शोध-प्रबंध लिख रहे हैं) या प्रत्येक महत्वपूर्ण अनुभाग (यदि आप कोई लंबा लेख लिख रहे हैं) के लिए अलग स्रोत फाइलें हो।

अपने स्रोतों की संरचना करना

LaTeX हमें नियंत्रित तरीके से स्रोतों को विभाजित करने की सुविधा देता है। यहाँ दो महत्वपूर्ण आदेश (commands) — \input और \include हैं। हम \input का उपयोग किसी फाइल को इस तरह सम्मिलित कर सकते हैं मानो वह सामग्री यहीं टाइप की गई हो; इसलिए इसे किसी भी प्रकार की सामग्री के लिए प्रयोग किया जा सकता है। \include आदेश केवल अध्यायों के लिए कार्य करता है: यह एक नया पृष्ठ शुरू करता है और कुछ आंतरिक समायोजन भी करता है। लेकिन इसका एक बड़ा लाभ यह है कि यह हमें चयन करने की अनुमति देता है कि किन अध्यायों को सम्मिलित किया जाए और किन्हें नहीं, जिससे आप पूरे डॉक्यूमेंट की बजाय केवल किसी एक भाग पर भी कार्य कर सकते हैं।

इस प्रकार, एक लंबा डॉक्यूमेंट निम्नलिखित रूप में दिख सकता है:

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}

\title{A Sample Book}
\author{John Doe \and Joe Bloggs}

\IfFileExists{\jobname.run.xml}
{
\includeonly{
  front,
%  chap1,
  chap2,
%  append
  }
}
{
% Do a full document initially to generate
% all the aux files
}

\begin{document}
\frontmatter
\include{front}

% =========================
\mainmatter
\include{chap1}
\include{chap2}
\appendix
\include{append}

% ========================
\backmatter
\printbibliography
\newpage
\input{backcover}
\end{document}

हम नीचे दी गई फाइल के विभिन्न पहलुओं को देखेंगे। (सहायक फाइलें इस पृष्ठ के अंत में दी गई हैं।)

\input का उपयोग करना

\input आदेश का उपयोग उस स्थिति में उपयुक्त होता है जब फाइल के कुछ हिस्से अलग-अलग अध्याय हों। उदाहरण में, हमने इसे सामने और पिछले कवर को अलग करने के लिए उपयोग किया है, जिससे मुख्य फाइल संक्षिप्त और स्पष्ट बनी रहती है, और इन कवरों को किसी अन्य डॉक्यूमेंट में दोबारा उपयोग किया जा सकता है। हमने अपनी ‘पुस्तक’ की शुरुआत में आने वाले ‘गैर-अध्याय’ अनुभागों (जैसे भूमिका) के लिए भी इसका उपयोग किया है। इसका उद्देश्य मुख्य फाइल को स्पष्ट बनाए रखना है।

\include और \includeonly का उपयोग करना

\include आदेश अध्यायों के लिए उपयुक्त होता है, इसलिए हमने प्रत्येक पूर्ण अध्याय के लिए इसका उपयोग किया है; यह हमेशा एक नया पृष्ठ शुरू करता है। हमारे किन अध्यायों को वास्तव में टाइपसेट किया जाएगा, इसका चयन \includeonly के माध्यम से किया है, जिसमें आप देख सकते हैं कि इसमें फाइल नामों की कॉमा से अलग की गई सूची होती है। जब आप \includeonly का उपयोग करते हैं, तो आप टाइपसेटिंग में लगने वाले समय को कम कर सकते हैं और जिस भी एकल अध्याय को आप प्रूफरीड करना चाहते हैं, उसी बस का ‘चयनित’ PDF बना सकते हैं। इसके अतिरिक्त, \includeonly का प्रमुख लाभ यह है कि LaTeX अन्य सम्मिलित फाइलों की .aux फाइलों से सभी क्रॉस-रेफरेंस जानकारी का उपयोग करता है।

विषय-सूची (Table of Contents) बनाना

\tableofcontents आदेश अनुभाग-निर्धारण (sectioning) आदेशों से प्राप्त जानकारी का उपयोग कर विषय-सूची तैयार करता है। इसकी एक अलग सहायक फाइल होती है, जिसका एक्सटेंशन .toc होता है, इसलिए इस जानकारी को पूर्ण करने के लिए आपको LaTeX को दो बार चलाना पड़ सकता है। यह सूची स्वतः ही अनुभागों के शीर्षकों से उत्पन्न होती है। इसी तरह \listoffigures और \listoftables नामक आदेश होते हैं, जो float environment की captions से कार्य करते हैं, और जिनकी सहायक फाइलें क्रमशः .lof और .lot एक्सटेंशन की होती हैं।

डॉक्यूमेंट को भागों में विभाजित करना

\frontmatter, \mainmatter और \backmatter आदेश डॉक्यूमेंट की रूपरेखा को प्रभावित करते हैं। उदाहरण के लिए, \frontmatter पृष्ठ क्रमांकन को रोमन अंकों में बदल देता है। \appendix आदेश अध्यायों के क्रम को A, B आदि में बदल देता है, इसलिए \appendix के बाद के पहले अध्याय में शीर्षक Appendix A के रूप में दिखेगा।

अभ्यास

डेमो डॉक्यूमेंट की मूल संरचना के साथ प्रयोग करें, \includeonly में प्रविष्टियाँ जोड़ें और हटाएँ और इसका प्रभाव देखें।

कुछ float जोड़ें और चित्रों तथा सारणियों की सूची बनाएँ। यदि आप स्थानीय रूप से स्थापित LaTeX का उपयोग कर रहे हैं, तो देखें कि LaTeX को कितनी बार चलाना पड़ता है? (ऑनलाइन सिस्टम पर्दे के पीछे LaTeX को कई बार पुनः चलाते हैं, इसलिए आवश्यक या अतिरिक्त रन स्पष्ट नहीं हो पाते हैं।)


front.tex

\input{frontcover}
\maketitle
\input{dedication}
\input{copyright}
\tableofcontents
\input{pref}

pref.tex

\chapter{Preface}
The preface text. See \cite{doody}.

chap1.tex

\chapter{Introduction}
The first chapter text.

chap2.tex

\chapter{Something}
The second chapter text.

append.tex

\chapter*{Appendix}
The first appendix text.

frontcover.tex

\begin{center}
The front cover
\end{center}

dedication.tex

\begin{center}
\large
For \ldots
\end{center}

copyright.tex

\begin{center}
Copyright 2020 learnlatex.
\end{center}

backcover.tex

\begin{center}
The back cover
\end{center}