diff options
Diffstat (limited to 'macros')
35 files changed, 3698 insertions, 32 deletions
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf Binary files differindex 8de59b0b82..71496575c9 100644 --- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf +++ b/macros/latex/contrib/easybook/doc/easybook-demo.pdf diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex index 2eeda2eb20..2c9a7ae899 100644 --- a/macros/latex/contrib/easybook/doc/easybook-demo.tex +++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex @@ -95,7 +95,7 @@ \edge~\url{https://latexstudio.net} \\ \url{https://ctan.org/pkg/easybook} } - \date{2021/01/15\hskip\ccwd\relax v1.21e} + \date{2021/01/18\hskip\ccwd\relax v1.21f} } \begin{document} diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf Binary files differindex bf0dd89a05..8cdd54c31a 100644 --- a/macros/latex/contrib/easybook/doc/easybook.pdf +++ b/macros/latex/contrib/easybook/doc/easybook.pdf diff --git a/macros/latex/contrib/easybook/doc/easybook.tex b/macros/latex/contrib/easybook/doc/easybook.tex index 6e78054325..aa6248434b 100644 --- a/macros/latex/contrib/easybook/doc/easybook.tex +++ b/macros/latex/contrib/easybook/doc/easybook.tex @@ -8,7 +8,7 @@ \title{\sffamily easybook书籍文档类} \author{瞿毅} -\date{2021/01/15\hskip\ccwd\relax v1.21e\thanks{\url{https://gitee.com/texl3/easybook}}} +\date{2021/01/18\hskip\ccwd\relax v1.21f\thanks{\url{https://gitee.com/texl3/easybook}}} \begin{document} \maketitle @@ -227,16 +227,18 @@ \end{optdesc} \subsection{定理样式} -\begin{function}[EXP,added = 2021-01-12]{thmset/thmbox,thmset/numberwith,thmset/headpunct,thmset/bodyfont,thmset/notefont,thmset/headindent,thmset/spaceabove,thmset/spacebelow} +\begin{function}[EXP,added = 2021-01-12,updated = 2021-01-18]{thmset/thmbox,thmset/numberwith,thmset/headpunct,thmset/bodyfont,thmset/notefont,thmset/headfont,thmset/headindent,thmset/spaceabove,thmset/spacebelow,thmset/spacepost} \begin{syntax} thmbox = <true|(false))> numberwith = <(chapter)|section|其它环境|空置> headpunct = <(未设置)> bodyfont = <(未设置)> notefont = <(未设置)> + headfont = <(\tn{color}\marg{ctex@emph}\tn{sffamily})> headindent = <(0\tn{ccwd})> spaceabove = <(0.75ex plus .1ex)> spacebelow = <(0.75ex plus .1ex)> + spacepost = <(\tn{ccwd})> \end{syntax} \changes{v1.21b}{2021/01/12}{增加配置定理环境样式的选项。} \end{function} @@ -247,15 +249,17 @@ \item[headpunct] 定理标题后的标记。 \item[bodyfont] 定理内容部分的字体。 \item[notefont] 定理标题内容的字体。 + \item[headfont] 定理类型标题名的字体。 \item[headindent] 定理标题的缩进,默认无缩进,可用 \tn{parindent} 命令设置为段落缩进。 \item[spaceabove] 定理环境前的间距。 \item[spacebelow] 定理环境后的间距。 + \item[spacepost] 定理标题后与内容的间距。 \end{optdesc} \subsubsection{新的定理样式} 定理由 \pkg{thmtools} 设置,自带定理的样式为 \opt{mythm},如果使用这个样式而只是增加新的定理名称,可以这样 \begin{ctexexam} - \declaretheorem[style = mythm,name = 定理名]{定理环境名} + \AfterPreamble{\declaretheorem[style = mythm,name = 定理名]{定理环境名}} \end{ctexexam} 若要重新定义一个全新的定理样式,具体参数可以查看 \pkg{thmtools} 宏包帮助文档。 diff --git a/macros/latex/contrib/easybook/easybook.cls b/macros/latex/contrib/easybook/easybook.cls index 8e5273e3ee..59eee8726e 100644 --- a/macros/latex/contrib/easybook/easybook.cls +++ b/macros/latex/contrib/easybook/easybook.cls @@ -9,7 +9,7 @@ %% https://creativecommons.org/licenses/by/4.0/legalcode \NeedsTeXFormat{LaTeX2e} \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2021/01/15}{1.21e}{} +\ProvidesExplClass{easybook}{2021/01/18}{1.21f}{} \cs_generate_variant:Nn \keys_define:nn {nx} \cs_generate_variant:Nn \int_to_arabic:n {v} @@ -812,12 +812,16 @@ bodyfont .initial:n = {}, notefont .tl_set:N = \l__thm_notefont_tl, notefont .initial:n = {}, + headfont .tl_set:N = \l__thm_headfont_tl, + headfont .initial:n = {\color{ctex@emph}\sffamily}, headindent .tl_set:N = \l__thm_headindent_tl, headindent .initial:n = {0\ccwd}, spaceabove .tl_set:N = \l__thm_spaceabove_tl, spaceabove .initial:n = {.75ex plus .1ex}, spacebelow .tl_set:N = \l__thm_spacebelow_tl, - spacebelow .initial:n = {.75ex plus .1ex} + spacebelow .initial:n = {.75ex plus .1ex}, + spacepost .tl_set:N = \l__thm_spacepost_tl, + spacepost .initial:n = {\ccwd} } \ctex_at_end_preamble:n { @@ -825,12 +829,12 @@ spaceabove = \l__thm_spaceabove_tl, spacebelow = \l__thm_spacebelow_tl, headindent = \l__thm_headindent_tl, - headfont = \color{ctex@emph}\sffamily, + headfont = \l__thm_headfont_tl, notefont = \l__thm_notefont_tl, notebraces = {}{}, bodyfont = \l__thm_bodyfont_tl, headpunct = \l__thm_headpunct_tl, - postheadspace = \ccwd, + postheadspace = \l__thm_spacepost_tl, numberwithin = \l__thm_numberwith_tl, headformat = \NAME\space\NUMBER\NOTE ]{mythm} @@ -955,14 +959,10 @@ { \IfBooleanF{#1} { + \CTEX@ifnametrue \refstepcounter{section} \CTEX@addtocline{section}{#4} - \markright - { - \ifnum\c@secnumdepth>\z@ - \CTEXthesection\hspace{0.5\ccwd} - \fi#4 - } + \markright{\CTEXthesection\hspace{0.5\ccwd}#4} } \begin{center} \bool_if:NTF \l__thmbox_bool @@ -1079,6 +1079,7 @@ { \exp_args:NV \addbibresource\l__bib_file_tl \defbibheading{bibliography}[\bibname]{\__title_mark_intoc:n {##1}} + \skip_set:Nn \bibitemsep{0ex} } \ctex_at_end_preamble:n { diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf Binary files differindex a95f7c6250..7bdee3edec 100644 --- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf +++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf diff --git a/macros/latex/contrib/profcollege/latex/EquationComposition1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationComposition1.tex index b513a6b116..b513a6b116 100644 --- a/macros/latex/contrib/profcollege/latex/EquationComposition1.tex +++ b/macros/latex/contrib/profcollege/latex/PfC-EquationComposition1.tex diff --git a/macros/latex/contrib/profcollege/latex/EquationLaurent1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex index 347afc0e8d..347afc0e8d 100644 --- a/macros/latex/contrib/profcollege/latex/EquationLaurent1.tex +++ b/macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex diff --git a/macros/latex/contrib/profcollege/latex/EquationPose1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex index e34d382a58..e34d382a58 100644 --- a/macros/latex/contrib/profcollege/latex/EquationPose1.tex +++ b/macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex diff --git a/macros/latex/contrib/profcollege/latex/EquationSoustraction1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction1.tex index 034aa7e2ed..034aa7e2ed 100644 --- a/macros/latex/contrib/profcollege/latex/EquationSoustraction1.tex +++ b/macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction1.tex diff --git a/macros/latex/contrib/profcollege/latex/EquationSymbole1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex index 4faec4767a..4faec4767a 100644 --- a/macros/latex/contrib/profcollege/latex/EquationSymbole1.tex +++ b/macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex diff --git a/macros/latex/contrib/profcollege/latex/EquationTerme1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex index f3930d0408..f3930d0408 100644 --- a/macros/latex/contrib/profcollege/latex/EquationTerme1.tex +++ b/macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty index fa057b58b1..30aa5d3e9d 100644 --- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty +++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty @@ -58,7 +58,7 @@ % 19 : Modification AAntécédent dans Affine + Amélioration Pythagore (Cas des triangles rectangles isocèles, dans le calcul de la longueur d'un côté) \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfCollege}[2021/01/01 v0.88 Aide pour l'utilisation de LaTeX au collège] +\ProvidesPackage{ProfCollege}[2021/01/18 v0.89 Aide pour l'utilisation de LaTeX au collège] \RequirePackage{mathtools}%Amélioration des rendus \RequirePackage{amssymb} @@ -6396,12 +6396,12 @@ vardef Positions(expr Step)= \definecolor{Cfleches}{RGB}{100,100,100}% -\input{EquationSoustraction1}% -\input{EquationTerme1}% -\input{EquationComposition1}% -\input{EquationPose1}% -\input{EquationSymbole1}% -\input{EquationLaurent1} +\input{PfC-EquationSoustraction1}% +\input{PfC-EquationTerme1}% +\input{PfC-EquationComposition1}% +\input{PfC-EquationPose1}% +\input{PfC-EquationSymbole1}% +\input{PfC-EquationLaurent1} \newcommand{\ResolEquation}[5][]{% \useKVdefault[ClesEquation]% diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp b/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp index 1408cbbce1..222df57419 100644 --- a/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp +++ b/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp @@ -1,8 +1,6 @@ -%Author : Christophe Poulain -%Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf %=============================================== %% PfC-Geometrie +%% christophe.poulain@melusine.eu.org %%=============================================== %------------------------------------------------ % Appel fichier @@ -168,10 +166,23 @@ vardef cercles(text t)= _T[n]:=p_; fi; endfor; - path Cer; - if n=1 : Cer=fullcircle scaled (2*rayon) shifted _t[1]; - elseif n=2 : Cer=fullcircle scaled (2*abs(_t[1]-_t[2])) shifted _t[1]; - elseif n=3 : Cer=cercles(CentreCercleC(_t[1],_t[2],_t[3]),_t[1]); + if typetrace="3D":%centre aa passant par bb dans le plan (ccddee) généralement aa=cc + path Cer; + color ptcer[]; + for k=0 step 5 until 360 : + ptcer[k div 5]-_T[1]=Distance(_T[1],_T[2])*((_T[4]-_T[3])*cosd(k)/Distance(_T[3],_T[4])+(_T[5]-_T[3])*sind(k)/Distance(_T[3],_T[5])); + endfor; + Cer=Projette(ptcer0) + for k=0 step 5 until 360 : + ..Projette(ptcer[k div 5]) + endfor + ..cycle; + else: + path Cer; + if n=1 : Cer=fullcircle scaled (2*rayon) shifted _t[1]; + elseif n=2 : Cer=fullcircle scaled (2*abs(_t[1]-_t[2])) shifted _t[1]; + elseif n=3 : Cer=cercles(CentreCercleC(_t[1],_t[2],_t[3]),_t[1]); + fi fi Cer enddef; diff --git a/macros/latex/contrib/translations/README b/macros/latex/contrib/translations/README index 9af62b294d..052fe53853 100644 --- a/macros/latex/contrib/translations/README +++ b/macros/latex/contrib/translations/README @@ -1,5 +1,5 @@ -------------------------------------------------------------------------- -the TRANSLATIONS package v1.10 - 2021/01/16 +the TRANSLATIONS package v1.10a - 2021/01/17 internationalization of LaTeX2e packages -------------------------------------------------------------------------- diff --git a/macros/latex/contrib/translations/translations.sty b/macros/latex/contrib/translations/translations.sty index 85ca86120d..f3fac4dce0 100644 --- a/macros/latex/contrib/translations/translations.sty +++ b/macros/latex/contrib/translations/translations.sty @@ -25,8 +25,8 @@ % If you have any ideas, questions, suggestions or bugs to report, please % feel free to contact me. % -------------------------------------------------------------------------- -\newcommand*\@trnslt@date{2021/01/16} -\newcommand*\@trnslt@version{v1.10} +\newcommand*\@trnslt@date{2021/01/17} +\newcommand*\@trnslt@version{v1.10a} \newcommand*\@trnslt@packageinfo{internationalization of LaTeX2e packages} \ProvidesPackage{translations}[% @@ -632,7 +632,7 @@ % #1: name % #2: lang \newrobustcmd*\@trnslt@check@dictionary[2]{% - \AddToHook{file/#1-\@trnslt@language{#2}.trsl/after} + \AddToHook{file/after/#1-\@trnslt@language{#2}.trsl} {% \edef\@trnslt@tmpa{\@trnslt@language{#2}}% \ifcsdef{@trnslt@dictionary@#1@\@trnslt@tmpa} @@ -1234,3 +1234,4 @@ - add \ifcurrentbaselang{<lang>} ... \else ... \fi - add Brazilian basic dictionary 2021/01/16 v1.10 - remove scrlfile dependency +2021/01/16 v1.10a - correct bug from last update diff --git a/macros/latex/contrib/translations/translations_en.pdf b/macros/latex/contrib/translations/translations_en.pdf Binary files differindex e0eaca60ed..bc6472fddd 100644 --- a/macros/latex/contrib/translations/translations_en.pdf +++ b/macros/latex/contrib/translations/translations_en.pdf diff --git a/macros/luatex/generic/luakeys/README.md b/macros/luatex/generic/luakeys/README.md new file mode 100644 index 0000000000..cb4c429d4c --- /dev/null +++ b/macros/luatex/generic/luakeys/README.md @@ -0,0 +1,52 @@ +# luakeys + +`luakeys` is a Lua module that can parse key-value options like the +TeX packages [keyval](https://www.ctan.org/pkg/keyval), +[kvsetkeys](https://www.ctan.org/pkg/kvsetkeys), +[kvoptions](https://www.ctan.org/pkg/kvoptions), +[xkeyval](https://www.ctan.org/pkg/xkeyval), +[pgfkeys](https://www.ctan.org/pkg/pgfkeys) etc. do. `luakeys`, +however, accompilshes this task entirely, by using the Lua language and +doesn’t rely on TeX. Therefore this package can only be used with the +TeX engine LuaTeX. Since `luakeys` uses +[LPeg](http://www.inf.puc-rio.br/~roberto/lpeg/), the parsing +mechanism should be pretty robust. + +## License + +Copyright 2021 Josef Friedrich + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3c +of this license or (at your option) any later version. +The latest version of this license is in + +http://www.latex-project.org/lppl.txt + +and version 1.3c or later is part of all distributions of LaTeX +version 2008/05/04 or later. + +This work has the LPPL maintenance status `maintained`. + +The Current Maintainer of this work is Josef Friedrich. + +## Tasks + +### Installing + +``` +make install +``` + +### Testing + +``` +luarocks install luaunit +lua test/tests.lua +``` + +or + +``` +make test +``` diff --git a/macros/luatex/generic/luakeys/luakeys-debug.sty b/macros/luatex/generic/luakeys/luakeys-debug.sty new file mode 100644 index 0000000000..77dfa0063e --- /dev/null +++ b/macros/luatex/generic/luakeys/luakeys-debug.sty @@ -0,0 +1,39 @@ +%% luakeys-debug.sty +%% Copyright 2021 Josef Friedrich +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Josef Friedrich. +% +% This work consists of the files luakeys.lua, luakeys-debug.sty +% and luakeys-debug.tex. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{luakeys-debug}[2021/01/18 Debug package for luakeys.] + +%\input luakeys-debug.tex + +\directlua{ + luakeys = require('luakeys') +} + +\newcommand{\luakeysdebug}[2][]{ + { + \tt + \parindent=0pt + \directlua{ + local options_raw = luakeys.parse('#1') + local result = luakeys.parse('#2', options_raw) + tex.print(luakeys.stringify(result, true)) + luakeys.print(result) + } + } +} diff --git a/macros/luatex/generic/luakeys/luakeys-debug.tex b/macros/luatex/generic/luakeys/luakeys-debug.tex new file mode 100644 index 0000000000..499b1305f6 --- /dev/null +++ b/macros/luatex/generic/luakeys/luakeys-debug.tex @@ -0,0 +1,33 @@ +%% luakeys-debug.tex +%% Copyright 2021 Josef Friedrich +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Josef Friedrich. +% +% This work consists of the files luakeys.lua, luakeys-debug.sty +% and luakeys-debug.tex. + +\directlua{ + luakeys = require('luakeys') +} + +\def\luakeysdebug#1{ + { + \tt + \parindent=0pt + \directlua{ + local result = luakeys.parse('#1') + tex.print(luakeys.stringify(result, true)) + luakeys.print(result) + } + } +} diff --git a/macros/luatex/generic/luakeys/luakeys.lua b/macros/luatex/generic/luakeys/luakeys.lua new file mode 100644 index 0000000000..e4ecaab7f7 --- /dev/null +++ b/macros/luatex/generic/luakeys/luakeys.lua @@ -0,0 +1,483 @@ +-- luakeys-debug.tex +-- Copyright 2021 Josef Friedrich +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either version 1.3c +-- of this license or (at your option) any later version. +-- The latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3c or later is part of all distributions of LaTeX +-- version 2008/05/04 or later. +-- +-- This work has the LPPL maintenance status `maintained'. +-- +-- The Current Maintainer of this work is Josef Friedrich. +-- +-- This work consists of the files luakeys.lua, luakeys-debug.sty +-- and luakeys-debug.tex. + +--- A key-value parser written with Lpeg. +-- +-- Explanations of some LPeg notation forms: +-- +-- * `patt ^ 0` = `expression *` +-- * `patt ^ 1` = `expression +` +-- * `patt ^ -1` = `expression ?` +-- * `patt1 * patt2` = `expression1 expression2`: Sequence +-- * `patt1 + patt2` = `expression1 / expression2`: Ordered choice +-- +-- * [TUGboat article: Parsing complex data formats in LuaTEX with LPEG](https://tug.org/TUGboat/tb40-2/tb125menke-lpeg.pdf) +-- +-- @module luakeys + +local lpeg = require('lpeg') + +if not tex then + tex = {} + + -- Dummy function for the tests. + tex['sp'] = function (input) + return 1234567 + end +end + +--- Generate the PEG parser using Lpeg. +-- +-- @treturn userdata The parser +local function generate_parser(options) + -- Optional whitespace + local white_space = lpeg.S(' \t\n\r')^0 + + --- Match literal string surrounded by whitespace + local ws = function(match) + return white_space * lpeg.P(match) * white_space + end + + local boolean_true = + lpeg.P('true') + + lpeg.P('TRUE') + + lpeg.P('True') + + local boolean_false = + lpeg.P('false') + + lpeg.P('FALSE') + + lpeg.P('False') + + local number = lpeg.P({'number', + number = + lpeg.V('int') * + lpeg.V('frac')^-1 * + lpeg.V('exp')^-1, + + int = lpeg.V('sign')^-1 * ( + lpeg.R('19') * lpeg.V('digits') + lpeg.V('digit') + ), + + sign = lpeg.S('+-'), + digit = lpeg.R('09'), + digits = lpeg.V('digit') * lpeg.V('digits') + lpeg.V('digit'), + frac = lpeg.P('.') * lpeg.V('digits'), + exp = lpeg.S('eE') * lpeg.V('sign')^-1 * lpeg.V('digits'), + }) + + --- Define data type dimension. + -- + -- @return Lpeg patterns + local function build_dimension_pattern() + local sign = lpeg.S('-+') + local integer = lpeg.R('09')^1 + local tex_number = (integer^1 * (lpeg.P('.') * integer^1)^0) + (lpeg.P('.') * integer^1) + local unit + -- https://raw.githubusercontent.com/latex3/lualibs/master/lualibs-util-dim.lua + for _, dimension_extension in ipairs({'bp', 'cc', 'cm', 'dd', 'em', 'ex', 'in', 'mm', 'nc', 'nd', 'pc', 'pt', 'sp'}) do + if unit then + unit = unit + lpeg.P(dimension_extension) + else + unit = lpeg.P(dimension_extension) + end + end + + local dimension = (sign^0 * tex_number * unit) + + if options.convert_dimensions then + return dimension / tex.sp + else + return lpeg.C(dimension) + end + end + + --- Add values to a table in a two modes: + -- + -- # Key value pair + -- + -- If arg1 and arg2 are not nil, then arg1 is the key and arg2 is the + -- value of a new table entry. + -- + -- # Index value + -- + -- If arg2 is nil, then arg1 is the value and is added as an indexed + -- (by an integer) value. + -- + -- @tparam table table + -- @tparam mixed arg1 + -- @tparam mixed arg2 + -- + -- @treturn table + local add_to_table = function(table, arg1, arg2) + if arg2 == nil then + local index = #table + 1 + return rawset(table, index, arg1) + else + return rawset(table, arg1, arg2) + end + end + + return lpeg.P({ + 'list', + + list = lpeg.Cf( + lpeg.Ct('') * lpeg.V('list_item')^0, + add_to_table + ), + + list_container = + ws('{') * lpeg.V('list') * ws('}'), + + list_item = + lpeg.Cg( + lpeg.V('key_value_pair') + + lpeg.V('value') + ) * ws(',')^-1, + + key_value_pair = + (lpeg.V('key') * ws('=')) * (lpeg.V('list_container') + lpeg.V('value')), + + -- ./ for tikz style keys + key_word = lpeg.R('az', 'AZ', '09', './'), + + key = white_space * lpeg.C( + lpeg.V('key_word')^1 * + (lpeg.P(' ')^1 * lpeg.V('key_word')^1)^0 + ) * white_space, + + value = + lpeg.V('boolean') + + lpeg.V('dimension') + + lpeg.V('number') + + lpeg.V('string_quoted') + + lpeg.V('string_unquoted'), + + boolean = + boolean_true * lpeg.Cc(true) + + boolean_false * lpeg.Cc(false), + + dimension = build_dimension_pattern(), + + string_quoted = + white_space * lpeg.P('"') * + lpeg.C((lpeg.P('\\"') + 1 - lpeg.P('"'))^0) * + lpeg.P('"') * white_space, + + string_unquoted = + white_space * + lpeg.C((1 - lpeg.S('{},='))^1) * + white_space, + + number = + white_space * (number / tonumber) * white_space, + + }) +end + +local function trim(input_string) + return input_string:gsub('^%s*(.-)%s*$', '%1') +end + +--- Get the size of an array like table `{ 'one', 'two', 'three' }` = 3. +-- +-- @tparam table value A table or any input. +-- +-- @treturn number The size of the array like table. 0 if the input is +-- no table or the table is empty. +local function get_array_size(value) + local count = 0 + if type(value) == 'table' then + for _ in ipairs(value) do count = count + 1 end + end + return count +end + +--- Get the size of a table `{ one = 'one', 'two', 'three' }` = 3. +-- +-- @tparam table value A table or any input. +-- +-- @treturn number The size of the array like table. 0 if the input is +-- no table or the table is empty. +local function get_table_size(value) + local count = 0 + if type(value) == 'table' then + for _ in pairs(value) do count = count + 1 end + end + return count +end + +--- Unpack a single valued array table like `{ 'one' }` into `one` or +-- `{ 1 }` into `into`. +-- +-- @treturn If the value is a array like table with one non table typed +-- value in it, the unpacked value, else the unchanged input. +local function unpack_single_valued_array_table(value) + if + type(value) == 'table' and + get_array_size(value) == 1 and + get_table_size(value) == 1 and + type(value[1]) ~= 'table' + then + return value[1] + end + return value +end + +--- This normalization tasks are performed on the raw input table +-- coming directly from the PEG parser: +-- +-- 1. Trim all strings: ` text \n` into `text` +-- 2. Unpack all single valued array like tables: `{ 'text' }` +-- into `text` +-- +-- @tparam table raw The raw input table coming directly from the PEG +-- parser +-- +-- @treturn table A normalized table ready for the outside world. +local function normalize(raw, options) + local function normalize_recursive(raw, result, options) + for key, value in pairs(raw) do + if options.unpack_single_array_values then + value = unpack_single_valued_array_table(value) + end + if type(value) == 'table' then + result[key] = normalize_recursive(value, {}, options) + elseif type(value) == 'string' then + result[key] = trim(value) + else + result[key] = value + end + end + return result + end + return normalize_recursive(raw, {}, options) +end + +--- The function `stringify(tbl, for_tex)` converts a Lua table into a +-- printable string. Stringify a table means to convert the table into +-- a string. This function is used to realize the `print` function. +-- `stringify(tbl, true)` (`for_tex = true`) generates a string which +-- can be embeded into TeX documents. The macro `\luakeysdebug{}` uses +-- this option. `stringify(tbl, false)` or `stringify(tbl)` generate a +-- string suitable for the terminal. +-- +-- @tparam table input A table to stringify. +-- +-- @tparam boolean for_tex Stringify the table into a text string that +-- can be embeded inside a TeX document via tex.print(). Curly braces +-- and whites spaces are escaped. +-- +-- https://stackoverflow.com/a/54593224/10193818 +local function stringify(input, for_tex) + local line_break, start_bracket, end_bracket, indent + + if for_tex then + line_break = '\\par' + start_bracket = '\\{' + end_bracket = '\\}' + indent = '\\ \\ ' + else + line_break = '\n' + start_bracket = '{' + end_bracket = '}' + indent = ' ' + end + + local function stringify_inner(input, depth) + local output = {} + depth = depth or 0; + + local function add(depth, text) + table.insert(output, string.rep(indent, depth) .. text) + end + + for key, value in pairs(input) do + if (key and type(key) == 'number' or type(key) == 'string') then + key = string.format('[\'%s\']', key); + + if (type(value) == 'table') then + if (next(value)) then + add(depth, key .. ' = ' .. start_bracket); + add(0, stringify_inner(value, depth + 1, for_tex)); + add(depth, end_bracket .. ','); + else + add(depth, key .. ' = ' .. start_bracket .. end_bracket .. ','); + end + else + if (type(value) == 'string') then + value = string.format('\'%s\'', value); + else + value = tostring(value); + end + + add(depth, key .. ' = ' .. value .. ','); + end + end + end + + return table.concat(output, line_break) + end + + return start_bracket .. line_break .. stringify_inner(input, 1) .. line_break .. end_bracket +end + +--- For the LaTeX version of the macro +-- `\luakeysdebug[options]{kv-string}`. +-- +-- @tparam table options_raw Options in a raw format. The table may be +-- empty or some keys are not set. +-- +-- @treturn table +local function normalize_parse_options (options_raw) + if options_raw == nil then + options_raw = {} + end + local options = {} + + if options_raw['unpack single array values'] ~= nil then + options['unpack_single_array_values'] = options_raw['unpack single array values'] + end + + if options_raw['convert dimensions'] ~= nil then + options['convert_dimensions'] = options_raw['convert dimensions'] + end + + if options.convert_dimensions == nil then + options.convert_dimensions = true + end + + if options.unpack_single_array_values == nil then + options.unpack_single_array_values = true + end + + return options +end + +return { + stringify = stringify, + + --- Parse a LaTeX/TeX style key-value string into a Lua table. With + -- this function you should be able to parse key-value strings like + -- this example: + -- + -- show, + -- hide, + -- key with spaces = String without quotes, + -- string="String with double quotes: ,{}=", + -- dimension = 1cm, + -- number = -1.2, + -- list = {one,two,three}, + -- key value list = {one=one,two=two,three=three}, + -- nested key = { + -- nested key 2= { + -- key = value, + -- }, + -- }, + -- + -- The string above results in this Lua table: + -- + -- { + -- 'show', + -- 'hide', + -- ['key with spaces'] = 'String without quotes', + -- string = 'String with double quotes: ,{}=', + -- dimension = 1864679, + -- number = -1.2, + -- list = {'one', 'two', 'three'}, + -- key value list = { + -- one = 'one', + -- three = 'three', + -- two = 'two' + -- }, + -- ['nested key'] = { + -- ['nested key 2'] = { + -- key = 'value' + -- } + -- }, + -- } + -- + -- @tparam string kv_string A string in the TeX/LaTeX style key-value + -- format as described above. + -- + -- @tparam table options A table containing + -- settings: `convert_dimensions` `unpack_single_array_values` + -- + -- @treturn table A hopefully properly parsed table you can do + -- something useful with. + parse = function (kv_string, options) + if kv_string == nil then + return {} + end + options = normalize_parse_options() + + local parser = generate_parser(options) + return normalize(parser:match(kv_string), options) + end, + + --- The function `render(tbl)` reverses the function + -- `parse(kv_string)`. It takes a Lua table and converts this table + -- into a key-value string. The resulting string usually has a + -- different order as the input table. In Lua only tables with + -- 1-based consecutive integer keys (a.k.a. array tables) can be + -- parsed in order. + -- + -- @tparam table tbl A table to be converted into a key-value string. + -- + -- @treturn string A key-value string that can be passed to a TeX + -- macro. + render = function (tbl) + local function render_inner(tbl) + local output = {} + local function add(text) + table.insert(output, text) + end + for key, value in pairs(tbl) do + if (key and type(key) == 'string') then + if (type(value) == 'table') then + if (next(value)) then + add(key .. '={'); + add(render_inner(value)); + add('},'); + else + add(key .. '={},'); + end + else + add(key .. '=' .. tostring(value) .. ','); + end + else + add(tostring(value) .. ',') + end + end + return table.concat(output) + end + return render_inner(tbl) + end, + + --- The function `print(tbl)` pretty prints a Lua table to standard + -- output (stdout). It is a utility function that can be used to + -- debug and inspect the resulting Lua table of the function + -- `parse`. You have to compile your TeX document in a console to + -- see the terminal output. + -- + -- @tparam table tbl A table to be printed to standard output for + -- debugging purposes. + print = function(tbl) + print(stringify(tbl, false)) + end, + +} diff --git a/macros/luatex/generic/luakeys/luakeys.pdf b/macros/luatex/generic/luakeys/luakeys.pdf Binary files differnew file mode 100644 index 0000000000..ceaebbee04 --- /dev/null +++ b/macros/luatex/generic/luakeys/luakeys.pdf diff --git a/macros/luatex/generic/luakeys/luakeys.tex b/macros/luatex/generic/luakeys/luakeys.tex new file mode 100644 index 0000000000..75ffbc8c70 --- /dev/null +++ b/macros/luatex/generic/luakeys/luakeys.tex @@ -0,0 +1,544 @@ +\documentclass{ltxdoc} + +\usepackage{hyperref} +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\usepackage{mdframed} +\usepackage{minted} +\usepackage{luakeys-debug} +\usepackage{multicol} +\usepackage{luacode} +\usepackage{syntax} +\usemintedstyle{friendly} +\BeforeBeginEnvironment{minted}{\begin{mdframed}} +\AfterEndEnvironment{minted}{\end{mdframed}} +\setminted{ + breaklines=true, + fontsize=\footnotesize, +} +\def\lua#1{\mintinline{lua}|#1|} + +\begin{document} + +\providecommand*{\url}{\texttt} + +\title{The \textsf{luakeys} package} +\author{% + Josef Friedrich\\% + \url{josef@friedrich.rocks}\\% + \href{https://github.com/Josef-Friedrich/nodetree}{github.com/Josef-Friedrich/luakeys}% +} +\date{v0.1 from 2021/01/18} + +\maketitle + +\vfill + +%\luakeysdebug{level1={level2={level3={dim=1cm,bool=true,num=-1e-03,str=lua}}}} + +\begin{minted}{lua} +local luakeys = require('luakeys') +local kv = luakeys.parse('level1={level2={level3={dim=1cm,bool=true,num=-1e-03,str=lua}}}') +luakeys.print(kv) +\end{minted} + +\noindent +Result: + +\begin{center} +\begin{minted}{lua} +{ + ['level1'] = { + ['level2'] = { + ['level3'] = { + ['dim'] = 1864679, + ['bool'] = true, + ['num'] = -0.001 + ['str'] = 'lua', + } + } + } +} +\end{minted} +\end{center} + +\vfill + +\strut + +\newpage + +\tableofcontents + +\newpage + +\section{Introduction} + +\noindent +|luakeys| is a Lua module that can parse key-value options like the +\TeX{} packages \href{https://www.ctan.org/pkg/keyval}{keyval}, +\href{https://www.ctan.org/pkg/kvsetkeys}{kvsetkeys}, +\href{https://www.ctan.org/pkg/kvoptions}{kvoptions}, +\href{https://www.ctan.org/pkg/xkeyval}{xkeyval}, +\href{https://www.ctan.org/pkg/pgfkeys}{pgfkeys} etc. do. |luakeys|, +however, accompilshes this task entirely, by using the Lua language and +doesn’t rely on \TeX{}. Therefore this package can only be used with the +\TeX{} engine Lua\TeX{}. Since |luakeys| uses +\href{http://www.inf.puc-rio.br/~roberto/lpeg/}{LPeg}, the parsing +mechanism should be pretty robust. + +The TUGboat article +\href{http://www.tug.org/tugboat/tb30-1/tb94wright-keyval.pdf} +{“Implementing key–value input: An introduction” (Volume 30 (2009), No. 1)} +by Joseph Wright and Christian Feuersänger gives a good overview of the +available key-value packages. + +This package would not be possible without the article +\href{https://tug.org/TUGboat/tb40-2/tb125menke-lpeg.pdf} +{Parsing complex data formats in LuaTEX with LPEG (Volume 40 (2019), No. 2)}. + +%----------------------------------------------------------------------- +% +%----------------------------------------------------------------------- + +\clearpage + +\section{Syntax of the recognized key-value format} + +%% +% +%% + +\subsection{A attempt to put the syntax into words} + +A key-value pair is definied by an equal sign (\texttt{key=value}). +Several key-value pairs or values without keys are lined up with commas +(\texttt{key=value,value}) and build a key-value list. Curly brackets +can be used to create a recursive data structure of nested key-value +lists (\texttt{level1=\{level2=\{key=value,value\}\}}). + +%% +% +%% + +\subsection{An (incomplete) attempt to put the syntax into the (Extended) Backus-Naur form} + +\begin{grammar} +<list> ::= <list-item> | <list-item> <list> + +<list-item> ::= ( <key-value-pair> | <value-without-key> ) [ `,' ] + +<list-container> ::== `{' <list> `}' + +<value> ::= <boolean> + \alt <dimension> + \alt <number> + \alt <string-quoted> + \alt <string-unquoted> +\end{grammar} + +... to be continued + +%% +% +%% + +\subsection{Recognized data types} + +\subsubsection{boolean} + +The strings \texttt{true}, \texttt{TRUE} and \texttt{True} are converted +into Lua’s boolean type \lua{true}, the strings \texttt{false}, +\texttt{FALSE} and \texttt{False} into \lua{false}. + +\begin{multicols}{2} +\begin{minted}{latex} +\luakeysdebug{ + lower case true = true, + upper case true = TRUE, + title case true = True + lower case false = false, + upper case false = FALSE, + title case false = False, +} +\end{minted} +\begin{minted}{lua} +{ + ['lower case true'] = true, + ['upper case true'] = true, + ['title case true'] = true, + ['lower case false'] = false, + ['upper case false'] = false + ['title case false'] = false, +} +\end{minted} +\end{multicols} + +%% +% +%% + +\clearpage + +\subsubsection{number} + +\begin{multicols}{2} +\begin{minted}{latex} +\luakeysdebug{ + num1 = 4, + num2 = -4, + num3 = 0.4, + num4 = 4.57e-3, + num5 = 0.3e12, + num6 = 5e+20 +} +\end{minted} +\begin{minted}{lua} +{ + ['num1'] = 4, + ['num2'] = -4, + ['num3'] = 0.4, + ['num4'] = 0.00457, + ['num5'] = 300000000000.0, + ['num6'] = 5e+20 +} +\end{minted} +\end{multicols} + +%% +% +%% + +\clearpage + +\subsubsection{dimension} + +|luakeys| detects \TeX{} dimensions and automatically converts the +dimensions into scaled points using the function \lua{tex.sp(dim)}. Use +the option \lua{convert_dimensions} of the function +\lua{parse(kv_string, options)} to disalbe the automatic conversion. + +\begin{minted}{lua} +local result = parse('dim=1cm', { + convert_dimensions = false, +}) +\end{minted} + +If you want to convert a scale point into a unit string you can used the module +\href{https://raw.githubusercontent.com/latex3/lualibs/master/lualibs-util-dim.lua}{lualibs-util-dim.lua}. + +\begin{minted}{latex} +\begin{luacode} +require('lualibs') +tex.print(number.todimen(tex.sp('1cm'), 'cm', '%0.0F%s')) +\end{luacode} +\end{minted} + +\begin{center} +\begin{tabular}{rl} +\textbf{Unit name} & \textbf{Description} \\\hline +bp & big point \\ +cc & cicero \\ +cm & centimeter \\ +dd & didot \\ +em & horizontal measure of \emph{M} \\ +ex & vertical measure of \emph{x} \\ +in & inch \\ +mm & milimeter \\ +nc & new cicero \\ +nd & new didot \\ +pc & pica \\ +pt & point \\ +sp & scaledpoint \\ +\end{tabular} +\end{center} + +\begin{multicols}{2} +\begin{minted}{latex} +\luakeysdebug{ + bp = 1bp, + cc = 1cc, + cm = 1cm, + dd = 1dd, + em = 1em, + ex = 1ex, + in = 1in, + mm = 1mm, + nc = 1nc, + nd = 1nd, + pc = 1pc, + pt = 1pt, + sp = 1sp, +} +\end{minted} +\begin{minted}{lua} +{ + ['bp'] = 65781, + ['cc'] = 841489, + ['cm'] = 1864679, + ['dd'] = 70124, + ['em'] = 655360, + ['ex'] = 282460, + ['in'] = 4736286, + ['mm'] = 186467, + ['nc'] = 839105, + ['nd'] = 69925, + ['pc'] = 786432, + ['pt'] = 65536, + ['sp'] = 1, +} +\end{minted} +\end{multicols} + +%% +% +%% + +\subsubsection{string} + +There are two ways to specify strings: With or without quotes. If the +text have to contain commas or equal signs, then double quotation +marks must be used. + +\begin{multicols}{2} +\begin{minted}{latex} +\luakeysdebug{ + without quotes = no commas and equal signs are allowed, + with double quotes = ", and = are allowed", +} +\end{minted} +\begin{minted}{lua} +{ + ['without quotes'] = 'no commas and equal signs are allowed', + ['with double quotes'] = ', and = are allowed', +} +\end{minted} +\end{multicols} + +%----------------------------------------------------------------------- +% +%----------------------------------------------------------------------- + +\clearpage + +\section{Exported functions of the Lua module \texttt{luakeys.lua}} + +To learn more about the individual functions (local functions), pleasecommand +read the \href{https://josef-friedrich.github.io/luakeys/}{source code +documentation}, which was created with +\href{http://stevedonovan.github.io/ldoc/}{LDoc}. The Lua module exports +this functions: + +\begin{minted}{lua} +local luakeys = require('luakeys') +local parse = luakeys.parse +local render = luakeys.render +--local print = luakeys.print -- That would overwrite the built-in Lua function +\end{minted} + +%% +% +%% + +\subsection{\texttt{parse(kv\_string, options)}: table} + +The function \lua{parse(input_string, options)} is the main method of +this module. It parses a key-value string into a Lua table. + +\begin{minted}{latex} +\newcommand{\mykeyvalcmd}[1][]{ + \directlua{ + result = luakeys.parse('#1') + luakeys.print(result) + } + #2 +} +\mykeyvalcmd[one=1]{test} +\end{minted} + +\noindent +In plain \TeX: + +\begin{minted}{latex} +\def\mykeyvalcommand#1{ + \directlua{ + result = luakeys.parse('#1') + luakeys.print(result) + } +} +\mykeyvalcmd{one=1} +\end{minted} + +\noindent +The function can be called with a options table. This two options are +supported. + +\begin{minted}{lua} +local result = parse('one,two,three', { + convert_dimensions = false, + unpack_single_array_value = false +}) +\end{minted} + +%% +% +%% + +\subsection{\texttt{render(tbl)}: string} + +The function \lua{render(tbl)} reverses the function +\lua{parse(kv_string)}. It takes a Lua table and converts this table +into a key-value string. The resulting string usually has a different +order as the input table. + +\begin{minted}{lua} +result = luakeys.parse('one=1,two=2,tree=3,') +print(luakeys.render(result)) +--- one=1,two=2,tree=3, +--- or: +--- two=2,one=1,tree=3, +--- or: +--- ... +\end{minted} + +\noindent +In Lua only tables with 1-based consecutive integer keys (a.k.a. array +tables) can be parsed in order. + +\begin{minted}{lua} +result = luakeys.parse('one,two,three') +print(luakeys.render(result)) +--- one,two,three, (always) +\end{minted} + +%% +% +%% + +\subsection{\texttt{print(tbl): void}} + +The function \lua{print(tbl)} pretty prints a Lua table to standard +output (stdout). It is a utility function that can be used to debug and +inspect the resulting Lua table of the function \lua{parse}. You have to +compile your \TeX{} document in a console to see the terminal output. + +%\luakeysdebug{level1={level2={key=value}}} + +\begin{minted}{lua} +result = luakeys.parse('level1={level2={key=value}}') +luakeys.print(result) +\end{minted} + +\noindent +The output should look like this: + +\begin{minted}{md} +{ + ['level1'] = { + ['level2'] = { + ['key'] = 'value', + }, +} +\end{minted} + +%----------------------------------------------------------------------- +% +%----------------------------------------------------------------------- + +\clearpage + +\section{Debug packages} + +Two small debug packages are included in |luakeys|. One debug package +can be used in \LaTeX{} (luakeys-debug.sty) and one can be used in plain +\TeX{} (luakeys-debug.tex). Both packages provide only one command: +|\luakeysdebug{kv-string}| + +\begin{minted}{latex} +\luakeysdebug{one,two,three} +\end{minted} + +\noindent +Then the following output should appear in the document: +\bigskip + +\luakeysdebug{one,two,three} + +%% +% +%% + +\subsection{For plain \TeX: luakeys-debug.tex} + +An example of how to use the command in plain \TeX: + +\begin{minted}{latex} +\input luakeys-debug.tex +\luakeysdebug{one,two,three} +\bye +\end{minted} + +%% +% +%% + +\subsection{For \LaTeX: luakeys-debug.sty} + +An example of how to use the command in \LaTeX: + +\begin{minted}{latex} +\documentclass{article} +\usepackage{luakeys-debug} +\begin{document} +\luakeysdebug[ + unpack single array values=false, + convert dimensions=false +]{one,two,three} +\end{document} +\end{minted} + +%----------------------------------------------------------------------- +% +%----------------------------------------------------------------------- + +\clearpage + +\section{Implementation} + +%% +% +%% + +\subsection{luakeys.lua} + +\inputminted[linenos=true]{lua}{luakeys.lua} + +%% +% +%% + +\clearpage + +\subsection{luakeys-debug.tex} + +\inputminted[linenos=true]{latex}{luakeys-debug.tex} + +%% +% +%% + +\clearpage + +\subsection{luakeys-debug.sty} + +\inputminted[linenos=true]{latex}{luakeys-debug.sty} + +\changes{v0.1}{2020/01/17}{Inital release} + +\pagebreak +\PrintChanges +\pagebreak +\PrintIndex +\end{document} diff --git a/macros/unicodetex/latex/aalok/COPYING b/macros/unicodetex/latex/aalok/COPYING new file mode 100644 index 0000000000..f288702d2f --- /dev/null +++ b/macros/unicodetex/latex/aalok/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<https://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<https://www.gnu.org/licenses/why-not-lgpl.html>. diff --git a/macros/unicodetex/latex/aalok/LICENSE.md b/macros/unicodetex/latex/aalok/LICENSE.md new file mode 100644 index 0000000000..94c3ccf37b --- /dev/null +++ b/macros/unicodetex/latex/aalok/LICENSE.md @@ -0,0 +1,207 @@ +--- +आलोक नित्यमुक्त परवाना +--- + +पहिली आवृत्ती (९ नोव्हेंबर, २०२०) + +© २०२१ आलोक मराठी नियतकालिक + +ह्या परवान्याची नवीनतम अधिकृत प्रत पुढील दुव्यावर उपलब्ध आहे. + +[https://varnamudra.com/aalok/nityamukta-parwana/](https://varnamudra.com/aalok/nityamukta-parwana/) + +ह्या परवान्याच्या प्रतीचे वितरण मुक्त आहे, परंतु त्यात परस्पर बदल करण्याची परवानगी +नाही. परवान्यातील मजकुरासंदर्भात कोणत्याही तक्रारी, सूचना अथवा सल्ले असल्यास आलोक नित्यमुक्त +परवान्याच्या गिट-पृष्ठावर त्यांची नोंद करावी. गिट-पृष्ठाच्या तक्रारींचे पान पुढील दुव्यावर +सापडेल. + +[https://gitlab.com/aalok/nityamukta-parwana/-/issues](https://gitlab.com/aalok/nityamukta-parwana/-/issues) + +--- +प्रस्तावना +--- + +आलोक नित्यमुक्त परवाना हा कोणत्याही प्रतिमुद्राधिकारप्राप्त सामग्रीचे वितरण मुक्तपणे करण्यासाठी +लिहिण्यात आलेला एक परवाना आहे. ह्या परवान्यासह वितरित होणाऱ्या सामग्रीची प्रतिमुद्रा +करण्याचा व ती व्यावसायिक अथवा अव्यावसायिक, परिवर्तित अथवा यथामूल स्वरूपात वितरित +करण्याचा अधिकार प्रतधारकास प्राप्त होतो, परंतु ह्या परवान्यासह वितरित होणाऱ्या सामग्रीवर +आधारित अशी सामग्री अथवा मूळ सामग्रीत बदल करून निर्माण केलेली सामग्री वितरित करायची असेल, +तर ती ह्या परवान्यातील सर्व अटींसह वितरित करणे सक्तीचे असते. + +----------------------------------------------------- +तांत्रिक शब्द व त्यांचे अर्थ +----------------------------------------------------- + +* सामग्री - ह्या परवान्यात वापरला गेलेला सामग्री हा शब्द प्रतिमुद्राधिकार लागू असलेल्या + कोणत्याही सामग्रीला उद्देशून येतो. + +* प्रतिमुद्रा - एखाद्या सामग्रीची नक्कल म्हणजे तिची प्रतिमुद्रा. उदा. एखाद्या कागदाची + छायाप्रत अथवा त्याचे काढलेले छायाचित्र ही मूळ कागदी प्रतीची प्रतिमुद्रा होय. + +* प्रतिमुद्राधिकार - कोणत्याही सामग्रीची निर्मिती करणाऱ्या व्यक्ती/संस्थेकडे त्या सामग्रीचे + प्रतिमुद्राधिकार असतात. प्रतिमुद्राधिकार कायद्याद्वारे पुढील हक्क प्रतिमुद्राधिकारधारकास + प्राप्त होतात. + + - प्रतिमुद्राधिकारप्राप्त सामग्रीची निर्मिती प्रतिमुद्राधिकारधारकानेच केली आहे हे + वैधानिकरित्या सिद्ध करण्याचा हक्क. + - प्रतिमुद्राधिकारप्राप्त सामग्रीची पुनर्निर्मिती करण्याचा हक्क. + - प्रतिमुद्राधिकारप्राप्त सामग्रीच्या प्रतींचे वितरण करण्याचा हक्क. + + संदर्भ - [http://www.legalserviceindia.com/article/l195-Copyright-Law-in-India.html](http://www.legalserviceindia.com/article/l195-Copyright-Law-in-India.html) +* मुक्त परवाना - प्रतिमुद्राधिकारधारकास मिळणाऱ्या (वर निर्दिष्ट केलेल्या) तीन हक्कांपैकी + पहिल्या हक्काचे संरक्षण व उर्वरित दोन हक्क प्रत्येक प्रतधारकास प्रदान करणे मुक्त परवान्यांद्वारे + साधले जाते. मुक्त परवान्यासह वितरित झालेल्या सामग्रीची परिवर्तित अथवा यथामूल पुनर्निर्मिती + व तिचे व्यावसायिक अथवा अव्यावसायिक वितरण प्रत प्राप्त झालेली कोणतीही व्यक्ती करू + शकते. काही महत्त्वाचे मुद्दे. + + - मुक्त परवान्यासह प्रतिमुद्राधिकारातील पहिल्या हक्काचे पूर्ण संरक्षण होते. सामग्रीच्या + निर्मात्या/निर्मातीखेरीज अन्य कोणीच वैधानिकरित्या सामग्रीच्या निर्मितीचा दावा करू शकत + नाही, परंतु मूळ मुक्त सामग्रीत बदल केला गेला असेल, तर मात्र बदल करणाऱ्याने/करणारीने बदल + समाविष्ट असलेल्या नव्या संपूर्ण सामग्रीचा प्रतिमुद्राधिकार स्वतःकडे घेऊन मूळ सामग्रीच्या + निर्मात्या/निर्मातीचा श्रेयनिर्देश करणे बंधनकारक असते. + - मुक्त परवान्यासह वितरित होणाऱ्या सामग्रीवर प्रतिमुद्राधिकारधारक तसेच अन्य प्रतधारक शुल्क + आकारू शकतात. + - ज्या सामग्रीत परिवर्तन करण्याचा अधिकार प्रतधारकास आहे, त्याच सामग्रीस मुक्त म्हणता येते. + - ज्या सामग्रीचे व्यावसायिक वितरण करण्याचा अधिकार प्रतधारकास आहे, त्याच सामग्रीस मुक्त + म्हणता येते. + - मुक्त परवान्यासह वितरित झालेल्या सामग्रीची प्रत एखाद्या व्यक्तीकडे असेल, तरी तिचे वितरण + करण्यासाठी कोणीही त्या व्यक्तीवर बळजबरी करू शकत नाही. मुक्त असलेल्या सामग्रीचे वितरण न + करण्याचा अधिकारही प्रतधारकाकडे आहे. + - मुक्त सामग्रीवर आधारित अथवा मुक्त सामग्रीत बदल करून तयार केलेली सामग्री अमुक्त असू शकते. + मुक्ततेची अट असलेल्या परवान्यांचा एक उपवर्ग आहे, त्याबद्दल आता जाणून घेऊ. + +* नित्यमुक्त परवाना - हा मुक्त परवान्यांचाच एक उपवर्ग आहे. ह्या परवान्यांसह वितरित होणारी + सामग्री सदैव मुक्त असते. तिच्या परिवर्तित स्वरूपाचे वितरणदेखील अमुक्त अटींसह करता येऊ शकत + नाही. नित्यमुक्त सामग्रीवर आधारित अथवा नित्यमुक्त सामग्रीत बदल करून तयार केलेली सामग्री + एका नित्यमुक्त परवान्यासह वितरित करण्याचे बंधन प्रतधारकास पाळावे लागते. तसे न केल्यास तो + परवान्याचा भंग ठरतो व त्यावर कायदेशीर कारवाई होऊ शकते. आलोक हा एक नित्यमुक्त परवाना + आहे. + +* अनुरूप परवाना - एखाद्या पुनर्निर्मित अथवा परिवर्तित सामग्रीस आलोकव्यतिरिक्त जे अन्य परवाने + चालू शकतात, त्या परवान्यांस अनुरूप परवाने असे म्हटले जाते. अननुरूप परवान्यांसह पुनर्वितरण केल्याचे + आढळल्यास त्या सामग्रीचा परवाना अवैध ठरवण्याचे अधिकार आलोक नियतकालिकाकडे आहेत. + +* परिवर्तन/बदल - मूळ सामग्रीत कोणत्याही प्रकारची भर घालणे, घट करणे, तिचा अनुवाद करणे व + इतर लहानात लहान भेद हे परिवर्तन म्हणून मोजले जातील. मिळालेली प्रतिमुद्रा यथामूल वितरित न + करता तिच्यात केलेला कुठलाही बदल मूळ सामग्रीचे परिवर्तन म्हणून पाहिला जाईल. परिवर्तित + सामग्रीचे प्रतिमुद्राधिकार बदल करणाऱ्या/करणारीने स्वतःकडे घेणे नित्यमुक्त परवान्यांमध्ये आवश्यक + ठरते. असे करताना मूळ सामग्रीच्या प्रतिमुद्राधिकारधारकास श्रेयनिर्देशन करणे हेदेखील बंधनकारक + होय. + +* बीज व फलित - ज्या धारिकेत आज्ञावली लिहिली जाते, तिला बीजधारिका असे म्हटले जाते. एखाद्या + चालकासह चालवल्यास आज्ञावली नेमून दिलेले कार्य पूर्ण करते. अशा वेळी मिळणारी धारिका फलित + म्हणून ओळखली जाते. ग्नू संस्थेचे परवाने व आलोक नित्यमुक्त परवाना हे आज्ञावलीय बीज मुक्तपणे + देण्याची वितरित करण्याची सक्ती निर्मात्यावर/निर्मातीवर करतो. + +----------------------------------------------------- +कोणत्या सामग्रीस लागू? +----------------------------------------------------- + +आलोक नित्यमुक्त परवाना प्रतिमुद्राधिकारप्राप्त कोणत्याही सामग्रीस वापरला जाऊ शकतो, परंतु +ते वितरण करताना सामग्रीची प्रतिमुद्रा कोणत्या स्वरूपातील आहे ह्यावरून तिची परवाना +वापरण्यासाठीची अर्हता ठरते. संगणकबाह्य कोणतीही सामग्री आलोक नित्यमुक्त परवाना वापरू +शकते. उदा. छापील लेखन, छापील छायाचित्रे, फिल्मवर आधारित चित्रपट अथवा छायाचित्रे, रिळावर +आधारलेली ध्वनिमुद्रणे. ही व अशी संगणकबाह्य कोणतीही सामग्री आलोक नित्यमुक्त परवान्यासह वितरित +केली गेली असेल, तर तिच्या पुनर्निर्मितीस व वितरणास निर्मात्याची/निर्मातीची परवानगी आहे असे +मानण्यात येईल. अशा संगणकबाह्य सामग्रीचे संगणकीकृत वितरण करावयाची परवावगी ह्या परवान्यासह +आपसूक मिळत असली तरीही कोणत्याही स्वरूपाचे पुनर्वितरण एखाद्या नित्यमुक्त परवान्यासह करण्याची +अट आहेच व आलोक नित्यमुक्त परवानाच वापरण्याची इच्छा असेल, तर संगणकबाह्य मुक्त सामग्रीचे +संगणकीकरण करताना पुढील मुद्द्यांची काळजी घेण्यात यावी. + +आलोक नित्यमुक्त परवान्यासह संगणकीकृत सामग्रीचे वितरण करावयाचे असल्यास पुढील अटींची पूर्तता करणे +आवश्यक आहे. + +* सामग्रीची निर्मिती मुक्त आज्ञावलीचा वापर करून झालेली असावी. +* फलित सामग्रीचे आज्ञावलीय बीज कुठे पाहता येईल ह्याचा स्पष्ट निर्देश सामग्रीतच केलेला असावा. +* संगणकीय आज्ञावलीचे बीजदेखील एका नित्यमुक्त परवान्यासह वितरित केलेले असावे. + +उदा. एखादा लेखी दस्तऐवज जर पीडीएफ् स्वरूपात वितरित करावयाचा असेल, तर त्याची निर्मिती +करण्यासाठी मायक्रोसॉफ्ट वर्ड/इन-डिझाईन/ॲडॉब अशा अमुक्त आज्ञावल्या वापरू नयेत. अमुक्त +आज्ञावल्यांचा वापर करून तयार करण्यात आलेल्या संगणकीकृत सामग्रीचे वितरण आलोक मुक्त परवान्यासह +करता येणार नाही. संगणकीकृत सामग्रीचे वितरण करताना जर तिच्या सार्वत्रिक आज्ञावलीय बीजाचा +निर्देश केला गेला नसेल व सामग्री अमुक्त आज्ञावल्यांचा वापर करून घडवण्यात आली असेल, तर त्या +सामग्रीचा परवाना अवैध ठरवण्याचे अधिकार आलोक मराठी नियतकालिकाकडे आहेत. + +विविध प्रकारची संगणकीय सामग्री व तिचे वितरण करण्यासाठी आम्ही शिफारस करत असलेले स्वरूप +पुढीलप्रमाणे - + +* लेखी दस्तऐवज - युनिकोड प्रणाली, .txt, .tex, .dvi (टेक्-फलित), .pdf (आवृत्ती १.७+ + आवश्यक, मुक्त आज्ञावलीच्या वापर होणे आवश्यक), .odf, .md, .html, .epub, .djvu, .csv +* छायाचित्रे - .flif (उत्कृष्ट गुणवत्तेसाठी), .png, .svg, .jpeg +* ध्वनिफीती - .flac (उत्कृष्ट गुणवत्तेसाठी), .ogg (कमी आकारमान व मध्यम गुणवत्तेसाठी) +* ध्वनिचित्रफीती - .mkv, .webm + +वर नोंदवलेले सामग्रीचे प्रकार व त्यांचे स्वरूप ही एक सर्वसमावेशक यादी नसून, केवळ आमच्या काही +शिफारसी आहेत. ह्याव्यतिरिक्त उपलब्ध असलेल्या मुक्त स्वरूपांसह संगणकावर वितरित होणारी सामग्री +आलोक नित्यमुक्त परवाना वापरण्यास पात्र आहे. मुक्त स्वरूपांची आणखी तपशीलवार यादी पुढील दुव्यावर +पाहता येऊ शकते. + +[https://en.wikipedia.org/wiki/List_of_open_formats](https://en.wikipedia.org/wiki/List_of_open_formats) + +प्रतिमुद्राधिकारप्राप्त सामग्री संगणकीय आज्ञावलीच असेल तर ती मनुष्यास वाचनीय (द्विमान सामग्री +मनुष्यास वाचनीय नसते) स्वरूपात महाजालावर उपलब्ध करून द्यावी. आज्ञावलीय बीज वितरित +करण्यासाठी गिटहबऐवजी गिटलॅब ह्या मुक्त प्रणालीचा वापर करावा असे आम्ही सुचवू. ही एक अट नसून +शिफारस आहे. + +----------------------------------------------------- +वितरणविषयक नियम +----------------------------------------------------- + +* सर्वप्रथम सामग्रीच्या निर्मात्याने/निर्मातीने प्रतिमुद्राधिकार आपले असल्याचा स्पष्ट निर्देश + करावा. तो करताना तारीख अथवा वर्ष स्पष्टपणे नमूद केलेले असावे. तत्पूर्वी प्रस्तुत सामग्रीची ही + कितवी आवृत्ती आहे व कधी प्रकाशित होत आहे तेही नमूद करावे. प्रतिमुद्राधिकाराचा निर्देश पुढील + प्रकारे करणे बंधनकारक आहे. + + > <आवृत्तिक्रमांक>वी आवृत्ती <प्रकाशनाची तारीख><br> + > © <प्रकाशनवर्ष> <निर्मात्याचे/निर्मातीचे नाव> + +* ह्या मजकुराखाली पुढील परिच्छेद लिहिण्यात यावा. + + > ह्या सामग्रीच्या वितरणाचे व प्रतिमुद्रणाचे अधिकार आलोक नित्यमुक्त परवान्यासह मुक्त करण्यात येत + > आहेत. ह्या सामग्रीची यथामूल अथवा परिवर्तित प्रतिमुद्रणे व्यावसायिक अथवा अव्यावसायिक + > स्वरूपात वितरित करण्यास प्रतिमुद्राधिकारधारक संमती देत आहे, परंतु असे करताना वितरकाने + > प्रतिमुद्राधिकारांचा योग्य श्रेयनिर्देश करणे व सामग्री परिवर्तित असल्यास ती ह्याच अटींसह + > वितरित करणे बंधनकारक आहे. ही सामग्री जशी आहे तशी पुरवण्यात येत आहे, पुरवणारा/पुरवणारी + > हिच्याबाबत कोणतीही हमी देत नाही. ह्या (व ह्यावर आधारित) सामग्रीचे अमुक्त वितरण + > बेकायदेशीर मानले जाईल. आलोक नित्यमुक्त परवान्याचा संपूर्ण मसुदा पुढील दुव्यावर वाचता + > येईल. + + > [https://varnamudra.com/aalok/nityamukta-parwana/](https://varnamudra.com/aalok/nityamukta-parwana/) + +----------------------------------------------------- +सामग्रीचे पुनर्वितरण कसे करावे? +----------------------------------------------------- + +* ह्या परवान्यासह वितरित होणाऱ्या सामग्रीच्या परिवर्तित स्वरूपाचे वितरण करायचे असेल, तर + मूळ सामग्रीच्या प्रतिमुद्राधिकारधारकास त्याचे श्रेय पुढीलप्रमाणे द्यावे व त्याखाली नव्या + निर्मात्याने/निर्मातीने प्रतिमुद्राधिकार स्वतःकडे घ्यावेत. उदा. + + > मूळ सामग्री - <सामग्रीचे नाव><br> + > निर्माता/निर्माती - <निर्माता/निर्मातीचे नाव><br> + > निर्मितीवर्ष - <मूळ सामग्रीच्या निर्मितीचे वर्ष><br> + + > आधारित/परिवर्तित सामग्री<br> + > <आवृत्तिक्रमांक>वी आवृत्ती <प्रकाशनाची तारीख><br> + > © <प्रकाशनवर्ष> <निर्मात्याचे/निर्मातीचे नाव><br> + +* एखादी सामग्री प्रकाशित झाली तेव्हा मुक्त नसेल, परंतु प्रतिमुद्राधिकारधारकास तिचे नित्यमुक्त + वितरण करण्याची इच्छा असेल, तर त्याने/तिने नित्यमुक्त परवान्यासह त्या सामग्रीची सुधारित + आवृत्ती प्रकाशित करावी. एखादी प्रकाशित अमुक्त सामग्री आलोक नित्यमुक्त परवान्यासह मुक्त + माध्यमांवर प्रकाशित करायची असेल, तरीही त्या सामग्रीच्या प्रतिमुद्राधिकारधारकाशी संपर्क + साधून, त्यांची लेखी परवानगी घेऊन, हा परवाना वापरता येईल. असे करतानादेखील + प्रतिमुद्राधिकार मूळ निर्मात्या/निर्मातीकडेच राहतील. + +--- +अनुरूप परवाने +--- + +आलोक नित्यमुक्त परवान्यास केवळ `ग्नू फ्री डॉक्युमेन्टेशन परवाना` व ग्नू संस्थेचा `जनरल पब्लिक +परवाना` हे दोन परवानेच अनुरूप आहेत. क्रिएटिव्ह कॉमन्सचे परवाने संगणकीय पुनर्वितरणाच्या वेळी +अमुक्त आज्ञावल्यांना प्रतिबंध करत नाहीत, शिवाय आज्ञावलीय बीज देण्याची सक्तीदेखील करत नाहीत, +त्यामुळे सामग्रीची परिवर्तनशीलता कमी होते व सामग्रीची मुक्तता घटते, त्यामुळे क्रिएटिव्ह कॉमन्सचे +परवाने आलोकच्या परिवर्तित सामग्रीकरिता वापरू नयेत. अन्य कोणताही असा परवाना ज्यात +आज्ञावलीच्या मुक्ततेचा विचार केला जातो व प्रतधारकाच्या सुरक्षेचा व स्वातंत्र्याचा विचार केला +जातो, त्या परवान्याचा समावेश अनुरूप परवान्यांमध्ये करता येईल. असा कोणताही परवाना आढळल्यास +आलोकच्या गिट-पृष्ठावर सुधारणांमध्ये तसे नोंदवावे. त्या परवान्याचा ह्या यादीत समावेश केला +जाईल. परंतु (पहिल्या आवृत्तीनुसार) केवळ हे दोन परवानेच आलोक परवान्याकरिता अनुरूप मानले गेले +आहेत. diff --git a/macros/unicodetex/latex/aalok/README.txt b/macros/unicodetex/latex/aalok/README.txt new file mode 100644 index 0000000000..6f5e99b97b --- /dev/null +++ b/macros/unicodetex/latex/aalok/README.txt @@ -0,0 +1,25 @@ +-------------------------------------------------------------------------- +लाटेक्-वर्ग: आलोक +लेखक: निरंजन +आवृत्ती: ०.१ (१८ जानेवारी, २०२१) +वर्णन: आलोक मराठी नियतकालिकाच्या अक्षरजुळणीकरिता लाटेक्-वर्ग. +संग्राहिका: https://gitlab.com/aalok/aalok-latex +अडचणी: https://gitlab.com/aalok/aalok-latex/-/issues +परवाना: आलोक नित्यमुक्त परवाना. आवृत्ती १.० किंवा त्यापुढील. + दुवा - https://gitlab.com/aalok/nityamukta-parwana + आणि + ग्नू पब्लिक परवाना. आवृत्ती ३.० किंवा त्यापुढील + दुवा - https://www.gnu.org/licenses/gpl-3.0.txt +-------------------------------------------------------------------------- +Class: aalok +Author: Niranjan +Version: 0.1 (18 January, 2021) +Description: LaTeX class for typesetting Aalok Marathi Journal. +Repository: https://gitlab.com/aalok/aalok-latex +Bug tracker: https://gitlab.com/aalok/aalok-latex/-/issues +License: `आलोक' copyleft license v1.0 or later. + Link - https://gitlab.com/aalok/nityamukta-parwana + and + GPL v3.0+ + Link - https://www.gnu.org/licenses/gpl-3.0.txt +-------------------------------------------------------------------------- diff --git a/macros/unicodetex/latex/aalok/aalok.dtx b/macros/unicodetex/latex/aalok/aalok.dtx new file mode 100644 index 0000000000..f897d31a28 --- /dev/null +++ b/macros/unicodetex/latex/aalok/aalok.dtx @@ -0,0 +1,1513 @@ +% \iffalse meta-comment +% +% File: aalok.dtx +% --------------------------------------------------------------------------- +% लाटेक्-वर्ग: आलोक +% लेखक: निरंजन +% आवृत्ती: ०.१ +% वर्णन: आलोक मराठी नियतकालिकाच्या अक्षरजुळणीकरिता लाटेक्-वर्ग. +% संग्राहिका: https://gitlab.com/aalok/aalok-latex +% अडचणी: https://gitlab.com/aalok/aalok-latex/-/issues +% परवाना: आलोक नित्यमुक्त परवाना. आवृत्ती १.० किंवा त्यापुढील तसेच +% ग्नू पब्लिक परवाना आवृत्ती ३.०+ +% --------------------------------------------------------------------------- +% हे काम आलोक नित्यमुक्त परवाना तसेच ग्नू पब्लिक परवान्याच्या अटींचे पालन करून वितरित केले जाऊ +% शकते तसेच सुधारले जाऊ शकते. +% +% ह्या परवान्यांची नवीनतम आवृत्ती पुढील दुव्यांवर पाहता येऊ शकते. +% +% https://gitlab.com/aalok/nityamukta-parwana +% https://www.gnu.org/licenses/gpl-3.0.txt +% +% ह्या लाटेक्-वर्गाची लाटेक्-प्रकल्पाच्या नियमांनुसार देखरेख केली जात आहे. +% +% ह्या लाटेक्-वर्गाचा लेखक व पालक निरंजन आहे. +% +% ह्या कामात aalok.dtx, aalok.ins तसेच त्यांपासून निर्माण केलेली +% aalok.cls ही धारिका समाविष्ट आहे. +% \fi +% \iffalse +%<*internal> +\iffalse +%</internal> +%<*readme> +-------------------------------------------------------------------------- +लाटेक्-वर्ग: आलोक +लेखक: निरंजन +आवृत्ती: ०.१ (१८ जानेवारी, २०२१) +वर्णन: आलोक मराठी नियतकालिकाच्या अक्षरजुळणीकरिता लाटेक्-वर्ग. +संग्राहिका: https://gitlab.com/aalok/aalok-latex +अडचणी: https://gitlab.com/aalok/aalok-latex/-/issues +परवाना: आलोक नित्यमुक्त परवाना. आवृत्ती १.० किंवा त्यापुढील. + दुवा - https://gitlab.com/aalok/nityamukta-parwana + आणि + ग्नू पब्लिक परवाना. आवृत्ती ३.० किंवा त्यापुढील + दुवा - https://www.gnu.org/licenses/gpl-3.0.txt +-------------------------------------------------------------------------- +Class: aalok +Author: Niranjan +Version: 0.1 (18 January, 2021) +Description: LaTeX class for typesetting Aalok Marathi Journal. +Repository: https://gitlab.com/aalok/aalok-latex +Bug tracker: https://gitlab.com/aalok/aalok-latex/-/issues +License: `आलोक' copyleft license v1.0 or later. + Link - https://gitlab.com/aalok/nityamukta-parwana + and + GPL v3.0+ + Link - https://www.gnu.org/licenses/gpl-3.0.txt +-------------------------------------------------------------------------- +%</readme> +%<*internal> +\fi +%</internal> +%<*driver|class> +\def\aalokName{aalok} +\def\aalokVersion{०.१} +\def\aalokDate{२०२१/०१/१८} +\def\aalokDescription{आलोक लाटेक् आ. \aalokVersion} +%</driver|class> +%<*driver> +\documentclass{l3doc} +\usepackage{xcolor} +\colorlet{आलोकपिवळा}{yellow!90!black} +\colorlet{आलोकनिळा}{blue!60!black} +\colorlet{आलोकशेंदरी}{orange!80!black} +\colorlet{आलोकहिरवा}{green!50!black} +\usepackage{fontspec} +\setmainfont[% +Renderer=Harfbuzz,% +Script=Devanagari,% +Language=Marathi,% +]{Shobhika} +\renewcommand{\glossaryname}{परिभाषाकोश} +\renewcommand{\abstractname}{सारांश} +\renewcommand{\contentsname}{अनुक्रमणिका} +\usepackage{setspace} +\setstretch{1.5} +\sloppy +\hyphenpenalty=10000 +\exhyphenpenalty=1000 +\ExplSyntaxOn +\cs_set_protected:Npn \__codedoc_meta:n #1 +{% + {% + \color{आलोकशेंदरी}% + \tl_set:Nn \l__codedoc_tmpa_tl {#1}% + \tl_map_inline:nn + { { 3 } { 4 } { 7 } { 8 } { 11 } { 12 } { 13 } }% + {% + \tl_set_rescan:Nnn \l__codedoc_tmpb_tl + { \char_set_catcode:nn { `_ } {##1} } { _ }% + \tl_replace_all:Non \l__codedoc_tmpa_tl \l__codedoc_tmpb_tl + { \__codedoc_ensuremath_sb:n }% + }% + \exp_args:NV \__codedoc_meta_original:n \l__codedoc_tmpa_tl + }% +}% +\cs_set_protected:Npn \__codedoc_syntax_end: +{ +\end{minipage} +\end{tabular} +\arrayrulecolor{आलोकशेंदरी} +\hbox_gset_end: +\bool_if:NF \l__codedoc_in_function_bool +{ + \begin{quote} + \mode_leave_vertical: + \box_use_drop:N \g__codedoc_syntax_box + \end{quote} +} +} +\ExplSyntaxOff +% सॅम कार्टर ह्यांचे मनःपूर्वक आभार (https://topanswers.xyz/tex?q=1517#a1767) +\usepackage{fontawesome5} +\usepackage{hyperref} +\hypersetup{% + unicode, + pdftitle={।। आलोक ।। (लाटेक्-वर्ग - आवृत्ती ०.१)}, + pdfauthor={निरंजन}, + pdfsubject={आलोक मराठी नियतकालिकाच्या अक्षरजुळणीकरिता लाटेक्-वर्ग.}, + pdfkeywords={आलोक मराठी नियतकालिक}, + colorlinks,% + linkcolor=आलोकशेंदरी,% + citecolor=आलोकहिरवा,% + urlcolor=आलोकनिळा% +}% +\usepackage{expl3} +\usepackage{l3pdf} +\ExplSyntaxOn +\pdf_version_gset:n{2.0} +\ExplSyntaxOff +\usepackage{devanagaridigits} +\makeatletter +\def\@arabic#1{\expandafter\devanagaridigits\expandafter{\number#1}} +\renewcommand{\theCodelineNo}{{\scriptsize\arabic{CodelineNo}}\quad} +\makeatother +\setmonofont[ +Renderer=Harfbuzz, +Script=Devanagari, +Color=आलोकनिळा +]{Mukta} +\begin{document} +\DocInput{\aalokName.dtx} +\end{document} +%</driver> +% \fi +% \title{।। आलोक ।।} +% \author{निरंजन} +% \date^^A +% {^^A +% आवृत्ती \aalokVersion\ --- \aalokDate\\[1ex] +% {\small\textcolor{आलोकशेंदरी}{\faIcon{link}}\quad\url{https://ctan.org/pkg/aalok}}\\ +% {\small\textcolor{आलोकशेंदरी}{\faIcon{gitlab}}\quad\url{https://gitlab.com/aalok/aalok-latex}} +% }^^A +% \maketitle +% \begin{abstract} +% आलोक नियतकालिकाच्या अक्षरजुळणीकरिता हा लाटेक्-वर्ग लिहिण्यात आला आहे. आलोकची +% सामग्री मुक्तपणे उपलब्ध करून देताना, ह्या वर्गाची आज्ञावलीदेखील मुक्त असावी ह्या हेतूने हा +% वर्ग सीटॅन ह्या संकेतस्थळावर सादर करण्यात आला आहे. +% \end{abstract} +% \tableofcontents +% \clearpage +% \hspace{0pt} +% \vfill +% \section{परवाना} +% {% +% \setlength{\parindent}{0pt} +% © २०२१ निरंजन. +% +% ह्या सामग्रीच्या वितरणाचे व प्रतिमुद्रणाचे अधिकार आलोक नित्यमुक्त परवान्यासह मुक्त करण्यात येत +% आहेत. ह्या सामग्रीची यथामूल अथवा परिवर्तित प्रतिमुद्रणे व्यावसायिक अथवा अव्यावसायिक +% स्वरूपात वितरित करण्यास प्रतिमुद्राधिकारधारक संमती देत आहे, परंतु असे करताना वितरकाने +% प्रतिमुद्राधिकारांचा योग्य श्रेयनिर्देश करणे व सामग्री परिवर्तित असल्यास ती ह्याच अटींसह +% वितरित करणे बंधनकारक आहे. ही सामग्री जशी आहे तशी पुरवण्यात येत आहे, पुरवणारा/पुरवणारी +% हिच्याबाबत कोणतीही हमी देत नाही. ह्या (व ह्यावर आधारित) सामग्रीचे अमुक्त वितरण +% बेकायदेशीर मानले जाईल. आलोक नित्यमुक्त परवान्याचा संपूर्ण मसुदा पुढील दुव्यावर वाचता +% येईल. +% +% \url{https://gitlab.com/aalok/nityamukta-parwana} +% +% \rule{\linewidth}{0.5mm} +% +% \fontfamily{lmr}\selectfont +% Copyright © 2021 Niranjan. +% +% Permission is granted to copy, distribute and/or modify this document +% under the terms of the GNU Free Documentation License, Version 1.3 +% or any later version published by the Free Software Foundation; +% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +% A copy of the license is included in the section entitled ``GNU +% Free Documentation License''. +% +% \url{https://www.gnu.org/licenses/fdl} +% }% +% +% \vfill +% \begin{documentation} +% \arrayrulecolor{आलोकशेंदरी} +% \section{प्राचले} +% \begin{function}{खासगीवितरण} +% हे प्राचल वापरल्यास आलोकच्या खासगीवितरणाचे अंक घडवले जातात. +% \end{function} +% \begin{function}{सुटालेख} +% हे प्राचल वापरल्यास आलोकच्या अंकातील लेख स्वतंत्ररित्या छापले जातात. +% \end{function} +% \begin{function}{छापील} +% हे प्राचल वापरल्यास आलोकची छापील आवृत्ती तयार होते. +% \end{function} +% \begin{function}{रेगे} +% हे प्राचल वापरल्यास २४ जानेवारी ही तारीख मूलभूत मानली जाते, तसेच प्रकाशनमाहितीच्या +% पानावर प्रा.\ मे.\ पुं.\ रेग्यांचे नाव येते. +% \end{function} +% \begin{function}{राजवाडे} +% हे प्राचल वापरल्यास २४ जून ही तारीख मूलभूत मानली जाते, तसेच प्रकाशनमाहितीच्या पानावर +% इतिहासाचार्य वि.\ का.\ राजवाड्यांचे नाव येते. +% \end{function} +% \section{आज्ञा} +% ह्या लाटेक् वर्गात पुढील आज्ञांचा समावेश होतो. +% \begin{function}{\पुष्प} +% \begin{syntax} +% \cs{पुष्प}\marg{पुष्पक्रमांक} +% \end{syntax} +% आलोक नियतकालिकाचे हे कितवे पुष्प आहे हे ह्या आज्ञेने स्पष्ट केले जाते. मुखपृष्ठ व इतर अनेक +% ठिकाणी ही माहिती छापली जाते. +% \end{function} +% \begin{function}{\आकडीपुष्प} +% \begin{syntax} +% \cs{आकडीपुष्प}\marg{पुष्पक्रमांक आकडी} +% \end{syntax} +% ह्या आज्ञेत पुष्पक्रमांक आकडी लिहावा. सामग्रीचा संदर्भ कसा द्यावा ह्याविषयीच्या +% सूचनेकरिता ही माहिती लागते. +% \end{function} +% \begin{function}{\तिथी} +% \begin{syntax} +% \cs{तिथी}\marg{प्रकाशनाची तिथी} +% \end{syntax} +% आलोक नियतकालिकाचे प्रकाशनाची तिथी विविध ठिकाणी छापण्याकरिता ही आज्ञा वापरली +% जाते. +% \end{function} +% \begin{function}{\आवृत्ती} +% \begin{syntax} +% \cs{आवृत्ती}\marg{आवृत्तिक्रमांक अक्षरांत} +% \end{syntax} +% आलोक नियतकालिकाच्या विशिष्ट अंकाची ही कितवी आवृत्ती आहे हे ह्या आज्ञेने स्पष्ट केले +% जाते. +% \end{function} +% \begin{function}{\प्रकाशनवर्ष} +% \begin{syntax} +% \cs{प्रकाशनवर्ष}\marg{प्रकाशनवर्ष} +% \end{syntax} +% आलोक नियतकालिकाच्या प्रस्तुत अंकाचे प्रकाशनवर्ष कोणते आहे हे ह्या आज्ञेने स्पष्ट केले जाते. +% \end{function} +% \begin{function}{\जयंती} +% \begin{syntax} +% \cs{जयंती}\marg{कितवी जयंती} +% \end{syntax} +% आलोक नियतकालिकाचे प्रकाशन प्रा.\ मे.\ पुं.\ रेगे व इतिहासाचार्य वि.\ का.\ राजवाडे +% ह्यांच्या जयंतीप्रीत्यर्थ होते. त्यांची कितवी जयंती आहे हे दरवेळी प्रकाशनमाहितीच्या +% पानावरील माहिती ह्या आज्ञेमुळे स्पष्ट केली जाते. +% \end{function} +% \begin{function}{\दिनांक} +% \begin{syntax} +% \cs{दिनांक}\marg{प्रकाशनाचा दिनांक} +% \end{syntax} +% आलोक नियतकालिकाच्या प्रकाशनाचा दिनांक विविध ठिकाणी छापण्याकरिता ही आज्ञा +% वापरली जाते, परंतु ही आज्ञा \verb|रेगे| अथवा \verb|राजवाडे| ही प्राचले वापरल्यास +% आपोआपच भरली जाते, त्यामुळे हिचा प्रयोग सहसा करावा लागत नाही. +% \end{function} +% \begin{function}{\आकडीदिनांक} +% \begin{syntax} +% \cs{आकडीदिनांक}\marg{प्रकाशनाचा दिनांक (आकडी)} +% \end{syntax} +% सुट्या लेखांमध्ये संदर्भ कसा द्यावा ह्याविषयीच्या सूचनेकरिता आकडी दिनांकाची आवश्यकता +% पडते. त्यासाठी ह्या आज्ञेचा प्रयोग केवळ सुट्या लेखांमध्येच आवश्यक ठरतो. +% \end{function} +% \begin{function}{\लेख} +% \begin{syntax} +% \cs{लेख}\marg{लेखाचे शीर्षक} +% \end{syntax} +% ह्या आज्ञेच्या कार्यघटकात लेखाचे शीर्षक लिहावे. +% \end{function} +% \begin{function}{\अभ्यासक} +% \begin{syntax} +% \cs{अभ्यासक}\marg{अभ्यासकाचे नाव} +% \end{syntax} +% ह्या आज्ञेच्या कार्यघटकात लेखकाचे नाव लिहावे. +% \end{function} +% \begin{function}{\इपत्ता} +% \begin{syntax} +% \cs{इपत्ता}\marg{इपत्ता}\marg{दृश्यरूपातील इपत्ता} +% \end{syntax} +% ज्या इपत्त्यांमध्ये लॅटिन आकडे असतात, ते दिसण्याकरिता लाटेक्-मधील गणित-क्षेत्राचा वापर +% करावा लागतो. उदा.\ \verb|\इपत्ता{abcd123@example.com}{abcd\(123\)@gmail.com}| +% ह्याकरिता ह्या आज्ञेस दोन कार्यघटक आहेत. ज्यांच्या इपत्त्यात आकडे नाहीत, त्यांनी दोन्ही +% कार्यघटकांत तोच इपत्ता लिहावा. उदा.\ +% \verb|\इपत्ता{abcd@example.com}{abcd@gmail.com}| +% \end{function} +% \begin{function}{\orcid} +% \begin{syntax} +% \cs{orcid}\marg{orcid क्रमांक} +% \end{syntax} +% ह्या आज्ञेच्या कार्यघटकात लेखकांनी त्यांचा ORCID क्रमांक लिहिणे अभिप्रेत आहे. +% \end{function} +% \begin{function}{\शीर्षक} +% \begin{syntax} +% \cs{शीर्षक} +% \end{syntax} +% ही आज्ञा टाकल्यास आलोकची शीर्षकसामग्री छापली जाते. +% \end{function} +% \begin{function}{\अनुक्रमणिका} +% \begin{syntax} +% \cs{अनुक्रमणिका} +% \end{syntax} +% ह्या आज्ञेसह सुट्या लेखांत व अंकातील लेखांस अनुक्रमणिका पुरवली जाते. +% \end{function} +% \end{documentation} +% \begin{implementation} +% \section{लाटेक्-वर्गाची घडण} +% \begin{macrocode} +%<*class> +% \end{macrocode} +% \begin{macrocode} +\ProvidesClass{aalok}[2021/01/18 v0.1 +\aalokDescription] +% \end{macrocode} +% वरील आज्ञेसह पायाभूत माहिती पुरवण्यात आली. +% \begin{macrocode} +\let\पुष्पसंख्या\@empty +\def\पुष्प#1{% + \def\पुष्पसंख्या{#1}% +}% +\let\कोणतादिनांक\@empty +\def\दिनांक#1{% + \def\कोणतादिनांक{#1}% +}% +\let\पुष्पसंख्याआकडी\@empty +\def\आकडीपुष्प#1{% + \def\पुष्पसंख्याआकडी{#1} +}% +\let\दिनांकआकडी\@empty +\def\आकडीदिनांक#1{% + \def\दिनांकआकडी{#1} +}% +\let\कोणतीतिथी\@empty +\def\तिथी#1{% + \def\कोणतीतिथी{#1}% +}% +\let\कितवीआवृत्ती\@empty +\def\आवृत्ती#1{% + \def\कितवीआवृत्ती{#1}% +}% +\let\कोणतेप्रकाशनवर्ष\@empty +\def\प्रकाशनवर्ष#1{% + \def\कोणतेप्रकाशनवर्ष{#1}% +}% +\let\विद्वान\@empty +\def\प्रीत्यर्थ#1{% + \def\विद्वान{#1}% +}% +\let\कितवीजयंती\@empty +\def\जयंती#1{% + \def\कितवीजयंती{#1}% +}% +\let\आकडीमूल्यकिती\@empty +\let\अक्षरीमूल्यकिती\@empty +\def\मूल्य#1#2{% + \def\आकडीमूल्यकिती{#1}% + \def\अक्षरीमूल्यकिती{#2}% +}% +\let\लेखाचेनाव\@empty +\def\लेख#1{% + \def\लेखाचेनाव{#1}% +}% +\let\अभ्यासकाचेनाव\@empty +\def\अभ्यासक#1{% + \def\अभ्यासकाचेनाव{#1}% +}% +\let\अभ्यासकाचाइपत्तादुवा\@empty +\let\अभ्यासकाचाइपत्तापाठ्य\@empty +\def\इपत्ता#1#2{% + \def\अभ्यासकाचाइपत्तादुवा{#1}% + \def\अभ्यासकाचाइपत्तापाठ्य{#2}% +}% +\let\orcidno\@empty +\def\orcid#1{% + \def\orcidno{#1}% +}% +% \end{macrocode} +% वरील आज्ञांसह विविध ठिकाणी लागणारी माहिती पुरवण्यासाठी सोप्या आज्ञा घडवण्यात आल्या आहेत. +% \begin{macrocode} +\newif\ifखासगीवितरण +\DeclareOption{खासगीवितरण}{\खासगीवितरणtrue} +\newif\ifछापील +\DeclareOption{छापील}{\छापीलtrue} +\newif\ifसुटालेख +\newif\ifस्थान +\DeclareOption{सुटालेख}{\सुटालेखtrue\स्थानtrue} +\DeclareOption{रेगे}{% + \दिनांक{२४ जानेवारी}% + \प्रीत्यर्थ{प्रा.\ मे.\ पुं.\ रेगे}% +}% +\DeclareOption{राजवाडे}{% + \दिनांक{२४ जानेवारी}% + \प्रीत्यर्थ{इतिहासाचार्य वि.\ का.\ राजवाडे}% +}% +\ProcessOptions +% \end{macrocode} +% वरील आज्ञांसह \verb|छापील|, \verb|सुटालेख| व \verb|खासगीवितरण| ही प्राचले व त्यांची +% सोपाधिके घडवली. +% \begin{macrocode} +\ifसुटालेख +\LoadClass[12pt]{article} +\else +\ifछापील +\LoadClass[openright,extrafontsizes,twocolumn]{memoir} +\else +\LoadClass[extrafontsizes,twocolumn,oneside]{memoir} +\fi +\fi +% \end{macrocode} +% \verb|छापील| हे प्राचल वापरल्यास \verb|memoir| लाटेक्-वर्गासह छापील आवृत्तीसाठी आवश्यक +% असणारी प्राचले वापरणे व ते न वापरल्यास डिजिटल आवृत्तीसाठीची प्राचले वापरणे वरील आज्ञांनी साधले. +% \begin{macrocode} +\RequirePackage{expl3} +\RequirePackage{l3pdf} +\ExplSyntaxOn +\pdf_version_gset:n{2.0} +\ExplSyntaxOff +% \end{macrocode} +% आलोक नित्यमुक्त परवान्यातील अटीनुसार पीडीएफ् ह्या दस्तऐवजातील प्रकाराची १.७+ आवृत्ती +% वापरणे बंधनकारक आहे. त्यामुळे वरील आज्ञांसह लाटेक्-च्या मूलभूत १.५ ह्या आवृत्तीऐवजी २.० ही +% नवीनतम आवृत्ती वापरण्यात आली आहे. +% \begin{macrocode} +\RequirePackage{expex} +\RequirePackage{xcolor} +\RequirePackage{marathi} +\RequirePackage{fontawesome5} +\RequirePackage{diagbox} +\RequirePackage{fancyhdr} +\RequirePackage{float} +\RequirePackage{paracol} +\RequirePackage[most]{tcolorbox} +\RequirePackage{tikz} +\RequirePackage{graphicx} +\RequirePackage{mdframed} +\RequirePackage{etoolbox} +% \end{macrocode} +% वरील आज्ञांसह काही आवश्यक आज्ञासंच वापरले आहेत. +% \begin{macrocode} +\newtoggle{स्थान} +\ifसुटालेख +\toggletrue{स्थान} +\else +\fi +% \end{macrocode} +% \url{https://tex.stackexchange.com/a/5896/174620} वरील आज्ञांसह काही आवश्यक आज्ञासंच वापरले आहेत. +% \begin{macrocode} +\RequirePackage{xcolor} +\colorlet{लाल}{black!50!red} +\colorlet{निळादुवा}{blue!50!black} +\colorlet{निळा}{blue!20!black} +\colorlet{सोनेरी}{yellow!90!white} +\definecolor{कागद}{HTML}{FFF8DC} +% \end{macrocode} +% आलोकच्या निर्मितीत लागणारे विविध रंग \verb|xcolor| ह्या आज्ञासंचासह वरील आज्ञांनी +% घडवण्यात आले. कागदासाठी वापरण्यात आलेला रंग +% \url{https://tex.stackexchange.com/a/219609/174620} ह्या उत्तराच्या सौजन्याने +% वापरला. +% \begin{macrocode} +\RequirePackage[sort=use]{glossaries} +\makenoidxglossaries +% \end{macrocode} +% वरील आज्ञांसह संज्ञासूचीकरिता \verb|glossaries| हा आज्ञासंच वापरला. +% \begin{macrocode} +\AtEndPreamble{% + \RequirePackage[% + unicode,% + colorlinks,% + linkcolor={लाल},% + citecolor={निळादुवा},% + urlcolor={निळादुवा},% + \ifसुटालेख + pdftitle={\लेखाचेनाव},% + pdfauthor={\अभ्यासकाचेनाव},% + \else + pdftitle={आलोक (पुष्प \पुष्पसंख्या, \कोणतादिनांक)},% + pdfauthor={आलोक मराठी नियतकालिक},% + \fi + pdfsubject={शास्त्रचर्चेस वाहिलेले पहिले मुक्त मराठी नियतकालिक.},% + pdfkeywords={वर्णमुद्रा प्रकाशन},% + pdfproducer={आलोक मराठी नियतकालिक},% + pdfcreator={हायपर्रेफ-सह लुआलाटेक्}% + ]% + {hyperref}% + \renewcommand{\tableautorefname}{कोष्टक}% + \renewcommand{\appendixautorefname}{परिशिष्ट}% + \renewcommand{\figureautorefname}{आकृती}% +}% +% \end{macrocode} +% लाटेक्-फलिताकरिता पायाभूत माहिती \verb|हायपर्रेफ| ह्या आज्ञासंचासह पुरवता येते, परंतु +% त्याकरिता हा आज्ञासंच सगळ्यात शेवटी वापरणे आवश्यक आहे. म्हणून ह्या आज्ञावलीसह सर्वात शेवटचा +% आज्ञासंच \verb|हायपर्रेफ| वापरला जाईल अशी सोय करण्यात आली आहे. ह्यामुळे वापरकर्त्यांनी +% \verb|हायपर्रेफ| ह्या आज्ञासंचानंतर वापरण्यात येणारे आज्ञासंच (उदा.\ +% \href{https://ctan.org/pkg/cleveref}{\verb|क्लेव्हरेफ|}) +% \verb|\AtBeginDocument{\usepackage{cleveref}}| अशा प्रकारे वापरावेत. जेणेकरून +% कोणतीही अडचण उद्भवणार नाही. तसेच ह्या आज्ञासंचासह अंतर्गत संदर्भांना दिली जाणारी काही +% नावे वरील आज्ञांसह देण्यात आली आहेत. +% \begin{macrocode} +\RequirePackage[% +style=authoryear,% +sorting=none,% +backend=biber,% +]% +{biblatex}% +\addbibresource{सामग्री/संदर्भ.bib} +\DeclareNumChars{०१२३४५६७८९} +\DeclareCiteCommand{\citetitleyear} +{% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% +}% +{% + \ifciteindex + {% + \indexfield{indextitle}% + }% + {}% + \printfield[citetitle]{labeltitle}% + \setunit{\addspace}% + \printtext[parens]{% + \usebibmacro{prenote}% + \printfield{year}\printfield{extrayear}% + \usebibmacro{postnote}% + }% +}% +{\multicitedelim}% +{}% +% \end{macrocode} +% वरील आज्ञांसह संदर्भांसाठी \verb|बिबलाटेक्| हा आज्ञासंच वापरला व \verb|सामग्री/संदर्भ.bib| +% हा पत्ता कायमस्वरूपी पुरवला गेला. संदर्भ देताना पुस्तकाचे नाव व प्रकाशनवर्ष एकत्र देण्याकरिता +% एक नवी आज्ञादेखील ह्यात घडवली आहे. त्याकरिता +% \url{https://tex.stackexchange.com/a/284229/174620} ह्या उत्तराची मदत झाली. +% \begin{macrocode} +\definecolor{orcidcolor}{HTML}{a6ce39} +\newcommand{\orcidlogo}{\textcolor{orcidcolor}{\faIcon{orcid}}} +% \end{macrocode} +% आलोक नियतकालिकातील लेखकांना ORCID वर नोंदणी करणे बंधनकारक आहे. आलोकच्या अंकात ORCID +% क्रमांकांचा समावेश करण्यासाठी वरील आज्ञा समाविष्ट केल्या. +% \begin{macrocode} +\newfontfamily{\गोटू}[% +Script=Devanagari,% +Renderer=Harfbuzz,% +Language=Marathi% +]% +{Gotu} +\newfontfamily{\यशोमुद्रा}[% +Path=सामग्री/टंक/यशोमुद्रा/,% +Language=Marathi,% +Script=Devanagari,% +Renderer=Harfbuzz% +]% +{Yashomudra-Italic.ttf} +\newfontfamily{\मुक्त}[% +Path=सामग्री/टंक/मुक्त/,% +Language=Marathi,% +Script=Devanagari,% +Renderer=Harfbuzz,% +Color=लाल% +]% +{Mukta-Regular.ttf} +% \end{macrocode} +% आलोकच्या मुखपृष्ठावर वापरला गेलेला गोटू हा टंक, अनुक्रमणिकेतील तिरक्या अक्षरांसाठी लागणारा +% यशोमुद्रा हा टंक व नित्यमुक्त परवान्याच्या संहितेत लागणारा मुक्त हा टंक वरील आज्ञांसह पुरवण्यात +% आला आहे. +% \begin{macrocode} +\ifसुटालेख +\else +\RequirePackage{tocloft} +\setlength\cftpartnumwidth{3em} +\setlength\cftchapternumwidth{2em} +\fi +% \end{macrocode} +% वरील आज्ञांसह अनुक्रमणिकेतील खंड, प्रकरण व त्यांचे क्रमांक ह्यांच्या अंतरात वाढ करण्यात आली आहे. +% \begin{macrocode} +\setlength{\columnsep}{0.5cm} +% \end{macrocode} +% दोन स्तंभांमधील अंतर वाढवण्यासाठी ह्या आज्ञेचा वापर करण्यात आला आहे. +% \begin{macrocode} +\tcbuselibrary{breakable} +\tcbset{% + colframe=black,% + colback=कागद,% + fonttitle=\bfseries\Large,% + colupper=white!10!black,% + breakable,% + boxrule=0.5pt% +}% +% \end{macrocode} +% अवांतर माहिती अथवा काही ठळक मुद्दे लिहिण्याकरिता \verb|tcolorbox| ह्या आज्ञासंचासह +% पुढील प्राचलांचा वापर करून एक दृश्यरूप निश्चित केले गेले आहे. +% \begin{macrocode} +\addto\captionsmarathi{% + \renewcommand\glossaryname{परिभाषासूची}% + \renewcommand\appendixname{परिशिष्ट}% + \ifसुटालेख + \else + \renewcommand\chaptername{पुष्पदल}% + \renewcommand\appendixpagename{परिशिष्ट}% + \fi +}% +% \end{macrocode} +% आलोकच्या अंकांना पुष्प म्हटले जाते, त्यामुळे त्यांतील लेखांना पुष्पदलाचे रूपक वापरले आहे. ते वरील +% आज्ञेने पुरवले जाते. तसेच आणखी काही भाषांतरे वरील आज्ञांसह पुरवली आहेत. +% \begin{macrocode} +\RequirePackage{minitoc} +\renewcommand{\mtctitle}{विषयसूची} +\ifसुटालेख +\else +\dominitoc +\fi +\newcommand{\अनुक्रमणिका}{% + \ifसुटालेख + \tableofcontents + \else + \minitoc + \fi +}% +% \end{macrocode} +% \verb|minitoc| हा आज्ञासंच प्रकरणांतर्गत अनुक्रमणिका तयार करण्यासाठी वापरला +% जातो. त्या अनुक्रमणिकेस विषयसूची असे नाव वरील आज्ञेसह दिले आहे. +% \begin{macrocode} +\newcommand{\संदर्भसूची}{% + {\LARGE\section*{संदर्भसूची}}% + \printbibliography[heading=none]% +}% +% \end{macrocode} +% संदर्भसूची चालू पानावरच येण्याकरिता ही आज्ञा घडवण्यात आली आहे. +% \begin{macrocode} +\sloppy +\hyphenpenalty=10000 +\exhyphenpenalty=1000 +% \end{macrocode} +% शब्द अयोग्यरित्या तुटू नयेत, म्हणून वरील आज्ञा वापरण्यात आल्या आहेत. +% \begin{macrocode} +\def\parsecomma#1,#2\endparsecomma{\def\page@x{#1}\def\page@y{#2}} +\tikzdeclarecoordinatesystem{पृष्ठ}{% + \parsecomma#1\endparsecomma + \pgfpointanchor{current page}{north east}% + \pgf@xc=\pgf@x% + \pgf@yc=\pgf@y% + \pgfpointanchor{current page}{south west}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgfmathparse{(\pgf@xc-\pgf@xb)/2.*\page@x+(\pgf@xc+\pgf@xb)/2.}% + \expandafter\pgf@x\expandafter=\pgfmathresult pt% + \pgfmathparse{(\pgf@yc-\pgf@yb)/2.*\page@y+(\pgf@yc+\pgf@yb)/2.}% + \expandafter\pgf@y\expandafter=\pgfmathresult pt% +}% +% \end{macrocode} +% वरील आज्ञांसह \verb|tikzpicture| ह्या क्षेत्रासह मजकूर पानावर हवा तिथे छापता +% येतो. हे साधण्याकरिता \url{https://tex.stackexchange.com/a/89592/174620} ह्या +% उत्तराची मदत झाली. +% \begin{macrocode} +\ifसुटालेख +\pagestyle{fancy} +\renewcommand{\footrulewidth}{\headrulewidth} +\lhead{\raisebox{0.2cm}{\लेखाचेनाव}} +\rhead{\raisebox{0.2cm}{\अभ्यासकाचेनाव, \कोणतेप्रकाशनवर्ष}} +\lfoot{{\गोटू ।। आलोक ।।}} +\cfoot{\thepage} +\rfoot{{\गोटू पुष्प \पुष्पसंख्या}} +\else +\makepagestyle{शीर्षके} +\makeheadrule{शीर्षके}{\textwidth}{0.5pt} +\makefootrule{शीर्षके}{\textwidth}{0.5pt}{0pt} +\ifछापील +\makeevenhead{शीर्षके}{\raisebox{0.2cm}{\rightmark}} +{} +{\raisebox{0.2cm}{\leftmark}} +\makeoddhead{शीर्षके}{\raisebox{0.2cm}{\leftmark}} +{} +{\raisebox{0.2cm}{\rightmark}}% +\makeevenfoot{शीर्षके}% +{\raisebox{-0.2cm}{\गोटू पुष्प \पुष्पसंख्या}}% +{\raisebox{-0.2cm}{\thepage}}% +{\raisebox{-0.2cm}{\गोटू ।। आलोक ।।}} +\makeoddfoot{शीर्षके}% +{\raisebox{-0.2cm}{\गोटू ।। आलोक ।।}}% +{\raisebox{-0.2cm}{\thepage}}% +{\raisebox{-0.2cm}{\गोटू पुष्प \पुष्पसंख्या}} +\else +\makeoddhead{शीर्षके} +{\raisebox{0.2cm}{\leftmark}} +{}% +{\raisebox{0.2cm}{\rightmark}} +\makeoddfoot{शीर्षके}% +{\raisebox{-0.2cm}{\गोटू ।। आलोक ।।}}% +{\raisebox{-0.2cm}{\thepage}}% +{\raisebox{-0.2cm}{\गोटू पुष्प \पुष्पसंख्या}} +\makepsmarks{शीर्षके}{% + \createmark{chapter}{left}{shownumber}{\@chapapp\space}{.\ } + \createmark{section}{right}{shownumber}{}{.\ } + \createplainmark{toc}{both}{\contentsname} + \createplainmark{lof}{both}{\listfigurename} + \createplainmark{lot}{both}{\listtablename} + \createplainmark{bib}{both}{\bibname} + \createplainmark{index}{both}{\indexname} + \createplainmark{glossary}{both}{\glossaryname} +}% +\fi +\fi +% \end{macrocode} +% वरील आज्ञांसह |शीर्षके| ही पृष्ठमांडणीची नवीन शैली घडवण्यात आली. ही तयार करण्याकरिता +% सॅमकार्टर ह्यांच्या +% \url{https://topanswers.xyz/transcript?room=1565&id=83664#c83664} ह्या +% उत्तराची मदत झाली. +% \begin{macrocode} +\newcommand{\शीर्षक} +{% + \frontmatter + \onecolumn + {% + \गोटू + \pagenumbering{gobble} + \pagecolor{निळा} + \begin{tikzpicture}[remember picture, overlay] + \node[align=center,text width=\textwidth,color=सोनेरी] at (पृष्ठ cs:0,0) {% + \begin{tabular}{c} + {\HUGE ।। आलोक ।।}\\ + \\ + \\ + {\Large पुष्प \पुष्पसंख्या} + \\ + \\ + \phantom{\Large \कोणतादिनांक}\\ + \end{tabular} + };% + \end{tikzpicture} + + \clearpage + \pagecolor{कागद} + \ifछापील + \newpage\null\newpage + \else + \newpage + \fi + \begin{tikzpicture}[remember picture,overlay,every node/.style={anchor=center}] + \node[align=center,text width=\textwidth,color=black] at (पृष्ठ cs:0,0.75) {% + {\Large शास्त्रचर्चेस वाहिलेले पहिले मुक्त मराठी नियतकालिक} + };% + \node[align=center,text width=\textwidth,color=black] at (पृष्ठ cs:0,0) {% + \begin{tabular}{c} + {\HUGE ।। आलोक ।।}\\ + \\ + \\ + {\Large पुष्प \पुष्पसंख्या} + \\ + \\ + {\Large \कोणतादिनांक, \कोणतेप्रकाशनवर्ष}\\ + \end{tabular} + };% + \node[align=center,text width=\textwidth,color=black] at (पृष्ठ cs:0,-0.75) + {% + \ifखासगीवितरण + खासगी वितरणासाठी + \else + \includegraphics[width=2.5cm,height=3cm]{सामग्री/छायाचित्रे/बोधचिन्ह-काळे} + \fi + };% + \end{tikzpicture} + }% + \clearpage + \अंतरबदल{1.5} + \begin{paracol}{2} + \setlength{\parindent}{0pt} + \begin{tabular}{l} + \textbf{\underline{\Large संपादक}}\\ + निरंजन, ऋषिकेश\\ + \end{tabular} + + \bigskip + \begin{tabular}{l} + \textbf{\underline{\Large अक्षरजुळणी}}\\ + निरंजन, ऋषिकेश\\ + \href{https://gitlab.com/aalok/aalok/आलोक/पुष्प/\पुष्पसंख्या}% + {\small\ttfamily https://gitlab.com/aalok/aalok/{\normalfont\footnotesize + आलोक/पुष्प/\पुष्पसंख्या}}\\ + {\small (लाटेक् बीज)}\\ + \end{tabular} + + \bigskip + \begin{tabular}{l} + \textbf{\underline{\Large प्रकाशक}}\\ + वर्णमुद्रा पब्लिशर्स (\url{https://varnamudra.com})\\ + पृथक रामकृष्ण सोसायटी,\\ + एसबीआय कॉलनी, शेगाव.\\ + बुलढाणा ४४४२०३\\ + \end{tabular} + + \bigskip + \begin{tabular}{l} + \textbf{\underline{\Large विशेष साहाय्य}}\\ + ब्रिज ऑफ टेल्स (मर्यादित दायित्व भागीदारी)\\ + (\url{https://bridgeoftales.com})\\ + \end{tabular} + + \switchcolumn + {% + \large\bfseries + \कितवीआवृत्ती\ आवृत्ती + + \कोणतीतिथी + + \कोणतादिनांक, \कोणतेप्रकाशनवर्ष + + \विद्वान\ ह्यांच्या \कितवीजयंती व्या जयंतीनिमित्त. + }% + + \medskip + \copyright\ \कोणतेप्रकाशनवर्ष\ आलोक मराठी नियतकालिक + + \medskip + ह्या सामग्रीच्या वितरणाचे व प्रतिमुद्रणाचे अधिकार आलोक नित्यमुक्त परवान्यासह मुक्त करण्यात येत + आहेत. ह्या सामग्रीची यथामूल अथवा परिवर्तित प्रतिमुद्रणे व्यावसायिक अथवा अव्यावसायिक + स्वरूपात वितरित करण्यास प्रतिमुद्राधिकारधारक संमती देत आहे, परंतु असे करताना वितरकाने + प्रतिमुद्राधिकारांचा योग्य श्रेयनिर्देश करणे व सामग्री परिवर्तित असल्यास ती ह्याच अटींसह + वितरित करणे बंधनकारक आहे. ह्या (व ह्यावर आधारित) सामग्रीचे अमुक्त वितरण बेकायदेशीर मानले + जाईल. आलोक नित्यमुक्त परवान्याचा संपूर्ण मसुदा पुढील दुव्यावर वाचा अथवा + \autoref{परवाना} पाहा. + + \medskip + \noindent\href{https://gitlab.com/aalok/nityamukta-parwana/आलोक-नित्यमुक्त-परवाना.txt} + {\ttfamily https://gitlab.com/aalok/nityamukta-parwana/{\normalfont\small + आलोक-नित्यमुक्त-परवाना}.txt} + \end{paracol} + + \vspace{0.5in} + + \begin{paracol}{2} + \ifखासगीवितरण + {\large\bfseries केवळ खासगी वितरणाकरिता.} + \else + \ifछापील + \begin{tabular}{p{0.75cm}l} + \textbf{\large मूल्य} & \textbf{\faIcon{rupee-sign} \large \आकडीमूल्यकिती/-}\\ + & \अक्षरीमूल्यकिती\ रुपये फक्त.\\ + \end{tabular} + \else + \begin{tabular}{lll} + \multicolumn{3}{l}{\large\bfseries ह्या प्रकल्पास आर्थिक साहाय्य करण्याकरिता} + \medskip\\ + बँक खाते क्रमांक & - & ५०२०००४७६२७११४\\ + आयएफएससी क्रमांक & - & HDFC\(0002817\) + \bigskip\\ + \hline + \multicolumn{3}{l}{ह्या अंकाच्या छापील प्रतीकरिता आम्हाला पुढील पत्त्यांवर + इ-पत्राद्वारे संपर्क साधा.}\\ + \multicolumn{3}{l}{\href{mailto:aalokmarathi@protonmail.com}{\faIcon[regular]{envelope}\quad + \ttfamily aalokmarathi@protonmail.com}, + \href{mailto:varnamudra.editors@gmail.com}{\ttfamily + varnamudra.editors@gmail.com}}\\ + \end{tabular} + \fi + \fi + \switchcolumn + \textbf{\large आमच्यापर्यंत कसे पोहोचाल?} + + \medskip + + \href{https://varnamudra.com/aalok/}{\faIcon{globe}\quad + \ttfamily https://varnamudra.com/aalok} + + \medskip \href{https://www.gitlab.com/aalok}{\faIcon{gitlab}\quad + \ttfamily https://www.gitlab.com/aalok} + + \end{paracol} + + \clearpage\pagebreak +}% +% \end{macrocode} +% ह्या आज्ञांसह \verb|शीर्षक| आज्ञेची सामग्री पुरवली गेली. +% \begin{macrocode} +\newcommand{\लेखाचेशीर्षक}{% + \ifसुटालेख + \title{\लेखाचेनाव} + \author{% + \अभ्यासकाचेनाव\\ + \small\orcidlogo\quad\url{https://orcid.org/\orcidno}\\ + \href{mailto:\अभ्यासकाचाइपत्तादुवा}{\small\faIcon[regular]{envelope}\quad\ttfamily\अभ्यासकाचाइपत्तापाठ्य} + }% + \date{% + {\small\गोटू ।। आलोक ।।}\\ + {\small\गोटू पुष्प \पुष्पसंख्या}\\ + {\small\गोटू \कोणतादिनांक, \कोणतेप्रकाशनवर्ष}\\ + }% + \maketitle + \pagecolor{कागद} + \else + \cleardoublepage\onecolumn + \thispagestyle{empty} + \vspace*{\fill} + \noindent\makebox[\textwidth][c]{% + \begin{minipage}{0.6\textwidth} + \centering + \hrule + + \medskip + {% + \LARGE\bfseries + \लेखाचेनाव + }\\[3ex]% + \अभ्यासकाचेनाव\\ + \orcidlogo\quad\url{https://orcid.org/\orcidno}\\[1ex] + \href{mailto:\अभ्यासकाचाइपत्तादुवा}{\faIcon[regular]{envelope}\quad\ttfamily\अभ्यासकाचाइपत्तापाठ्य} + \medskip + \hrule + \end{minipage} + }% + \vfill + \clearpage + \twocolumn + \chapter{\लेखाचेनाव} + \chapterprecistoc{% + \hfill + - {\यशोमुद्रा\अभ्यासकाचेनाव} + }% + \fi +}% +% \end{macrocode} +% वरील आज्ञांसह \verb|\लेखाचेेशीर्षक| ही आज्ञा घडवण्यात आली आहे. +% \begin{macrocode} +\ifसुटालेख +\AtEndDocument{% + \clearpage + \pagebreak + \setlength{\parindent}{0pt} + + \section*{ह्या सामग्रीचा संदर्भ कसा द्याल?} + + \fullcite{आलोक\jobname} + + \subsection*{बिबटेक् आज्ञावली} + {% + \ttfamily + $@$article\{{\normalfont आलोक\jobname},\\ + author=\{{\normalfont\अभ्यासकाचेनाव}\},\\ + title=\{{\normalfont\लेखाचेनाव}\},\\ + journaltitle=\{{\normalfont आलोक मराठी नियतकालिक}\},\\ + date=\{{\normalfont\कोणतेप्रकाशनवर्ष-\दिनांकआकडी}\},\\ + series=\{{\normalfont\पुष्पसंख्याआकडी}\},\\ + note=\{{\normalfont बुलढाणा : वर्णमुद्रा प्रकाशन}\}\\ + \} + }% +}% +\else +\fi +% \end{macrocode} +% वरील आज्ञांसह सुट्या लेखांच्या शेवटी संदर्भ कसा द्यावा ह्याविषयीची नोंद लिहिण्यात आली आहे. +% \begin{macrocode} +%</class> +% \end{macrocode} +% \end{implementation} +% \pagebreak +% \phantomsection +% \addcontentsline{toc}{section}{\fontfamily{lmtt}\selectfont GNU Free Documentation License} +% {% +% \fontfamily{lmtt}\selectfont +% +% \section*{\centering\fontfamily{lmr}\selectfont GNU Free Documentation +% License} +% \begin{center} +% +% Version 1.3, 3 November 2008 +% +% +% Copyright \copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +% +% \bigskip +% +% \texttt{<https://fsf.org/>} +% +% \bigskip +% +% Everyone is permitted to copy and distribute verbatim copies +% of this license document, but changing it is not allowed. +% \end{center} +% +% +% \begin{center} +% {\bf\large Preamble} +% \end{center} +% +% The purpose of this License is to make a manual, textbook, or other +% functional and useful document ``free'' in the sense of freedom: to +% assure everyone the effective freedom to copy and redistribute it, +% with or without modifying it, either commercially or noncommercially. +% Secondarily, this License preserves for the author and publisher a way +% to get credit for their work, while not being considered responsible +% for modifications made by others. +% +% This License is a kind of ``copyleft'', which means that derivative +% works of the document must themselves be free in the same sense. It +% complements the GNU General Public License, which is a copyleft +% license designed for free software. +% +% We have designed this License in order to use it for manuals for free +% software, because free software needs free documentation: a free +% program should come with manuals providing the same freedoms that the +% software does. But this License is not limited to software manuals; +% it can be used for any textual work, regardless of subject matter or +% whether it is published as a printed book. We recommend this License +% principally for works whose purpose is instruction or reference. +% +% +% \begin{center} +% {\Large\bf 1. APPLICABILITY AND DEFINITIONS\par} +% \end{center} +% +% This License applies to any manual or other work, in any medium, that +% contains a notice placed by the copyright holder saying it can be +% distributed under the terms of this License. Such a notice grants a +% world-wide, royalty-free license, unlimited in duration, to use that +% work under the conditions stated herein. The ``\textbf{Document}'', below, +% refers to any such manual or work. Any member of the public is a +% licensee, and is addressed as ``\textbf{you}''. You accept the license if you +% copy, modify or distribute the work in a way requiring permission +% under copyright law. +% +% A ``\textbf{Modified Version}'' of the Document means any work containing the +% Document or a portion of it, either copied verbatim, or with +% modifications and/or translated into another language. +% +% A ``\textbf{Secondary Section}'' is a named appendix or a front-matter section of +% the Document that deals exclusively with the relationship of the +% publishers or authors of the Document to the Document's overall subject +% (or to related matters) and contains nothing that could fall directly +% within that overall subject. (Thus, if the Document is in part a +% textbook of mathematics, a Secondary Section may not explain any +% mathematics.) The relationship could be a matter of historical +% connection with the subject or with related matters, or of legal, +% commercial, philosophical, ethical or political position regarding +% them. +% +% The ``\textbf{Invariant Sections}'' are certain Secondary Sections whose titles +% are designated, as being those of Invariant Sections, in the notice +% that says that the Document is released under this License. If a +% section does not fit the above definition of Secondary then it is not +% allowed to be designated as Invariant. The Document may contain zero +% Invariant Sections. If the Document does not identify any Invariant +% Sections then there are none. +% +% The ``\textbf{Cover Texts}'' are certain short passages of text that are listed, +% as Front-Cover Texts or Back-Cover Texts, in the notice that says that +% the Document is released under this License. A Front-Cover Text may +% be at most 5 words, and a Back-Cover Text may be at most 25 words. +% +% A ``\textbf{Transparent}'' copy of the Document means a machine-readable copy, +% represented in a format whose specification is available to the +% general public, that is suitable for revising the document +% straightforwardly with generic text editors or (for images composed of +% pixels) generic paint programs or (for drawings) some widely available +% drawing editor, and that is suitable for input to text formatters or +% for automatic translation to a variety of formats suitable for input +% to text formatters. A copy made in an otherwise Transparent file +% format whose markup, or absence of markup, has been arranged to thwart +% or discourage subsequent modification by readers is not Transparent. +% An image format is not Transparent if used for any substantial amount +% of text. A copy that is not ``Transparent'' is called ``\textbf{Opaque}''. +% +% Examples of suitable formats for Transparent copies include plain +% ASCII without markup, Texinfo input format, LaTeX input format, SGML +% or XML using a publicly available DTD, and standard-conforming simple +% HTML, PostScript or PDF designed for human modification. Examples of +% transparent image formats include PNG, XCF and JPG. Opaque formats +% include proprietary formats that can be read and edited only by +% proprietary word processors, SGML or XML for which the DTD and/or +% processing tools are not generally available, and the +% machine-generated HTML, PostScript or PDF produced by some word +% processors for output purposes only. +% +% The ``\textbf{Title Page}'' means, for a printed book, the title page itself, +% plus such following pages as are needed to hold, legibly, the material +% this License requires to appear in the title page. For works in +% formats which do not have any title page as such, ``Title Page'' means +% the text near the most prominent appearance of the work's title, +% preceding the beginning of the body of the text. +% +% The ``\textbf{publisher}'' means any person or entity that distributes +% copies of the Document to the public. +% +% A section ``\textbf{Entitled XYZ}'' means a named subunit of the Document whose +% title either is precisely XYZ or contains XYZ in parentheses following +% text that translates XYZ in another language. (Here XYZ stands for a +% specific section name mentioned below, such as ``\textbf{Acknowledgements}'', +% ``\textbf{Dedications}'', ``\textbf{Endorsements}'', or ``\textbf{History}''.) +% To ``\textbf{Preserve the Title}'' +% of such a section when you modify the Document means that it remains a +% section ``Entitled XYZ'' according to this definition. +% +% The Document may include Warranty Disclaimers next to the notice which +% states that this License applies to the Document. These Warranty +% Disclaimers are considered to be included by reference in this +% License, but only as regards disclaiming warranties: any other +% implication that these Warranty Disclaimers may have is void and has +% no effect on the meaning of this License. +% +% +% \begin{center} +% {\Large\bf 2. VERBATIM COPYING\par} +% \end{center} +% +% You may copy and distribute the Document in any medium, either +% commercially or noncommercially, provided that this License, the +% copyright notices, and the license notice saying this License applies +% to the Document are reproduced in all copies, and that you add no other +% conditions whatsoever to those of this License. You may not use +% technical measures to obstruct or control the reading or further +% copying of the copies you make or distribute. However, you may accept +% compensation in exchange for copies. If you distribute a large enough +% number of copies you must also follow the conditions in section~3. +% +% You may also lend copies, under the same conditions stated above, and +% you may publicly display copies. +% +% +% \begin{center} +% {\Large\bf 3. COPYING IN QUANTITY\par} +% \end{center} +% +% +% If you publish printed copies (or copies in media that commonly have +% printed covers) of the Document, numbering more than 100, and the +% Document's license notice requires Cover Texts, you must enclose the +% copies in covers that carry, clearly and legibly, all these Cover +% Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +% the back cover. Both covers must also clearly and legibly identify +% you as the publisher of these copies. The front cover must present +% the full title with all words of the title equally prominent and +% visible. You may add other material on the covers in addition. +% Copying with changes limited to the covers, as long as they preserve +% the title of the Document and satisfy these conditions, can be treated +% as verbatim copying in other respects. +% +% If the required texts for either cover are too voluminous to fit +% legibly, you should put the first ones listed (as many as fit +% reasonably) on the actual cover, and continue the rest onto adjacent +% pages. +% +% If you publish or distribute Opaque copies of the Document numbering +% more than 100, you must either include a machine-readable Transparent +% copy along with each Opaque copy, or state in or with each Opaque copy +% a computer-network location from which the general network-using +% public has access to download using public-standard network protocols +% a complete Transparent copy of the Document, free of added material. +% If you use the latter option, you must take reasonably prudent steps, +% when you begin distribution of Opaque copies in quantity, to ensure +% that this Transparent copy will remain thus accessible at the stated +% location until at least one year after the last time you distribute an +% Opaque copy (directly or through your agents or retailers) of that +% edition to the public. +% +% It is requested, but not required, that you contact the authors of the +% Document well before redistributing any large number of copies, to give +% them a chance to provide you with an updated version of the Document. +% +% +% \begin{center} +% {\Large\bf 4. MODIFICATIONS\par} +% \end{center} +% +% You may copy and distribute a Modified Version of the Document under +% the conditions of sections 2 and 3 above, provided that you release +% the Modified Version under precisely this License, with the Modified +% Version filling the role of the Document, thus licensing distribution +% and modification of the Modified Version to whoever possesses a copy +% of it. In addition, you must do these things in the Modified Version: +% +% \begin{itemize} +% \item[A.] +% Use in the Title Page (and on the covers, if any) a title distinct +% from that of the Document, and from those of previous versions +% (which should, if there were any, be listed in the History section +% of the Document). You may use the same title as a previous version +% if the original publisher of that version gives permission. +% +% \item[B.] +% List on the Title Page, as authors, one or more persons or entities +% responsible for authorship of the modifications in the Modified +% Version, together with at least five of the principal authors of the +% Document (all of its principal authors, if it has fewer than five), +% unless they release you from this requirement. +% +% \item[C.] +% State on the Title page the name of the publisher of the +% Modified Version, as the publisher. +% +% \item[D.] +% Preserve all the copyright notices of the Document. +% +% \item[E.] +% Add an appropriate copyright notice for your modifications +% adjacent to the other copyright notices. +% +% \item[F.] +% Include, immediately after the copyright notices, a license notice +% giving the public permission to use the Modified Version under the +% terms of this License, in the form shown in the Addendum below. +% +% \item[G.] +% Preserve in that license notice the full lists of Invariant Sections +% and required Cover Texts given in the Document's license notice. +% +% \item[H.] +% Include an unaltered copy of this License. +% +% \item[I.] +% Preserve the section Entitled ``History'', Preserve its Title, and add +% to it an item stating at least the title, year, new authors, and +% publisher of the Modified Version as given on the Title Page. If +% there is no section Entitled ``History'' in the Document, create one +% stating the title, year, authors, and publisher of the Document as +% given on its Title Page, then add an item describing the Modified +% Version as stated in the previous sentence. +% +% \item[J.] +% Preserve the network location, if any, given in the Document for +% public access to a Transparent copy of the Document, and likewise +% the network locations given in the Document for previous versions +% it was based on. These may be placed in the ``History'' section. +% You may omit a network location for a work that was published at +% least four years before the Document itself, or if the original +% publisher of the version it refers to gives permission. +% +% \item[K.] +% For any section Entitled ``Acknowledgements'' or ``Dedications'', +% Preserve the Title of the section, and preserve in the section all +% the substance and tone of each of the contributor acknowledgements +% and/or dedications given therein. +% +% \item[L.] +% Preserve all the Invariant Sections of the Document, +% unaltered in their text and in their titles. Section numbers +% or the equivalent are not considered part of the section titles. +% +% \item[M.] +% Delete any section Entitled ``Endorsements''. Such a section +% may not be included in the Modified Version. +% +% \item[N.] +% Do not retitle any existing section to be Entitled ``Endorsements'' +% or to conflict in title with any Invariant Section. +% +% \item[O.] +% Preserve any Warranty Disclaimers. +% \end{itemize} +% +% If the Modified Version includes new front-matter sections or +% appendices that qualify as Secondary Sections and contain no material +% copied from the Document, you may at your option designate some or all +% of these sections as invariant. To do this, add their titles to the +% list of Invariant Sections in the Modified Version's license notice. +% These titles must be distinct from any other section titles. +% +% You may add a section Entitled ``Endorsements'', provided it contains +% nothing but endorsements of your Modified Version by various +% parties---for example, statements of peer review or that the text has +% been approved by an organization as the authoritative definition of a +% standard. +% +% You may add a passage of up to five words as a Front-Cover Text, and a +% passage of up to 25 words as a Back-Cover Text, to the end of the list +% of Cover Texts in the Modified Version. Only one passage of +% Front-Cover Text and one of Back-Cover Text may be added by (or +% through arrangements made by) any one entity. If the Document already +% includes a cover text for the same cover, previously added by you or +% by arrangement made by the same entity you are acting on behalf of, +% you may not add another; but you may replace the old one, on explicit +% permission from the previous publisher that added the old one. +% +% The author(s) and publisher(s) of the Document do not by this License +% give permission to use their names for publicity for or to assert or +% imply endorsement of any Modified Version. +% +% +% \begin{center} +% {\Large\bf 5. COMBINING DOCUMENTS\par} +% \end{center} +% +% +% You may combine the Document with other documents released under this +% License, under the terms defined in section~4 above for modified +% versions, provided that you include in the combination all of the +% Invariant Sections of all of the original documents, unmodified, and +% list them all as Invariant Sections of your combined work in its +% license notice, and that you preserve all their Warranty Disclaimers. +% +% The combined work need only contain one copy of this License, and +% multiple identical Invariant Sections may be replaced with a single +% copy. If there are multiple Invariant Sections with the same name but +% different contents, make the title of each such section unique by +% adding at the end of it, in parentheses, the name of the original +% author or publisher of that section if known, or else a unique number. +% Make the same adjustment to the section titles in the list of +% Invariant Sections in the license notice of the combined work. +% +% In the combination, you must combine any sections Entitled ``History'' +% in the various original documents, forming one section Entitled +% ``History''; likewise combine any sections Entitled ``Acknowledgements'', +% and any sections Entitled ``Dedications''. You must delete all sections +% Entitled ``Endorsements''. +% +% \begin{center} +% {\Large\bf 6. COLLECTIONS OF DOCUMENTS\par} +% \end{center} +% +% You may make a collection consisting of the Document and other documents +% released under this License, and replace the individual copies of this +% License in the various documents with a single copy that is included in +% the collection, provided that you follow the rules of this License for +% verbatim copying of each of the documents in all other respects. +% +% You may extract a single document from such a collection, and distribute +% it individually under this License, provided you insert a copy of this +% License into the extracted document, and follow this License in all +% other respects regarding verbatim copying of that document. +% +% +% \begin{center} +% {\Large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par} +% \end{center} +% +% +% A compilation of the Document or its derivatives with other separate +% and independent documents or works, in or on a volume of a storage or +% distribution medium, is called an ``aggregate'' if the copyright +% resulting from the compilation is not used to limit the legal rights +% of the compilation's users beyond what the individual works permit. +% When the Document is included in an aggregate, this License does not +% apply to the other works in the aggregate which are not themselves +% derivative works of the Document. +% +% If the Cover Text requirement of section~3 is applicable to these +% copies of the Document, then if the Document is less than one half of +% the entire aggregate, the Document's Cover Texts may be placed on +% covers that bracket the Document within the aggregate, or the +% electronic equivalent of covers if the Document is in electronic form. +% Otherwise they must appear on printed covers that bracket the whole +% aggregate. +% +% +% \begin{center} +% {\Large\bf 8. TRANSLATION\par} +% \end{center} +% +% +% Translation is considered a kind of modification, so you may +% distribute translations of the Document under the terms of section~4. +% Replacing Invariant Sections with translations requires special +% permission from their copyright holders, but you may include +% translations of some or all Invariant Sections in addition to the +% original versions of these Invariant Sections. You may include a +% translation of this License, and all the license notices in the +% Document, and any Warranty Disclaimers, provided that you also include +% the original English version of this License and the original versions +% of those notices and disclaimers. In case of a disagreement between +% the translation and the original version of this License or a notice +% or disclaimer, the original version will prevail. +% +% If a section in the Document is Entitled ``Acknowledgements'', +% ``Dedications'', or ``History'', the requirement (section~4) to Preserve +% its Title (section~1) will typically require changing the actual +% title. +% +% +% \begin{center} +% {\Large\bf 9. TERMINATION\par} +% \end{center} +% +% +% You may not copy, modify, sublicense, or distribute the Document +% except as expressly provided under this License. Any attempt +% otherwise to copy, modify, sublicense, or distribute it is void, and +% will automatically terminate your rights under this License. +% +% However, if you cease all violation of this License, then your license +% from a particular copyright holder is reinstated (a) provisionally, +% unless and until the copyright holder explicitly and finally +% terminates your license, and (b) permanently, if the copyright holder +% fails to notify you of the violation by some reasonable means prior to +% 60 days after the cessation. +% +% Moreover, your license from a particular copyright holder is +% reinstated permanently if the copyright holder notifies you of the +% violation by some reasonable means, this is the first time you have +% received notice of violation of this License (for any work) from that +% copyright holder, and you cure the violation prior to 30 days after +% your receipt of the notice. +% +% Termination of your rights under this section does not terminate the +% licenses of parties who have received copies or rights from you under +% this License. If your rights have been terminated and not permanently +% reinstated, receipt of a copy of some or all of the same material does +% not give you any rights to use it. +% +% +% \begin{center} +% {\Large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par} +% \end{center} +% +% +% The Free Software Foundation may publish new, revised versions +% of the GNU Free Documentation License from time to time. Such new +% versions will be similar in spirit to the present version, but may +% differ in detail to address new problems or concerns. See +% \texttt{https://www.gnu.org/licenses/}. +% +% Each version of the License is given a distinguishing version number. +% If the Document specifies that a particular numbered version of this +% License ``or any later version'' applies to it, you have the option of +% following the terms and conditions either of that specified version or +% of any later version that has been published (not as a draft) by the +% Free Software Foundation. If the Document does not specify a version +% number of this License, you may choose any version ever published (not +% as a draft) by the Free Software Foundation. If the Document +% specifies that a proxy can decide which future versions of this +% License can be used, that proxy's public statement of acceptance of a +% version permanently authorizes you to choose that version for the +% Document. +% +% +% \begin{center} +% {\Large\bf 11. RELICENSING\par} +% \end{center} +% +% +% ``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any +% World Wide Web server that publishes copyrightable works and also +% provides prominent facilities for anybody to edit those works. A +% public wiki that anybody can edit is an example of such a server. A +% ``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the +% site means any set of copyrightable works thus published on the MMC +% site. +% +% ``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 +% license published by Creative Commons Corporation, a not-for-profit +% corporation with a principal place of business in San Francisco, +% California, as well as future copyleft versions of that license +% published by that same organization. +% +% ``Incorporate'' means to publish or republish a Document, in whole or +% in part, as part of another Document. +% +% An MMC is ``eligible for relicensing'' if it is licensed under this +% License, and if all works that were first published under this License +% somewhere other than this MMC, and subsequently incorporated in whole +% or in part into the MMC, (1) had no cover texts or invariant sections, +% and (2) were thus incorporated prior to November 1, 2008. +% +% The operator of an MMC Site may republish an MMC contained in the site +% under CC-BY-SA on the same site at any time before August 1, 2009, +% provided the MMC is eligible for relicensing. +% +% +% \begin{center} +% {\Large\bf ADDENDUM: How to use this License for your documents\par} +% \end{center} +% +% To use this License in a document you have written, include a copy of +% the License in the document and put the following copyright and +% license notices just after the title page: +% +% \bigskip +% \begin{quote} +% Copyright \copyright{} YEAR YOUR NAME. +% +% Permission is granted to copy, distribute and/or modify this document +% under the terms of the GNU Free Documentation License, Version 1.3 +% or any later version published by the Free Software Foundation; +% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +% A copy of the license is included in the section entitled ``GNU +% Free Documentation License''. +% \end{quote} +% \bigskip +% +% If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +% replace the ``with \dots\ Texts.''\ line with this: +% +% \bigskip +% \begin{quote} +% with the Invariant Sections being LIST THEIR TITLES, with the +% Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. +% \end{quote} +% \bigskip +% +% If you have Invariant Sections without Cover Texts, or some other +% combination of the three, merge those two alternatives to suit the +% situation. +% +% If your document contains nontrivial examples of program code, we +% recommend releasing these examples in parallel under your choice of +% free software license, such as the GNU General Public License, +% to permit their use in free software. +% }% +% \Finale
\ No newline at end of file diff --git a/macros/unicodetex/latex/aalok/aalok.ins b/macros/unicodetex/latex/aalok/aalok.ins new file mode 100644 index 0000000000..2bde4e1411 --- /dev/null +++ b/macros/unicodetex/latex/aalok/aalok.ins @@ -0,0 +1,79 @@ +% File: aalok.ins +\input l3docstrip.tex + +\keepsilent +\askforoverwritefalse + +\preamble + +-------------------------------------------------------------------------- +लाटेक्-वर्ग आलोक आवृत्ती ०.१ +© २०२१ निरंजन, आलोक मराठी नियतकालिक + +ह्या सामग्रीच्या वितरणाचे व प्रतिमुद्रणाचे अधिकार आलोक नित्यमुक्त परवान्यासह मुक्त करण्यात येत +आहेत. ह्या सामग्रीची यथामूल अथवा परिवर्तित प्रतिमुद्रणे व्यावसायिक अथवा अव्यावसायिक स्वरूपात +वितरित करण्यास प्रतिमुद्राधिकारधारक संमती देत आहे, परंतु असे करताना वितरकाने +प्रतिमुद्राधिकारांचा योग्य श्रेयनिर्देश करणे व सामग्री परिवर्तित असल्यास ती ह्याच अटींसह वितरित +करणे बंधनकारक आहे. ही सामग्री जशी आहे तशी पुरवण्यात येत आहे, पुरवणारा/पुरवणारी हिच्याबाबत +कोणतीही हमी देत नाही. ह्या (व ह्यावर आधारित) सामग्रीचे अमुक्त वितरण बेकायदेशीर मानले +जाईल. आलोक नित्यमुक्त परवान्याचा संपूर्ण मसुदा पुढील दुव्यावर वाचता येईल. + +https://gitlab.com/aalok/nityamukta-parwana +-------------------------------------------------------------------------- +LaTeX Class aalok v0.1 +© 2021 Niranjan, Aalok Marathi Niyatkalik + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <https://www.gnu.org/licenses/>. +-------------------------------------------------------------------------- +लाटेक्-वर्ग: आलोक +लेखक: निरंजन +आवृत्ती: ०.१ +वर्णन: आलोक मराठी नियतकालिकाच्या अक्षरजुळणीकरिता लाटेक्-वर्ग. +दुवा: https://gitlab.com/aalok/aalok-latex +अडचणी: https://gitlab.com/aalok/aalok-latex/-/issues +परवाना: आलोक नित्यमुक्त परवाना. आवृत्ती १.०+ + दुवा : https://gitlab.com/aalok/nityamukta-parwana + आणि + ग्नू पब्लिक परवाना. आवृत्ती ३.०+ + दुवा : https://www.gnu.org/licenses/gpl +--------------------------------------------------------------------------- +हे काम आलोक नित्यमुक्त परवान्याच्या (आवृत्ती १.० अथवा त्यापुढील) अटींचे पालन करून वितरित केले +जाऊ शकते तसेच सुधारले जाऊ शकते. + +ह्या परवान्याची नवीनतम प्रत खालील गिट-संग्राहिकेवर उपलब्ध आहे. + +https://gitlab.com/aalok/nityamukta-parwana + +ह्या लाटेक्-वर्गाची लाटेक्-प्रकल्पाच्या नियमांनुसार देखरेख केली जात आहे. + +ह्या लाटेक्-वर्गाचा लेखक व पालक निरंजन आहे. + +ह्या कामात aalok.dtx, aalok.ins तसेच त्यांपासून निर्माण केलेली +aalok.cls ही धारिका समाविष्ट आहे. +--------------------------------------------------------------------------- + +\endpreamble + +\usedir{tex/latex/\jobname} +\generate{ + \file{\jobname.cls}{\from{\jobname.dtx}{class}} +} + +\nopreamble\nopostamble +\usedir{doc/latex/\jobname} +\generate{ + \file{README.txt}{\from{\jobname.dtx}{readme}} +} + +\endbatchfile
\ No newline at end of file diff --git a/macros/unicodetex/latex/aalok/aalok.pdf b/macros/unicodetex/latex/aalok/aalok.pdf Binary files differnew file mode 100644 index 0000000000..30fcd2a0b2 --- /dev/null +++ b/macros/unicodetex/latex/aalok/aalok.pdf diff --git a/macros/latex/contrib/chhaya/README.txt b/macros/unicodetex/latex/chhaya/README.txt index d4e3ee3267..d4e3ee3267 100644 --- a/macros/latex/contrib/chhaya/README.txt +++ b/macros/unicodetex/latex/chhaya/README.txt diff --git a/macros/latex/contrib/chhaya/chhaya.dtx b/macros/unicodetex/latex/chhaya/chhaya.dtx index 43940f990e..43940f990e 100644 --- a/macros/latex/contrib/chhaya/chhaya.dtx +++ b/macros/unicodetex/latex/chhaya/chhaya.dtx diff --git a/macros/latex/contrib/chhaya/chhaya.ins b/macros/unicodetex/latex/chhaya/chhaya.ins index 527101783e..527101783e 100644 --- a/macros/latex/contrib/chhaya/chhaya.ins +++ b/macros/unicodetex/latex/chhaya/chhaya.ins diff --git a/macros/latex/contrib/chhaya/chhaya.pdf b/macros/unicodetex/latex/chhaya/chhaya.pdf Binary files differindex 5d20a70ab4..5d20a70ab4 100644 --- a/macros/latex/contrib/chhaya/chhaya.pdf +++ b/macros/unicodetex/latex/chhaya/chhaya.pdf diff --git a/macros/latex/contrib/chhaya/ref.bib b/macros/unicodetex/latex/chhaya/ref.bib index 8212e7abe7..8212e7abe7 100644 --- a/macros/latex/contrib/chhaya/ref.bib +++ b/macros/unicodetex/latex/chhaya/ref.bib diff --git a/macros/latex/contrib/chhaya/sankshep.tex b/macros/unicodetex/latex/chhaya/sankshep.tex index 28b2b099ec..28b2b099ec 100644 --- a/macros/latex/contrib/chhaya/sankshep.tex +++ b/macros/unicodetex/latex/chhaya/sankshep.tex |