├── images └── logo.png ├── demo ├── nepali-demo.pdf └── nepali-demo.tex ├── LICENSE.md ├── README.md └── package └── nepali.sty /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pranphy/nepatex/HEAD/images/logo.png -------------------------------------------------------------------------------- /demo/nepali-demo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pranphy/nepatex/HEAD/demo/nepali-demo.pdf -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright © 2022 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](images/logo.png) 2 | 3 | # Introduction 4 | This is a very small single file that helps in typesetting documents in Nepali (devanagari in general) with $\LaTeX$ with the latest `lualatex` engine. Various sensible defaults have been used to make the document readable in Nepali. 5 | 6 | This package uses lua code in lualatex so can only be compiled with lualatex. You should anyway be using `lualatex` for compilation. One more reason to use lualatex if you want to typeset document in nepali using $LaTeX$. 7 | 8 | # Installation 9 | 10 | Since this is a single `.sty` file, it can be easily installed by putting the file `package/nepali.sty` into your `texmf` tree. You can either put this into the same directory as your latex document or in any location in the texmf tree. A common location in unix-like os is under `~/texmf/tex/latex` 11 | 12 | ```bash 13 | $ git clone https://github.com/pranphy/nepatex.git 14 | $ cp nepatex/package/nepali.sty ~/texmf/tex/latex/ 15 | ``` 16 | 17 | 18 | 19 | > [!NOTE] 20 | > Some systems might need installation of luatex extension to latex explicitly. For example on ubuntu you need to install this with 21 | ```bash 22 | sudo apt install texlive-luatex 23 | ``` 24 | 25 | # Usage 26 | 27 | To use the package simply use this in preamble 28 | 29 | ```latex 30 | \usepackage{nepali} 31 | ``` 32 | 33 | The default date command `\today` gives date in BS calendar system. It will print current date in the format `२०७८ फागुन ४`. And additionaal command `\nepdate` is available which also prints the current date. So you can use. 34 | 35 | ```latex 36 | आजको मितिः \nepdate हो। 37 | ``` 38 | 39 | which will produce 40 | 41 | > आजको मिति २०७८ फागुन ४ हो। 42 | 43 | # Demo 44 | 45 | A sample demo is available inside the `demo` directory. To compile it 46 | 47 | ```bash 48 | $ cd neplatex/demo 49 | $ lualatex nepali-demo.tex 50 | ``` 51 | A demo pdf is also included. You can open with your favourite pdf reader 52 | 53 | ```bash 54 | $ zathura nepali-demo.pdf 55 | ``` 56 | 57 | -------------------------------------------------------------------------------- /demo/nepali-demo.tex: -------------------------------------------------------------------------------- 1 | % Author : Prakash Gautam 2 | % Date : 11-02-2022 22:44:45 3 | % vim: ai ts=4 sts=4 et sw=4 ft=tex 4 | % 5 | \documentclass[a4paper]{article} 6 | \usepackage[margin=28mm]{geometry} 7 | \usepackage{amsmath} 8 | \usepackage{amssymb} 9 | \usepackage{parskip} 10 | \usepackage{graphicx} 11 | \usepackage{nepali} % This is the package we are using. 12 | 13 | \usepackage{fontspec} 14 | 15 | \setmainfont[Renderer=HarfBuzz]{Laila} 16 | 17 | 18 | \title{अब \LaTeX ~ नेपालीमा पनि} 19 | \date{\today} 20 | \author{ प्रकाश} 21 | 22 | 23 | 24 | \begin{document} 25 | 26 | \maketitle 27 | 28 | \begin{abstract} 29 | यो सारांश हो। यसलाई अङ्ग्रेजीमा abstract भनिन्छ। यसले यो दस्तावेजमा भएका कुराहरूको सार सङ्क्षेपमा हामीलाई जानकारी दिन्छ। यसालई धेरै लामो पनि बनाउनु हुँदैन तर यसले पुरै दस्तावेजमा भएका कुराहरूको बारेमा छोटो र छिटो जानकारी दिन सक्नुपर्छ। 30 | \end{abstract} 31 | 32 | \tableofcontents 33 | \section{खण्ड} 34 | यो दस्तावेज nepali.sty प्रयोग गरेर बनाइएको हो। यसलाई हामी https://github.com/pranphy/nepatex.git बाट प्राप्त गर्न सक्छौँ। 35 | 36 | यहाँ तल एउटा समिकरण छ। 37 | 38 | \begin{align} \label{eq:trig-tan} 39 | \frac{\sin{\phi}}{\cos{\phi}} = \tan{\phi} 40 | \end{align} 41 | 42 | समिकरण (\ref{eq:trig-tan}) मा एउटा त्रिकोणमितिको समान्य सुत्र छ। 43 | 44 | मलाई मनपर्ने सुत्र यो हो। 45 | 46 | \begin{align*} 47 | G_{\mu\nu} + \Lambda g_{\mu\nu} = 8\pi T_{\mu\nu} 48 | \end{align*} 49 | 50 | यसलाई सापेक्षतावादको ब्यापक सिद्धान्त पनि भन्न सकिन्छ। 51 | 52 | \section{अन्य कुराहरू} 53 | 54 | \begin{enumerate} 55 | \item यो पहिलो कुरा हो। 56 | \item यो दोस्रो कुरा हो। 57 | \begin{enumerate} 58 | \item यहाँ भित्र पनि छ। 59 | \item अर्को भित्र पनि छ। 60 | \end{enumerate} 61 | \item अझै निरन्तर गर्न त सकिने नै भयो। 62 | \end{enumerate} 63 | 64 | \section{कान्तिपुरबाट सानो लेख} 65 | गोवामा एउटा मन्दिर थियो— मंगेश मन्दिर। मंग+ईश . मंगेश। मंगेश मन्दिरको वा देवताको नाउँमा त्यहाँ एउटा गाउँ बस्यो— मंगेशी । सम्भावना यो पनि छ कि, गाउँ मंगेशी पहिल्यैदेखि थियो । मंगेशी ग्राम--वासीहरूले कुनै कालमा त्यो मन्दिर बनाएको अथवा महादेवको मूर्ति प्रकट भएकाले, गाउँलेहरूले मन्दिर बनाए र पूजा गर्न थाले। कहिलेदेखि, यो ज्ञात छैन। मंगेशी गाउँका निवासी भन्थे, अति प्राचीनकालमा । त्यसका पुजारी हुन्थे, एक पुजारीको सेखपछि उसको सन्तान पुजारी बन्थ्यो । त्यसरी कुनै बखत एक पुजारीको एक पुत्र जन्म्यो— दीनानाथ । 66 | 67 | \begin{table}[h!] 68 | \centering 69 | \caption{यहाँ तालिका छ तल हेर्नुस्} 70 | \begin{tabular}{lll} 71 | एक & दुई & तीन \\ 72 | \hline \hline 73 | क & ख & ग\\ 74 | \hline 75 | \end{tabular} 76 | \end{table} 77 | 78 | \begin{align} 79 | \int\limits_0^\infty x^{n-1} e^{-x} dx = \Gamma(n) 80 | \end{align} 81 | \section{चित्र भएको खण्ड} 82 | 83 | \begin{figure}[h!] 84 | \centering 85 | \includegraphics[width=.60\linewidth]{../images/logo.png} 86 | \caption{यो चित्र हाम्रो प्याकेजको आइकन हो।} 87 | \label{fig:pkg-icn} 88 | \end{figure} 89 | हामी हाम्रो यो प्याकेजको आइकन चित्र (\ref{fig:pkg-icn}) मा देख्न सक्छौँ। 90 | 91 | \end{document} 92 | -------------------------------------------------------------------------------- /package/nepali.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{nepali} 2 | \usepackage{fontspec} 3 | \usepackage{luacode} 4 | 5 | \usepackage{polyglossia} 6 | \setdefaultlanguage{sanskrit} 7 | 8 | \begin{luacode*} 9 | local data = { 10 | {2028, 1971-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 11 | {2029, 1972-04-13, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30}, 12 | {2030, 1973-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 13 | {2031, 1974-04-14, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31}, 14 | {2032, 1975-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 15 | {2033, 1976-04-13, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 16 | {2034, 1977-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 17 | {2035, 1978-04-14, 30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31}, 18 | {2036, 1979-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 19 | {2037, 1980-04-13, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 20 | {2038, 1981-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 21 | {2039, 1982-04-14, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30}, 22 | {2040, 1983-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 23 | {2041, 1984-04-13, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 24 | {2042, 1985-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 25 | {2043, 1986-04-14, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30}, 26 | {2044, 1987-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 27 | {2045, 1988-04-13, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 28 | {2046, 1989-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 29 | {2047, 1990-04-14, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30}, 30 | {2048, 1991-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 31 | {2049, 1992-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30}, 32 | {2050, 1993-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31}, 33 | {2051, 1994-04-14, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30}, 34 | {2052, 1995-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 35 | {2053, 1996-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30}, 36 | {2054, 1997-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31}, 37 | {2055, 1998-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 38 | {2056, 1999-04-14, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30}, 39 | {2057, 2000-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 40 | {2058, 2001-04-14, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31}, 41 | {2059, 2002-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 42 | {2060, 2003-04-14, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 43 | {2061, 2004-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 44 | {2062, 2005-04-14, 30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31}, 45 | {2063, 2005-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 46 | {2064, 2007-04-14, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 47 | {2065, 2008-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 48 | {2066, 2009-04-14, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31}, 49 | {2067, 2010-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 50 | {2068, 2011-04-14, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 51 | {2069, 2012-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 52 | {2070, 2013-04-14, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30}, 53 | {2071, 2014-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 54 | {2072, 2015-04-14, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 55 | {2073, 2016-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31}, 56 | {2074, 2017-04-14, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30}, 57 | {2075, 2018-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 58 | {2076, 2019-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30}, 59 | {2077, 2020-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31}, 60 | {2078, 2021-04-14, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30}, 61 | {2079, 2022-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30}, 62 | {2080, 2023-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30}, 63 | {2081, 2024-04-13, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 64 | {2082, 2025-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 65 | {2083, 2026-04-14, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30}, 66 | {2084, 2027-04-14, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30}, 67 | {2085, 2028-04-13, 31, 32, 31, 32, 31, 31, 30, 30, 29, 30, 30, 30}, 68 | {2086, 2029-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 69 | {2087, 2030-04-14, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30}, 70 | {2088, 2031-04-15, 30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30}, 71 | {2089, 2032-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 72 | {2090, 2033-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 73 | {2091, 2034-04-14, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30}, 74 | {2092, 2035-04-13, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 75 | {2093, 2036-04-14, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 76 | {2094, 2037-04-14, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30}, 77 | {2095, 2038-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30}, 78 | {2096, 2039-04-15, 30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30}, 79 | {2097, 2040-04-13, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30}, 80 | {2098, 2041-04-14, 31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 30, 31}, 81 | {2099, 2042-04-14, 31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30}, 82 | {2100, 2043-04-14, 31, 32, 31, 32, 30, 31, 30, 29, 30, 29, 30, 30} 83 | } 84 | 85 | local dig_map = { 86 | ["0"] = "०", 87 | ["1"] = "१", 88 | ["2"] = "२", 89 | ["3"] = "३", 90 | ["4"] = "४", 91 | ["5"] = "५", 92 | ["6"] = "६", 93 | ["7"] = "७", 94 | ["8"] = "८", 95 | ["9"] = "९" 96 | } 97 | local nep_months = {"बैशाख", "जेठ", "असार", "साउन", "भाद्र", "असोज", "कात्तिक", "मंसीर", "पुष", "माघ","फागुन","चैत"} 98 | 99 | 100 | 101 | function days_since(ad) 102 | local now = os.time() 103 | local base = os.time({year=ad.year,month=ad.month,day=ad.day}) 104 | local diff = now-base 105 | local dys = math.floor(diff/(24*3600.0)) 106 | return dys 107 | end 108 | 109 | -- very unoptomized function to get bs date afger `days` days from 110 | -- the given date table in `bs`. Unoptimized because I don't know 111 | -- lua lanugage at all to optimize this. 112 | function bs_after_days(bs,days) 113 | da = {} 114 | cday = 0 115 | for i,row in ipairs(data) do 116 | for j,col in ipairs(row) do 117 | if j > 2 then -- selecting 3rd column onward, because 1st BS yr, 2nd AD date. 118 | cday = cday + col 119 | if cday > days then 120 | yr = row[1] 121 | mon = j - 2 -- -2 because the index of month is j-2 column in data 122 | rem = days - (cday - col) + 1 -- +1 because every month starts on date 1. 123 | return {year=yr,month=mon,day=rem} 124 | end 125 | end 126 | end 127 | end 128 | return "OUT OF BOUNDS" 129 | end 130 | 131 | function dev_number(numstr) 132 | res = "" 133 | for i = 1, #numstr do 134 | res = res..dig_map[numstr:sub(i,i)] 135 | end 136 | return res 137 | end 138 | 139 | 140 | function bs_today() 141 | ad = {year=1971,month=04,day=14} 142 | bs = {year=2028,month=01,day=01} 143 | days = days_since(ad) 144 | return bs_after_days(bs,days) 145 | end 146 | 147 | function format_date(bs) 148 | ys = dev_number(tostring(bs.year)) 149 | ms = nep_months[bs.month] 150 | ds = dev_number(tostring(bs.day)) 151 | return ys.." "..ms.." "..ds 152 | end 153 | 154 | function bstoday() 155 | local bs = bs_today() 156 | tex.print(format_date(bs)) 157 | end 158 | \end{luacode*} 159 | 160 | \newcommand{\nepdate}{\luadirect{bstoday()}} 161 | \renewcommand{\today}{\nepdate} 162 | 163 | \makeatletter 164 | \newcommand*\devanagari[1]{\expandafter\@devanagari\csname c@#1\endcsname} 165 | 166 | \newcommand*\@devanagarinumber[1]{% 167 | \ifcase#1\or १\or २\or ३\or ४\or ५\or ६\or ७\or ८\or ९\fi} 168 | \makeatother 169 | 170 | 171 | \newcommand{\devanagarinumeral}[1]{% 172 | \devanagaridigits{\number\csname c@#1\endcsname}} 173 | 174 | 175 | \makeatletter 176 | \def\devanagari@roman#1{% 177 | \ifcase#1\or अ\or आ\or इ\or ई\or उ\or ऊ\or ऋ\or ए\or ऐ\or ओ\or 178 | औ\or\else\@ctrerr\fi} 179 | 180 | \def\devanagari@alph#1{% 181 | \ifcase#1\or क\or ख\or ग\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or 182 | ट\or ठ\or ड\or ढ\or ण\or त\or थ\or द\or ध\or न\or प\or फ\or ब\or भ\or म\or 183 | य\or र\or ल\or व\or श\or ष\or स\or ह\else\@ctrerr\fi} 184 | % Imitating xgreek.sty and xepersian.sty 185 | \let\@alph\devanagari@alph 186 | \let\@Alph\devanagari@alph 187 | \let\@roman\devanagari@roman 188 | \let\@Roman\devanagari@alph 189 | 190 | 191 | \renewcommand{\labelenumi}{\theenumi.} 192 | \renewcommand{\theenumi}{\devanagarinumeral{enumi}} 193 | % Change appearance of enumerate at levels 2, 3, 4. 194 | %\renewcommand{\labelenumi}{\theenumiv. } % Instead of: (\theenumii) 195 | \renewcommand{\labelenumii}{\theenumii.} % Instead of: (\theenumii) 196 | \renewcommand{\labelenumiii}{\theenumiii.} % Instead of: \theenumiii. 197 | \renewcommand{\theenumiii}{\@roman\c@enumiii} % Instead of: \@roman\c@enumiii 198 | \renewcommand{\labelenumiv}{(\theenumiv)} % Instead of: \theenumiv. 199 | \makeatother 200 | 201 | 202 | % renew all representation of counters 203 | \ifdefined\chaptername 204 | \renewcommand{\thechapter}{\devanagarinumeral{chapter}.} 205 | \fi 206 | \renewcommand{\thesection}{\devanagarinumeral{section}.} 207 | \renewcommand{\thesubsection}{\thesection\devanagarinumeral{subsection}.} 208 | \renewcommand{\thesubsubsection}{\thesubsection\devanagarinumeral{subsubsection}.} 209 | \renewcommand{\thepage}{\devanagarinumeral{page}} 210 | \renewcommand{\thefigure}{\devanagarinumeral{figure}} 211 | \renewcommand{\thetable}{\devanagarinumeral{table}} 212 | 213 | \renewcommand{\theequation}{\devanagarinumeral{equation}} 214 | 215 | \makeatletter 216 | \renewcommand\@biblabel[1]{\devanagarinumeral{#1}} 217 | \makeatother 218 | 219 | \renewcommand{\contentsname}{विषय-सुचि} 220 | \renewcommand{\abstractname}{सारांश} 221 | 222 | \renewcommand{\tablename}{तालिका} 223 | \renewcommand{\figurename}{चित्र} 224 | 225 | \ifdefined\chaptername 226 | \renewcommand{\chaptername}{परिच्छेद} 227 | \fi 228 | 229 | --------------------------------------------------------------------------------