ट्रोफ: Difference between revisions

From Vigyanwiki
No edit summary
(text)
Line 41: Line 41:
ट्रॉफ़ के साथ एनरॉफ आया (वे वास्तव में लगभग एक ही प्रोग्राम थे), जो [[लाइन प्रिंटर]] और कैरेक्टर [[कंप्यूटर टर्मिनल]]ों के लिए प्रक्षेपण तैयार करने के लिए था। इसने ट्रॉफ द्वारा की गई हर बात को समझा और उन आदेशों को उपेक्षित कर दिया जो लागू नहीं थे, जैसे, [[ टाइपफ़ेस |टाइपफ़ेस]] परिवर्तन था।
ट्रॉफ़ के साथ एनरॉफ आया (वे वास्तव में लगभग एक ही प्रोग्राम थे), जो [[लाइन प्रिंटर]] और कैरेक्टर [[कंप्यूटर टर्मिनल]]ों के लिए प्रक्षेपण तैयार करने के लिए था। इसने ट्रॉफ द्वारा की गई हर बात को समझा और उन आदेशों को उपेक्षित कर दिया जो लागू नहीं थे, जैसे, [[ टाइपफ़ेस |टाइपफ़ेस]] परिवर्तन था।


'''ओस्सन्ना का ट्रॉफ''' पीडीपी-11 असेंबली भाषा में लिखा गया था और विशेष रूप से कैट [[फोटोटाइपसेटर]] के लिए प्रक्षेपण तैयार किया गया था। उन्होंने इसे C (प्रोग्रामिंग भाषा) में फिर से लिखा, हालाँकि अब यह बिना टिप्पणी वाले कोड की 7000 पंक्तियाँ थी और अभी भी सीएटी पर निर्भर थी। चूँकि सीएटी कम आम हो गया था, और अब निर्माता द्वारा समर्थित नहीं था, इसलिए इसे अन्य उपकरणों का समर्थन करने की आवश्यकता प्राथमिकता बन गई। यह कार्य पूरा होने से पहले ही ओस्सन्ना की मृत्यु हो गई, इसलिए [[ब्रायन कर्निघन]] ने ट्रॉफ को फिर से लिखने का कार्य संभाला। नए पुनर्लिखित संस्करण ने एक डिवाइस-स्वतंत्र कोड तैयार किया जो पोस्ट-प्रोसेसरों के लिए उपयुक्त प्रिंटर कोड को पढ़ना और अनुवाद करना बहुत आसान था। इसके अलावा, ट्रॉफ़ के इस नए संस्करण (जिसे अक्सर डिवाइस स्वतंत्र ट्रॉफ़ के लिए 'डिट्रॉफ़' कहा जाता है) में कई एक्सटेंशन थे, जिनमें ड्राइंग फ़ंक्शन सम्मिलित थे।<ref>B. W. Kernighan.  ''A Typesetter-Independent TROFF''. CSTR #97, Bell Labs, 1981, revised March 1982.</ref> प्रोग्राम का डॉक्यूमेंट डिट्रॉफ़ के प्रक्षेपण स्वरूप को परिभाषित करता है, जिसका उपयोग जीएनयू [[ग्रॉफ़ (सॉफ़्टवेयर)]] जैसे कई आधुनिक ट्रॉफ़ क्लोन द्वारा किया जाता है।
ओस्सन्ना का ट्रॉफ पीडीपी-11 असेंबली भाषा में लिखा गया था और विशेष रूप से कैट [[फोटोटाइपसेटर]] के लिए प्रक्षेपण तैयार किया गया था। उन्होंने इसे C (प्रोग्रामिंग भाषा) में फिर से लिखा, हालाँकि अब यह बिना टिप्पणी वाले कूट की 7000 पंक्तियाँ थी और अभी भी सीएटी पर निर्भर थी। चूँकि सीएटी कम सामान्य हो गया था, और अब निर्माता द्वारा समर्थित नहीं था, इसलिए इसे अन्य उपकरणों का समर्थन करने की आवश्यकता प्राथमिकता बन गई। यह कार्य पूरा होने से पहले ही ओस्सन्ना की मृत्यु हो गई, इसलिए [[ब्रायन कर्निघन]] ने ट्रॉफ को फिर से लिखने का कार्य संभाला। नए पुनर्लिखित संस्करण ने एक उपकरण-स्वतंत्र कूट तैयार किया जो पश्च संसाधित्र के लिए उपयुक्त प्रिंटर कूट को पढ़ना और अनुवाद करना बहुत आसान था। इसके अतिरिक्त, ट्रॉफ़ के इस नए संस्करण (जिसे प्रायः उपकरण स्वतंत्र ट्रॉफ़ के लिए 'डिट्रॉफ़' कहा जाता है) में कई विस्तारण थे, जिनमें ड्राइंग फलन सम्मिलित थे। <ref>B. W. Kernighan.  ''A Typesetter-Independent TROFF''. CSTR #97, Bell Labs, 1981, revised March 1982.</ref> प्रोग्राम का डॉक्यूमेंट डिट्रॉफ़ के प्रक्षेपण स्वरूप को परिभाषित करता है, जिसका उपयोग जीएनयू [[ग्रॉफ़ (सॉफ़्टवेयर)]] जैसे कई आधुनिक ट्रॉफ़ प्रतिरूप द्वारा किया जाता है।


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


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


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


सॉफ्टवेयर को 1990 में जीएनयू के नॉट यूनिक्स सिस्टम के लिए ग्रॉफ (सॉफ्टवेयर) के रूप में फिर से लागू किया गया था। इसके अलावा, [[प्राचीन यूनिक्स]] सिस्टम के [[ खुला स्रोत सॉफ्टवेयर ]] के साथ-साथ डिट्रॉफ-आधारित ओपन-सोर्स्ड संस्करणों जैसे आधुनिक उत्तराधिकारी भी पाए गए। बेल लैब्स के [[ ओपनसोलर ]] और प्लान 9 पर, एटी एंड टी ट्रॉफ (सीएटी और डिट्रॉफ-आधारित) के कई संस्करण हैं<ref>See the man page of the ditroff -> postscript converter on OpenSolaris: {{man|1|dpost|OpenSolaris}}</ref>) विभिन्न ओपन-सोर्स लाइसेंस के तहत उपलब्ध है।
सॉफ्टवेयर को 1990 में जीएनयू के नॉट यूनिक्स सिस्टम के लिए ग्रॉफ (सॉफ्टवेयर) के रूप में फिर से लागू किया गया था। इसके अतिरिक्त, [[प्राचीन यूनिक्स]] सिस्टम के [[ खुला स्रोत सॉफ्टवेयर |विवृत स्रोत सॉफ्टवेयर]] के साथ-साथ डिट्रॉफ-आधारित विवृत-स्रोत संस्करणों जैसे आधुनिक उत्तराधिकारी भी पाए गए। बेल लैब्स के [[ ओपनसोलर |ओपनसोलर]] और प्लान 9 पर, एटी एंड टी ट्रॉफ (सीएटी और डिट्रॉफ-आधारित) के कई संस्करण हैं <ref>See the man page of the ditroff -> postscript converter on OpenSolaris: {{man|1|dpost|OpenSolaris}}</ref>) विभिन्न विवृत-स्रोत विज्ञप्ति के अंतर्गत उपलब्ध है।


== मैक्रोज़ ==
== मैक्रो ==
ट्रॉफ़ में मैक्रोज़ सम्मिलित हैं जो डॉक्यूमेंट को संसाधित करना शुरू करने से पहले चलाए जाते हैं। इन मैक्रोज़ में पेज हेडर और फ़ुटर सेट करना, नए कमांड को परिभाषित करना और प्रक्षेपण को कैसे स्वरूपित किया जाएगा इसे प्रभावित करना सम्मिलित है। मैक्रो सेट को सम्मिलित करने के लिए [[कमांड-लाइन तर्क]] ''-एम''नाम है, जिसके कारण कई मैक्रो सेट को अग्रणी एम के साथ बेस संचिका नाम के रूप में जाना जाता है।{{CN|date=August 2022}}
ट्रॉफ़ में मैक्रोज़ सम्मिलित हैं जो डॉक्यूमेंट को संसाधित करना प्रारम्भ करने से पहले चलाए जाते हैं। इन मैक्रोज़ में पेज हेडर और फ़ुटर सेट करना, नए कमांड को परिभाषित करना और प्रक्षेपण को कैसे स्वरूपित किया जाएगा इसे प्रभावित करना सम्मिलित है। मैक्रो सेट को सम्मिलित करने के लिए [[कमांड-लाइन तर्क]] ''-एम''नाम है, जिसके कारण कई मैक्रो सेट को अग्रणी एम के साथ आधार संचिका नाम के रूप में जाना जाता है।


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


* यूनिक्स मैनुअल पेज बनाने के लिए आदमी<ref>{{cite web |title=-मैन मैक्रोज़ के साथ UNIX मैनुअल पेज लिखना और फ़ॉर्मेट करना|url=http://home.fnal.gov/~mengel/man_page_notes.html |website=home.fnal.gov |access-date=7 May 2019}}</ref><ref>{{man|7|man|ManKier}}</ref>
* यूनिक्स मैनुअल पेज बनाने के लिए '''एमएएन''' <ref>{{cite web |title=-मैन मैक्रोज़ के साथ UNIX मैनुअल पेज लिखना और फ़ॉर्मेट करना|url=http://home.fnal.gov/~mengel/man_page_notes.html |website=home.fnal.gov |access-date=7 May 2019}}</ref><ref>{{man|7|man|ManKier}}</ref>
* शब्दार्थ-एनोटेटेड यूनिक्स मैनुअल पृष्ठों के लिए mdoc, जो अन्य प्रारूपों में [[mandoc]] रूपांतरण के लिए बेहतर रूप से अनुकूलित हैं।<ref>{{man|7|mdoc|FreeBSD}}</ref><ref>{{cite web |title=सूचकांक - मैंडॉक विस्तारित दस्तावेज़ीकरण|url=http://mandoc.bsd.lv/mdoc/ |website=Mandoc |access-date=7 May 2019}}</ref> <code>mandoc</code> एक फ़्यूज़न है जो मैन्युअल कमांड के दोनों सेटों का समर्थन करता है।<ref name=tmac/>* शोध पत्र तैयार करने के लिए मुझे<ref>{{man|7|groff_me|ManKier}}</ref>
* शब्दार्थ-एनोटेटेड यूनिक्स मैनुअल पृष्ठों के लिए '''एमडीओसी''', जो अन्य प्रारूपों में [[mandoc|एमएएनडीओसी]] रूपांतरण के लिए बेहतर रूप से अनुकूलित हैं।<ref>{{man|7|mdoc|FreeBSD}}</ref><ref>{{cite web |title=सूचकांक - मैंडॉक विस्तारित दस्तावेज़ीकरण|url=http://mandoc.bsd.lv/mdoc/ |website=Mandoc |access-date=7 May 2019}}</ref> <code>mandoc</code> एक सम्मिश्रण है जो अयांत्रिक कमांड के दोनों सेटों का समर्थन करता है। <ref name=tmac/>
* [[ज्ञापन]] बनाने के लिए मिमी<ref>{{man|7|groff_mm|ManKier}}</ref>
*शोध पत्र तैयार करने के लिए '''एमई''' <ref>{{man|7|groff_me|ManKier}}</ref>
* किताबें, रिपोर्ट और तकनीकी दस्तावेज बनाने के लिए एमएस<ref>{{man|7|groff_ms|ManKier}}</ref>
* [[ज्ञापन]] बनाने के लिए '''एमएम''' <ref>{{man|7|groff_mm|ManKier}}</ref>
उपलब्ध मैक्रोज़ की अधिक विस्तृत सूची आमतौर पर इसमें सूचीबद्ध की जाती है <code>tmac(5)</code> [[मैनुअल पेज]].<ref name=tmac>{{man|5|groff_tmac|ManKier}}</ref>
* किताबें, रिपोर्ट और तकनीकी दस्तावेज बनाने के लिए '''एमएस''' <ref>{{man|7|groff_ms|ManKier}}</ref>
उपलब्ध मैक्रोज़ की अधिक विस्तृत सूची सामान्यतः <code>tmac(5)</code> [[मैनुअल पेज|अयांत्रिक पेज]] में सूचीबद्ध की जाती है। <ref name=tmac>{{man|5|groff_tmac|ManKier}}</ref>




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


* eqn (सॉफ्टवेयर) प्रीप्रोसेसर गणितीय सूत्रों को सरल और सहज तरीके से निर्दिष्ट करने की अनुमति देता है।<ref>B. W. Kernighan and Lorinda L. Cherry.  ''A System for Typesetting Mathematics''. CSTR #17, Bell Labs, May 1974.</ref>
* ईक्यूएन (सॉफ्टवेयर) प्रीप्रोसेसर गणितीय सूत्रों को सरल और सहज तरीके से निर्दिष्ट करने की अनुमति देता है। <ref>B. W. Kernighan and Lorinda L. Cherry.  ''A System for Typesetting Mathematics''. CSTR #17, Bell Labs, May 1974.</ref>
* [[tbl]] तालिकाओं को फ़ॉर्मेट करने के लिए एक प्रीप्रोसेसर है।
* [[tbl|टीबीएल]] तालिकाओं को फ़ॉर्मेट करने के लिए एक प्रीप्रोसेसर है।
* संदर्भ (सॉफ्टवेयर) (और समान प्रोग्राम बिब) एक ग्रंथ सूची डेटाबेस के अनुसार डॉक्यूमेंट में उद्धरणों को संसाधित करता है।
* आरईएफईआर (सॉफ्टवेयर) (और समान प्रोग्राम बिब) एक ग्रंथ सूची डेटाबेस के अनुसार डॉक्यूमेंट में उद्धरणों को संसाधित करता है।


तीन प्रीप्रोसेसर चित्र का वर्णन करने के लिए एक [[डोमेन-विशिष्ट भाषा]] को परिभाषित करके ड्राइंग क्षमताओं के साथ ट्रॉफ़ प्रदान करते हैं।
तीन प्रीप्रोसेसर चित्र का वर्णन करने के लिए एक [[डोमेन-विशिष्ट भाषा|कार्यछेत्र-विशिष्ट भाषा]] को परिभाषित करके ड्राइंग क्षमताओं के साथ ट्रॉफ़ प्रदान करते हैं।
* [[ तस्वीर (सॉफ्टवेयर) ]] एक [[प्रक्रियात्मक प्रोग्रामिंग भाषा]] है जो सर्कल और बॉक्स जैसे विभिन्न ड्राइंग फ़ंक्शन प्रदान करती है।<ref>B. W. Kernighan.  ''PIC — A Graphics Language for Typesetting (Revised User Manual)''.  CSTR #116, Bell Labs, December 1984.</ref>
* [[ तस्वीर (सॉफ्टवेयर) |पीआईसी (सॉफ्टवेयर)]] एक [[प्रक्रियात्मक प्रोग्रामिंग भाषा]] है जो वृत्त और बॉक्स जैसे विभिन्न ड्राइंग फलन प्रदान करती है। <ref>B. W. Kernighan.  ''PIC — A Graphics Language for Typesetting (Revised User Manual)''.  CSTR #116, Bell Labs, December 1984.</ref>
* आदर्श चित्रों को चित्रित करने की अनुमति देता है [[घोषणात्मक प्रोग्रामिंग]], इसके निविष्ट द्वारा वर्णित वैक्टर और परिवर्तनों के आधार पर एक साथ समीकरणों की एक प्रणाली को हल करके चित्र प्राप्त करना।<ref>C. J. Van Wyk.  ''IDEAL User's Manual''. CSTR #103, Bell Labs, December 1981.</ref>
* आइडियल चित्रों को [[घोषणात्मक प्रोग्रामिंग]] रूप से चित्रित करने की अनुमति देता है, इसके निविष्ट द्वारा वर्णित सदिश और परिवर्तनों के आधार पर एक साथ समीकरणों की एक प्रणाली को हल करके चित्र प्राप्त करना है। <ref>C. J. Van Wyk.  ''IDEAL User's Manual''. CSTR #103, Bell Labs, December 1981.</ref>
* जीआरएन प्रारंभिक ग्राफिक्स वर्कस्टेशन द्वारा परिभाषित ग्रेमलिन (संचिका प्रारूप) के आधार पर, पूर्ण निर्देशांक पर खींचे गए ग्राफिकल तत्वों के माध्यम से चित्रों का वर्णन करता है।<ref>grn — groff preprocessor for gremlin files [http://www.unix.com/man-page/All/1/grn/].</ref>
* जीआरएन प्रारंभिक ग्राफिक्स वर्कस्टेशन द्वारा परिभाषित ग्रेमलिन (संचिका प्रारूप) के आधार पर, पूर्ण निर्देशांक पर खींचे गए आलेखी तत्वों के माध्यम से चित्रों का वर्णन करता है। <ref>grn — groff preprocessor for gremlin files [http://www.unix.com/man-page/All/1/grn/].</ref>
फिर भी अधिक प्रीप्रोसेसर तस्वीर के लिए प्रक्षेपण उत्पन्न करके अधिक जटिल चित्र बनाने की अनुमति देते हैं।
फिर भी अधिक प्रीप्रोसेसर तस्वीर के लिए प्रक्षेपण उत्पन्न करके अधिक जटिल चित्र बनाने की अनुमति देते हैं।
* ग्रैप [[तितर बितर भूखंडों]] और [[हिस्टोग्राम]] की तरह [[चार्ट]] बनाता है।<ref>J. L. Bentley and B. W. Kernighan.  ''GRAP — A Language for Typesetting Graphs (Tutorial and User Manual)''. CSTR #114, Bell Labs, August 1984.</ref>
* ग्रैप [[तितर बितर भूखंडों|स्कैटर प्लॉट्स]] और [[हिस्टोग्राम]] की तरह [[चार्ट|आरेख]] बनाता है। <ref>J. L. Bentley and B. W. Kernighan.  ''GRAP — A Language for Typesetting Graphs (Tutorial and User Manual)''. CSTR #114, Bell Labs, August 1984.</ref>
* रसायन [[संरचनात्मक सूत्र]] बनाता है।<ref>J. L. Bentley, L. W. Jelinski, and B. W. Kernighan. ''CHEM — A Program for Typesetting Chemical Structure Diagrams''. CSTR #122, Computers and Chemistry, Bell Labs, April 1986.</ref>
* रसायन [[संरचनात्मक सूत्र]] बनाता है। <ref>J. L. Bentley, L. W. Jelinski, and B. W. Kernighan. ''CHEM — A Program for Typesetting Chemical Structure Diagrams''. CSTR #122, Computers and Chemistry, Bell Labs, April 1986.</ref>
* dformat [[पंक्ति (डेटाबेस)]]|रिकॉर्ड-आधारित डेटा संरचनाएँ बनाता है।<ref>J. L. Bentley.  ''DFORMAT — A Program for Typesetting Data Formats''. CSTR #142, Bell Labs, April 1988.</ref>
* डीफॉर्मेट [[पंक्ति (डेटाबेस)]] रिकॉर्ड-आधारित डेटा संरचनाएँ बनाता है। <ref>J. L. Bentley.  ''DFORMAT — A Program for Typesetting Data Formats''. CSTR #142, Bell Labs, April 1988.</ref>




Line 85: Line 86:
*[[डेस्कटॉप प्रकाशन]]
*[[डेस्कटॉप प्रकाशन]]
*[[डॉकबुक]]
*[[डॉकबुक]]
*ग्रॉफ़ (सॉफ़्टवेयर) जीएनयू ट्रॉफ़/एनरॉफ़ प्रतिस्थापन
*आरेख (सॉफ़्टवेयर) जीएनयू ट्रॉफ़/एनरॉफ़ प्रतिस्थापन
*नरोफ़
*नरोफ़
*[[एसजीएमएल]]
*[[एसजीएमएल]]
*[[TeX]]
*[[TeX|टीईएक्स]]
*[[लेखक (मार्कअप भाषा)]]
*[[लेखक (मार्कअप भाषा)|स्क्राइब (मार्कअप भाषा)]]


==संदर्भ==
==संदर्भ==
Line 101: Line 102:
* [http://heirloom.sourceforge.net/doctools.html OpenSolaris-derived port of ट्रोफ and related programs]
* [http://heirloom.sourceforge.net/doctools.html OpenSolaris-derived port of ट्रोफ and related programs]
* [https://9p.io/sys/doc/troff.ps User manual for the Plan 9 edition of ट्रोफ] (In PostScript format)
* [https://9p.io/sys/doc/troff.ps User manual for the Plan 9 edition of ट्रोफ] (In PostScript format)
* [http://www.darwinsys.com/history/hist.html A History of UNIX before Berkeley] section 3 describes the history of रोफ, एनरॉफ, ट्रोफ, diट्रोफ, tbl, eqn, and more.
* [http://www.darwinsys.com/history/hist.html A History of यूनिक्स before Berkeley] section 3 describes the history of रोफ, एनरॉफ, ट्रोफ, diट्रोफ, tbl, eqn, and more.
* The original source code of एनरॉफ, ट्रोफ and the preprocessors from AT&T Bell Labs in form of the [https://github.com/n-t-roff/DWB3.3 Documenter's Workbench (DWB) Release 3.3] (ported to current UNIX systems from http://www2.research.att.com/sw/download)
* The original source code of एनरॉफ, ट्रोफ and theप्रीप्रोसेसरs from AT&T Bell Labs in form of the [https://github.com/n-t-roff/DWB3.3 Documenter's Workbench (DWB) Release 3.3] (ported to current यूनिक्स systems from http://www2.research.att.com/sw/download)


{{Document markup languages}}
{{Document markup languages}}

Revision as of 09:00, 5 July 2023

troff
Original author(s)Joe Ossanna
Developer(s)AT&T Bell Laboratories
Written inC
Operating systemUnix, Unix-like, Plan 9
PlatformCross-platform
TypeCommand
LicensePlan 9: MIT License

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

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

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

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

इतिहास

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

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

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

जब उन्हें अधिक विभक्तिग्राही भाषा की आवश्यकता हुई, तो रोफ का एक नया संस्करण एनरॉफ (नया रोफ) लिखा गया, जिसने भविष्य के सभी संस्करणों के लिए आधार प्रदान किया। जब उन्हें सीएटी (फोटोटाइपसेटर) मिला, तो ओस्सन्ना ने कई फ़ॉन्ट और प्रोपोर्शन का समर्थन करने के लिए एनरॉफ को संशोधित किया। टाइपसेटर रॉफ़ के लिए डब किया गया ट्रॉफ़, इसके परिष्कृत प्रक्षेपण ने टाइपसेटर निर्माता और भ्रमित सहकर्मी समीक्षकों को आश्चर्यचकित कर दिया, जिन्होंने सोचा था कि ट्रॉफ़ का उपयोग करने वाली पांडुलिपियाँ पहले प्रकाशित की गई थीं। [2][3] जैसे, ट्रॉफ़ नाम का उच्चारण किया जाता है /ˈtrɒf/ इसके स्थान पर */ˈtrɒf/ है।

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

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

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

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

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

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

मैक्रो

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

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

  • यूनिक्स मैनुअल पेज बनाने के लिए एमएएन [6][7]
  • शब्दार्थ-एनोटेटेड यूनिक्स मैनुअल पृष्ठों के लिए एमडीओसी, जो अन्य प्रारूपों में एमएएनडीओसी रूपांतरण के लिए बेहतर रूप से अनुकूलित हैं।[8][9] mandoc एक सम्मिश्रण है जो अयांत्रिक कमांड के दोनों सेटों का समर्थन करता है। [10]
  • शोध पत्र तैयार करने के लिए एमई [11]
  • ज्ञापन बनाने के लिए एमएम [12]
  • किताबें, रिपोर्ट और तकनीकी दस्तावेज बनाने के लिए एमएस [13]

उपलब्ध मैक्रोज़ की अधिक विस्तृत सूची सामान्यतः tmac(5) अयांत्रिक पेज में सूचीबद्ध की जाती है। [10]


प्रीप्रोसेसर

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

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

तीन प्रीप्रोसेसर चित्र का वर्णन करने के लिए एक कार्यछेत्र-विशिष्ट भाषा को परिभाषित करके ड्राइंग क्षमताओं के साथ ट्रॉफ़ प्रदान करते हैं।

  • पीआईसी (सॉफ्टवेयर) एक प्रक्रियात्मक प्रोग्रामिंग भाषा है जो वृत्त और बॉक्स जैसे विभिन्न ड्राइंग फलन प्रदान करती है। [15]
  • आइडियल चित्रों को घोषणात्मक प्रोग्रामिंग रूप से चित्रित करने की अनुमति देता है, इसके निविष्ट द्वारा वर्णित सदिश और परिवर्तनों के आधार पर एक साथ समीकरणों की एक प्रणाली को हल करके चित्र प्राप्त करना है। [16]
  • जीआरएन प्रारंभिक ग्राफिक्स वर्कस्टेशन द्वारा परिभाषित ग्रेमलिन (संचिका प्रारूप) के आधार पर, पूर्ण निर्देशांक पर खींचे गए आलेखी तत्वों के माध्यम से चित्रों का वर्णन करता है। [17]

फिर भी अधिक प्रीप्रोसेसर तस्वीर के लिए प्रक्षेपण उत्पन्न करके अधिक जटिल चित्र बनाने की अनुमति देते हैं।


यह भी देखें

संदर्भ

  1. Kernighan, B. W. (October 2019). Unix: A History and a Memoir. Kindle Direct Publishing. p. 42. ISBN 9781695978553.
  2. J. F. Ossanna. Nroff/Troff User's Manual. CSTR #54, Bell Labs, 1976. Revised by B. W. Kernighan, 1992.
  3. McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
  4. B. W. Kernighan. A Typesetter-Independent TROFF. CSTR #97, Bell Labs, 1981, revised March 1982.
  5. See the man page of the ditroff -> postscript converter on OpenSolaris: dpost(1) – illumos and OpenSolaris User Commands Reference Manual from latest Sun based OpenSolaris
  6. "-मैन मैक्रोज़ के साथ UNIX मैनुअल पेज लिखना और फ़ॉर्मेट करना". home.fnal.gov. Retrieved 7 May 2019.
  7. man(7) – Linux Miscellanea Manual
  8. mdoc(7) – FreeBSD Miscellaneous Information Manual
  9. "सूचकांक - मैंडॉक विस्तारित दस्तावेज़ीकरण". Mandoc. Retrieved 7 May 2019.
  10. 10.0 10.1 groff_tmac(5) – Linux File Formats Manual
  11. groff_me(7) – Linux Miscellanea Manual
  12. groff_mm(7) – Linux Miscellanea Manual
  13. groff_ms(7) – Linux Miscellanea Manual
  14. B. W. Kernighan and Lorinda L. Cherry. A System for Typesetting Mathematics. CSTR #17, Bell Labs, May 1974.
  15. B. W. Kernighan. PIC — A Graphics Language for Typesetting (Revised User Manual). CSTR #116, Bell Labs, December 1984.
  16. C. J. Van Wyk. IDEAL User's Manual. CSTR #103, Bell Labs, December 1981.
  17. grn — groff preprocessor for gremlin files [1].
  18. J. L. Bentley and B. W. Kernighan. GRAP — A Language for Typesetting Graphs (Tutorial and User Manual). CSTR #114, Bell Labs, August 1984.
  19. J. L. Bentley, L. W. Jelinski, and B. W. Kernighan. CHEM — A Program for Typesetting Chemical Structure Diagrams. CSTR #122, Computers and Chemistry, Bell Labs, April 1986.
  20. J. L. Bentley. DFORMAT — A Program for Typesetting Data Formats. CSTR #142, Bell Labs, April 1988.


बाहरी संबंध