8 पॉइंट द्वारा GN⁺ 2025-06-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • लेखक ने Typst का उपयोग करके अपना PhD शोधप्रबंध लिखा, और यह पारंपरिक LaTeX से अलग एक नया प्रयोग था
  • तेज़ compile speed, एकसमान और शक्तिशाली scripting language, आसान layout customization, और बेहतरीन code highlighting की वजह से दस्तावेज़ संपादन और template adjustment बहुत efficient रहे
  • bibliography management की असुविधा, LaTeX conversion की सीमाएँ, नए ecosystem के कारण template की कमी, और error messages की सीमाएँ जैसी स्पष्ट दिक्कतें और सीमाएँ मौजूद हैं
  • LaTeX के साथ compatibility, collaboration, और thesis submission में मांगे जाने वाले format support के मामले में अभी कमी है, और thesis collaboration तथा conference submission में LaTeX वास्तव में मानक है
  • जब programming flexibility और modern features की ज़रूरत हो तब Typst खास तौर पर फायदेमंद है, लेकिन beginners और standard requirements के लिए इसकी सिफारिश नहीं की जाती

PhD शोधप्रबंध Typst में लिखने की वजह

  • लेखक ने हाल ही में अपना PhD शोधप्रबंध Typst में लिखा, और पारंपरिक रूप से व्यापक रूप से इस्तेमाल होने वाले LaTeX की जगह एक नई typography language को आज़माया
  • Typst, Markdown और dynamically typed Rust-जैसे दृष्टिकोण का संयोजन है, इसलिए दस्तावेज़ लिखना LaTeX की तुलना में अधिक स्वाभाविक लगता है और scripting language के रूप में इसकी extensibility भी शानदार है
  • इसका syntax intuitive है, और code तथा document के बीच आना-जाना आसान होना इसकी खासियत है

Typst के फायदे

compile speed

  • Typst compiler बहुत तेज़ है, इसलिए दस्तावेज़ बड़ा होने पर भी real-time PDF preview संभव है
  • full build भी लगभग 15 सेकंड में पूरा हो जाता है, और content बदलते ही लगभग तुरंत परिणाम देखा जा सकता है
  • layout और style में बदलाव कुशलता से बार-बार किए जा सकते हैं, जिससे final output की गुणवत्ता बेहतर होती है

language design और script का उपयोग

  • Typst language बहुत consistent है, और Rust-आधारित design की वजह से इसकी learning curve कम है
  • LaTeX में हर package के साथ syntax consistency की कमी से जो असुविधा होती है, वह Typst में काफी हद तक दूर हो जाती है
  • TOML files को सीधे parse करके document में data को अपने-आप visualize करना संभव है, यानी programmatic use cases बहुत समृद्ध हैं
  • modern tools (compiler, dependency management, LSP आदि) के साथ integration भी इसकी बड़ी ताकत है

template और layout modification

  • Typst का template structure साफ़ है, इसलिए इसे मनचाहे ढंग से आसानी से modify और extend किया जा सकता है
  • LaTeX के जटिल template customization की तुलना में यह कहीं अधिक intuitive और तेज़ configuration अनुभव देता है

code highlighting

  • built-in syntax highlighting support की वजह से thesis के भीतर code की readability बेहतर रहती है
  • Textmate grammar का उपयोग किया जा सकता है, और regex-आधारित custom definitions भी आसानी से लागू की जा सकती हैं
  • script के जरिए parser खुद लिखकर खास syntax highlighting पर भी प्रयोग किया गया

error messages

  • LaTeX की तुलना में यह error की location और कारण अधिक स्पष्ट रूप से दिखाता है, जिससे समस्या सुलझाने में लगने वाला समय काफी कम हो जाता है
  • बेकार terminal output नहीं आता, और error information वास्तव में उपयोगी होती है

Typst की कमियाँ

bibliography management

  • पूरे thesis में केवल एक ही bibliography supported है, इसलिए chapter-wise या thesis में शामिल अलग-अलग papers के लिए अलग bibliography files का उपयोग नहीं किया जा सकता
  • Bibtex variables जैसी advanced features का support कमज़ोर है, इसलिए Makefile से manual integration करना पड़ता है
  • package (Alexandria) के जरिए आंशिक समाधान संभव है, लेकिन usability और automation का स्तर कम है
  • citation style conversion, field mapping आदि में fine-grained adjustment अधूरा है, और manual work अपरिहार्य हो जाता है
  • bibliography fields, Bibtex standard से अलग हैं, इसलिए परिणामों में अंतर आता है

error messages की सीमाएँ

  • जटिल मामलों में (जैसे Alexandria का उपयोग करते समय), ठोस error explanation के बिना सिर्फ़ साधारण failure message दिखाई देता है
  • state-based show rule जैसी चीज़ों में error की location trace करना मुश्किल होता है, और debugging की कठिनाई बढ़ जाती है
  • कुछ layout-related warnings में कारण को आसानी से पहचानना संभव नहीं होता

जटिल वास्तविकता: compatibility और ecosystem

LaTeX के साथ compatibility और collaboration

  • मौजूदा papers और submission papers के लिए LaTeX format की ज़रूरत होती है, इसलिए Typst में लिखी सामग्री को Pandoc आदि से convert करके उपयोग किया जाता है
  • नए papers भी Typst में draft किए जाते हैं, लेकिन final submission के लिए conversion का काम आवश्यक होता है
  • Typst से LaTeX में automatic conversion पूरी तरह सटीक नहीं है, इसलिए अलग tool विकसित करके काम किया गया
  • conversion output के कुछ हिस्सों (जैसे code) के लिए LaTeX के \includepdf का उपयोग करना पड़ता है, और यह publisher requirements से मेल न भी खा सकता है
  • चूँकि LaTeX मानक है, इसलिए collaboration करने वाले लोगों को Typst अलग से सीखना पड़ता है, जो एक अतिरिक्त बोझ बनता है

Typst ecosystem की स्थिति

  • Typst अभी भी शुरुआती ecosystem में है, इसलिए official templates और submission formats सीमित हैं
  • कई बार users को खुद अपने customized templates बनाने पड़ते हैं
  • प्रमुख conferences और journals के लिए Typst templates का support scope और quality के मामले में अभी पूर्ण नहीं है

निष्कर्ष और सिफारिश

  • अगर आपको programming पसंद है और tools को बारीकी से customize करने में रुचि है, तो Typst में thesis लिखना पूरी तरह recommend किया जा सकता है
  • बार-बार प्रयोग और customization की उच्च स्वतंत्रता के कारण final output अधिक सुंदर बन सकता है
  • लेकिन यदि बिना किसी अतिरिक्त setup के तुरंत उपयोग करना हो, तो अभी Typst, PhD thesis जैसे बड़े दस्तावेज़ों के लिए उपयुक्त नहीं है
  • छोटे पैमाने के documents या व्यक्तिगत प्रयोगों के लिए Typst को आज़माना सार्थक हो सकता है

1 टिप्पणियां

 
GN⁺ 2025-06-23
Hacker News टिप्पणियाँ
  • यह चिंता कि 30 साल बाद भी LaTeX के open source बने रहने और maintain होने की संभावना ज़्यादा है, लेकिन Typst की संरचना open source और closed source के मिश्रण जैसी है, इसलिए अगर कंपनी खत्म हो जाए तो प्रोजेक्ट के भी maintain न होने की संभावना बड़ी है
    • डेवलपर ने खुद कहा है कि Typst प्रोजेक्ट को open source और closed source के मिश्रण के रूप में देखना सही नहीं है, और मुख्य लक्ष्य यह है कि CLI और web app एक जैसे काम करें; संबंधित issue comment देखें। tinymist जैसे LSP implementation समेत community द्वारा बनाए गए open source टूल भी हैं, और Typstify जैसे paid editor भी कंपनी से अलग स्वतंत्र रूप से मौजूद हैं
    • Typst का web editor closed source है, लेकिन editing के लिए ज़रूरी ज़्यादातर हिस्से open source हैं, इसलिए local environment में भी वैसा ही या उससे बेहतर अनुभव मिल सकता है। Typst compiler, LSP आदि सब open source हैं। यह Overleaf में LaTeX project बनाने के मामलों जैसा है, और अगर Typst कंपनी बंद भी हो जाए तो package download भी open source git repo आधारित हैं, इसलिए वैकल्पिक mirror repository बनाकर बड़ी समस्या के बिना काम चल सकता है
    • open source हिस्से की उपेक्षा होने की बात वास्तव में उन अधिकांश projects से बहुत अलग नहीं है जो पूरी तरह open source के रूप में वितरित होते हैं
    • closed source में जो ‘core feature’ होने की बात कही जाती है, वह ठोस रूप से क्या है, यह जानने की जिज्ञासा है
  • यह जिज्ञासा कि computer science के PhD students typesetting को लेकर इतने आसक्त क्यों होते हैं। LaTeX में गहरी रुचि दिखाते-दिखाते वे macro पर महीनों खर्च कर देते हैं, तो लगता है कि LaTeX ने एक और व्यक्ति को अपने में खींच लिया। LaTeX टालमटोल करने वाले छात्रों के लिए एक तरह का जाल जैसा लगता है
    • गणित के छात्र के रूप में, सब कुछ हाथ से लिखना बहुत झंझटभरा है, और जिन documents में equations बहुत हों उन्हें typing से बनाना भी आसान नहीं होता। वास्तव में physics की तरफ तो typing और भी कठिन होती है। thesis/assignment पर केंद्रित जीवन में यह बहुत महत्वपूर्ण है कि विचारों को कितनी आसानी से दर्ज किया जा सकता है। इसलिए लोग engine की गुणवत्ता के प्रति संवेदनशील हो जाते हैं, और macro tips भी एक-दूसरे से खूब साझा करते हैं। आसपास से मिले सुझाव और basic header साझा करना एक स्वाभाविक संस्कृति बन जाती है
    • LaTeX इस्तेमाल करने से एक तरह का ‘औपचारिक एहसास’ मिलता है। equations भी LaTeX document में लिखी जाएँ तो बहुत गंभीर लगती हैं, लेकिन Word में वैसा नहीं लगता। जैसे Aldus PageMaker से पहला newsletter बनाकर laser print करने पर खुद को professional महसूस हुआ था
    • बड़े documents (जैसे thesis) को section-दर-section अलग tex files में manage करके बाद में एक साथ compile किया जा सकता है। git जैसे VCS के साथ भी इसकी अच्छी compatibility है। अगर scripts से figures बनाई जाएँ, तो LaTeX नई files को अपने आप detect करके दोबारा compile कर देता है। Word में हर figure को अलग से ढूँढकर बदलना पड़ता है, इसलिए वह अक्षम है। document का आकार बढ़ने के साथ Word और असुविधाजनक होता जाता है, जबकि LaTeX शुरुआती setup के बाद उल्टा और efficient हो जाता है
    • 2000 के दशक में equations थोड़ा भी आ जाएँ तो Word में काम करना बेहद कष्टदायक था। दर्जनों pages वाले formula-cross-reference आधारित documents के लिए LaTeX के बिना काम करना लगभग असंभव था। chapter के हिसाब से files बाँटना और काम के editors के साथ integration भी बड़े फायदे थे
    • 10 साल तक thesis/report लिखते हुए छोटे-छोटे snippets इकट्ठा करना कोई जुनून नहीं, बल्कि स्वाभाविक नतीजा है
  • Typst के बहुत आशाजनक दिखने का कारण यह है कि यह IEEE जैसे प्रतिनिधि templates default रूप से देता है, और उसका output LaTeX से लगभग समान निकलता है। LaTeX toolchain में बहुत असुविधा है, और makefile भी अक्सर अस्थिर रहती है। कई बार सही output के लिए कई बार चलाना पड़ता है, और कभी-कभी git clean -xdf तक करना पड़ता है। ऐसा क्यों होता है यह अब तक ठीक से समझ नहीं आया, और makefile खुद भी बहुत जटिल होती हैं
    • लोग कहते हैं, “एक ही चीज़ दोबारा करके अलग परिणाम की उम्मीद करना पागलपन है,” और LaTeX compilation बिल्कुल ऐसा ही लगता है
    • यह perfect समाधान नहीं है, लेकिन latex build की मुश्किलों को automate करने वाला Latexmk सुझाया गया है। उपयोग विधि लिंक देखें। साथ ही -outdir option से intermediate files को अलग manage किया जा सकता है
    • मुझे भी कभी समझ था कि इसे कई बार क्यों चलाना पड़ता है, लेकिन अब याद नहीं। पहले इस्तेमाल की गई मेरी personal build script में भी bibtex हो तो तीन बार, नहीं हो तो दो बार चलाने की शर्त थी। अब पीछे मुड़कर देखूँ तो अच्छा लगता है कि वह दौर गुजर गया
    • आजकल Tectonic इस्तेमाल करें तो इस तरह की repeated compile समस्या अपने आप संभल जाती है
  • AI अब लेखन का मुख्य target भी है, और markup format चुनने का मुख्य कारण भी। semantic compression के नज़रिए से Typst, markdown और asciidoc, LaTeX की तुलना में कहीं अधिक संक्षिप्त हैं। निजी तौर पर पिछले 6 महीनों में AI के इस्तेमाल से गणितीय research और code काम में बहुत बड़ा बदलाव आया है, और इस क्षेत्र में स्पष्ट सही उत्तर या सलाह मिलना कठिन है। वास्तव में AI, SVG math diagrams को भी इंसानों से बेहतर पढ़ता है, और LaTeX source पढ़ना पसंद नहीं करता। journal के नज़रिए से format नियम समझ में आते हैं, लेकिन अब भी कई journal editor ऐसे हैं जो समय से पीछे रह गए 2-column output पर ज़ोर देते हैं। कागज़ पर print का महत्व अब कम है, इसलिए इसकी अधिक परवाह नहीं, और आगे अपने research results को animation या Typst documents के रूप में भी छोड़ने की योजना है
    • वास्तव में papers को print करके पढ़ने वाली पेशेवर scientific दुनिया में कागज़ अभी भी प्रभावी है
  • चूँकि journal या conference अभी typst स्वीकार नहीं करते, इसलिए मैं जिद में LaTeX नहीं पकड़े हुए हूँ, बल्कि व्यावहारिक रूप से मजबूरी में LaTeX पर टिका हूँ। इसे अपनाया जाएगा या नहीं, यह इस बात पर निर्भर है कि वे इसे अपनी toolchain में integrate करना चाहते हैं या नहीं
  • मैं धीरे-धीरे अपना काम Typst पर ले जा रहा हूँ; यह तेज़ और सुखद है। लेकिन mathematical notation को नए सिरे से सीखना सबसे बड़ी बाधा था। Typst के अपने अलग नियम हैं, इसलिए उसे अलग से सीखना पड़ता है
    • Typst अच्छा लगता है, लेकिन Claude Code और VS Code के साथ फिर से LaTeX पर लौट आया। LaTeX से कुछ समय दूर रहने के बाद (PhD पूरी किए लगभग 10 साल बाद), पहले मैं TikZ, equations और preamble macros तक याद करके इस्तेमाल करता था। Claude Code में जो चाहिए वह लिख दूँ तो 1-2 कोशिश में लगभग मनचाहा परिणाम मिल जाता है। LaTeX error messages की व्याख्या भी Claude लगभग 95% हल कर देता है, इसलिए यह पहले जैसा बड़ा मुद्दा नहीं रहा
    • mitex भी एक विकल्प है। mitex package देखें। मैं अब कोई दूसरी notation नए सिरे से सीखने की हिम्मत नहीं जुटा पा रहा
  • अगर typst source और result देखना हो, तो कुछ स्वयं बनाए गए documents साझा किए गए हैं:
  • यह राय कि Typst कुछ वर्षों में गायब हो सकता है या किसी कंपनी द्वारा अधिगृहित हो सकता है, जबकि LaTeX दशकों तक बना रहेगा
  • Typst, vertical layout control जैसी चीज़ों में LaTeX से अधिक आकर्षक लगा, इसलिए उस पर जाने की कोशिश की, लेकिन हाल में ChatGPT जैसे LLM की code generation क्षमता बेहतर होने के बावजूद नए markup engine, खासकर typst, के साथ वह काफी कमजोर दिखता है। AI, latex में भले खराब हो, लेकिन typst की तुलना में बहुत बेहतर है; typst में तो सचमुच परिणाम ही नहीं निकलते। शायद 6 महीने या 1 साल में यह बेहतर हो जाए
    • LLM का इस्तेमाल करने से सोचना कम पड़ता है, इसलिए सुविधा होती है, लेकिन यह खीज भी होती है कि बहुत से लोग LLM पर इतना निर्भर हो गए हैं कि नए tools खुद इस्तेमाल ही नहीं कर पाते। यह कुछ वैसा ही है जैसे पहले लोग copy-paste न हो पाने या code snippets आसानी से न मिलने के कारण नई language से बचते थे
    • markdown या rust में AI काफ़ी उपयोगी है। अगर Typst document की outline को LLM prompt में दिया जाए, तो शायद कुछ मदद मिल सकती है
  • Typst में जो बात पसंद नहीं आती, वह यह है कि अभी LaTeX equation syntax लगभग standard बन चुका है, और पहले से व्यापक रूप से इस्तेमाल होता है, इसलिए नई math syntax सीखना कठिन है
    • वास्तव में Typst में भी $x^2=1$ जैसी notation वैसे ही काम करती है