लाइव कर्सर के बिना सहलेखक
पैच, साझा फ़ोल्डर प्लस Git, और अलग अध्याय फ़ाइलों का मालिक होना।
लाइव कर्सर के बिना सहलेखक
वास्तविक समय सहयोगात्मक संपादन, जहां आप एक सह-लेखक के कर्सर की चाल को देखते हैं, वह मॉडल क्लाउड संपादक बेचते हैं। बहुत सारे अच्छे पेपर इसके बिना लिखे जाते हैं। जब लेखक स्थानीय स्तर पर काम करते हैं, तो Git पर निर्मित अतुल्यकालिक सहयोग विश्वसनीय पैटर्न होता है: प्रत्येक व्यक्ति अपनी मशीन पर संपादन करता है, और परिवर्तन चरित्र दर चरित्र के बजाय जानबूझकर मर्ज किए जाते हैं। इसके लिए थोड़े अधिक समन्वय की आवश्यकता होती है और इसे ऑफ़लाइन कार्य, पूर्ण इतिहास और किसी के सर्वर पर कोई निर्भरता नहीं के साथ चुकाया जाता है।
रीढ़ की हड्डी के रूप में गिट
मानक सेटअप एक साझा भंडार है, आमतौर पर GitHub पर, जिसे हर कोई खींचता है और धक्का देता है। प्रत्येक लेखक सत्रों में काम करता है: नवीनतम स्थिति खींचें, लिखें, प्रतिबद्ध करें, पुश करें। क्योंकि LaTeX सादा पाठ है, Git स्वचालित रूप से पेपर के विभिन्न हिस्सों में समानांतर परिवर्तनों को मर्ज करता है, और सेटअप में कुछ मिनट लगते हैं। पेपर को GitHub पर रखें इसे कवर करता है। जब कोई सहयोगी Git होस्ट का उपयोग नहीं कर सकता है या नहीं करेगा, तो पैच उस अंतर को भर देते हैं: git प्रारूप-पैच कमिट को छोटी फ़ाइलों में बदल देता है जिन्हें आप ईमेल कर सकते हैं, और प्राप्तकर्ता उन्हें git am के साथ लागू करता है, जिससे लेखकत्व और इतिहास बरकरार रहता है। यह एक पुराना वर्कफ़्लो है, और यह अभी भी ईमेल द्वारा कहीं भी काम करता है।
एक हाइब्रिड तब भी काम करता है जब एक सह-लेखक एक सिंक किए गए फ़ोल्डर पर जोर देता है: सुविधा के लिए साझा की गई कॉपी को ड्रॉपबॉक्स या सिंकथिंग में रखें, लेकिन एक व्यक्ति को Git इतिहास बनाए रखने और मर्ज करने दें। दो लोगों के लाइव Git चेकआउट को एक ही सिंक किए गए फ़ोल्डर पर इंगित न करें, क्योंकि सिंक .git निर्देशिका भ्रष्ट रिपॉजिटरी के अंदर संघर्ष करता है।
दस्तावेज़ को फ़ाइल द्वारा विभाजित करें
जब लोग एक ही फ़ाइल को शायद ही कभी छूते हैं तो मर्ज दुर्लभ हो जाते हैं। पांडुलिपि को विभाजित करें ताकि प्रत्येक अध्याय या अनुभाग अपनी फ़ाइल में रहे, जिसे \input{chapters/methods} के साथ एक पतली main.tex से खींचा गया हो। यांत्रिकी दस्तावेज़ को फ़ाइलों में विभाजित करें में हैं। फिर स्वामित्व निर्दिष्ट करें: प्रत्येक सह-लेखक अपनी फ़ाइलों में ड्राफ्ट करता है, और एक इंटीग्रेटर नोटेशन और टोन की स्थिरता के लिए प्रस्तावना, मर्ज और अंतिम रीड को संभालता है। यह दर्शाता है कि कैसे सॉफ्टवेयर टीमें एक-दूसरे पर कदम रखने से बचती हैं, और यह उन्हीं कारणों से काम करता है।
वास्तव में क्या गलत होता है
विफलता मोड से बचने के लिए दो लोग एक ही समय की एक ही विंडो में एक ही पैराग्राफ को संपादित कर रहे हैं। Git इसे एक संघर्ष के रूप में चिह्नित करेगा, और LaTeX संघर्ष पढ़ने योग्य हैं लेकिन हल करने में कठिन हैं, इसलिए सबसे सस्ता समाधान सामाजिक है: एक त्वरित संदेश जिसमें कहा गया है कि “मैं आज परिचय में हूं” उनमें से लगभग सभी को रोकता है। दो लिखने की आदतें बाकी को कम कर देती हैं। प्रति स्रोत पंक्ति में एक वाक्य रखें, ताकि पड़ोसी वाक्यों के समानांतर संपादन बिल्कुल भी न टकराएं, और प्रत्येक लेखन सत्र से तुरंत पहले खींचें ताकि आप हमेशा नवीनतम पाठ का संपादन कर सकें।