ट्रोफ

मोड़, टाइपसेटर रॉफ़ का संक्षिप्त रूप, यूनिक्स ऑपरेटिंग सिस्टम के लिए बेल लैब्स द्वारा विकसित दस्तावेज़ प्रसंस्करण प्रणाली का प्रमुख घटक है। ट्रॉफ़ और संबंधित एनरॉफ़ दोनों मूल रॉफ़ (सॉफ़्टवेयर) से विकसित किए गए थे।

जबकि nroff का उद्देश्य टर्मिनलों और लाइन प्रिंटर पर आउटपुट का उत्पादन करना था, troff का उद्देश्य टाइप बैठना  सिस्टम पर आउटपुट का उत्पादन करना था, विशेष रूप से CAT (फोटोटाइपसेटर) जिसे 1972 में पेश किया गया था। दोनों ने समान अंतर्निहित मार्कअप भाषा का उपयोग किया और एक एकल स्रोत फ़ाइल सामान्य रूप से काम कर सकती थी nroff या troff द्वारा बिना परिवर्तन के उपयोग किया जा सकता है।

ट्रॉफ़ फ़ॉन्ट, रिक्ति, पैराग्राफ, मार्जिन, फ़ुटनोट और बहुत कुछ निर्दिष्ट करने के लिए कमांड की सुविधा देता है। कई अन्य टेक्स्ट फ़ॉर्मेटरों के विपरीत, ट्रॉफ़ किसी पृष्ठ पर वर्णों को मनमाने ढंग से रख सकता है, यहां तक ​​कि उन्हें ओवरलैप भी कर सकता है, और इसमें पूरी तरह से प्रोग्राम करने योग्य इनपुट भाषा है। तालिकाओं, आरेखों और गणित के अधिक सुविधाजनक उत्पादन के लिए अलग-अलग प्रीप्रोसेसरों का उपयोग किया जाता है। ट्रॉफ़ के इनपुट सादे पाठ फ़ाइलें हैं जिन्हें किसी भी पाठ संपादक द्वारा बनाया जा सकता है।

विभिन्न दस्तावेज़ शैलियों के लिए व्यापक #मैक्रोज़ बनाए गए हैं। 'ट्रॉफ़' के विशिष्ट वितरण में शोध पत्रों को फ़ॉर्मेट करने के लिए 'मी' मैक्रोज़, यूनिक्स यूनिक्स मैनुअल बनाने के लिए 'मैन' और 'एमडीओसी' मैक्रोज़, माउंटेबल ओवरहेड प्रोजेक्टर बनाने के लिए 'एमवी' मैक्रोज़ और 'एमएस' और 'एमएम' शामिल हैं। ' पत्रों, पुस्तकों, तकनीकी ज्ञापनों और रिपोर्टों के लिए मैक्रोज़।

इतिहास
ट्रॉफ़ की उत्पत्ति का पता RUNOFF नामक पाठ स्वरूपण कंप्यूटर प्रोग्राम से लगाया जा सकता है, जिसे 1960 के दशक के मध्य में मैसाचुसेट्स की तकनीकी संस्था के संगत समय-साझाकरण प्रणाली ऑपरेटिंग सिस्टम के लिए जेरोम एच. साल्टज़र द्वारा लिखा गया था। (यह नाम कथित तौर पर इस वाक्यांश से आया है कि मैं एक दस्तावेज़ चलाऊंगा।)

रॉबर्ट मॉरिस (क्रिप्टोग्राफर) ने इसे GE 635 आर्किटेक्चर में पोर्ट किया और प्रोग्राम को roff (सॉफ़्टवेयर) (रनऑफ़ का संक्षिप्त नाम) कहा। इसे पीडीपी-7 के लिए आरएफ (कार्यक्रम)  के रूप में फिर से लिखा गया था, और उसी समय (1969), डौग मैक्लेरॉय ने बीसीपीएल प्रोग्रामिंग भाषा में आरओएफ के एक विस्तारित और सरलीकृत संस्करण को फिर से लिखा था।

यूनिक्स का पहला संस्करण पीडीपी-7 पर विकसित किया गया था जो बेल लैब्स के आसपास स्थित था। 1971 में डेवलपर्स ऑपरेटिंग सिस्टम पर आगे काम करने के लिए पीडीपी-11 प्राप्त करना चाहते थे। इस प्रणाली की लागत को उचित ठहराने के लिए, उन्होंने प्रस्ताव दिया कि वे बेल लैब्स पेटेंट विभाग के लिए एक दस्तावेज़-स्वरूपण प्रणाली लागू करेंगे। यह पहला फ़ॉर्मेटिंग प्रोग्राम जो ओस्सन्ना|जो एफ. ओस्सन्ना द्वारा लिखित मैकिलरॉय के रॉफ़ का पुन: कार्यान्वयन था।

जब उन्हें अधिक लचीली भाषा की आवश्यकता हुई, तो roff का एक नया संस्करण nroff (नया roff) लिखा गया, जिसने भविष्य के सभी संस्करणों के लिए आधार प्रदान किया। जब उन्हें CAT (फोटोटाइपसेटर) मिला, तो ओस्सन्ना ने कई फ़ॉन्ट और टाइपफेस#प्रोपोर्शन का समर्थन करने के लिए nroff को संशोधित किया। टाइपसेटर रॉफ़ के लिए डब किया गया ट्रॉफ़, इसके परिष्कृत आउटपुट ने टाइपसेटर निर्माता और भ्रमित सहकर्मी समीक्षकों को आश्चर्यचकित कर दिया, जिन्होंने सोचा था कि ट्रॉफ़ का उपयोग करने वाली पांडुलिपियाँ पहले प्रकाशित की गई थीं। जैसे, ट्रॉफ़ नाम का उच्चारण किया जाता है इसके बजाय *.

ट्रॉफ़ के साथ nroff आया (वे वास्तव में लगभग एक ही प्रोग्राम थे), जो लाइन प्रिंटर और कैरेक्टर कंप्यूटर टर्मिनलों के लिए आउटपुट तैयार करने के लिए था। इसने ट्रॉफ द्वारा की गई हर बात को समझा और उन आदेशों को नजरअंदाज कर दिया जो लागू नहीं थे, जैसे, टाइपफ़ेस  परिवर्तन।

ओस्सन्ना का ट्रॉफ पीडीपी-11 असेंबली भाषा में लिखा गया था और विशेष रूप से कैट फोटोटाइपसेटर के लिए आउटपुट तैयार किया गया था। उन्होंने इसे C (प्रोग्रामिंग भाषा) में फिर से लिखा, हालाँकि अब यह बिना टिप्पणी वाले कोड की 7000 पंक्तियाँ थी और अभी भी CAT पर निर्भर थी। चूँकि CAT कम आम हो गया था, और अब निर्माता द्वारा समर्थित नहीं था, इसलिए इसे अन्य उपकरणों का समर्थन करने की आवश्यकता प्राथमिकता बन गई। यह कार्य पूरा होने से पहले ही ओस्सन्ना की मृत्यु हो गई, इसलिए ब्रायन कर्निघन ने ट्रॉफ को फिर से लिखने का कार्य संभाला। नए पुनर्लिखित संस्करण ने एक डिवाइस-स्वतंत्र कोड तैयार किया जो पोस्ट-प्रोसेसरों के लिए उपयुक्त प्रिंटर कोड को पढ़ना और अनुवाद करना बहुत आसान था। इसके अलावा, ट्रॉफ़ के इस नए संस्करण (जिसे अक्सर डिवाइस स्वतंत्र ट्रॉफ़ के लिए 'डिट्रॉफ़' कहा जाता है) में कई एक्सटेंशन थे, जिनमें ड्राइंग फ़ंक्शन शामिल थे। प्रोग्राम का दस्तावेज़ डिट्रॉफ़ के आउटपुट स्वरूप को परिभाषित करता है, जिसका उपयोग जीएनयू ग्रॉफ़ (सॉफ़्टवेयर) जैसे कई आधुनिक ट्रॉफ़ क्लोन द्वारा किया जाता है।

टूल के ट्रॉफ संग्रह (#प्रीप्रोसेसर- और पोस्ट-प्रोसेसर सहित) को अंततः डॉक्यूमेंटर वर्कबेंच|डॉक्यूमेंटर वर्कबेंच (डीडब्ल्यूबी) कहा गया, और 1994 तक बेल लैब्स और बाद में स्पिन-ऑफ यूनिक्स सिस्टम प्रयोगशालाएँ (यूएसएल) में निरंतर विकास के अधीन था। उस समय, सॉफ्टक्वाड ने रखरखाव का कार्यभार संभाला, हालांकि ब्रायन कर्निघन ने अपने दम पर ट्रॉफ में सुधार करना जारी रखा। इस प्रकार, मूल बेल लैब्स ट्रॉफ़ के कम से कम निम्नलिखित प्रकार उपयोग में हैं:


 * सॉफ्टक्वाड डीडब्ल्यूबी, 1994 से यूएसएल डीडब्ल्यूबी 2.0 पर आधारित;
 * प्रकाशमान सॉफ्टवेयर सॉल्यूशंस (पूर्व में यूएसएल) से डीडब्ल्यूबी 3.4;
 * ट्रॉफ़, बेल लैब्स संस्करण से योजना 9।

जबकि ट्रॉफ़ को इंटरलीफ़, फ्रेम मेकर  और कंडोम जैसे अन्य कार्यक्रमों द्वारा प्रतिस्थापित कर दिया गया है, फिर भी इसका उपयोग काफी बड़े पैमाने पर किया जा रहा है। यह UNIX मैनुअल के लिए डिफ़ॉल्ट फ़ॉर्मेटर बना हुआ है।

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

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

अग्रणी एम के साथ मानक मैक्रो सेट हैं:

उपलब्ध मैक्रोज़ की अधिक विस्तृत सूची आमतौर पर इसमें सूचीबद्ध की जाती है  मैनुअल पेज.
 * यूनिक्स मैनुअल पेज बनाने के लिए आदमी
 * शब्दार्थ-एनोटेटेड यूनिक्स मैनुअल पृष्ठों के लिए mdoc, जो अन्य प्रारूपों में mandoc रूपांतरण के लिए बेहतर रूप से अनुकूलित हैं।   एक फ़्यूज़न है जो मैन्युअल कमांड के दोनों सेटों का समर्थन करता है। * शोध पत्र तैयार करने के लिए मुझे
 * ज्ञापन बनाने के लिए मिमी
 * किताबें, रिपोर्ट और तकनीकी दस्तावेज बनाने के लिए एमएस

preprocessor
जैसे-जैसे ट्रॉफ़ विकसित हुआ, चूँकि ऐसी कई चीज़ें हैं जो ट्रॉफ़ में आसानी से नहीं की जा सकतीं, इसलिए कई प्रीप्रोसेसर विकसित किए गए। ये प्रोग्राम दस्तावेज़ के कुछ हिस्सों को ट्रॉफ़ इनपुट में बदल देते हैं, जो स्वाभाविक रूप से यूनिक्स में पाइपलाइनों के उपयोग में फिट होते हैं - एक प्रोग्राम के आउटपुट को दूसरे में इनपुट के रूप में भेजते हैं (पाइप और फिल्टर देखें)। आमतौर पर, प्रत्येक प्रीप्रोसेसर इनपुट फ़ाइल के केवल उन अनुभागों का अनुवाद करता है जो विशेष रूप से चिह्नित होते हैं, बाकी फ़ाइल को अपरिवर्तित के माध्यम से पास करते हैं। एम्बेडेड प्रीप्रोसेसिंग निर्देश एक सरल एप्लिकेशन-विशिष्ट प्रोग्रामिंग भाषा में लिखे गए हैं, जो उच्च स्तर की शक्ति और लचीलापन प्रदान करता है।


 * eqn (सॉफ्टवेयर) प्रीप्रोसेसर गणितीय सूत्रों को सरल और सहज तरीके से निर्दिष्ट करने की अनुमति देता है।
 * tbl तालिकाओं को फ़ॉर्मेट करने के लिए एक प्रीप्रोसेसर है।
 * संदर्भ (सॉफ्टवेयर) (और समान प्रोग्राम बिब) एक ग्रंथ सूची डेटाबेस के अनुसार दस्तावेज़ में उद्धरणों को संसाधित करता है।

तीन प्रीप्रोसेसर चित्र का वर्णन करने के लिए एक डोमेन-विशिष्ट भाषा को परिभाषित करके ड्राइंग क्षमताओं के साथ ट्रॉफ़ प्रदान करते हैं। फिर भी अधिक प्रीप्रोसेसर तस्वीर के लिए आउटपुट उत्पन्न करके अधिक जटिल चित्र बनाने की अनुमति देते हैं।
 * तस्वीर (सॉफ्टवेयर) एक प्रक्रियात्मक प्रोग्रामिंग भाषा है जो सर्कल और बॉक्स जैसे विभिन्न ड्राइंग फ़ंक्शन प्रदान करती है।
 * आदर्श चित्रों को चित्रित करने की अनुमति देता है घोषणात्मक प्रोग्रामिंग, इसके इनपुट द्वारा वर्णित वैक्टर और परिवर्तनों के आधार पर एक साथ समीकरणों की एक प्रणाली को हल करके चित्र प्राप्त करना।
 * जीआरएन प्रारंभिक ग्राफिक्स वर्कस्टेशन द्वारा परिभाषित ग्रेमलिन (फ़ाइल प्रारूप) के आधार पर, पूर्ण निर्देशांक पर खींचे गए ग्राफिकल तत्वों के माध्यम से चित्रों का वर्णन करता है।
 * ग्रैप तितर बितर भूखंडों और हिस्टोग्राम की तरह चार्ट बनाता है।
 * रसायन संरचनात्मक सूत्र बनाता है।
 * dformat पंक्ति (डेटाबेस)|रिकॉर्ड-आधारित डेटा संरचनाएँ बनाता है।

यह भी देखें

 * डेस्कटॉप प्रकाशन
 * डॉकबुक
 * ग्रॉफ़ (सॉफ़्टवेयर) जीएनयू ट्रॉफ़/एनरॉफ़ प्रतिस्थापन
 * नरोफ़
 * एसजीएमएल
 * TeX
 * लेखक (मार्कअप भाषा)

बाहरी संबंध

 * The Text Processor for Typesetters
 * The history of troff
 * Free troff implementation
 * OpenSolaris-derived port of troff and related programs
 * User manual for the Plan 9 edition of troff (In PostScript format)
 * A History of UNIX before Berkeley section 3 describes the history of roff, nroff, troff, ditroff, tbl, eqn, and more.
 * The original source code of nroff, troff and the preprocessors from AT&T Bell Labs in form of the Documenter's Workbench (DWB) Release 3.3 (ported to current UNIX systems from http://www2.research.att.com/sw/download)