% \iffalse meta-comment
%
% File: marathi.dtx
% ---------------------------------------------------------------------------
% आज्ञासंच:		marathi
% लेखक:		निरंजन
% माहिती:	लुआलाटेक् व झीलाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी.
% दुवा:   https://gitlab.com/niranjanvikastambe/marathi
% अडचणी:  https://gitlab.com/niranjanvikastambe/marathi/-/issues
% परवाना:      लाटेक् प्रकल्प परवाना. आवृत्ती १.३सी किंवा त्यापुढील.
% ---------------------------------------------------------------------------
% हे काम लाटेक् प्रकल्प परवान्याच्या अटींचे पालन करून वितरित केले जाऊ शकते
% तसेच सुधारले जाऊ शकते.
% 
% The latest version of this license is in
% 
% http://www.latex-project.org/lppl.txt.
% 
% हा आज्ञासंचाची लाटेक् प्रकल्पाच्या नियमांनुसार देखरेख केली जात आहे.
% 
% ह्या आज्ञासंचाचा लेखक व पालक निरंजन आहे.
% 
% ह्या कामात marathi.dtx, marathi.ins तसेच त्यांपासून निर्माण केलेली
% marathi.sty ही धारिका समाविष्ट आहे.
% ---------------------------------------------------------------------------
%
% \fi
% \iffalse
%<*internal>
\iffalse
%</internal>
%<*readme>
आज्ञासंच:      marathi
लेखक:       निरंजन
आवृत्ती:      १.५ (२७ ऑक्टोबर, २०२०)
माहिती:  लुआलाटेक् व झीलाटेक् ह्यांच्यासह मराठीचा 
सुलभ वापर करण्यासाठी. इथून पुढे लाटेक्-वरील मराठीच्या
स्थानिकीकरणाचे काम ह्या आज्ञासंचामार्फत केले जाईल.
तूर्त expex व blindtext ह्या आज्ञासंचांचे स्थानिकीकरण
ह्या आज्ञासंचामार्फत पुरवले आहे.
दुवा:   https://gitlab.com/niranjanvikastambe/marathi
अडचणी:  https://gitlab.com/niranjanvikastambe/marathi/-/issues
परवाना:      लाटेक् प्रकल्प परवाना. आवृत्ती १.३सी किंवा त्यापुढील.
अधिक माहितीकरिता marathi.dtx ही बीजधारिका पाहा.
--------------------------------------------------------------------------
काही सूचना -
पुढील धारिका texmf-dist/tex/latex/marathi ह्या पत्त्यावर उतरवून घ्या.
१) namuna-article.tex
२) namuna-book.tex
३) namuna-report.tex
४) namuna-beamer.tex
५) namuna-letter.tex
६) namuna-report.tex
--------------------------------------------------------------------------
Package:      marathi
Author:       Niranjan
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
language. Currently the package localizes package
blindtext and package expex.
Repository:   https://gitlab.com/niranjanvikastambe/marathi
Bug tracker:  https://gitlab.com/niranjanvikastambe/marathi/-/issues
License:      The LaTeX Project Public License v1.3c or later.
--------------------------------------------------------------------------
Installation instructions -
Copy the following files in the following path texmf-dist/tex/latex/marathi
1) namuna-article.tex
2) namuna-book.tex
3) namuna-report.tex
4) namuna-beamer.tex
5) namuna-letter.tex
6) namuna-report.tex
%</readme>
%<*internal>
\fi
%</internal>
%<*driver>
\documentclass[10pt]{l3doc}
\usepackage{fontspec}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{
  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}
\renewcommand{\tablename}{कोष्टक}
\renewcommand{\arraystretch}{1.2}
\usepackage{standalone}
\makeatletter
\RequirePackage{devanagaridigits}
\def\@arabic#1{\expandafter\devanagaridigits\expandafter{\number#1}}
\makeatother
\renewcommand{\theCodelineNo}{{\scriptsize\arabic{CodelineNo}}\quad}
\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}
\begin{document}
\DocInput{marathi.dtx}
\end{document}
%</driver>
% \fi
%
%
%
% \title{मराठी}
% \author{निरंजन}
% \date^^A
%   {^^A
%     आवृत्ती १.५ \textemdash\ २७ ऑक्टोबर, २०२०\\[1ex]^^A
%     {\small\faIcon{gitlab}\quad\url{https://gitlab.com/niranjanvikastambe/marathi}}^^A
%   }
%
% \maketitle
%
% \begin{abstract}
% युनिकोडाचा वापर करून मराठीत \gls{अक्षरजुळणी}\footnote{ह्या दस्तऐवजात 
% लाटेक्-मध्ये प्रचलित असणाऱ्या अनेक इंग्रजी संज्ञांसाठी पर्यायी मराठी 
% संज्ञा वापरण्यात आल्या आहेत, हे सर्व प्रयोग तुलनेने नवे असल्याने ह्याच 
% दस्तऐवजात शेवटी दिलेल्या संज्ञासूचीत सर्व संज्ञांचे इंग्रजी अर्थ दिले 
% आहेत.} शक्य आहे, परंतु सुलभ नाही. लाटेक्-सह मराठीत अक्षरजुळणी करताना आपली 
% \gls{बीजधारिका} अनेक आज्ञांनी भरून जाते. हा \gls{आज्ञासंच} अशा सर्व 
% उपयुक्त \gls{आज्ञा} आधीच लिहून ठेवतो. त्यामुळे नव्या वापरकर्त्यांना त्या 
% नव्याने शिकाव्या लागत नाहीत. शिवाय \pkg{blindtext} ह्या आज्ञासंचाप्रमाणे 
% मराठीकरिता नमुना मजकूर उत्पन्न करण्यासाठीची सोय ह्या आज्ञासंचात करण्यात 
% आली आहे.
% \end{abstract}
%
%\tableofcontents
%
% \vfill
%
% \begin{documentation}
% \section{प्रस्तावना}
% \subsection*{देवनागरी दिसण्यासाठी टाकावयाच्या आज्ञा}
% लाटेक्-मध्ये मराठीचा वापर करताना सर्वात महत्त्वाची गरज म्हणजे देवनागरी 
% लिपी नीट दिसणे. लाटेक् विकसित झाले तेव्हा युनिकोड ही प्रणाली अस्तित्वात 
% नसल्याने टेक्, लाटेक् ह्यांसारख्या चालकांसह युनिकोड अक्षरे वापरता येत 
% नाहीत, परंतु लवकरच युनिकोड अक्षरांचा वापर लाटेक्-मध्ये करता यावा ह्याकरिता 
% झीलाटेक् तसेच लुआलाटेक् ह्या नव्या चालकांचा विकास 
% झाला. \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}} ह्या पुस्तिकेत
% ह्या सर्व अडचणींची गोष्टींची तपशीलवार चर्चा झाली आहे.
%
% सद्यपरिस्थितीत लाटेक्-चे किमान ज्ञान असलेल्या नव्या वापरकर्त्याला मराठी लिहिण्यासाठी
% एवढा सगळा प्रपंच करायला लावणे म्हणजे ज्या फांदीवर आपण बसलो आहोत तीच तोडण्यासारखे
% आहे. त्यामुळे कोणत्याही वापरकर्त्याला केवळ लाटेक्-च्या किमान ज्ञानासह
% \verb|\usepackage{marathi}| एवढी एक आज्ञा लिहून उत्तम देवनागरी अक्षरजुळणी करता
% यावी हा ह्या आज्ञासंचाचा उद्देश आहे. ह्या आज्ञासंचात पुढील आज्ञांचा समावेश आहे.
%
% \begin{function}{\परिच्छेद}
%   ही आज्ञा केवळ एक नमुना परिच्छेद निर्माण करते. ही आज्ञा एकामागोमाग एक अनेकदा
%   टाकल्याने तितके परिच्छेद निर्माण केले जाऊ शकतात.
% \end{function}
%
% \begin{function}{\नमुना}
%   नमुना ही आज्ञा सर्वप्रथम वापरला गेलेला \gls{लाटेक्-वर्ग} पाहते व त्यानुसार त्या
%   वर्गाच्या किमान क्षमता दर्शवणारी एक \gls{फलित-धारिका} निर्माण करते. उदाहरणादाखल
%   \verb|article, book, report, beamer| व \verb|letter| ह्या लाटेक्-वर्गांसह
%   \verb|\नमुना| ही आज्ञा चालवून पाहा. एकाच बीजधारिकेत केवळ लाटेक्-वर्ग बदलत असाल,
%   तर लाटेक्-ने तयार केलेल्या \gls{साहाय्यक धारिका} काही वेळा अनपेक्षित \gls{अडचण}
%   दाखवतात. जुनी माहिती शिल्लक असल्याने त्या दिल्या जातात. घाबरून न जाता, बीजधारिका
%   दोनदा चालवावी. सर्व अडचणी सुटतात.
% \end{function}
%
% \begin{function}{\टंक}
%   \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{verbatim}
% \documentclass{article}
% \usepackage{marathi}
% \दुसराटंक{\नवाटंक}{Mukta}
% 
% \begin{document}
% नमस्कार, हा मजकूर शोभिका टंकात छापला गेला आहे, परंतु {\नवाटंक हा मजकूर मुक्त टंकात छापला गेला आहे.}
% \end{document}
% \end{verbatim}
% \end{function}
%
% \begin{function}{अंतर}
% हे प्राचल वापरल्यास आज्ञासंचातर्फे दोन ओळींमधील अंतरात कोणताही हस्तक्षेप केला जात
% नाही. अधिक माहितीसाठी \ref{अंतर} वाचा. ह्या प्राचलाला किंमतदेखील देता
% येते. उदा. \verb|\usepackage[अंतर=2]{marathi}| अशा प्रकारे आज्ञासंच वापरल्यास
% ओळींमधले अंतर दुप्पट होते. कोणत्याही प्राचलाशिवाय वापरल्यास आज्ञासंचातर्फे मूलभूत
% अंतराच्या दीडपट अंतर पुरवले जाते. पुढील कोष्टकाने अंतर ह्या प्राचलाचा वापर अधिक स्पष्ट
% होईल.\label{प्राचल}
%
% \begin{center}
%   \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{verbatim}
% \documentclass{article}
% \usepackage{marathi}
% 
% \begin{document}
% \परिच्छेद
% \अंतरबदल{5}
% \परिच्छेद
% \end{document}    
% \end{verbatim}
% \end{function}
% \end{documentation}
% \begin{implementation}
% \section{आज्ञासंचाची घडण}
% आता आपण आज्ञासंचाची घडण व त्यातील आज्ञांचा उपयोग लक्षात घेऊयात.
%    \begin{macrocode}
%<*package>
%    \end{macrocode}
%    \begin{macrocode}
\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 अशी अक्षरे सोडली तर ह्याहून जास्त खोल असणारा मजकूर त्या लिपीत
% आढळत नाही. देवनागरीचे तसे नाही. क ह्या अक्षराहून क्क थोडे अधिक खोल. ट्ट त्याहून थोडे
% अधिक व ट्टू त्याहून. अशा असमान उंचीच्या अक्षरांमुळे लाटेक् आपोआप दोन ओळींमधले अंतर बदलते
% व त्यामुळे ओळींची उंची असमान दिसू लागते. साध्या मजकुरातील ओळींप्रमाणेच कोष्टकेदेखील कुरूप
% दिसू लागतात. ह्यावर तोडगा काय? ह्याची दोन उत्तरे आहेत. पहिले उत्तर मराठीच्या
% आजवरच्या छपाईच्या इतिहासाचा अभ्यास करून, मराठी लिहिताना दोन ओळींमध्ये सोडले गेलेले
% सरासरी अंतर किती ह्याचे संशोधन करणे व त्यानुसार सर्व ठिकाणी ते अंतर लागू करणे. हा
% मार्ग सहज नाही. त्याकरिता टंकाच्या आकाराचे व त्यानुसार बदलणाऱ्या ओळींच्या अंतराचे
% प्रमाण काळजीपूर्वक अभ्यासावे लागेल. हे सर्व करणे जरी इष्ट व आवश्यक असले, तरी हे संशोधन
% पूर्ण होईस्तोवर सामान्य वापरकर्त्याला असमान उंचीच्या ओळींचा जो त्रास सहन करावा
% लागतो, तो कसा टाळावा? त्यासाठी तात्पुरता तोडगा काढावा लागतो. तो असा की
% ओळींमधले अंतर दस्तऐवजाच्या सुरुवातीलाच (अंदाजे) वाढवून ठेवायचे.
%
% आमच्या काही सहकाऱ्यांच्या मते हा निर्णय अतिशय उग्र आहे. त्यामुळे दस्तऐवजातील इतर काही
% ठिकाणच्या अंतरांवर सूक्ष्म परिणाम घडतात, जे टाळणे अधिक इष्ट. त्यांच्या ह्या मताचा
% विचार करून ह्या आज्ञासंचाकरिता  \textbf{अंतर} नावाचे प्राचल विकसित केले आहे. त्याचा
% वापर कसा केला जावा ही माहिती आपण \ref{प्राचल} मध्ये वाचलीच आहे. हे प्राचल
% वापरल्यास आज्ञासंचातर्फे ओळींमधल्या अंतरात कोणताही हस्तक्षेप केला जात नाही. ह्या
% गुंतागुंतीच्या रचनेकरिता पुढील आज्ञा समाविष्ट केल्या आहेत. ह्या आज्ञांसाठी जोनाथन स्प्राट
% व जूल वोऊ ह्यांच्या टॉप-आन्सर्सवरील उत्तरांची मदत झाली.
%    \begin{macrocode}
\RequirePackage{setspace}
\RequirePackage{pgfkeys}
\def\बदल#1{\pgfqkeys{/marathi}{#1}}
\newcommand*\मराठीअंतर{1.5}
\pgfkeys
{
  marathi/.is family, marathi/.cd,
  अंतर/.store in=\मराठीअंतर,
  अंतर/.default=1
}
\AtBeginDocument
{
  \@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}
%    \end{macrocode}
% \subsection{भाषा व टंक}
% लाटेक्-ला भाषा पुरवणारे \pkg{babel} व \pkg{polyglossia} हे दोन आज्ञासंच
% आहेत. \pkg{babel} आज्ञासंच लुआलाटेक् व झीलाटेक्-सह चांगले फलित देतो, त्यामुळे ह्या
% आज्ञासंचाला मूलभूत भाषांतरे पुरवणारा आज्ञासंच मानून \pkg{polyglossia} हा आज्ञासंच
% वैकल्पिक ठेवला आहे. \pkg{polyglossia} आज्ञासंच केवळ झीलाटेक्-सह योग्य फलित
% देतो. डेव्हिड कार्लआयल ह्यांनी नोंदवलेल्या
% \href{https://gitlab.com/niranjanvikastambe/marathi/-/issues/2}{ह्या}
% तक्रारीमुळे भाषांतरे पुरवणारा आज्ञासंच निवडण्यात खूप मदत झाली. शोभिका हा उत्कृष्ट
% देवनागरी टंक टेक्-वितरणासह येत असल्याने त्याची निवड मूलटंक म्हणून करण्यात आली
% आहे. \verb|\टंक| ह्या आज्ञेसह मूलटंक बदलता येतो. \verb|\दुसराटंक| ह्या आज्ञेसह अधिकचे
% टंक निवडता येतात.
% 
%    \begin{macrocode}
\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}
}
\else
\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
}{
  \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}
% ह्या आज्ञांमुळे धारिका लुआलाटेक् अथवा झीलाटेक् ह्यांपैकी कोणत्याही चालकासह चालवता
% येते. \pkg{polyglossia} हा आज्ञासंच शक्यतो वापरू नये व वापरल्यास केवळ झीलाटेक् हाच
% चालक वापरावा असा सल्ला मी देईन. कारण सध्या चालक व आज्ञासंचांची क्षमता पाहता पुढील
% गोष्टी मराठी आज्ञासंचासह पुरवल्या जातात.

% \begin{center}
% \begin{tabular}{|c|ccc|}
% \hline
% चालक & अचूक अक्षरे & अचूक भाषांतरे & देवनागरी अंक \\
% \hline
% \pkg{babel} + झीलाटेक् & \होय & \होय & \होय \\
% \pkg{babel} + लुआलाटेक् & \होय & \होय & \होय \\
% \pkg{polyglossia} + झीलाटेक् & \होय & \होय & \होय \\
% \pkg{polyglossia} + लुआलाटेक् & \होय & \होय & \नाही \\
% \hline
% \end{tabular}
% \captionof{table}{चालक व आज्ञासंचांची तुलना}
% \end{center}
% \subsection{नमुना मजकूर}
% \subsubsection{परिच्छेद}
% परिच्छेद ही आज्ञा दस्तऐवजात कुठेही वापरली तरी एक लहानसा परिच्छेद आपोआप छापला
% जातो. त्याकरिता एक मजकूर धारिका आज्ञासंचासोबत येते. ती आज्ञासंचात पुढील आज्ञांनी
% समाविष्ट करून घेतली आहे.
%    \begin{macrocode}
\providecommand{\परिच्छेद}{
  \input{namuna-para}
}
%    \end{macrocode}
% \subsubsection{दस्तऐवज}
% मागे म्हटल्याप्रमाणे नमुना मजकूर तयार करण्यासाठी ह्या आज्ञासंचाचा वापर करता येतो, परंतु
% त्याकरिता लाटेक्-ला थोडी माहिती पुरवावी लागते. उदा. दस्तऐवजाचा/ची लेखक/लेखिका,
% दस्तऐवजाचं शीर्षक इत्यादी. ही माहिती पुरवण्याचे विशिष्ट स्थान आहे. लाटेक्-मध्ये मूळ
% दस्तऐवज सुरू होण्यापूर्वी ही माहिती पुरविण्याकरिता \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}
}{}
\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
}
%    \end{macrocode}
% \verb|beamer| लाटेक्-वर्ग वापरताना \verb|serif| ही टंकछटा निवडावी लागते,
% त्याशिवाय देवनागरी लिपी दिसत नाही. त्यासाठीची आज्ञा पुढीलप्रमाणे.
%    \begin{macrocode}
\@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}
}{}
\endinput
%    \end{macrocode}
%    \begin{macrocode}
%</package>
%    \end{macrocode}
% \end{implementation}
% \pagebreak
% \printnoidxglossaries