From 8edfbcc6104b2dbed302343a65bcd706383ea5c7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 27 Oct 2020 20:51:13 +0000 Subject: marathi (27oct20) git-svn-id: svn://tug.org/texlive/trunk@56781 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/marathi/README.txt | 5 +- Master/texmf-dist/doc/latex/marathi/marathi.pdf | Bin 83427 -> 121989 bytes Master/texmf-dist/source/latex/marathi/marathi.dtx | 490 ++++++++++++++------- Master/texmf-dist/source/latex/marathi/marathi.ins | 4 +- Master/texmf-dist/tex/latex/marathi/marathi.sty | 209 +++++---- 5 files changed, 465 insertions(+), 243 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/marathi/README.txt b/Master/texmf-dist/doc/latex/marathi/README.txt index 659d75da4cc..0c5ebb49999 100644 --- a/Master/texmf-dist/doc/latex/marathi/README.txt +++ b/Master/texmf-dist/doc/latex/marathi/README.txt @@ -1,6 +1,6 @@ आज्ञासंच: marathi लेखक: निरंजन -आवृत्ती: १.४ (१३ ऑगस्ट, २०२०) +आवृत्ती: १.५ (२७ ऑक्टोबर, २०२०) माहिती: लुआलाटेक् व झीलाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. इथून पुढे लाटेक्-वरील मराठीच्या स्थानिकीकरणाचे काम ह्या आज्ञासंचामार्फत केले जाईल. @@ -22,7 +22,7 @@ -------------------------------------------------------------------------- Package: marathi Author: Niranjan -Version: 1.4 (13 August, 2020) +Version: 1.5 (27 October, 2020) Description: For conveniently typesetting Marathi language with LuaLaTeX and XeLaTeX. This package will now onwards host localizations needed for Marathi @@ -40,4 +40,3 @@ Copy the following files in the following path texmf-dist/tex/latex/marathi 4) namuna-beamer.tex 5) namuna-letter.tex 6) namuna-report.tex - diff --git a/Master/texmf-dist/doc/latex/marathi/marathi.pdf b/Master/texmf-dist/doc/latex/marathi/marathi.pdf index 6efc24639da..fb591708ae5 100644 Binary files a/Master/texmf-dist/doc/latex/marathi/marathi.pdf and b/Master/texmf-dist/doc/latex/marathi/marathi.pdf differ diff --git a/Master/texmf-dist/source/latex/marathi/marathi.dtx b/Master/texmf-dist/source/latex/marathi/marathi.dtx index 6355610af77..9aa5ba14f5c 100644 --- a/Master/texmf-dist/source/latex/marathi/marathi.dtx +++ b/Master/texmf-dist/source/latex/marathi/marathi.dtx @@ -32,7 +32,7 @@ %<*readme> आज्ञासंच: marathi लेखक: निरंजन -आवृत्ती: १.४ (१३ ऑगस्ट, २०२०) +आवृत्ती: १.५ (२७ ऑक्टोबर, २०२०) माहिती: लुआलाटेक् व झीलाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. इथून पुढे लाटेक्-वरील मराठीच्या स्थानिकीकरणाचे काम ह्या आज्ञासंचामार्फत केले जाईल. @@ -54,7 +54,7 @@ -------------------------------------------------------------------------- Package: marathi Author: Niranjan -Version: 1.4 (13 August, 2020) +Version: 1.5 (27 October, 2020) Description: For conveniently typesetting Marathi language with LuaLaTeX and XeLaTeX. This package will now onwards host localizations needed for Marathi @@ -78,15 +78,21 @@ Copy the following files in the following path texmf-dist/tex/latex/marathi % %<*driver> \documentclass[10pt]{l3doc} -\usepackage{xltxtra} \usepackage{fontspec} \usepackage{xcolor} \usepackage{hyperref} \hypersetup{ - colorlinks, - linkcolor={red!50!black}, - citecolor={blue!50!black}, - urlcolor={blue!80!black} + unicode, + pdfauthor={निरंजन}, + pdftitle={मराठी (आवृत्ती १.५, ऑक्टोबर २०२०)}, + pdfsubject={लुआलाटेक् व झीलाटेक्-सह मराठीत अक्षरजुळणी.}, + pdfkeywords={मराठी, लुआलाटेक्, झीलाटेक्, बेबल, पॉलिग्लॉसिया}, + pdfproducer={हायपर्रेफ्-सह लुआलाटेक्}, + pdfcreator={हायपर्रेफ्-सह लुआलाटेक्}, + colorlinks, + linkcolor={red!50!black}, + citecolor={blue!50!black}, + urlcolor={blue!80!black} } \usepackage{devanagaridigits} \usepackage{capt-of} @@ -98,17 +104,25 @@ Copy the following files in the following path texmf-dist/tex/latex/marathi \def\@arabic#1{\expandafter\devanagaridigits\expandafter{\number#1}} \makeatother \renewcommand{\theCodelineNo}{{\scriptsize\arabic{CodelineNo}}\quad} -\setmainfont[Renderer=Harfbuzz,Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} -\setmonofont[Renderer=Harfbuzz,Script=Devanagari]{Mukta} -\newfontfamily{\mukta}[Renderer=Harfbuzz,Script=Devanagari]{Mukta} -\newfontfamily{\sho}{Shobhika} -\usepackage{minted} -\usemintedstyle{bw} +\setmainfont[ +Renderer=Harfbuzz, +Script=Devanagari +]{Shobhika} +\setmonofont[ +Renderer=Harfbuzz, +Script=Devanagari +]{Mukta} \usepackage{fontawesome5} \renewcommand{\glossaryname}{संज्ञासूची} \renewcommand{\abstractname}{सारांश} \renewcommand{\contentsname}{अनुक्रमणिका} \renewcommand{\baselinestretch}{1.5} +\newcommand{\होय}{ + \textcolor{green!70!black}{\faIcon{thumbs-up}} +} +\newcommand{\नाही}{ + \textcolor{red!70!black}{\faIcon{thumbs-down}} +} \usepackage[sort=use]{glossaries} \makenoidxglossaries \input{glossaries.gls} @@ -124,94 +138,141 @@ Copy the following files in the following path texmf-dist/tex/latex/marathi % \author{निरंजन} % \date^^A % {^^A -% आवृत्ती १.४ \textemdash\ १३ ऑगस्ट, २०२०\\[1ex]^^A +% आवृत्ती १.५ \textemdash\ २७ ऑक्टोबर, २०२०\\[1ex]^^A % {\small\faIcon{gitlab}\quad\url{https://gitlab.com/niranjanvikastambe/marathi}}^^A % } % % \maketitle % % \begin{abstract} -% \XeLaTeX\ चा वापर करून मराठीत \gls{अक्षरजुळणी}\footnote{ह्या दस्तऐवजात लाटेक्-मध्ये प्रचलित असणाऱ्या अनेक इंग्रजी संज्ञांसाठी पर्यायी मराठी संज्ञा वापरण्यात आल्या आहेत, हे सर्व प्रयोग तुलनेने नवे असल्याने ह्याच दस्तऐवजात शेवटी दिलेल्या संज्ञासूचीत सर्व संज्ञांचे इंग्रजी अर्थ दिले आहेत.} शक्य आहे, परंतु सुलभ नाही. \LaTeX\ सह मराठीत अक्षरजुळणी करताना आपली \gls{बीजधारिका} अनेक आज्ञांनी भरून जाते. हा \gls{आज्ञासंच} अशा सर्व उपयुक्त \gls{आज्ञा} आधीच लिहून ठेवतो. त्यामुळे नव्या वापरकर्त्यांना त्या नव्याने शिकाव्या लागत नाहीत. शिवाय {\mukta blindtext} ह्या आज्ञासंचाप्रमाणे मराठीकरिता नमुना मजकूर उत्पन्न करण्यासाठीची सोय ह्या आज्ञासंचात करण्यात आली आहे. \LuaLaTeX\ हा अत्याधुनिक \gls{चालक} वापरल्यास अंक रोमी लिपीत येतात, ती अडचणदेखील ह्या आज्ञासंचात सोडवण्यात आली आहे. +% युनिकोडाचा वापर करून मराठीत \gls{अक्षरजुळणी}\footnote{ह्या दस्तऐवजात +% लाटेक्-मध्ये प्रचलित असणाऱ्या अनेक इंग्रजी संज्ञांसाठी पर्यायी मराठी +% संज्ञा वापरण्यात आल्या आहेत, हे सर्व प्रयोग तुलनेने नवे असल्याने ह्याच +% दस्तऐवजात शेवटी दिलेल्या संज्ञासूचीत सर्व संज्ञांचे इंग्रजी अर्थ दिले +% आहेत.} शक्य आहे, परंतु सुलभ नाही. लाटेक्-सह मराठीत अक्षरजुळणी करताना आपली +% \gls{बीजधारिका} अनेक आज्ञांनी भरून जाते. हा \gls{आज्ञासंच} अशा सर्व +% उपयुक्त \gls{आज्ञा} आधीच लिहून ठेवतो. त्यामुळे नव्या वापरकर्त्यांना त्या +% नव्याने शिकाव्या लागत नाहीत. शिवाय \pkg{blindtext} ह्या आज्ञासंचाप्रमाणे +% मराठीकरिता नमुना मजकूर उत्पन्न करण्यासाठीची सोय ह्या आज्ञासंचात करण्यात +% आली आहे. % \end{abstract} % %\tableofcontents -%\vfill +% +% \vfill % % \begin{documentation} % \section{प्रस्तावना} -% लाटेक्-मध्ये मराठीचा वापर करताना सर्वात महत्त्वाची गरज म्हणजे देवनागरी लिपी नीट दिसणे. लाटेक् विकसित झाले तेव्हा युनिकोड ही प्रणाली अस्तित्वात नसल्याने टेक्, लाटेक् ह्यांसारख्या चालकांसह युनिकोड अक्षरे वापरता येत नाहीत, परंतु लवकरच युनिकोड अक्षरांचा वापर लाटेक्-मध्ये करता यावा ह्याकरिता \XeLaTeX\ (झीलाटेक्) तसेच \LuaLaTeX\ (लुआलाटेक्) ह्या नव्या चालकांचा विकास झाला. {\mukta fontspec} सदृश आज्ञासंचासह एखादा युनिकोड-आधारित \gls{टंक} वापरणे व युनिकोड-मजकूर थेट झीलाटेक् अथवा लुआलाटेक्-सोबत चालवणे हे ह्या नव्या चालकांचे प्रमुख उद्दिष्ट होते, परंतु हे काम अतिशय गुंतागुंतीचे होते. २०२० चे \gls{टेक्-वितरण} येईपर्यंत व त्यात हर्फ़बझ नावाची नवी \gls{आज्ञावली} येेईपर्यंत लुआलाटेक् देवनागरी हाताळू शकलेच नाही. झीलाटेक्-सह मात्र देवनागरी व्यवस्थित दिसणे शक्य होत होते. % \subsection*{देवनागरी दिसण्यासाठी टाकावयाच्या आज्ञा} -% देवनागरी योग्य तऱ्हेने दिसण्यासाठी काही आज्ञांचा वापर करणे अनिवार्य होते. देवनागरी लिपी दस्तऐवजात दाखवण्यासाठी लागणाऱ्या किमान आज्ञा पुढीलप्रमाणे. -% \begin{minted}[linenos]{latex} -% % !TEX TS-program = xelatex -% \documentclass{article} -% \usepackage{fontspec} -% \setmainfont{Shobhika} % अथवा कोणताही युनिकोड-आधारित देवनागरी टंक +% लाटेक्-मध्ये मराठीचा वापर करताना सर्वात महत्त्वाची गरज म्हणजे देवनागरी +% लिपी नीट दिसणे. लाटेक् विकसित झाले तेव्हा युनिकोड ही प्रणाली अस्तित्वात +% नसल्याने टेक्, लाटेक् ह्यांसारख्या चालकांसह युनिकोड अक्षरे वापरता येत +% नाहीत, परंतु लवकरच युनिकोड अक्षरांचा वापर लाटेक्-मध्ये करता यावा ह्याकरिता +% झीलाटेक् तसेच लुआलाटेक् ह्या नव्या चालकांचा विकास +% झाला. \pkg{fontspec} ह्या आज्ञासंचासह एखादा युनिकोड-आधारित \gls{टंक} +% वापरणे व युनिकोड-मजकूर थेट झीलाटेक् अथवा लुआलाटेक्-सोबत चालवणे हे ह्या +% नव्या चालकांचे प्रमुख उद्दिष्ट होते, परंतु हे काम अतिशय गुंतागुंतीचे होते. +% २०२० चे \gls{टेक्-वितरण} येईपर्यंत व त्यात हर्फ़बझ नावाची नवी \gls{आज्ञावली} +% येेईपर्यंत लुआलाटेक् देवनागरी हाताळू शकलेच नाही. झीलाटेक्-सह +% मात्र देवनागरी व्यवस्थित दिसणे शक्य होत होते. देवनागरी योग्य तऱ्हेने दिसण्यासाठी काही +% आज्ञांचा वापर करणे अनिवार्य आहे. सध्याच्या व्यवस्थेनुसार जोडाक्षरे तुटक दिसतात +% (उदा. नमस्‌कार). त्यासाठी \verb|\setmainfont| ह्या आज्ञेस +% \verb|Script=Devanagari| असे \gls{प्राचल} द्यावे लागते. लाटेक्-तर्फे आपोआप पुरवले +% जाणारे आकडे (उदा. पृष्ठक्रमांक, तळटिपांचे क्रमांक) देवनागरीत येत नाहीत. त्याकरिता +% ह्याच आज्ञेस \verb|Mapping=devanagarinumerals| असे आणखी एक प्राचल द्यावे लागते, +% परंतु हे प्राचल केवळ झीलाटेक्-सह काम करते. शिवाय लाटेक्-ला इंग्रजीव्यतिरिक्त इतर +% कोणतीही भाषा कळत नसल्यामुळे पूर्वस्थित इंग्रजी शब्दांची भाषांतरे पुरवणारे बेबल अथवा +% पॉलिग्लॉसिया ह्यांसारखे आज्ञासंच वापरून भाषा निवडावी लागते. रोहित होळकरांच्या +% \href{https://ctan.org/pkg/latex-mr?lang=en}{\pkg{latex-mr}} ह्या पुस्तिकेत +% ह्या सर्व अडचणींची गोष्टींची तपशीलवार चर्चा झाली आहे. % -% \begin{document} -% नमस्कार -% \end{document} -% \end{minted} +% सद्यपरिस्थितीत लाटेक्-चे किमान ज्ञान असलेल्या नव्या वापरकर्त्याला मराठी लिहिण्यासाठी +% एवढा सगळा प्रपंच करायला लावणे म्हणजे ज्या फांदीवर आपण बसलो आहोत तीच तोडण्यासारखे +% आहे. त्यामुळे कोणत्याही वापरकर्त्याला केवळ लाटेक्-च्या किमान ज्ञानासह +% \verb|\usepackage{marathi}| एवढी एक आज्ञा लिहून उत्तम देवनागरी अक्षरजुळणी करता +% यावी हा ह्या आज्ञासंचाचा उद्देश आहे. ह्या आज्ञासंचात पुढील आज्ञांचा समावेश आहे. % -% ह्या उदाहरणाने देवनागरी दिसत असले तरी फलित मात्र हवे तसे दिसत नाही. जोडाक्षरे तुटक दिसतात (उदा. {\sho नमस्कार}). त्यासाठी \mintinline{latex}{\setmainfont} ह्या आज्ञेस \verb|Script=Devanagari| असे \gls{प्राचल} द्यावे लागते. पुढील अडचण म्हणजे लाटेक् आपोआप पुरवणारे आकडे (उदा. पृष्ठक्रमांक, तळटिपांचे क्रमांक) देवनागरीत न येणे. त्याकरिता ह्याच आज्ञेस {\mukta Mapping=devanagarinumerals} असे आणखी एक प्राचल द्यावे लागते. हे प्राचल केवळ झीलाटेक्-सह काम करते. शिवाय लाटेक्-ला इंग्रजीव्यतिरिक्त इतर कोणतीही भाषा कळत नसल्यामुळे मूलभूत इंग्रजी शब्दांची भाषांतरे पुरवणारे बेबल अथवा पॉलिग्लॉसिया ह्यांसारखे आज्ञासंच वापरून भाषा निवडावी लागते. रोहित होळकरांच्या \href{https://ctan.org/pkg/latex-mr?lang=en}{\mukta latex-mr} ह्या पुस्तिकेत ह्या सर्व अडचणींची तपशीलवार चर्चा झाली आहे. - -% सद्यपरिस्थितीत लाटेक्-चे किमान ज्ञान असलेल्या नव्या वापरकर्त्याला मराठी लिहिण्यासाठी एवढा सगळा प्रपंच करायला लावणे म्हणजे ज्या फांदीवर आपण बसलो आहोत तीच तोडण्यासारखे आहे. त्यामुळे कोणत्याही वापरकर्त्याला केवळ लाटेक्-च्या किमान ज्ञानासह \mintinline{latex}{\usepackage{marathi}} एवढी एक आज्ञा लिहून उत्तम देवनागरी अक्षरजुळणी करता यावी हा ह्या आज्ञासंचाचा उद्देश आहे. ह्या आज्ञासंचात पुढील आज्ञांचा समावेश आहे. % \begin{function}{\परिच्छेद} -% ही आज्ञा केवळ एक नमुना परिच्छेद निर्माण करते. ही आज्ञा एकामागोमाग एक अनेकदा टाकल्याने तितके परिच्छेद निर्माण केले जाऊ शकतात. +% ही आज्ञा केवळ एक नमुना परिच्छेद निर्माण करते. ही आज्ञा एकामागोमाग एक अनेकदा +% टाकल्याने तितके परिच्छेद निर्माण केले जाऊ शकतात. % \end{function} +% % \begin{function}{\नमुना} -% नमुना ही आज्ञा सर्वप्रथम दिलेला \gls{लाटेक्-वर्ग} पाहते व त्यानुसार त्या वर्गाच्या किमान क्षमता दर्शवणारी एक \gls{फलित-धारिका} निर्माण करते. उदाहरणादाखल {\mukta article, book, report, beamer व letter} ह्या लाटेक्-वर्गांसह \mintinline{latex}{\नमुना} ही आज्ञा चालवून पाहा. एकाच बीजधारिकेत केवळ लाटेक्-वर्ग बदलत असाल, तर लाटेक्-ने तयार केलेल्या \gls{साहाय्यक धारिका} काही वेळा अनपेक्षित \gls{अडचण} दाखवतात. जुनी माहिती शिल्लक असल्याने त्या दिल्या जातात. घाबरून न जाता, बीजधारिका दोनदा चालवावी. सर्व अडचणी सुटतात. +% नमुना ही आज्ञा सर्वप्रथम वापरला गेलेला \gls{लाटेक्-वर्ग} पाहते व त्यानुसार त्या +% वर्गाच्या किमान क्षमता दर्शवणारी एक \gls{फलित-धारिका} निर्माण करते. उदाहरणादाखल +% \verb|article, book, report, beamer| व \verb|letter| ह्या लाटेक्-वर्गांसह +% \verb|\नमुना| ही आज्ञा चालवून पाहा. एकाच बीजधारिकेत केवळ लाटेक्-वर्ग बदलत असाल, +% तर लाटेक्-ने तयार केलेल्या \gls{साहाय्यक धारिका} काही वेळा अनपेक्षित \gls{अडचण} +% दाखवतात. जुनी माहिती शिल्लक असल्याने त्या दिल्या जातात. घाबरून न जाता, बीजधारिका +% दोनदा चालवावी. सर्व अडचणी सुटतात. % \end{function} +% % \begin{function}{\टंक} -% \begin{syntax} -% \cs{टंक} \marg{टंकाचे नाव} -% \end{syntax} -% ह्या आज्ञासंचात शोभिका हा \gls{मूलटंक} म्हणून निवडून ठेवला आहे. तो बदलायचा असेल तर \mintinline{latex}{\टंक} ह्या आज्ञेची सोय करण्यात आली आहे. ह्या आज्ञेसह आपोआप देवनागरी टंकांसाठी आवश्यक असणारी \verb|Renderer=Harfbuzz, Script=Devanagari| (लुआलाटेक्), \verb|Script=Devanagari, Mapping=devanagarinumerals| (झीलाटेक्) ही प्राचले लिहून ठेवली आहेत. शिवाय \linebreak\mintinline{latex}{\setmainfont{टंकाचे नाव}} ही आज्ञा नेहमीप्रमाणे चालतेच. टंकाचे नाव हा \mintinline{latex}{\टंक} ह्या आज्ञेचा \gls{कार्यघटक} आहे. +% \begin{syntax} +% \cs{टंक} \marg{टंकाचे नाव} +% \end{syntax} +% ह्या आज्ञासंचात शोभिका हा \gls{मूलटंक} म्हणून निवडून ठेवला आहे. तो बदलायचा असेल तर +% \verb|\टंक| ह्या आज्ञेची सोय करण्यात आली आहे. ह्या आज्ञेसह देवनागरी टंकांसाठी आवश्यक +% असणारी \verb|Renderer=Harfbuzz, Script=Devanagari| (लुआलाटेक्), +% \verb|Script=Devanagari, Mapping=devanagarinumerals| (झीलाटेक्) ही प्राचले +% आपोआप लिहून ठेवली आहेत. शिवाय \verb|\setmainfont|{\meta{टंकाचे नाव}} ही आज्ञा +% नेहमीप्रमाणे चालतेच. टंकाचे नाव हा ह्या आज्ञेचा \gls{कार्यघटक} आहे. % \end{function} -%\begin{function}{\दुसराटंक} -% \begin{syntax} -% \cs{दुसराटंक}\marg{टंकासाठीची आज्ञा}\marg{टंकाचे नाव} -% \end{syntax} -% दस्तऐवजात मूलटंकाखेरीज आणखी एखादा टंक वापरण्याची गरजदेखील पडू शकते. त्याकरिता \verb|\दुसराटंक| आज्ञा पुढीलप्रमाणे वापरावी. -% \begin{minted}[linenos,escapeinside=//]{latex} +% +% \begin{function}{\दुसराटंक} +% \begin{syntax} +% \cs{दुसराटंक}\marg{टंकासाठीची आज्ञा}\marg{टंकाचे नाव} +% \end{syntax} +% दस्तऐवजात मूलटंकाखेरीज आणखी एखादा टंक वापरण्याची गरजदेखील पडू शकते. त्याकरिता +% \verb|\दुसराटंक| ही आज्ञा पुढीलप्रमाणे वापरावी. +% \begin{verbatim} % \documentclass{article} % \usepackage{marathi} -% \दुसराटंक{/\textbackslash/नवाटंक}{Mukta} -% +% \दुसराटंक{\नवाटंक}{Mukta} +% % \begin{document} -% नमस्कार, हा मजकूर शोभिका टंकात छापला गेला आहे, परंतु {/\textbackslash/नवाटंक हा मजकूर मुक्त टंकात छापला गेला आहे.} +% नमस्कार, हा मजकूर शोभिका टंकात छापला गेला आहे, परंतु {\नवाटंक हा मजकूर मुक्त टंकात छापला गेला आहे.} % \end{document} -% \end{minted} -%\end{function} +% \end{verbatim} +% \end{function} +% % \begin{function}{अंतर} -% हे प्राचल वापरल्यास आज्ञासंचातर्फे दोन ओळींमधील अंतरात कोणताही हस्तक्षेप केला जात नाही. अधिक माहितीसाठी \ref{अंतर} वाचा. ह्या प्राचलाला किंमतदेखील देता येते. उदा. \verb|\usepackage[अंतर=2]{marathi}| अशा प्रकारे आज्ञासंच वापरल्यास ओळींमधले अंतर दुप्पट होते. कोणत्याही प्राचलाशिवाय वापरल्यास आज्ञासंचातर्फे मूलभूत अंतराच्या दीडपट अंतर पुरवले जाते. पुढील कोष्टकाने अंतर ह्या प्राचलाचा वापर अधिक स्पष्ट होईल.\label{प्राचल} +% हे प्राचल वापरल्यास आज्ञासंचातर्फे दोन ओळींमधील अंतरात कोणताही हस्तक्षेप केला जात +% नाही. अधिक माहितीसाठी \ref{अंतर} वाचा. ह्या प्राचलाला किंमतदेखील देता +% येते. उदा. \verb|\usepackage[अंतर=2]{marathi}| अशा प्रकारे आज्ञासंच वापरल्यास +% ओळींमधले अंतर दुप्पट होते. कोणत्याही प्राचलाशिवाय वापरल्यास आज्ञासंचातर्फे मूलभूत +% अंतराच्या दीडपट अंतर पुरवले जाते. पुढील कोष्टकाने अंतर ह्या प्राचलाचा वापर अधिक स्पष्ट +% होईल.\label{प्राचल} +% % \begin{center} -% \begin{tabular}{ll} -% \hline -% आज्ञासंचा वापर & ओळींमधले अंतर\\ -% \hline -% \mintinline{latex}{\usepackage{marathi}} & मूळ अंतराच्या दीडपट\\ -% \mintinline{latex}{\usepackage[अंतर]{marathi}} & मूळ अंतरात कोणताही फरक नाही.\\ -% \mintinline{latex}{\usepackage[अंतर=2]{marathi}} & मूळ अंतराच्या दुप्पट\\ -% \end{tabular} -% \captionof{table}{अंतर} +% \begin{tabular}{ll} +% \hline +% आज्ञासंचा वापर & ओळींमधले अंतर\\ +% \hline +% \verb|\usepackage{marathi}| & मूळ अंतराच्या दीडपट\\ +% \verb|\usepackage[अंतर]{marathi}| & मूळ अंतरात कोणताही फरक नाही.\\ +% \verb|\usepackage[अंतर=2]{marathi}| & मूळ अंतराच्या दुप्पट\\ +% \end{tabular} +% \captionof{table}{अंतर} % \end{center} % \end{function} -%\begin{function}{\अंतरबदल} -%\begin{syntax} -% \cs{अंतरबदल}\marg{किंमत} -%\end{syntax} -% दस्तऐवजात कुठेही अंतर बदलावयाचे असल्यास ह्या आज्ञेने ते बदलता येते. ह्या आज्ञेला एक कार्यघटक आहे. त्यात ओळींमधले मूळ अंतर जितक्या पटींनी बदलायचे आहे ती किंमत टाकावी. पुढील उदाहरण पाहा. -% \begin{minted}[linenos]{latex} -% \documentclass{article} -% \usepackage{marathi} -% -% \begin{document} -% \परिच्छेद -% \अंतरबदल{5} -% \परिच्छेद -% \end{document} -% \end{minted} +% \begin{function}{\अंतरबदल} +% \begin{syntax} +% \cs{अंतरबदल}\marg{किंमत} +% \end{syntax} +% दस्तऐवजात कुठेही अंतर बदलावयाचे असल्यास ह्या आज्ञेने ते बदलता येते. ह्या आज्ञेला एक +% कार्यघटक आहे. त्यात ओळींमधले मूळ अंतर जितक्या पटींनी बदलायचे आहे ती किंमत +% टाकावी. पुढील उदाहरण पाहा. +% \begin{verbatim} +% \documentclass{article} +% \usepackage{marathi} +% +% \begin{document} +% \परिच्छेद +% \अंतरबदल{5} +% \परिच्छेद +% \end{document} +% \end{verbatim} % \end{function} % \end{documentation} % \begin{implementation} @@ -221,36 +282,77 @@ Copy the following files in the following path texmf-dist/tex/latex/marathi %<*package> % \end{macrocode} % \begin{macrocode} -\ProvidesPackage{marathi}[2020-08-02 v1.4 झीलाटेक् व लुआलाटेक्-सह मराठीचा सुलभ वापर] +\ProvidesPackage{marathi}[2020-10-27 v1.5 झीलाटेक् व लुआलाटेक्-सह मराठीचा सुलभ वापर] \NeedsTeXFormat{LaTeX2e} % \end{macrocode} -% ह्या आज्ञांसह आज्ञासंचाची पायाभूत माहिती पुरवली. +% ह्या आज्ञांसह आज्ञासंचाची पायाभूत माहिती पुरवली. डेव्हिड कार्लआयल ह्यांनी गिट +% प्रकल्पावर नोंदवलेल्या +% \href{https://gitlab.com/niranjanvikastambe/marathi/-/issues/1}{ह्या} +% तक्रारीमुळे आज्ञासंचाची संक्षिप्त माहिती पुरवण्याची पद्धत मला वापरता आली. +% +% \subsection{अडचण दाखवणे} +% ह्या आज्ञासंचाच्या गिट प्रकल्पावर नोंदवलेल्या +% \href{https://gitlab.com/niranjanvikastambe/marathi/-/issues/4}{तक्रारीचा} +% विचार करून झी-लाटेक् अथवा लुआलाटेक् ह्या चालकांव्यतिरिक्त एखादा चालक वापरला गेल्यास +% वापरकर्त्यास चालक बदलण्याची सूचना दिली जावी ह्याकरिता पुढील आज्ञावली लिहिण्यात +% आली आहे. +% \begin{macrocode} +\RequirePackage{iftex} +\iftutex +\else +\PackageError{marathi}{% + चालक बदला | Unsupported engine +}{% + लुआलाटेक् अथवा झीलाटेक् वापरा.\MessageBreak + Only LuaLaTeX or XeLaTeX supported. +}% +\expandafter\endinput +\fi +% \end{macrocode} + % \subsection{अंतर}\label{अंतर} -% इंग्रजीमधली g, j, y अशी अक्षरे सोडली तर ह्याहून जास्त खोल असणारा मजकूर त्या लिपीत आढळत नाही. देवनागरीचे तसे नाही. क ह्या अक्षराहून क्क थोडे अधिक खोल. ट्ट त्याहून थोडे अधिक व ट्टू त्याहून. अशा असमान उंचीच्या अक्षरांमुळे लाटेक् आपोआप दोन ओळींमधले अंतर बदलते व त्यामुळे ओळींची उंची असमान दिसू लागते. साध्या मजकुरातील ओळींप्रमाणेच कोष्टकेदेखील कुरूप दिसू लागतात. ह्यावर तोडगा काय? ह्याची दोन उत्तरे आहेत. पहिले उत्तर मराठीच्या आजवरच्या छपाईच्या इतिहासाचा अभ्यास करून, मराठी लिहिताना दोन ओळींमध्ये सोडले गेलेले सरासरी अंतर किती ह्याचे संशोधन करणे व त्यानुसार सर्व ठिकाणी ते अंतर लागू करणे. हा मार्ग सहज नाही. हा संशोधनाचा विषय आहे. त्याकरिता टंकाच्या आकाराचे व त्यानुसार बदलणाऱ्या ओळींच्या अंतराचे प्रमाणदेखील काळजीपूर्वक अभ्यासावे लागेल. हे सर्व करणे जरी इष्ट व आवश्यक असले, तरी हे संशोधन पूर्ण होईस्तोवर सामान्य वापरकर्त्याला ज्या आज्ञा शिकण्याचे कष्ट पडतात ते कसे टाळावेत? त्यासाठी तात्पुरता तोडगा काढावा लागतो. तो असा की ओळींमधले अंतर दस्तऐवजाच्या सुरुवातीलाच वाढवून ठेवायचे. त्यासाठी पुढील आज्ञा वापरल्या जातात. ओळींमधल्या अंतरासाठी {\mukta setspace} हा आज्ञासंच वापरावा असा सल्ला जोनाथन स्प्राट ह्यांनी \href{https://topanswers.xyz/tex}{टॉप-आन्सर्स} ह्या संकेतस्थळावर दिला. त्यानुसार हा बदल करत आहे. +% इंग्रजीमधली g, j, y अशी अक्षरे सोडली तर ह्याहून जास्त खोल असणारा मजकूर त्या लिपीत +% आढळत नाही. देवनागरीचे तसे नाही. क ह्या अक्षराहून क्क थोडे अधिक खोल. ट्ट त्याहून थोडे +% अधिक व ट्टू त्याहून. अशा असमान उंचीच्या अक्षरांमुळे लाटेक् आपोआप दोन ओळींमधले अंतर बदलते +% व त्यामुळे ओळींची उंची असमान दिसू लागते. साध्या मजकुरातील ओळींप्रमाणेच कोष्टकेदेखील कुरूप +% दिसू लागतात. ह्यावर तोडगा काय? ह्याची दोन उत्तरे आहेत. पहिले उत्तर मराठीच्या +% आजवरच्या छपाईच्या इतिहासाचा अभ्यास करून, मराठी लिहिताना दोन ओळींमध्ये सोडले गेलेले +% सरासरी अंतर किती ह्याचे संशोधन करणे व त्यानुसार सर्व ठिकाणी ते अंतर लागू करणे. हा +% मार्ग सहज नाही. त्याकरिता टंकाच्या आकाराचे व त्यानुसार बदलणाऱ्या ओळींच्या अंतराचे +% प्रमाण काळजीपूर्वक अभ्यासावे लागेल. हे सर्व करणे जरी इष्ट व आवश्यक असले, तरी हे संशोधन +% पूर्ण होईस्तोवर सामान्य वापरकर्त्याला असमान उंचीच्या ओळींचा जो त्रास सहन करावा +% लागतो, तो कसा टाळावा? त्यासाठी तात्पुरता तोडगा काढावा लागतो. तो असा की +% ओळींमधले अंतर दस्तऐवजाच्या सुरुवातीलाच (अंदाजे) वाढवून ठेवायचे. % -% आमच्या काही सहकाऱ्यांच्या मते हा निर्णय अतिशय उग्र आहे. त्यामुळे दस्तऐवजातील इतर काही ठिकाणच्या अंतरांवर सूक्ष्म परिणाम घडतात, जे टाळणे अधिक इष्ट. त्यांच्या ह्या मताचा विचार करून ह्या आज्ञासंचाकरिता \textbf{अंतर} नावाचे प्राचल विकसित केले आहे. त्याचा वापर कसा केला जावा ही माहिती आपण \ref{प्राचल} मध्ये वाचलीच. हे प्राचल वापरल्यास आज्ञासंचातर्फे ओळींमधल्या अंतरात कोणताही हस्तक्षेप केला जात नाही. त्याकरिता पुढील आज्ञा समाविष्ट केल्या आहेत. ह्या आज्ञांसाठी जूल वोऊ ह्यांच्या टॉप-आन्सर्सवरील \href{https://topanswers.xyz/tex?q=1063#a1276}{ह्या उत्तराची} मदत झाली. +% आमच्या काही सहकाऱ्यांच्या मते हा निर्णय अतिशय उग्र आहे. त्यामुळे दस्तऐवजातील इतर काही +% ठिकाणच्या अंतरांवर सूक्ष्म परिणाम घडतात, जे टाळणे अधिक इष्ट. त्यांच्या ह्या मताचा +% विचार करून ह्या आज्ञासंचाकरिता \textbf{अंतर} नावाचे प्राचल विकसित केले आहे. त्याचा +% वापर कसा केला जावा ही माहिती आपण \ref{प्राचल} मध्ये वाचलीच आहे. हे प्राचल +% वापरल्यास आज्ञासंचातर्फे ओळींमधल्या अंतरात कोणताही हस्तक्षेप केला जात नाही. ह्या +% गुंतागुंतीच्या रचनेकरिता पुढील आज्ञा समाविष्ट केल्या आहेत. ह्या आज्ञांसाठी जोनाथन स्प्राट +% व जूल वोऊ ह्यांच्या टॉप-आन्सर्सवरील उत्तरांची मदत झाली. % \begin{macrocode} \RequirePackage{setspace} \RequirePackage{pgfkeys} \def\बदल#1{\pgfqkeys{/marathi}{#1}} -\newcommand*\marathi@baselineskip{1.5} +\newcommand*\मराठीअंतर{1.5} \pgfkeys { - marathi/.is family, marathi/.cd, - अंतर/.store in=\marathi@baselineskip, - अंतर/.default=1 + marathi/.is family, marathi/.cd, + अंतर/.store in=\मराठीअंतर, + अंतर/.default=1 } \AtBeginDocument { - \@ifclassloaded{memoir} - { - \setSingleSpace{\marathi@baselineskip}\selectfont - \pgfkeys{marathi/अंतर/.code=\setSingleSpace{#1}\selectfont\SingleSpacing} - } - { - \setstretch{\marathi@baselineskip} - \pgfkeys{marathi/अंतर/.code=\setstretch{#1}} - } + \@ifclassloaded{memoir} + { + \setSingleSpace{\मराठीअंतर}\SingleSpacing + \pgfkeys{marathi/अंतर/.code=\setSingleSpace{#1}\SingleSpacing} + } + { + \setstretch{\मराठीअंतर} + \pgfkeys{marathi/अंतर/.code=\setstretch{#1}} + } } \DeclareOption*{\expandafter\बदल\expandafter{\CurrentOption}} \providecommand{\अंतरबदल}[1]{\बदल{अंतर=#1}} @@ -258,111 +360,177 @@ Copy the following files in the following path texmf-dist/tex/latex/marathi \def\arraystretch{1.2} % \end{macrocode} % \subsection{भाषा व टंक} -% लाटेक्-ला भाषा पुरवणारे \verb|babel| व \verb|polyglossia| हे दोन आज्ञासंच आहेत. \verb|babel| आज्ञासंच लुआलाटेक् व झीलाटेक्-सह चांगले फलित देतो, त्यामुळे ह्या आज्ञासंचाला मूलभूत भाषांतरे पुरवणारा आज्ञासंच मानून \verb|polyglossia| हा आज्ञासंच वैकल्पिक ठेवला आहे. मराठी आज्ञासंचातर्फे \verb|babel| वापरण्याची शिफारस मी करेन. बहुभाषिक दस्तऐवजांचे चांगले फलित चालकनिरपेक्षरित्या देणारा हा आज्ञासंच आहे. \verb|polyglossia| आज्ञासंच केवळ झीलाटेक्-सह योग्य फलित देतो. शोभिका हा टंक टेक्-वितरणासह येत असल्याने त्याची निवड मूलटंक म्हणून करण्यात आली आहे. \verb|\टंक| ह्या आज्ञेसह मूलटंक बदलता येतो. \verb|\दुसराटंक| ह्या आज्ञेसह अधिकचे टंक निवडता येतात. +% लाटेक्-ला भाषा पुरवणारे \pkg{babel} व \pkg{polyglossia} हे दोन आज्ञासंच +% आहेत. \pkg{babel} आज्ञासंच लुआलाटेक् व झीलाटेक्-सह चांगले फलित देतो, त्यामुळे ह्या +% आज्ञासंचाला मूलभूत भाषांतरे पुरवणारा आज्ञासंच मानून \pkg{polyglossia} हा आज्ञासंच +% वैकल्पिक ठेवला आहे. \pkg{polyglossia} आज्ञासंच केवळ झीलाटेक्-सह योग्य फलित +% देतो. डेव्हिड कार्लआयल ह्यांनी नोंदवलेल्या +% \href{https://gitlab.com/niranjanvikastambe/marathi/-/issues/2}{ह्या} +% तक्रारीमुळे भाषांतरे पुरवणारा आज्ञासंच निवडण्यात खूप मदत झाली. शोभिका हा उत्कृष्ट +% देवनागरी टंक टेक्-वितरणासह येत असल्याने त्याची निवड मूलटंक म्हणून करण्यात आली +% आहे. \verb|\टंक| ह्या आज्ञेसह मूलटंक बदलता येतो. \verb|\दुसराटंक| ह्या आज्ञेसह अधिकचे +% टंक निवडता येतात. +% % \begin{macrocode} -\RequirePackage{iftex} \RequirePackage{fontspec} \ifluatex -\setmainfont[Script=Devanagari,Renderer=Harfbuzz]{Shobhika} -\providecommand{\टंक}[1]{\setmainfont[Script=Devanagari,Renderer=Harfbuzz]{#1}} -\providecommand{\दुसराटंक}[2]{\newfontfamily{#1}[Renderer=Harfbuzz,Script=Devanagari]{#2}} +\setmainfont[ +Script=Devanagari, +Renderer=Harfbuzz +]{Shobhika} +\providecommand{\टंक}[1]{ + \setmainfont[ + Script=Devanagari, + Renderer=Harfbuzz + ]{#1} +} +\providecommand{\दुसराटंक}[2]{ + \newfontfamily{#1}[ + Renderer=Harfbuzz, + Script=Devanagari + ]{#2} +} \else -\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} -\providecommand{\टंक}[1]{\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{#1}} -\providecommand{\दुसराटंक}[2]{\newfontfamily{#1}[Script=Devanagari,Mapping=devanagarinumerals]{#2}} +\setmainfont[ +Script=Devanagari, +Mapping=devanagarinumerals +]{Shobhika} +\providecommand{\टंक}[1]{ + \setmainfont[ + Script=Devanagari, + Mapping=devanagarinumerals + ]{#1} +} +\providecommand{\दुसराटंक}[2]{ + \newfontfamily{#1}[ + Script=Devanagari, + Mapping=devanagarinumerals + ]{#2} +} \fi \@ifpackageloaded{polyglossia}{ -\setdefaultlanguage{marathi} -\ifluatex -\setmainfont[Script=Devanagari,Renderer=Harfbuzz]{Shobhika} -\else -\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} -\fi + \setdefaultlanguage{marathi} + \ifluatex + \setmainfont[ + Script=Devanagari, + Renderer=Harfbuzz + ]{Shobhika} + \else + \setmainfont[ + Script=Devanagari, + Mapping=devanagarinumerals + ]{Shobhika} + \fi }{ -\usepackage{babel} -\babelprovide[import, main, maparabic, mapdigits, -counters/swar = अ आ इ ई उ ऊ ए ऐ ओ औ अं अः ॲ ऋ ऌ ऑ , -alph=swar, -counters/anka = एक दोन तीन चार पाच सहा सात आठ नऊ दहा अकरा बारा -तेरा चौदा पंधरा सोळा सतरा अठरा एकोणीस वीस एकवीस बावीस तेवीस -चोवीस पंचवीस सव्वीस सत्तावीस अठ्ठावीस एकोणतीस तीस एकतीस बत्तीस -तेहतीस चौतीस पस्तीस छत्तीस सदतीस अडतीस एकोणचाळीस चाळीस -एकेचाळीस बेचाळीस त्रेचाळीस चव्वेचाळीस पंचेचाळीस शेहेचाळीस सत्तेचाळीस -अठ्ठेचाळीस एकोणपन्नास पन्नास एकावन्न बावन्न त्रेपन्न चौपन्न पंचावन्न छप्पन्न -सत्तावन्न अठ्ठावन्न एकोणसाठ साठ एकसष्ट बासष्ट त्रेसष्ट चौसष्ट पासष्ट सहासष्ट -सदुष्ट अडुसष्ट एकोणसत्तर सत्तर एकाहत्तर बाहत्तर त्र्याहत्तर चौऱ्याहत्तर पंचाहत्तर -शाहत्तर सत्त्याहत्तर अठ्ठ्याहत्तर एकोणऐंशी ऐंशी एक्याऐंशी ब्याऐंशी त्र्याऐंशी -चौऱ्याऐंशी पंच्याऐंशी श्याऐंशी सत्त्याऐंशी अठ्ठ्याऐंशी एकोणनव्वद नव्वद एक्याण्णव -ब्याण्णव त्र्याण्णव चौऱ्याण्णव पंचाण्णव शहाण्णव सत्त्याण्णव अठ्याण्णव नव्याण्णव शंभर, -Alph=anka, -counters/vyanjan = क ख ग घ ङ -च छ ज झ ञ -ट ठ ड ढ ण -त थ द ध न -प फ ब भ म -य र ल व श ष स ह ळ -]{marathi} -\renewcommand\thepart{\localecounter{anka}{part}} -\renewcommand\theenumiii{\localecounter{vyanjan}{enumiii}} + \usepackage{babel} + \babelprovide[import, main, maparabic, mapdigits, + counters/swar = अ आ इ ई उ ऊ ए ऐ ओ औ अं अः ॲ ऋ ऌ ऑ , + alph=swar, + counters/anka = एक दोन तीन चार पाच सहा सात आठ नऊ दहा अकरा बारा + तेरा चौदा पंधरा सोळा सतरा अठरा एकोणीस वीस एकवीस बावीस तेवीस + चोवीस पंचवीस सव्वीस सत्तावीस अठ्ठावीस एकोणतीस तीस एकतीस बत्तीस + तेहतीस चौतीस पस्तीस छत्तीस सदतीस अडतीस एकोणचाळीस चाळीस + एकेचाळीस बेचाळीस त्रेचाळीस चव्वेचाळीस पंचेचाळीस शेहेचाळीस सत्तेचाळीस + अठ्ठेचाळीस एकोणपन्नास पन्नास एकावन्न बावन्न त्रेपन्न चौपन्न पंचावन्न छप्पन्न + सत्तावन्न अठ्ठावन्न एकोणसाठ साठ एकसष्ट बासष्ट त्रेसष्ट चौसष्ट पासष्ट सहासष्ट + सदुष्ट अडुसष्ट एकोणसत्तर सत्तर एकाहत्तर बाहत्तर त्र्याहत्तर चौऱ्याहत्तर पंचाहत्तर + शाहत्तर सत्त्याहत्तर अठ्ठ्याहत्तर एकोणऐंशी ऐंशी एक्याऐंशी ब्याऐंशी त्र्याऐंशी + चौऱ्याऐंशी पंच्याऐंशी श्याऐंशी सत्त्याऐंशी अठ्ठ्याऐंशी एकोणनव्वद नव्वद एक्याण्णव + ब्याण्णव त्र्याण्णव चौऱ्याण्णव पंचाण्णव शहाण्णव सत्त्याण्णव अठ्याण्णव नव्याण्णव शंभर, + Alph=anka, + counters/vyanjan = क ख ग घ ङ + च छ ज झ ञ + ट ठ ड ढ ण + त थ द ध न + प फ ब भ म + य र ल व श ष स ह ळ + ]{marathi} + \renewcommand\thepart{\localecounter{anka}{part}} + \renewcommand\theenumiii{\localecounter{vyanjan}{enumiii}} } % \end{macrocode} -% ह्या आज्ञांमुळे धारिका लुआलाटेक् अथवा झीलाटेक् ह्यांपैकी कोणत्याही चालकासह चालवता येते. \verb|polyglossia| हा आज्ञासंच वापरू नये व वापरल्यास केवळ झीलाटेक् हाच चालक वापरावा असा सल्ला मी देईन. कारण सध्या चालक व आज्ञासंचांची क्षमता पाहता पुढील गोष्टी मराठी आज्ञासंचासह पुरवल्या जातात. +% ह्या आज्ञांमुळे धारिका लुआलाटेक् अथवा झीलाटेक् ह्यांपैकी कोणत्याही चालकासह चालवता +% येते. \pkg{polyglossia} हा आज्ञासंच शक्यतो वापरू नये व वापरल्यास केवळ झीलाटेक् हाच +% चालक वापरावा असा सल्ला मी देईन. कारण सध्या चालक व आज्ञासंचांची क्षमता पाहता पुढील +% गोष्टी मराठी आज्ञासंचासह पुरवल्या जातात. + % \begin{center} % \begin{tabular}{|c|ccc|} % \hline % चालक & अचूक अक्षरे & अचूक भाषांतरे & देवनागरी अंक \\ % \hline -% \verb|babel| + झीलाटेक् & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} \\ -% \verb|babel| + लुआलाटेक् & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} \\ -% \verb|polyglossia| + झीलाटेक् & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} \\ -% \verb|polyglossia| + लुआलाटेक् & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{green!70!black}{\faIcon{thumbs-up}} & \textcolor{red!70!black}{\faIcon{thumbs-down}} \\ +% \pkg{babel} + झीलाटेक् & \होय & \होय & \होय \\ +% \pkg{babel} + लुआलाटेक् & \होय & \होय & \होय \\ +% \pkg{polyglossia} + झीलाटेक् & \होय & \होय & \होय \\ +% \pkg{polyglossia} + लुआलाटेक् & \होय & \होय & \नाही \\ % \hline % \end{tabular} % \captionof{table}{चालक व आज्ञासंचांची तुलना} % \end{center} % \subsection{नमुना मजकूर} % \subsubsection{परिच्छेद} -% परिच्छेद ही आज्ञा दस्तऐवजात कुठेही वापरली तरी एक लहानसा परिच्छेद आपोआप छापला जातो. त्याकरिता एक मजकूर धारिका आज्ञासंचासोबत येते. ती आज्ञासंचात पुढील आज्ञांनी समाविष्ट करून घेतली आहे. +% परिच्छेद ही आज्ञा दस्तऐवजात कुठेही वापरली तरी एक लहानसा परिच्छेद आपोआप छापला +% जातो. त्याकरिता एक मजकूर धारिका आज्ञासंचासोबत येते. ती आज्ञासंचात पुढील आज्ञांनी +% समाविष्ट करून घेतली आहे. % \begin{macrocode} -\providecommand{\परिच्छेद}{\input{namuna-para}} +\providecommand{\परिच्छेद}{ + \input{namuna-para} +} % \end{macrocode} % \subsubsection{दस्तऐवज} -% मागे म्हटल्याप्रमाणे नमुना मजकूर तयार करण्यासाठी ह्या आज्ञासंचाचा वापर करता येतो, परंतु त्याकरिता लाटेक्-ला थोडी माहिती पुरवावी लागते. उदा. दस्तऐवजाचा/ची लेखक/लेखिका, दस्तऐवजाचं शीर्षक इत्यादी. ही माहिती पुरवण्याचे विशिष्ट स्थान आहे. लाटेक्-मध्ये मूळ दस्तऐवज सुरू होण्यापूर्वी ही माहिती पुरविण्याकरिता \gls{आज्ञापीठ} असते, तिथे ही माहिती पुरवली जाते, परंतु ह्यामुळे फलित-धारिकेच्या \gls{पायाभूत माहिती}त ती नावे दिसू लागतात. ह्यासाठी आज्ञासंचात ही माहिती पुरवली गेली नाही आहे, ह्याउलट सोबत जोडलेल्या वेगवेगळ्या दस्तऐवजांमध्ये ती माहिती पुरवली गेली आहे. त्या धारिका केवळ नमुना मजकूर पुरवण्यासाठी आहेत. निरनिराळ्या लाटेक्-वर्गांसाठी संबंधित धारिका निवडणे व दस्तऐवजात लिहिलेला लाटेक्-वर्ग कोणता आहे हे पाहून त्यानुसार नमुना मजकूर छापणे ह्यासाठीच्या आज्ञा पुढीलप्रमाणे. +% मागे म्हटल्याप्रमाणे नमुना मजकूर तयार करण्यासाठी ह्या आज्ञासंचाचा वापर करता येतो, परंतु +% त्याकरिता लाटेक्-ला थोडी माहिती पुरवावी लागते. उदा. दस्तऐवजाचा/ची लेखक/लेखिका, +% दस्तऐवजाचं शीर्षक इत्यादी. ही माहिती पुरवण्याचे विशिष्ट स्थान आहे. लाटेक्-मध्ये मूळ +% दस्तऐवज सुरू होण्यापूर्वी ही माहिती पुरविण्याकरिता \gls{आज्ञापीठ} असते, तिथे ही +% माहिती पुरवली जाते, परंतु ह्यामुळे फलित-धारिकेच्या \gls{पायाभूत माहिती}त ती नावे दिसू +% लागतात. ह्यासाठी आज्ञासंचात ही माहिती पुरवली गेली नाही आहे, ह्याउलट सोबत जोडलेल्या +% वेगवेगळ्या दस्तऐवजांमध्ये ती माहिती पुरवली गेली आहे. त्या धारिका केवळ नमुना मजकूर +% पुरवण्यासाठी आहेत. निरनिराळ्या लाटेक्-वर्गांसाठी संबंधित धारिका निवडणे व दस्तऐवजात +% लिहिलेला लाटेक्-वर्ग कोणता आहे हे पाहून त्यानुसार नमुना मजकूर छापणे ह्यासाठीच्या आज्ञा +% पुढीलप्रमाणे. % \begin{macrocode} \newcounter{क्र} -\@ifclassloaded{article}{\setcounter{क्र}{1}}{} -\@ifclassloaded{book}{\setcounter{क्र}{2}}{} -\@ifclassloaded{report}{\setcounter{क्र}{3}}{} -\@ifclassloaded{beamer}{\setcounter{क्र}{4}}{} -\@ifclassloaded{letter}{\setcounter{क्र}{5}}{} +\@ifclassloaded{article}{ + \setcounter{क्र}{1} +}{} +\@ifclassloaded{book}{ + \setcounter{क्र}{2} +}{} +\@ifclassloaded{report}{ + \setcounter{क्र}{3} +}{} +\@ifclassloaded{beamer}{ + \setcounter{क्र}{4} +}{} +\@ifclassloaded{letter}{ + \setcounter{क्र}{5} +}{} \providecommand{\नमुना}{ - \ifnum\value{क्र}=1\input{namuna-article}\else - \ifnum\value{क्र}=2\input{namuna-book}\else - \ifnum\value{क्र}=3\input{namuna-report}\else - \ifnum\value{क्र}=4\input{namuna-beamer}\else - \input{namuna-letter}\relax\fi\fi\fi\fi + \ifnum\value{क्र}=1\input{namuna-article}\else + \ifnum\value{क्र}=2\input{namuna-book}\else + \ifnum\value{क्र}=3\input{namuna-report}\else + \ifnum\value{क्र}=4\input{namuna-beamer}\else + \input{namuna-letter}\relax\fi\fi\fi\fi } % \end{macrocode} -% \verb|beamer| लाटेक्-वर्ग वापरताना \verb|serif| ही टंकछटा निवडावी लागते, त्याशिवाय देवनागरी लिपी दिसत नाही. त्यासाठीची आज्ञा पुढीलप्रमाणे. +% \verb|beamer| लाटेक्-वर्ग वापरताना \verb|serif| ही टंकछटा निवडावी लागते, +% त्याशिवाय देवनागरी लिपी दिसत नाही. त्यासाठीची आज्ञा पुढीलप्रमाणे. % \begin{macrocode} -\@ifclassloaded{beamer}{\usefonttheme{serif}}{} -% \end{macrocode} -% ओळ संपते तिथे शब्द अर्धवट राहिल्यास संयोगचिन्हाचा वापर करून उर्वरित शब्द खाली लिहिण्याची पद्धत आपण जाणतो, परंतु शब्द कुठेही तुटता कामा नयेत ह्यासाठी काही आज्ञावली आवश्यक आहे. मराठीकरिता अशी आज्ञावली अजून तयार झालेली नाही, परंतु तोवर कुठेही शब्द तोडणे उचित नसल्यामुळे पुढील आज्ञांद्वारे ते थांबवले आहे. -% \begin{macrocode} -\sloppy -\hyphenpenalty=10000 -\exhyphenpenalty=1000 +\@ifclassloaded{beamer}{ + \usefonttheme{serif} +}{} % \end{macrocode} % \verb|expex| आज्ञासंचाचे स्थानिकीकरणदेखील पुढील आज्ञांमध्ये समाविष्ट आहे. % \begin{macrocode} \@ifpackageloaded{expex}{ -\definelabeltype{devanagari} -{labelgen=list,labellist={अ,आ,इ,ई,उ,ऊ,ए,ऐ,ओ,औ,अं,अः}, -labelformat=A., -fullrefformat=XA, -labelalign=left, -labelwidth=1.5em} -\lingset{labeltype=devanagari} + \definelabeltype{devanagari} + {labelgen=list,labellist={अ,आ,इ,ई,उ,ऊ,ए,ऐ,ओ,औ,अं,अः}, + labelformat=A., + fullrefformat=XA, + labelalign=left, + labelwidth=1.5em + } + \lingset{labeltype=devanagari} }{} \endinput % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/marathi/marathi.ins b/Master/texmf-dist/source/latex/marathi/marathi.ins index 95969715386..d279a213ca4 100644 --- a/Master/texmf-dist/source/latex/marathi/marathi.ins +++ b/Master/texmf-dist/source/latex/marathi/marathi.ins @@ -9,7 +9,7 @@ ------------------------------------------------------------------------- आज्ञासंच: marathi लेखक: निरंजन -आवृत्ती: १.४ (१३ ऑगस्ट, २०२०) +आवृत्ती: १.५ (२७ ऑक्टोबर, २०२०) माहिती: लुआ-लाटेक् व झी-लाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. दुवा: https://gitlab.com/niranjanvikastambe/marathi अडचणी: https://gitlab.com/niranjanvikastambe/marathi/-/issues @@ -32,7 +32,7 @@ marathi.sty ही धारिका समाविष्ट आहे. -------------------------------------------------------------------------- Package: marathi Author: Niranjan -Version: 1.4 (13 August, 2020) +Version: 1.5 (27 October, 2020) Description: For conveniently typesetting Marathi language with LuaLaTeX and XeLaTeX. Repository: https://gitlab.com/niranjanvikastambe/marathi Bug tracker: https://gitlab.com/niranjanvikastambe/marathi/-/issues diff --git a/Master/texmf-dist/tex/latex/marathi/marathi.sty b/Master/texmf-dist/tex/latex/marathi/marathi.sty index 00d75be8b97..e80eebd0c9c 100644 --- a/Master/texmf-dist/tex/latex/marathi/marathi.sty +++ b/Master/texmf-dist/tex/latex/marathi/marathi.sty @@ -9,7 +9,7 @@ %% ------------------------------------------------------------------------- %% आज्ञासंच: marathi %% लेखक: निरंजन -%% आवृत्ती: १.४ (१३ ऑगस्ट, २०२०) +%% आवृत्ती: १.५ (२७ ऑक्टोबर, २०२०) %% माहिती: लुआ-लाटेक् व झी-लाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. %% दुवा: https://gitlab.com/niranjanvikastambe/marathi %% अडचणी: https://gitlab.com/niranjanvikastambe/marathi/-/issues @@ -32,113 +32,168 @@ %% -------------------------------------------------------------------------- %% Package: marathi %% Author: Niranjan -%% Version: 1.4 (13 August, 2020) +%% Version: 1.5 (27 October, 2020) %% Description: For conveniently typesetting Marathi language with LuaLaTeX and XeLaTeX. %% Repository: https://gitlab.com/niranjanvikastambe/marathi %% Bug tracker: https://gitlab.com/niranjanvikastambe/marathi/-/issues %% License: The LaTeX Project Public License v1.3c or later. %% --------------------------------------------------------------------------- %% - -\ProvidesPackage{marathi}[2020-08-02 v1.4 झीलाटेक् व लुआलाटेक्-सह मराठीचा सुलभ वापर] +\ProvidesPackage{marathi}[2020-10-27 v1.5 झीलाटेक् व लुआलाटेक्-सह मराठीचा सुलभ वापर] \NeedsTeXFormat{LaTeX2e} +\RequirePackage{iftex} +\iftutex +\else +\PackageError{marathi}{% + चालक बदला | Unsupported engine +}{% + लुआलाटेक् अथवा झीलाटेक् वापरा.\MessageBreak + Only LuaLaTeX or XeLaTeX supported. +}% +\expandafter\endinput +\fi + \RequirePackage{setspace} \RequirePackage{pgfkeys} \def\बदल#1{\pgfqkeys{/marathi}{#1}} -\newcommand*\marathi@baselineskip{1.5} +\newcommand*\मराठीअंतर{1.5} \pgfkeys { - marathi/.is family, marathi/.cd, - अंतर/.store in=\marathi@baselineskip, - अंतर/.default=1 + marathi/.is family, marathi/.cd, + अंतर/.store in=\मराठीअंतर, + अंतर/.default=1 } \AtBeginDocument { - \@ifclassloaded{memoir} - { - \setSingleSpace{\marathi@baselineskip}\selectfont - \pgfkeys{marathi/अंतर/.code=\setSingleSpace{#1}\selectfont\SingleSpacing} - } - { - \setstretch{\marathi@baselineskip} - \pgfkeys{marathi/अंतर/.code=\setstretch{#1}} - } + \@ifclassloaded{memoir} + { + \setSingleSpace{\मराठीअंतर}\SingleSpacing + \pgfkeys{marathi/अंतर/.code=\setSingleSpace{#1}\SingleSpacing} + } + { + \setstretch{\मराठीअंतर} + \pgfkeys{marathi/अंतर/.code=\setstretch{#1}} + } } \DeclareOption*{\expandafter\बदल\expandafter{\CurrentOption}} \providecommand{\अंतरबदल}[1]{\बदल{अंतर=#1}} \ProcessOptions\relax \def\arraystretch{1.2} -\RequirePackage{iftex} \RequirePackage{fontspec} \ifluatex -\setmainfont[Script=Devanagari,Renderer=Harfbuzz]{Shobhika} -\providecommand{\टंक}[1]{\setmainfont[Script=Devanagari,Renderer=Harfbuzz]{#1}} -\providecommand{\दुसराटंक}[2]{\newfontfamily{#1}[Renderer=Harfbuzz,Script=Devanagari]{#2}} +\setmainfont[ +Script=Devanagari, +Renderer=Harfbuzz +]{Shobhika} +\providecommand{\टंक}[1]{ + \setmainfont[ + Script=Devanagari, + Renderer=Harfbuzz + ]{#1} +} +\providecommand{\दुसराटंक}[2]{ + \newfontfamily{#1}[ + Renderer=Harfbuzz, + Script=Devanagari + ]{#2} +} \else -\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} -\providecommand{\टंक}[1]{\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{#1}} -\providecommand{\दुसराटंक}[2]{\newfontfamily{#1}[Script=Devanagari,Mapping=devanagarinumerals]{#2}} +\setmainfont[ +Script=Devanagari, +Mapping=devanagarinumerals +]{Shobhika} +\providecommand{\टंक}[1]{ + \setmainfont[ + Script=Devanagari, + Mapping=devanagarinumerals + ]{#1} +} +\providecommand{\दुसराटंक}[2]{ + \newfontfamily{#1}[ + Script=Devanagari, + Mapping=devanagarinumerals + ]{#2} +} \fi \@ifpackageloaded{polyglossia}{ -\setdefaultlanguage{marathi} -\ifluatex -\setmainfont[Script=Devanagari,Renderer=Harfbuzz]{Shobhika} -\else -\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} -\fi + \setdefaultlanguage{marathi} + \ifluatex + \setmainfont[ + Script=Devanagari, + Renderer=Harfbuzz + ]{Shobhika} + \else + \setmainfont[ + Script=Devanagari, + Mapping=devanagarinumerals + ]{Shobhika} + \fi }{ -\usepackage{babel} -\babelprovide[import, main, maparabic, mapdigits, -counters/swar = अ आ इ ई उ ऊ ए ऐ ओ औ अं अः ॲ ऋ ऌ ऑ , -alph=swar, -counters/anka = एक दोन तीन चार पाच सहा सात आठ नऊ दहा अकरा बारा -तेरा चौदा पंधरा सोळा सतरा अठरा एकोणीस वीस एकवीस बावीस तेवीस -चोवीस पंचवीस सव्वीस सत्तावीस अठ्ठावीस एकोणतीस तीस एकतीस बत्तीस -तेहतीस चौतीस पस्तीस छत्तीस सदतीस अडतीस एकोणचाळीस चाळीस -एकेचाळीस बेचाळीस त्रेचाळीस चव्वेचाळीस पंचेचाळीस शेहेचाळीस सत्तेचाळीस -अठ्ठेचाळीस एकोणपन्नास पन्नास एकावन्न बावन्न त्रेपन्न चौपन्न पंचावन्न छप्पन्न -सत्तावन्न अठ्ठावन्न एकोणसाठ साठ एकसष्ट बासष्ट त्रेसष्ट चौसष्ट पासष्ट सहासष्ट -सदुष्ट अडुसष्ट एकोणसत्तर सत्तर एकाहत्तर बाहत्तर त्र्याहत्तर चौऱ्याहत्तर पंचाहत्तर -शाहत्तर सत्त्याहत्तर अठ्ठ्याहत्तर एकोणऐंशी ऐंशी एक्याऐंशी ब्याऐंशी त्र्याऐंशी -चौऱ्याऐंशी पंच्याऐंशी श्याऐंशी सत्त्याऐंशी अठ्ठ्याऐंशी एकोणनव्वद नव्वद एक्याण्णव -ब्याण्णव त्र्याण्णव चौऱ्याण्णव पंचाण्णव शहाण्णव सत्त्याण्णव अठ्याण्णव नव्याण्णव शंभर, -Alph=anka, -counters/vyanjan = क ख ग घ ङ -च छ ज झ ञ -ट ठ ड ढ ण -त थ द ध न -प फ ब भ म -य र ल व श ष स ह ळ -]{marathi} -\renewcommand\thepart{\localecounter{anka}{part}} -\renewcommand\theenumiii{\localecounter{vyanjan}{enumiii}} + \usepackage{babel} + \babelprovide[import, main, maparabic, mapdigits, + counters/swar = अ आ इ ई उ ऊ ए ऐ ओ औ अं अः ॲ ऋ ऌ ऑ , + alph=swar, + counters/anka = एक दोन तीन चार पाच सहा सात आठ नऊ दहा अकरा बारा + तेरा चौदा पंधरा सोळा सतरा अठरा एकोणीस वीस एकवीस बावीस तेवीस + चोवीस पंचवीस सव्वीस सत्तावीस अठ्ठावीस एकोणतीस तीस एकतीस बत्तीस + तेहतीस चौतीस पस्तीस छत्तीस सदतीस अडतीस एकोणचाळीस चाळीस + एकेचाळीस बेचाळीस त्रेचाळीस चव्वेचाळीस पंचेचाळीस शेहेचाळीस सत्तेचाळीस + अठ्ठेचाळीस एकोणपन्नास पन्नास एकावन्न बावन्न त्रेपन्न चौपन्न पंचावन्न छप्पन्न + सत्तावन्न अठ्ठावन्न एकोणसाठ साठ एकसष्ट बासष्ट त्रेसष्ट चौसष्ट पासष्ट सहासष्ट + सदुष्ट अडुसष्ट एकोणसत्तर सत्तर एकाहत्तर बाहत्तर त्र्याहत्तर चौऱ्याहत्तर पंचाहत्तर + शाहत्तर सत्त्याहत्तर अठ्ठ्याहत्तर एकोणऐंशी ऐंशी एक्याऐंशी ब्याऐंशी त्र्याऐंशी + चौऱ्याऐंशी पंच्याऐंशी श्याऐंशी सत्त्याऐंशी अठ्ठ्याऐंशी एकोणनव्वद नव्वद एक्याण्णव + ब्याण्णव त्र्याण्णव चौऱ्याण्णव पंचाण्णव शहाण्णव सत्त्याण्णव अठ्याण्णव नव्याण्णव शंभर, + Alph=anka, + counters/vyanjan = क ख ग घ ङ + च छ ज झ ञ + ट ठ ड ढ ण + त थ द ध न + प फ ब भ म + य र ल व श ष स ह ळ + ]{marathi} + \renewcommand\thepart{\localecounter{anka}{part}} + \renewcommand\theenumiii{\localecounter{vyanjan}{enumiii}} +} + +\providecommand{\परिच्छेद}{ + \input{namuna-para} } -\providecommand{\परिच्छेद}{\input{namuna-para}} \newcounter{क्र} -\@ifclassloaded{article}{\setcounter{क्र}{1}}{} -\@ifclassloaded{book}{\setcounter{क्र}{2}}{} -\@ifclassloaded{report}{\setcounter{क्र}{3}}{} -\@ifclassloaded{beamer}{\setcounter{क्र}{4}}{} -\@ifclassloaded{letter}{\setcounter{क्र}{5}}{} +\@ifclassloaded{article}{ + \setcounter{क्र}{1} +}{} +\@ifclassloaded{book}{ + \setcounter{क्र}{2} +}{} +\@ifclassloaded{report}{ + \setcounter{क्र}{3} +}{} +\@ifclassloaded{beamer}{ + \setcounter{क्र}{4} +}{} +\@ifclassloaded{letter}{ + \setcounter{क्र}{5} +}{} \providecommand{\नमुना}{ - \ifnum\value{क्र}=1\input{namuna-article}\else - \ifnum\value{क्र}=2\input{namuna-book}\else - \ifnum\value{क्र}=3\input{namuna-report}\else - \ifnum\value{क्र}=4\input{namuna-beamer}\else - \input{namuna-letter}\relax\fi\fi\fi\fi + \ifnum\value{क्र}=1\input{namuna-article}\else + \ifnum\value{क्र}=2\input{namuna-book}\else + \ifnum\value{क्र}=3\input{namuna-report}\else + \ifnum\value{क्र}=4\input{namuna-beamer}\else + \input{namuna-letter}\relax\fi\fi\fi\fi } -\@ifclassloaded{beamer}{\usefonttheme{serif}}{} -\sloppy -\hyphenpenalty=10000 -\exhyphenpenalty=1000 +\@ifclassloaded{beamer}{ + \usefonttheme{serif} +}{} \@ifpackageloaded{expex}{ -\definelabeltype{devanagari} -{labelgen=list,labellist={अ,आ,इ,ई,उ,ऊ,ए,ऐ,ओ,औ,अं,अः}, -labelformat=A., -fullrefformat=XA, -labelalign=left, -labelwidth=1.5em} -\lingset{labeltype=devanagari} + \definelabeltype{devanagari} + {labelgen=list,labellist={अ,आ,इ,ई,उ,ऊ,ए,ऐ,ओ,औ,अं,अः}, + labelformat=A., + fullrefformat=XA, + labelalign=left, + labelwidth=1.5em + } + \lingset{labeltype=devanagari} }{} \endinput %% -- cgit v1.2.3