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

सारांश

यह पाठ सिखाता है कि कई लेखक मिलकर एक दस्तावेज़ कैसे लिखें, बिना कोई काम खोए और बिना संस्करणों को आपस में उलझाए। यह समझाता है कि ईमेल से संस्करणों का आदान-प्रदान क्यों विफल होता है और सादे पाठ (plain text) में लिखा स्रोत पंक्ति-दर-पंक्ति बदलावों की तुलना करना और उन्हें मिलाना क्यों संभव बनाता है; Overleaf को एक साझा ऑनलाइन संपादक के रूप में प्रस्तुत करता है, जिसमें प्रोजेक्ट में आमंत्रण, एक साथ संपादन, टिप्पणियाँ, बदलावों का ट्रैकिंग, लेबल किए गए संस्करणों वाला इतिहास, LuaLaTeX का चुनाव और किसी स्थानीय प्रोजेक्ट को अपलोड करना शामिल है; LaTeX प्रोजेक्ट में Git का न्यूनतम कार्य-प्रवाह सिखाता है, जिसमें .gitignore फ़ाइल, हर पंक्ति में एक वाक्य लिखना और .tex फ़ाइल में किसी टकराव को सुलझाना शामिल है, और यह सब एक परीक्षण रिपॉज़िटरी के वास्तविक आउटपुट के साथ; Overleaf के Git एकीकरण और GitHub के साथ उसके सिंक्रनाइज़ेशन का वर्णन करता है; उन परिपाटियों को एक साथ रखता है जिन पर किसी टीम को सहमत होना चाहिए; और latexdiff के साथ समाप्त होता है, जो दो संस्करणों के बीच के बदलावों को चिह्नित करके एक PDF बनाता है।

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

  1. समझाना कि सादे पाठ वाला स्रोत कई लेखकों के काम की तुलना करना और उसे मिलाना क्यों संभव बनाता है, और किसी वर्ड प्रोसेसर की फ़ाइल यह उसी तरह क्यों नहीं कर पाती।
  2. Overleaf के किसी प्रोजेक्ट को उपयुक्त अनुमति के साथ साझा करना, टिप्पणी करना, बदलावों के ट्रैकिंग के साथ समीक्षा करना और इतिहास से कोई पिछला संस्करण वापस पाना।
  3. Git से किसी LaTeX प्रोजेक्ट को चलाना: रिपॉज़िटरी आरंभ करना, बदलाव कमिट करना, इतिहास और अंतर पढ़ना, और उसे किसी रिमोट के साथ सिंक्रनाइज़ करना।
  4. ऐसी .gitignore लिखना जो सहायक फ़ाइलों को बाहर रखे, पर दस्तावेज़ को जिसकी ज़रूरत है उसे बाहर न रखे।
  5. पहले से बताना कि दो एक साथ हुए बदलाव कब टकराव पैदा करते हैं, और .tex फ़ाइल में उसे सुलझाकर जाँचना कि दस्तावेज़ कंपाइल होता है और वही कहता है जो उसे कहना चाहिए।
  6. टीम में एक साझा प्रस्तावना, एक साझा ग्रंथसूची आधार, फ़ाइलों में विभाजन और लेबलों की एक परिपाटी पर सहमत होना, और latexdiff से ऐसा PDF बनाना जो दो संस्करणों के बीच के बदलाव दिखाए।

कई लोगों का मिलकर लिखना कठिन क्यों है

टीम में लिखने का सबसे आम तरीका सबसे नाज़ुक भी है: एक लेखक फ़ाइल ईमेल से भेजता है, दूसरा उसे सुधारकर नए नाम से लौटा देता है, और कुछ हफ़्तों बाद फ़ोल्डर में रिपोर्ट-अंतिम.docx, रिपोर्ट-अंतिम-2.docx और रिपोर्ट-अंतिम-आना-के-सुधार.docx पड़ी होती हैं। अगर दो लेखकों ने एक ही समय में एक ही संस्करण पर काम किया, तो किसी को एक के बदलाव हाथ से दूसरे की फ़ाइल में ले जाने पड़ते हैं, और इस स्थानांतरण में जो भूल जाता है वह किसी के ध्यान में आए बिना खो जाता है। वर्ड प्रोसेसर तुलना करने में मदद नहीं करता, क्योंकि उसकी फ़ाइल पढ़ने योग्य पाठ नहीं, बल्कि एक संपीड़ित पैकेज है जिसमें सामग्री और स्वरूपण घुले-मिले होते हैं; उसमें तुलना के उपकरण हैं, पर वे काम की दो स्वतंत्र धाराओं को अपने-आप मिलाने नहीं देते।

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