From 49c3c37495ff518f26a6e6652e5eb12e6f50fe30 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 26 May 2020 03:01:29 +0000 Subject: CTAN sync 202005260301 --- language/japanese/plautopatch/README.md | 7 +- language/japanese/plautopatch/plautopatch-ja.pdf | Bin 101189 -> 101660 bytes language/japanese/plautopatch/plautopatch-ja.tex | 4 + language/japanese/plautopatch/plautopatch.pdf | Bin 35001 -> 35223 bytes language/japanese/plautopatch/plautopatch.sty | 9 +- language/japanese/plautopatch/plautopatch.tex | 4 + language/japanese/plautopatch/plcollcell.sty | 199 ++++++++++++++++++ language/marathi/README.txt | 17 ++ language/marathi/article.tex | 89 ++++++++ language/marathi/beamer.tex | 49 +++++ language/marathi/book.tex | 88 ++++++++ language/marathi/glossaries.gls | 12 ++ language/marathi/letter.tex | 12 ++ language/marathi/marathi.dtx | 248 +++++++++++++++++++++++ language/marathi/marathi.ins | 55 +++++ language/marathi/marathi.pdf | Bin 0 -> 68175 bytes language/marathi/report.tex | 91 +++++++++ 17 files changed, 882 insertions(+), 2 deletions(-) create mode 100644 language/japanese/plautopatch/plcollcell.sty create mode 100644 language/marathi/README.txt create mode 100644 language/marathi/article.tex create mode 100644 language/marathi/beamer.tex create mode 100644 language/marathi/book.tex create mode 100644 language/marathi/glossaries.gls create mode 100644 language/marathi/letter.tex create mode 100644 language/marathi/marathi.dtx create mode 100644 language/marathi/marathi.ins create mode 100644 language/marathi/marathi.pdf create mode 100644 language/marathi/report.tex (limited to 'language') diff --git a/language/japanese/plautopatch/README.md b/language/japanese/plautopatch/README.md index eb029fec19..6799dc2f80 100644 --- a/language/japanese/plautopatch/README.md +++ b/language/japanese/plautopatch/README.md @@ -25,6 +25,7 @@ The following patches are currently registered: - arydshln -> plarydshln (maintained here!) - arydshln + plext (platex) -> plextarydshln (maintained here!) - siunitx -> plsiunitx (maintained here!) +- collcell -> plcollcell (maintained here!) - everysel (ms) -> pxeverysel (platex-tools) - everyshi (ms) -> pxeveryshi (platex-tools) - atbegshi (oberdiek) -> pxatbegshi (platex-tools) @@ -34,6 +35,7 @@ The following patches are currently registered: - textpos -> pxtextpos (maintained here!) - pdfpages -> pxpdfpages (maintained here!) - stfloats (sttools) -> pxstfloats (pxsttools) +- hyperref -> pxjahyper (by Takayuki YATO) - pgfrcs (pgf) -> pxpgfrcs (maintained here!) - pgfcore (pgf) -> pxpgfmark (by Takayuki YATO) @@ -64,6 +66,9 @@ Short information: - plsiunitx.sty: Patch for siunitx.sty (by Joseph Wright) to fix conflict with plarray.sty (platex-tools). +- plcollcell.sty: + Patch for collcell.sty (by Martin Scharrer) to fix + conflict with plarray.sty (platex-tools). - pxtextpos.sty: Patch for textpos.sty (by Norman Gray) to support Japanese-style crop marks (called 'tombow' in Japanese). @@ -96,6 +101,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2020-02-25 +2020-05-25 Hironobu Yamashita diff --git a/language/japanese/plautopatch/plautopatch-ja.pdf b/language/japanese/plautopatch/plautopatch-ja.pdf index 5b0337c7ae..775fd4bb43 100644 Binary files a/language/japanese/plautopatch/plautopatch-ja.pdf and b/language/japanese/plautopatch/plautopatch-ja.pdf differ diff --git a/language/japanese/plautopatch/plautopatch-ja.tex b/language/japanese/plautopatch/plautopatch-ja.tex index cd01de621c..c09f3db8b1 100644 --- a/language/japanese/plautopatch/plautopatch-ja.tex +++ b/language/japanese/plautopatch/plautopatch-ja.tex @@ -111,6 +111,7 @@ p\LaTeX/up\LaTeX{}で動作するソースと通常の\LaTeX{}ソースの \ITEMxTx arydshln -> plarydshln (maintained here!) \ITEMxoTx arydshln + plext (platex) -> plextarydshln (maintained here!) \ITEMxTx siunitx -> plsiunitx (maintained here!) +\ITEMxTx collcell -> plcollcell (maintained here!) \ITEMoTo everysel (ms) -> pxeverysel (platex-tools) \ITEMoTo everyshi (ms) -> pxeveryshi (platex-tools) \ITEMoTo atbegshi (oberdiek) -> pxatbegshi (platex-tools) @@ -120,6 +121,7 @@ p\LaTeX/up\LaTeX{}で動作するソースと通常の\LaTeX{}ソースの \ITEMxTx textpos -> pxtextpos (maintained here!) \ITEMxTx pdfpages -> pxpdfpages (maintained here!) \ITEMoTo stfloats (sttools) -> pxstfloats (pxsttools) +\ITEMxTx hyperref -> pxjahyper (by Takayuki YATO) \ITEMoTx pgfrcs (pgf) -> pxpgfrcs (maintained here!) \ITEMoTx pgfcore (pgf) -> pxpgfmark (by Takayuki YATO) \end{itemize} @@ -154,6 +156,8 @@ p\LaTeX/up\LaTeX{}で動作するソースと通常の\LaTeX{}ソースの \item 2019/06/06 v0.9c \textsf{siunitx}のパッチ改良 \item 2019/09/05 v0.9d \textsf{xspace}と\textsf{stfloats}のサポート \item 2020/02/25 v0.9e \textsf{textpos}のサポート + \item 2020/05/05 v0.9f \textsf{collcell}のサポート + \item 2020/05/25 v0.9g \textsf{pxjahyper}の自動読込 \end{itemize} \end{document} diff --git a/language/japanese/plautopatch/plautopatch.pdf b/language/japanese/plautopatch/plautopatch.pdf index 29a3a642ad..d86957c827 100644 Binary files a/language/japanese/plautopatch/plautopatch.pdf and b/language/japanese/plautopatch/plautopatch.pdf differ diff --git a/language/japanese/plautopatch/plautopatch.sty b/language/japanese/plautopatch/plautopatch.sty index 71bd8f7d0a..30707cb8b4 100644 --- a/language/japanese/plautopatch/plautopatch.sty +++ b/language/japanese/plautopatch/plautopatch.sty @@ -8,7 +8,7 @@ \NeedsTeXFormat{LaTeX2e}% not pLaTeX2e on purpose! \ProvidesPackage{plautopatch} - [2020/02/25 v0.9e Automated patches for pLaTeX/upLaTeX] + [2020/05/25 v0.9g Automated patches for pLaTeX/upLaTeX] \ifx\pfmtname\@undefined \PackageWarningNoLine{plautopatch}{% @@ -182,6 +182,7 @@ \platpc@patch@after{arydshln}{plarydshln}% (maintained here!) \platpc@patch@after@both{arydshln}{plext}{plextarydshln}% (maintained here!) \platpc@patch@after{siunitx}{plsiunitx}% (maintained here!) +\platpc@patch@after{collcell}{plcollcell}% (maintained here!) % --- in most cases, pxeverysel can be safely loaded even after everysel % --- but it can fail when \AtBeginDocument{everysel} is involved \platpc@patch@before{everysel}{pxeverysel}% platex-tools @@ -193,6 +194,12 @@ \platpc@patch@after{textpos}{pxtextpos}% (maintained here!) \platpc@patch@after{pdfpages}{pxpdfpages}% (maintained here!) \platpc@patch@before{stfloats}{pxstfloats}% pxsttools -- (!!) +% --- in most cases, pxjahyper works without explicit options +% --- however, in case a user specifies some, delay it +% --- [TODO] if \AtBeginDocument{\usepackage{hyperref}} appears, +% ---- writing to \jobname.out (= 'jacommentline' feature) +% ---- does not work because it's too late. +\AtBeginDocument{\platpc@patch@after{hyperref}{pxjahyper}} % for TikZ/PGF \platpc@patch@after{pgfrcs}{pxpgfrcs}% (maintained here!) diff --git a/language/japanese/plautopatch/plautopatch.tex b/language/japanese/plautopatch/plautopatch.tex index fdffa69669..d415bda829 100644 --- a/language/japanese/plautopatch/plautopatch.tex +++ b/language/japanese/plautopatch/plautopatch.tex @@ -110,6 +110,7 @@ Current version (\filedate\space\fileversion) supports the followings: \ITEMxTx arydshln -> plarydshln (maintained here!) \ITEMxoTx arydshln + plext (platex) -> plextarydshln (maintained here!) \ITEMxTx siunitx -> plsiunitx (maintained here!) +\ITEMxTx collcell -> plcollcell (maintained here!) \ITEMoTo everysel (ms) -> pxeverysel (platex-tools) \ITEMoTo everyshi (ms) -> pxeveryshi (platex-tools) \ITEMoTo atbegshi (oberdiek) -> pxatbegshi (platex-tools) @@ -119,6 +120,7 @@ Current version (\filedate\space\fileversion) supports the followings: \ITEMxTx textpos -> pxtextpos (maintained here!) \ITEMxTx pdfpages -> pxpdfpages (maintained here!) \ITEMoTo stfloats (sttools) -> pxstfloats (pxsttools) +\ITEMxTx hyperref -> pxjahyper (by Takayuki YATO) \ITEMoTx pgfrcs (pgf) -> pxpgfrcs (maintained here!) \ITEMoTx pgfcore (pgf) -> pxpgfmark (by Takayuki YATO) \end{itemize} @@ -156,6 +158,8 @@ a comma-separated list of them: \item 2019/06/06 v0.9c Update patch for \textsf{siunitx} \item 2019/09/05 v0.9d Add support for \textsf{xspace} and \textsf{stfloats} \item 2020/02/25 v0.9e Add support for \textsf{textpos} + \item 2020/05/05 v0.9f Add support for \textsf{collcell} + \item 2020/05/25 v0.9g Automatically load \textsf{pxjahyper} \end{itemize} \end{document} diff --git a/language/japanese/plautopatch/plcollcell.sty b/language/japanese/plautopatch/plcollcell.sty new file mode 100644 index 0000000000..cee4efba27 --- /dev/null +++ b/language/japanese/plautopatch/plcollcell.sty @@ -0,0 +1,199 @@ +% +% plcollcell.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the plautopatch bundle. +% https://github.com/aminophen/plautopatch +% +% This package is expected to be compatible with +% * collcell.sty +% (2011/02/27 v0.5) +% * plarray.sty in platex-tools +% (2018/03/12 v0.1e -- 2018/10/27 v0.1h) +% + +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{plcollcell} + [2020/05/05 v0.1 Tabular extension package for pLaTeX/upLaTeX] +\RequirePackageWithOptions{collcell} +\RequirePackage{plarray}% collcell.sty requires array.sty + +%% code from plarray.sty (for pLaTeX2e 2018/03/09 or later) +\def\plclcl@insert@column{% + \the@toks \the \@tempcnta + \relax \pltx@next@inhibitglue + \ignorespaces \@sharp \unskip \removejfmglue + \the@toks \the \count@ \relax} +% -- check +\ifx\insert@column\plclcl@insert@column\else + \PackageWarningNoLine{pxcollcell} + {Patch to \noexpand\collectcell unsupported} + \expandafter\endinput +\fi \let\plclcl@insert@column\@undefined + +%% \plclcl@patch@cmd\CMD{}{} +\@onlypreamble\plclcl@patch@cmd +\def\plclcl@patch@cmd#1#2#3{% + \def\plclcl@next##1#2##2\plclcl@mark##3\plclcl@fin{% + \ifx\plclcl@mark##3\plclcl@mark + \let\plclcl@fragment\relax + \else + \def\plclcl@fragment{##2}% + \def#1{##1#3##2}% + \fi}% + \expandafter\plclcl@next#1\plclcl@mark#2\plclcl@mark\plclcl@fin} +% -- prepend (TODO: \kern0pt enables \inhibitglue effect. why?) +\plclcl@patch@cmd\collcell@beforeuser + {\ignorespaces} + {\kern0pt\inhibitglue\ignorespaces} +\ifx\plclcl@fragment\relax + \PackageWarningNoLine{pxcollcell} + {Patch to \noexpand\collcell@beforeuser failed} +\fi + +%% code from collcell.sty +\def\plclcl@collectcell#1#2\ignorespaces{% + \begingroup + \collect@cell@count\z@ + \collect@cell@toks{}% + \let\collect@cell@spaces\empty + \def\collect@cell@end{% + \expandafter\endgroup + \expandafter\collcell@beforeuser + \expandafter\ccell@swap\expandafter{\the\collect@cell@toks}{#1}% + \collcell@afteruser + }% + \collect@cell@look#2% +} +% -- check +\ifx\collectcell\plclcl@collectcell\else + \PackageWarningNoLine{pxcollcell} + {Patching \noexpand\collect@cell@arg but maybe unsafe} +\fi \let\plclcl@collectcell\@undefined +% -- redefine to skip \relax\pltx@next@inhibitglue +\def\collectcell#1#2\relax\pltx@next@inhibitglue\ignorespaces{% + \begingroup + \collect@cell@count\z@ + \collect@cell@toks{}% + \let\collect@cell@spaces\empty + \def\collect@cell@end{% + \expandafter\endgroup + \expandafter\collcell@beforeuser + \expandafter\ccell@swap\expandafter{\the\collect@cell@toks}{#1}% + \collcell@afteruser + }% + \collect@cell@look#2% +} + +%% code from collcell.sty +\def\plclcl@collect@cell@arg#1{% + \cc@case + \\{\collect@cell@cr#1}% + \end{\collect@cell@checkend}% + \csname{\collect@cell@checkcsname}% + \unskip{% + \let\collect@cell@spaces\empty + %\collect@cell@addarg{#1}% do not include the \unskip + \collect@cell@look% + }% + \@sharp{% + \expandafter\collect@cell@addarg\expandafter{#1}% + \collect@cell@look + }% + \collectcell{% + \advance\collect@cell@count by \@ne + \collect@cell@addcc% + }% + \endcollectcell{% + \ifnum\collect@cell@count=\z@ + \expandafter\collect@cell@end + \else + \expandafter\endgroup + \expandafter\collect@cell@addarg\expandafter + {\expandafter{\the\collect@cell@toks}}% + \advance\collect@cell@count by \m@ne% + \expandafter\collect@cell@look + \fi + }% + \cci{% + \collect@cell@look + }% + \default{% + \expandafter\ccell@swap\expandafter + {\csname endtabular*\endcsname\endtabular\endarray}{\in@{#1}}% + \ifin@ + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\collect@cell@cr\\#1}% + {% + \collect@cell@addarg{#1}% + \collect@cell@look + }% + }% + \endcc@case +} +% -- check +\ifx\collect@cell@arg\plclcl@collect@cell@arg\else + \PackageWarningNoLine{pxcollcell} + {Patching \noexpand\collect@cell@arg but maybe unsafe} +\fi \let\plclcl@collect@cell@arg\@undefined +% -- redefine to skip \removejfmglue +\def\collect@cell@arg#1{% + \cc@case + \\{\collect@cell@cr#1}% + \end{\collect@cell@checkend}% + \csname{\collect@cell@checkcsname}% + \unskip{% + \let\collect@cell@spaces\empty + %\collect@cell@addarg{#1}% do not include the \unskip + \collect@cell@look% + }% + \@sharp{% + \expandafter\collect@cell@addarg\expandafter{#1}% + \collect@cell@look + }% + \collectcell{% + \advance\collect@cell@count by \@ne + \collect@cell@addcc% + }% + \endcollectcell{% + \ifnum\collect@cell@count=\z@ + \expandafter\collect@cell@end + \else + \expandafter\endgroup + \expandafter\collect@cell@addarg\expandafter + {\expandafter{\the\collect@cell@toks}}% + \advance\collect@cell@count by \m@ne% + \expandafter\collect@cell@look + \fi + }% + \cci{% + \collect@cell@look + }% + %%% BEGIN + \removejfmglue{% + \collect@cell@look + }% + %%% END + \default{% + \expandafter\ccell@swap\expandafter + {\csname endtabular*\endcsname\endtabular\endarray}{\in@{#1}}% + \ifin@ + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\collect@cell@cr\\#1}% + {% + \collect@cell@addarg{#1}% + \collect@cell@look + }% + }% + \endcc@case +} + +%% all done + +\endinput diff --git a/language/marathi/README.txt b/language/marathi/README.txt new file mode 100644 index 0000000000..50a94b1e8f --- /dev/null +++ b/language/marathi/README.txt @@ -0,0 +1,17 @@ +आज्ञासंच: marathi +लेखक: निरंजन +आवृत्ती: ०.१ (२५ मे, २०२०) +माहिती: लुआ-लाटेक् व झी-लाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. +दुवा: https://gitlab.com/niranjanvikastambe/marathi +अडचणी: https://gitlab.com/niranjanvikastambe/marathi/-/issues +परवाना: लाटेक् प्रकल्प परवाना. आवृत्ती १.३सी किंवा त्यापुढील. +अधिक माहितीकरिता marathi.dtx ही बीजधारिका पाहा. +-------------------------------------------------------------------------- +Package: marathi +Author: Niranjan +Version: 1.0 (25 May, 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. + diff --git a/language/marathi/article.tex b/language/marathi/article.tex new file mode 100644 index 0000000000..80df0535ca --- /dev/null +++ b/language/marathi/article.tex @@ -0,0 +1,89 @@ +\maketitle +\begin{abstract} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\end{abstract} +\tableofcontents +\section{पहिल्या स्तरावरील शीर्षक (विभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\subsection{दुसऱ्या स्तरावरील शीर्षक (उपविभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\subsubsection{तिसऱ्या स्तरावरील शीर्षक (उपउपविभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\paragraph{चौथ्या स्तरावरील शीर्षक (परिच्छेद)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\section{याद्या} +\subsection{बिंदुक्रमित यादीचे उदाहरण} +\begin{itemize} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\item तिसरा मुद्दा +\item चौथा मुद्दा +\item पाचवा मुद्दा +\end{itemize} +\subsection*{बिंदुक्रमित यादीचे दुसरे उदाहरण} +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\subsection{अनुक्रमित यादीचे उदाहरण} +\begin{enumerate} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\item तिसरा मुद्दा +\item चौथा मुद्दा +\item पाचवा मुद्दा +\end{enumerate} +\subsection*{अनुक्रमित यादीचे दुसरे उदाहरण} +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\subsection{वर्णनक्रमित यादीचे उदाहरण} +\begin{description} +\item[पहिला] मुद्दा +\item[दुसरा] मुद्दा +\item[तिसरा] मुद्दा +\item[चौथा] मुद्दा +\item[पाचवा] मुद्दा +\end{description} +\subsection*{वर्णनक्रमित यादीचे दुसरे उदाहरण} +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} diff --git a/language/marathi/beamer.tex b/language/marathi/beamer.tex new file mode 100644 index 0000000000..3a9b91c411 --- /dev/null +++ b/language/marathi/beamer.tex @@ -0,0 +1,49 @@ + \maketitle + \begin{frame}{शीर्षक}{उपशीर्षक} + \begin{itemize} + \item पहिला मुद्दा + \item दुसरा मुद्दा + \item तिसरा मुद्दा + \item चौथा मुद्दा + \end{itemize} + \end{frame} + \begin{frame}{शीर्षक}{उपशीर्षक} + \begin{enumerate} + \item पहिला मुद्दा + \item दुसरा मुद्दा + \item तिसरा मुद्दा + \item चौथा मुद्दा + \end{enumerate} + \end{frame} + \begin{frame}{शीर्षक}{उपशीर्षक} + \begin{itemize} + \item पहिला मुद्दा + \item दुसरा मुद्दा + \item तिसरा मुद्दा + \item चौथा मुद्दा + \end{itemize} + \end{frame} + \begin{frame}{शीर्षक}{उपशीर्षक} + \begin{description} + \item[अ] पहिला मुद्दा + \item[आ] दुसरा मुद्दा + \item[इ] तिसरा मुद्दा + \item[ई] चौथा मुद्दा + \end{description} + \end{frame} + \begin{frame}{शीर्षक}{उपशीर्षक} + \begin{itemize} + \item पहिला मुद्दा + \item दुसरा मुद्दा + \item तिसरा मुद्दा + \item चौथा मुद्दा + \end{itemize} + \end{frame} + \begin{frame}{थांबे असलेली चौकट}{ह्या चौकटीतील सर्व मुद्दे थांब्यांसह आहेत.} + \begin{enumerate} + \item<+-> पहिला मुद्दा + \item<+-> दुसरा मुद्दा + \item<+-> तिसरा मुद्दा + \item<+-> चौथा मुद्दा + \end{enumerate} + \end{frame} diff --git a/language/marathi/book.tex b/language/marathi/book.tex new file mode 100644 index 0000000000..aaad876e61 --- /dev/null +++ b/language/marathi/book.tex @@ -0,0 +1,88 @@ +\maketitle +\tableofcontents +\chapter{पहिल्या स्तरावरील शीर्षक (प्रकरण)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\section{दुसऱ्या स्तरावरील शीर्षक (विभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\subsection{तिसऱ्या स्तरावरील शीर्षक (उपविभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\subsubsection{चौथ्या स्तरावरील शीर्षक (उपउपविभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\paragraph{पाचव्या स्तरावरील शीर्षक (परिच्छेद)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\section{याद्या} +\subsection{बिंदुक्रमित यादीचे उदाहरण} +\begin{itemize} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\item तिसरा मुद्दा +\item चौथा मुद्दा +\item पाचवा मुद्दा +\end{itemize} +\subsection*{बिंदुक्रमित यादीचे दुसरे उदाहरण} +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\subsection{अनुक्रमित यादीचे उदाहरण} +\begin{enumerate} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\item तिसरा मुद्दा +\item चौथा मुद्दा +\item पाचवा मुद्दा +\end{enumerate} +\subsection*{अनुक्रमित यादीचे दुसरे उदाहरण} +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\subsection{वर्णनक्रमित यादीचे उदाहरण} +\begin{description} +\item[पहिला] मुद्दा +\item[दुसरा] मुद्दा +\item[तिसरा] मुद्दा +\item[चौथा] मुद्दा +\item[पाचवा] मुद्दा +\end{description} +\subsection*{वर्णनक्रमित यादीचे दुसरे उदाहरण} +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} \ No newline at end of file diff --git a/language/marathi/glossaries.gls b/language/marathi/glossaries.gls new file mode 100644 index 0000000000..cdd333d1d4 --- /dev/null +++ b/language/marathi/glossaries.gls @@ -0,0 +1,12 @@ +\newglossaryentry{टंकजुळणी}{name={टंकजुळणी},description={Typesetting}} +\newglossaryentry{बीजधारिका}{name={बीजधारिका},description={Source file. पर्यायी - स्रोत-धारिका}} +\newglossaryentry{आज्ञासंच}{name={आज्ञासंच},description={Package}} +\newglossaryentry{चालक}{name={चालक},description={Compiler}} +\newglossaryentry{लाटेक्-वर्ग}{name={लाटेक्-वर्ग},description={Document class}} +\newglossaryentry{टंक}{name={टंक},description={Font}} +\newglossaryentry{टेक्-वितरण}{name={टेक्-वितरण},description={\TeX-distribution}} +\newglossaryentry{प्राचल}{name={प्राचल},description={Parameter, option}} +\newglossaryentry{साहाय्यक धारिका}{name={साहाय्यक धारिका},description={Auxiliary files}} +\newglossaryentry{आज्ञापीठ}{name={आज्ञापीठ},description={Preamble}} +\newglossaryentry{धारिका}{name={धारिका},description={Files}} +\newglossaryentry{मूलटंक}{name={मूलटंक},description={Default font}} diff --git a/language/marathi/letter.tex b/language/marathi/letter.tex new file mode 100644 index 0000000000..cf3b9ec9ab --- /dev/null +++ b/language/marathi/letter.tex @@ -0,0 +1,12 @@ +\begin{letter}{प्राप्तकर्त्याचे नाव\\ + प्राप्तकर्त्याची संस्था\\ + संस्थेचा संक्षिप्त पत्ता} + +\opening{माननीय महोदय,} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. + +धन्यवाद. + +\closing{आपला विश्वासू,} +\ps{टीप : ही एक टीप आहे.} +\end{letter} diff --git a/language/marathi/marathi.dtx b/language/marathi/marathi.dtx new file mode 100644 index 0000000000..e4f500018f --- /dev/null +++ b/language/marathi/marathi.dtx @@ -0,0 +1,248 @@ +% \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 +% +%<*readme> +आज्ञासंच: marathi +लेखक: निरंजन +आवृत्ती: ०.१ (२५ मे, २०२०) +माहिती: लुआ-लाटेक् व झी-लाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. +दुवा: https://gitlab.com/niranjanvikastambe/marathi +अडचणी: https://gitlab.com/niranjanvikastambe/marathi/-/issues +परवाना: लाटेक् प्रकल्प परवाना. आवृत्ती १.३सी किंवा त्यापुढील. +अधिक माहितीकरिता marathi.dtx ही बीजधारिका पाहा. +-------------------------------------------------------------------------- +Package: marathi +Author: Niranjan +Version: 1.0 (25 May, 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. +% +%<*internal> +\fi +% +%<*driver|package> +\def\marathiPackageName{marathi} +\def\marathiPackageVersion{१.०} +\def\marathiPackageDate{२५ मे, २०२०} +\def\marathiPackageDescription{लुआ-लाटेक् व झी-लाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी.} +% +%<*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} +} +\usepackage[sort=use]{glossaries} +\input{glossaries.gls} +\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} +\setmonofont[Script=Devanagari]{Mukta} +\newfontfamily{\mukta}[Script=Devanagari]{Mukta} +\usepackage{minted} +\usemintedstyle{bw} +\usepackage{fontawesome5} +\renewcommand{\glossaryname}{संज्ञासूची} +\renewcommand{\abstractname}{सारांश} +\renewcommand{\contentsname}{अनुक्रमणिका} +\renewcommand{\baselinestretch}{1.5} +\makeglossaries +\RecordChanges +\begin{document} +\DocInput{\marathiPackageName.dtx} +\end{document} +% +% \fi +% +% +% +% \title{मराठी} +% \author{निरंजन} +% \date^^A +% {^^A +% आवृत्ती \marathiPackageVersion\ \textemdash\ \marathiPackageDate\\[1ex]^^A +% {\small\faIcon{gitlab}\quad\url{https://gitlab.com/niranjanvikastambe/marathi}}^^A +% } +% +% \maketitle +% +% \begin{abstract} +% \XeLaTeX\ चा वापर करून मराठीत \gls{टंकजुळणी}\footnote{ह्या दस्तऐवजात लाटेक्-मध्ये प्रचलित असणाऱ्या अनेक इंग्रजी संज्ञांसाठी पर्यायी मराठी संज्ञा वापरण्यात आल्या आहेत, हे सर्व प्रयोग तुलनेने नवे असल्याने ह्याच दस्तऐवजातील शेवटच्या संज्ञासूचीत सर्व संज्ञांचे इंग्रजी अर्थ दिले आहेत.} शक्य आहे, परंतु सुलभ नाही. \LaTeX\ सह मराठीत टंकजुळणी करताना आपली \gls{बीजधारिका} अनेक आज्ञांनी भरून जाते. हा \gls{आज्ञासंच} अशा सर्व उपयुक्त आज्ञा आधीच लिहून ठेवतो. त्यामुळे नव्या वापरकर्त्यांना त्या सर्व आज्ञा वेगळ्या शिकाव्या लागत नाहीत. शिवाय blindtext ह्या आज्ञासंचाप्रमाणे मराठीकरिता नमुना मजकूर उत्पन्न करण्यासाठीची सोय करण्यात आली आहे. \LuaLaTeX\ हा अत्याधुनिक \gls{चालक} वापरल्यास अंक रोमी लिपीत येतात, ती अडचणदेखील ह्या आज्ञासंचात सोडवण्यात आली आहे. +% \end{abstract} +% +% \begin{documentation} +% \section{प्रस्तावना} +% लाटेक्-मध्ये मराठीचा वापर करताना सर्वात महत्त्वाची गरज म्हणजे देवनागरी लिपी नीट दिसणे. लाटेक् विकसित झाले तेव्हा युनिकोड ही प्रणाली अस्तित्वात नसल्याने टेक्, लाटेक् ह्यांसारख्या चालकांसह युनिकोड अक्षरे वापरता येत नाहीत, परंतु लवकरच युनिकोड अक्षरांचा वापर लाटेक्-मध्ये करता यावा ह्याकरिता \XeLaTeX\ (झी-लाटेक्) तसेच \LuaLaTeX\ (लुआ-लाटेक्) ह्या नव्या चालकांचा विकास झाला. {\mukta fontspec} सदृश आज्ञासंचासह एखादा युनिकोड-आधारित \gls{टंक} वापरणे व युनिकोड-मजकूर थेट झी-लाटेक् अथवा लुआ-लाटेक्-सोबत चालवणे हे ह्या नव्या चालकांचे प्रमुख उद्दिष्ट होते, परंतु हे काम अतिशय गुंतागुंतीचे होते. २०२० चे \gls{टेक्-वितरण} येईपर्यंत व त्यात हर्फ़बझ नावाची नवी आज्ञावली येेईपर्यंत लुआ-लाटेक्-ला देवनागरी हाताळता आलेच नाही. झी-लाटेक्-सह मात्र देवनागरी व्यवस्थित दिसणे शक्य झाले. +% \subsection{देवनागरी दिसण्यासाठी टाकावयाच्या आज्ञा} +% देवनागरी योग्य तऱ्हेने दिसण्यासाठी काही आज्ञांचा वापर करणे अनिवार्य होते. देवनागरी लिपी दस्तऐवजात दाखवण्यासाठी लागणाऱ्या किमान आज्ञा पुढीलप्रमाणे. +% \begin{minted}[linenos]{latex} +% % !TEX TS-program = xelatex +% \documentclass{article} +% \usepackage{fontspec} +% \setmainfont{Shobhika} % अथवा कोणताही युनिकोड-आधारित देवनागरी टंक +% +% \begin{document} +% नमस्कार +% \end{document} +% \end{minted} +% +% ह्या उदाहरणाने देवनागरी दिसत असले तरी फलित हवे तसे दिसत नाही. जोडाक्षरे तुटक दिसतात. त्यासाठी \mintinline{latex}{\setmainfont} ह्या आज्ञेस {\mukta Script=Devanagari} असे \gls{प्राचल} द्यावे लागते. पुढील अडचण म्हणजे लाटेक् आपोआप पुरवणारे आकडे (उदा. पृष्ठक्रमांक, तळटिपांचे क्रमांक) देवनागरीत न येणे. त्याकरिता ह्या आज्ञेस {\mukta Mapping=devanagarinumerals} असे आणखी एक प्राचल द्यावे लागते. इतके करूनही भाषेचा प्रश्न उरतोच! उदा. लाटेक्-ला इंग्रजीव्यतिरिक्त इतर कोणतीही भाषा कळत नसल्यामुळे मूलभूत इंग्रजी शब्दांची भाषांतरे पुरवणारे बेबल अथवा पॉलिग्लॉसिया ह्यांसारखे आज्ञासंच वापरून भाषा निवडावी लागते. रोहित होळकरांच्या \href{https://ctan.org/pkg/latex-mr?lang=en}{\mukta latex-mr} ह्या पुस्तिकेत ह्या सर्व अडचणींची तपशीलवार चर्चा झाली आहे. + +% सद्यपरिस्थितीत लाटेक्-चे किमान ज्ञान असलेल्या नव्या वापरकर्त्याला मराठी लिहिण्यासाठी हा सगळा प्रपंच करायला लावणे म्हणजे ज्या फांदीवर आपण बसलो आहोत तीच तोडण्यासारखे आहे. त्यामुळे कोणत्याही वापरकर्त्याला केवळ लाटेक्-च्या किमान ज्ञानासह \mintinline{latex}{\usepackage{marathi}} एवढी एक आज्ञा लिहून उत्तम देवनागरी टंकजुळणी करता यावी हा ह्या आज्ञासंचाचा उद्देश आहे. ह्या आज्ञासंचात केवळ दोन आज्ञांचा समावेश आहे. त्या पुढीलप्रमाणे. +% \begin{function}{\नमुना} +% नमुना ही आज्ञा सर्वप्रथम दिलेला \gls{लाटेक्-वर्ग} पाहते व त्यानुसार त्या वर्गाच्या किमान क्षमता दर्शवणारी एक फलित-धारिका निर्माण करते. उदाहरणादाखल {\mukta article, book, report, beamer व letter} ह्या लाटेक्-वर्गांसह \mintinline{latex}{\नमुना} ही आज्ञा चालवून पाहा. एकाच बीजधारिकेत केवळ लाटेक्-वर्ग बदलत असाल, तर लाटेक्-ने तयार केलेल्या \gls{साहाय्यक धारिका} काही वेळा अनपेक्षित अडचणी दाखवल्या जातात. जुनी माहिती शिल्लक असल्याने त्या दिल्या जातात. घाबरून न जाता, तीच धारिका दोनदा चालवावी. सर्व अडचणी सुटतात. +% \end{function} +% \begin{function}{\टंक} +% \begin{syntax} +% \cs{टंक} \marg{टंकाचे नाव} +% \end{syntax} +% ह्या आज्ञासंचात शोभिका हा टंक \gls{मूलटंक} म्हणून निवडून ठेवला आहे. परंतु तो बदलायचा असेल तर \mintinline{latex}{\टंक} ह्या आज्ञेची सोय करण्यात आली आहे. ह्या आज्ञेसह आपोआप देवनागरी टंकासाठी आवश्यक असणारी {\mukta Renderer=Harfbuzz,Script=Devanagari,Mapping=devanagarinumerals} ही प्राचले लिहून ठेवली आहेत. शिवाय \mintinline{latex}{\setmainfont{टंकाचे नाव}} ही आज्ञा नेहमीप्रमाणे चालतेच. +% \end{function} +% \end{documentation} +% +% \StopEventually{\PrintIndex} +% +% \begin{implementation} +% \section*{आज्ञासंचाची घडण} +% आता आपण आज्ञासंचाची घडण व त्यातील आज्ञांचा उपयोग लक्षात घेऊयात. +% \begin{macrocode} +%<@@=marathi> +%<*package> +% \end{macrocode} +% \begin{macrocode} +\ProvidesPackage{marathi} +\NeedsTeXFormat{LaTeX2e} +% \end{macrocode} +% ह्या आज्ञांसह आज्ञासंचाची पायाभूत माहिती पुरवली. +% \section{अंतर} +% इंग्रजीमधली g, j, y अशी अक्षरे सोडली तर त्यांच्याहून जास्त खोली असणारा मजकूर त्या लिपीत आढळत नाही. देवनागरीचे तसे नाही. क ह्या अक्षराहून क्क थोडे अधिक खोल. ट्ट त्याहून थोडे अधिक व ट्टू त्याहून. अशा असमान उंचीच्या अक्षरांमुळे लाटेक् आपोआप दोन ओळींमधले अंतर बदलते व त्यामुळे ओळींची उंची असमान दिसू लागते. साध्या मजकुरातील ओळींप्रमाणेच कोष्टकेदेखील कुरूप दिसू लागतात. ह्यावर तोडगा काय? ह्याची दोन उत्तरे आहेत. पहिले उत्तर मराठीच्या आजवरच्या छपाईच्या इतिहासाचा अभ्यास करून, मराठी लिहिताना दोन ओळींमध्ये सोडले गेलेले सरासरी अंतर किती ह्याचे संशोधन करणे व त्यानुसार सर्व ठिकाणी ते अंतर लागू करणे. हा मार्ग सहज नाही. हा संशोधनाचा विषय आहे. त्याकरिता टंकाच्या आकाराचे व त्यानुसार बदलणाऱ्या ओळींच्या अंतराचे प्रमाणदेखील काळजीपूर्वक अभ्यासावे लागेल. हे सर्व करणे जरी इष्ट व आवश्यक असले तरी हे संशोधन पूर्ण होईस्तोवर सामान्य वापरकर्त्याला ज्या आज्ञा शिकण्याचे कष्ट पडतात ते कसे टाळावेत? त्यासाठी तात्पुरता तोडगा काढावा लागतो. तो असा की ओळींमधले अंतर दस्तऐवजाच्या सुरुवातीलाच वाढवून ठेवायचे. त्यासाठी पुढील आज्ञा वापरल्या जातात. + +% \noindent{\mukta\textbackslash renewcommand\{\textbackslash baselinestretch\}\{1.5\}}\par +% \noindent{\mukta\textbackslash renewcommand\{\textbackslash arraystretch\}\{1.5\}} + +% आमच्या काही सहकाऱ्यांच्या मते हा निर्णय अतिशय उग्र आहे. त्यामुळे दस्तऐवजातील इतर काही ठिकाणच्या अंतरांवर सूक्ष्म परिणाम घडतात, जे टाळणे अधिक इष्ट. त्यांच्या ह्या मताचा विचार करून ह्या आज्ञासंचाकरिता \textbf{अंतर} नावाचे प्राचल विकसित केले आहे. हे प्राचल वापरल्यास आज्ञासंचातर्फे ओळींमधल्या अंतरात कोणताही हस्तक्षेप केला जात नाही. त्याकरिता पुढील आज्ञा समाविष्ट केल्या आहेत. + +% \begin{macrocode} +\newif\ifmarathi@अंतर +\marathi@अंतरfalse +\DeclareOption{अंतर}{\marathi@अंतरtrue} +\ProcessOptions +\ifmarathi@अंतर +\else +\renewcommand{\baselinestretch}{1.5} +\renewcommand{\arraystretch}{1.5} +\fi +% \end{macrocode} +% \section{standalone लाटेक्-वर्ग} +% standalone हा विशेष लाटेक्-वर्ग केवळ दस्तऐवजात दिलेल्या गोष्टींच्या आकाराचे फलित तयार करण्यासाठी वापरला जातो. उदा. article लाटेक्-वर्गात एखादे कोष्टक टाकले तर पानाच्या नेहमीच्या आकाराइतकी जागा कोष्टकाच्या आजूबाजूला सुटतेच. standalone लाटेक्-वर्गात मात्र तसे न होता केवळ कोष्टकाच्या आकाराइतके फलित निर्माण होते, परंतु ह्या वर्गास polyglossia आज्ञासंच व त्यातून पुरवली जाणारी भाषांतरे अनावश्यक आहेत, त्यामुळे ह्या लाटेक्-वर्गाकरिता केवळ fontspec हा आज्ञासंच वापरून, इतर सर्व वर्गांसाठी polyglossia हा आज्ञासंच वापरला आहे. त्यामुळे सर्व लाटेक्-वर्गांमध्ये भाषांतरेही मिळतात व standalone वर्गातदेखील आज्ञासंचामुळे कोणतीही अडचण येत नाही. पुढील आज्ञांनी हे साधले आहे. +% \begin{macrocode} +\@ifclassloaded{standalone}{\RequirePackage{fontspec}}{ + \RequirePackage{polyglossia} + \setdefaultlanguage{marathi} +} +% \end{macrocode} +% \section{लुआ-लाटेक्} +% लुआ-लाटेक् हा अत्याधुनिक चालक आता देवनागरीसाठी उपलब्ध झाला आहे. हर्फ़बझ ह्या लुआविशिष्ट आज्ञावलीच्या मदतीने देवनागरी व्यवस्थित दाखवली जात आहे. अशा वेळी तिचा पुरेपुर उपयोग का करू नये? परंतु वापर करताना सर्व अडचणी सुटायला हव्यात. लुआ-लाटेक् अजूनही अरबी आकड्यांऐवजी देवनागरी आकडे देत नाही. त्याकरिता पुढीलप्रकारे नवीन आज्ञा पुरवल्या आहेत. +% \begin{macrocode} +\RequirePackage{devanagaridigits} +\def\@arabic#1{\expandafter\devanagaridigits\expandafter{\number#1}} +% \end{macrocode} +% अशा प्रकारे आकडे बदलल्याचा एक फायदा असा की जिथे अरबी आकडे लिहायचे आहेत तिथे तेदेखील लिहिता येतात. झी-लाटेक् व {\mukta Mapping=devanagarinumerals} वापरल्यामुळे अरबी आकडे वापरण्यासाठी नवा टंक वापरावा लागतो. +% \section{टंकनिवड} +% शोभिका हा लाटेक्-वितरणासह येणारा व देवनागरीची अतिशय चांगली टंकजुळणी करणारा टंक आहे. तो मूलटंक म्हणून ह्या आज्ञासंचाद्वारे निवडला जातो. अर्थात तो बदलण्याच्या सुविधेसकट. शिवाय कुठल्याही देवनागरी टंकाचे योग्य फलित दिसण्यासाठी {\mukta Script=Devanagari} हे प्राचल वापरावे लागते. ह्या व अशा इतर काही प्राचलांसकट शोभिकाची निवड करून ठेवणे व त्याशिवाय \mintinline{latex}{\टंक} ह्या आज्ञेद्वारे निवडल्या जाणाऱ्या टंकासदेखील तीच प्राचले वापरणे हे पुढील आज्ञांनी साधले जाते. +% \begin{macrocode} +\setmainfont[Renderer=Harfbuzz,Script=Devanagari,Mapping=devanagarinumerals]{Shobhika} +\newcommand{\टंक}[1] +{\setmainfont[Renderer=Harfbuzz,Script=Devanagari,Mapping=devanagarinumerals]{#1}} +% \end{macrocode} +% ह्या आज्ञांमुळे धारिका लुआ अथवा झी-लाटेक् ह्यांपैकी कोणत्याही चालकासह चालवता येते. {\mukta Renderer=Harfbuzz} हे प्राचल लुआविशिष्ट आहे. त्यामुळे झी-लाटेक् वापरल्यास ह्या प्राचलाकडे दुर्लक्ष केले जात आहे अशी एक सूचना आपल्याला मिळते. ही अडचण नसून केवळ एक सूचना आहे. झी-लाटेक्-प्रमाणेच आपणही तिच्याकडे दुर्लक्ष करावे! + +% \section{नमुना मजकूर} +% मागे म्हटल्याप्रमाणे नमुना मजकूर तयार करण्यासाठी ह्या आज्ञासंचाचा वापर करता येतो, परंतु त्याकरिता लाटेक्-ला थोडी माहिती पुरवावी लागते. ही माहिती पुरवण्याचे विशिष्ट स्थान आहे. लाटेक्-मध्ये मूळ दस्तऐवज सुरू होण्यापूर्वी ही माहिती पुरविण्याकरिता \gls{आज्ञापीठ} असते. ह्या आज्ञासंचातर्फे पुरवल्या जाणाऱ्या नमुना मजकुराची माहिती पुढील आज्ञांनी पुरवली जाते. (तुमच्या दस्तऐवजात मराठी आज्ञासंचानंतर ती माहिती बदललीत तर आज्ञासंचातील माहिती आपोआप विसरली जाते.) letter ह्या लाटेक्-वर्गाकरिता लागणारी माहिती इतर वर्गांकरिता अप्रासंगिक असल्याने ती वेगळी पुरवली आहे. +% \begin{macrocode} +\title{नमुना} +\author{लेखक} +\@ifclassloaded{letter}{ + \name{लेखक} + \signature{सही} + \address{ + लेखकाचे नाव\\ + अबक मार्ग\\ + मुंबई\\ + पिन क्र. ४०००००} + \location{लेखकाचे स्थान} + \telephone{दूरध्वनी - ०२० २२९५ २१०८} +} +% \end{macrocode} +% निरनिराळ्या लाटेक्-वर्गांसाठी स्वतंत्र \gls{धारिका} पुढीलप्रमाणे पुरवल्या आहेत. +% \begin{macrocode} +\providecommand{\mrarticle}{\input{article}} +\providecommand{\mrbook}{\input{book}} +\providecommand{\mrreport}{\input{report}} +\providecommand{\mrbeamer}{\input{beamer}} +\providecommand{\mrletter}{\input{letter}} +% \end{macrocode} +% निवडलेल्या लाटेक्-वर्गांप्रमाणे धारिका निवडण्यासाठीच्या आज्ञा पुढीलप्रमाणे. +% \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\mrarticle\else + \ifnum\value{क्र}=2\mrbook\else + \ifnum\value{क्र}=3\mrreport\else + \ifnum\value{क्र}=4\mrbeamer\else + \mrletter\relax\fi\fi\fi\fi +} +% \end{macrocode} +% beamer लाटेक्-वर्ग वापरताना serif ही टंकछटा निवडावी लागते, त्याशिवाय देवनागरी लिपी दिसत नाही. त्या आज्ञा पुढीलप्रमाणे भरल्या आहेत. +% \begin{macrocode} +\@ifclassloaded{beamer}{% + \usefonttheme{serif}} +\endinput +% \end{macrocode} +% \begin{macrocode} +% +% \end{macrocode} +% \end{implementation} +% \pagebreak +% \printglossaries +% +% \Finale \ No newline at end of file diff --git a/language/marathi/marathi.ins b/language/marathi/marathi.ins new file mode 100644 index 0000000000..885841ad8b --- /dev/null +++ b/language/marathi/marathi.ins @@ -0,0 +1,55 @@ +% File: marathi.ins +\input l3docstrip.tex + +\keepsilent +\askforoverwritefalse + +\preamble + +------------------------------------------------------------------------- +आज्ञासंच: marathi +लेखक: निरंजन +आवृत्ती: ०.१ (२३ मे, २०२०) +माहिती: लुआ-लाटेक् व झी-लाटेक् ह्यांच्यासह मराठीचा सुलभ वापर करण्यासाठी. +दुवा: https://gitlab.com/niranjanvikastambe/marathi +अडचणी: https://gitlab.com/niranjanvikastambe/marathi/-/issues +परवाना: लाटेक् प्रकल्प परवाना. आवृत्ती १.३सी किंवा त्यापुढील. +अधिक माहितीकरिता marathi.dtx ही बीज-धारिका पाहा. +--------------------------------------------------------------------------- +हे काम लाटेक् प्रकल्प परवान्याच्या (१.३सी अथवा त्यापुढील) अटींचे पालन करून वितरित केले जाऊ शकते +तसेच सुधारले जाऊ शकते. + +ह्या परवान्याची नवीनतम प्रत खालील दुव्यावर उपलब्ध आहे. + +http://www.latex-project.org/lppl.txt. + +हा आज्ञासंचाची लाटेक् प्रकल्पाच्या नियमांनुसार देखरेख केली जात आहे. + +ह्या आज्ञासंचाचा लेखक व पालक निरंजन आहे. + +ह्या कामात marathi.dtx, marathi.ins तसेच त्यांपासून निर्माण केलेली +marathi.sty ही धारिका समाविष्ट आहे. +-------------------------------------------------------------------------- +Package: marathi +Author: Niranjan +Version: 1.0 (25 May, 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. +--------------------------------------------------------------------------- + +\endpreamble + +\usedir{tex/latex/\jobname} +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package}} +} + +\nopreamble\nopostamble +\usedir{doc/latex/\jobname} +\generate{ + \file{README.txt}{\from{\jobname.dtx}{readme}} +} + +\endbatchfile \ No newline at end of file diff --git a/language/marathi/marathi.pdf b/language/marathi/marathi.pdf new file mode 100644 index 0000000000..870adc7226 Binary files /dev/null and b/language/marathi/marathi.pdf differ diff --git a/language/marathi/report.tex b/language/marathi/report.tex new file mode 100644 index 0000000000..1f87c1bf37 --- /dev/null +++ b/language/marathi/report.tex @@ -0,0 +1,91 @@ +\maketitle +\begin{abstract} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\end{abstract} +\tableofcontents +\chapter{पहिल्या स्तरावरील शीर्षक (प्रकरण)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\section{दुसऱ्या स्तरावरील शीर्षक (विभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\subsection{तिसऱ्या स्तरावरील शीर्षक (उपविभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\subsubsection{चौथ्या स्तरावरील शीर्षक (उपउपविभाग)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\paragraph{पाचव्या स्तरावरील शीर्षक (परिच्छेद)} +नमस्कार! हा मजकूर अर्थशून्य आहे. ह्या ठिकाणी काय व कसे छापले जाईल ह्याचा हा केवळ एक नमुना आहे. जर तुम्ही हे वाचले, तर तुम्हाला कोणतीच माहिती मिळणार नाही. खरेच? ह्यात कोणतीच माहिती नाही काय? ह्या मजकुरात व `पिढ्ढ करढपाखू' अशा निरर्थक शब्दांमध्ये काही फरक आहे का? हो! ह्याला आंधळा मजकूर असे म्हणतात. हा मजकूर तुम्हाला निवडलेला टंक कोणता आहे, अक्षरे कशी दिसतात ह्या सगळ्याबाबत माहिती देतो. ह्यासाठी विशिष्ट शब्दांची गरज नाही, परंतु शब्द वापरल्या गेलेल्या भाषेशी जुळायला हवेत. +\section{याद्या} +\subsection{बिंदुक्रमित यादीचे उदाहरण} +\begin{itemize} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\item तिसरा मुद्दा +\item चौथा मुद्दा +\item पाचवा मुद्दा +\end{itemize} +\subsection*{बिंदुक्रमित यादीचे दुसरे उदाहरण} +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\begin{itemize} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\item दुसरा मुद्दा +\end{itemize} +\subsection{अनुक्रमित यादीचे उदाहरण} +\begin{enumerate} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\item तिसरा मुद्दा +\item चौथा मुद्दा +\item पाचवा मुद्दा +\end{enumerate} +\subsection*{अनुक्रमित यादीचे दुसरे उदाहरण} +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\begin{enumerate} +\item पहिला मुद्दा +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\item दुसरा मुद्दा +\end{enumerate} +\subsection{वर्णनक्रमित यादीचे उदाहरण} +\begin{description} +\item[पहिला] मुद्दा +\item[दुसरा] मुद्दा +\item[तिसरा] मुद्दा +\item[चौथा] मुद्दा +\item[पाचवा] मुद्दा +\end{description} +\subsection*{वर्णनक्रमित यादीचे दुसरे उदाहरण} +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\begin{description} +\item[पहिला] मुद्दा +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} +\item[दुसरा] मुद्दा +\end{description} -- cgit v1.2.3