diff options
author | Karl Berry <karl@freefriends.org> | 2021-08-17 20:50:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-08-17 20:50:26 +0000 |
commit | 0ecd2fe84d1534f6efbaa3222bac4985106c088c (patch) | |
tree | ee3eaaf4d43de2d6fc1478dbe1e47382258f32c6 /Master/texmf-dist/tex/latex | |
parent | 24fbe73ac9ffa25fb715ae04bd64cfd318c48769 (diff) |
projlib (17aug21)
git-svn-id: svn://tug.org/texlive/trunk@60261 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLauthor.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLdate.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLdraft.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLlang.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLlogo.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLmath.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLpaper.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLthm.sty | 115 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/ProjLib.sty | 2 |
9 files changed, 103 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty b/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty index 704025f2ee7..a1ba35631e1 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLauthor} - [2021/08/11 Enhanced author information block] + [2021/08/17 Enhanced author information block] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \ifdefined\subjclass\endinput\fi diff --git a/Master/texmf-dist/tex/latex/projlib/PJLdate.sty b/Master/texmf-dist/tex/latex/projlib/PJLdate.sty index e9ff67c48a7..9077bb79622 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLdate.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLdate.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLdate} - [2021/08/11 Convert yyyy-mm-dd to normal datetime format] + [2021/08/17 Convert yyyy-mm-dd to normal datetime format] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{ diff --git a/Master/texmf-dist/tex/latex/projlib/PJLdraft.sty b/Master/texmf-dist/tex/latex/projlib/PJLdraft.sty index a4c651a3a45..94abb9c05ad 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLdraft.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLdraft.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLdraft} - [2021/08/11 Some useful macros for the draft stage] + [2021/08/17 Some useful macros for the draft stage] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{ diff --git a/Master/texmf-dist/tex/latex/projlib/PJLlang.sty b/Master/texmf-dist/tex/latex/projlib/PJLlang.sty index 5e7f5be7f6d..eb597681e07 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLlang.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLlang.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLlang} - [2021/08/11 Multi-language configuration] + [2021/08/17 Multi-language configuration] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{% diff --git a/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty b/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty index 9c4fe7c1cff..17a8d0f9aa0 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLlogo} - [2021/08/11 The ProjLib logo] + [2021/08/17 The ProjLib logo] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{ diff --git a/Master/texmf-dist/tex/latex/projlib/PJLmath.sty b/Master/texmf-dist/tex/latex/projlib/PJLmath.sty index b0386a32be3..b1054865255 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLmath.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLmath.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLmath} - [2021/08/11 Useful math macros and shortcuts] + [2021/08/17 Useful math macros and shortcuts] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \RequirePackage{mathtools} diff --git a/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty b/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty index cf83a126d27..aa6112721ff 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLpaper} - [2021/08/11 Paper style configuration] + [2021/08/17 Paper style configuration] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \RequirePackage{ifthen} diff --git a/Master/texmf-dist/tex/latex/projlib/PJLthm.sty b/Master/texmf-dist/tex/latex/projlib/PJLthm.sty index d36e31122e8..4af93b5d931 100644 --- a/Master/texmf-dist/tex/latex/projlib/PJLthm.sty +++ b/Master/texmf-dist/tex/latex/projlib/PJLthm.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{PJLthm} - [2021/08/11 Theorem setup and configuration] + [2021/08/17 Theorem setup and configuration] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{% @@ -49,31 +49,37 @@ \PassOptionsToPackage{nameinlink}{cleveref} \RequirePackage{cleveref} +\RequirePackage{xstring} \NewDocumentCommand{\NameTheorem}{omm}{% \protected@edef\PJLthm@temp{#2}% \expandafter\IfEndWith\expandafter{\PJLthm@temp}{*}{% \expandafter\StrGobbleRight\expandafter{\PJLthm@temp}{1}[\PJLthm@temp]% }{}% - \IfValueTF{#1}{% - \expandafter\def\expandafter\PJL@temp@abbr\expandafter% - {\expandafter\StrToABBR\expandafter{#1}}% - \expandafter\def\csname\PJLthm@temp name\PJL@temp@abbr\endcsname{#3}% - }{% - \expandafter\def\csname\PJLthm@temp nameEN\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameFR\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameDE\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameIT\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp namePT\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameBR\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameES\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameCN\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameTC\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameJP\endcsname{#3}% - \expandafter\def\csname\PJLthm@temp nameRU\endcsname{#3}% + \IfSubStr{#3}{=}{% key-value mode + \IfValueTF{#1}{% + \CreateTheoremSetKeys{\PJLthm@temp}{#1={#3}}% + }{% + \CreateTheoremSetKeys{\PJLthm@temp}{#3}% + }% + }{% simple mode + \IfValueTF{#1}{% + \expandafter\def\csname\PJLthm@temp name\StrToABBR{#1}\endcsname{#3}% + }{% + \expandafter\def\csname\PJLthm@temp nameEN\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameFR\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameDE\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameIT\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp namePT\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameBR\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameES\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameCN\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameTC\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameJP\endcsname{#3}% + \expandafter\def\csname\PJLthm@temp nameRU\endcsname{#3}% + }% }% } -\RequirePackage{xstring} \newcommand\PassFirstToSecond[2]{#2{#1}}% \NewDocumentCommand{\CreateTheorem}{sm}{% \begingroup @@ -88,7 +94,7 @@ \expandafter{\PJLthm@temp}{\endgroup\InnerCreateTheorem{#1}}}% }% \if@PJLthm@regionalref -\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()}{% +\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()g}{% \IfBooleanTF{#1}{% \IfValueTF{#4} {\@firstoftwo} @@ -142,9 +148,12 @@ }% }% }% + \IfValueTF{#7}{% + \CreateTheoremSetKeys{#2}{#7}% + }{}% }% \else -\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()}{% +\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()g}{% \IfBooleanTF{#1}{% \IfValueTF{#4} {\@firstoftwo} @@ -221,6 +230,9 @@ {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}% }% }% + \IfValueTF{#7}{% + \CreateTheoremSetKeys{#2}{#7}% + }{}% }% \NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{% \newaliascnt{#1#2#3}{#1#3}% @@ -239,6 +251,69 @@ }% \fi +\ExplSyntaxOn + +\cs_new:Nn \PJLthm_exchange_i_iii_ii:nnn { #1 {#3} {#2} } +\cs_new:Nn \__PJLthm_languageprefix: {} +\cs_new:Nn \__PJLthm_countername: {} + +\msg_new:nnnn {PJLthm} + {Undefined Language Dependent Specification Class} + {\token_to_str:N \CreateTheorem :\ Value\ `\tl_to_str:n{#2}'\ for\ invalid\ key\ `#1'.} + {Providing\ Language-dependent\ specifications\ for\ element\ `#1'\ is\ currently\ not\ implemented.} + + +\NewDocumentCommand \CreateTheoremSetKeys { mm } { + % #1 = name of counter + % #2 = keyval-list of language-specifications + \cs_set:Nn \__PJLthm_countername: {#1} + \keyval_parse:nnn { \PJLthm_exchange_i_iii_ii:nnn { \PJLthm_setlanguagespecificparameters:nn } {} } + { \PJLthm_setlanguagespecificparameters:nn } + { #2 } +} + +\cs_new_protected:Nn \PJLthm_setlanguagespecificparameters:nn { + % #1 = language-prefix + % #2 = key-val-list for language whose prefix is language-prefix + \cs_set:Nx \__PJLthm_languageprefix: {\StrToABBR{#1}} + \exp_args:No \tl_if_empty:nTF {\__PJLthm_languageprefix:} + { \msg_error:nn { PJLthm } + { No language \exp_not:n{#1} defined } + }% + {% + \newaliascnt {\__PJLthm_countername: \__PJLthm_languageprefix:} {\__PJLthm_countername:}% + \aliascntresetthe {\__PJLthm_countername: \__PJLthm_languageprefix:}% + \keys_set:nn { PJLthm } { #2 } + }% +}% +\keys_define:nn { PJLthm } { + crefname.code:n = \cs_if_exist:NTF \crefname { + \exp_args:Nx \crefname {\__PJLthm_countername: \__PJLthm_languageprefix: }#1 + }{}, + crefname.value_required:n = true, + Crefname.code:n = \cs_if_exist:NTF \Crefname { + \exp_args:Nx \Crefname {\__PJLthm_countername: \__PJLthm_languageprefix: }#1 + }{}, + Crefname.value_required:n = true, + name.code:n = \exp_args:Nx \cs_set:cpn {\__PJLthm_countername: name \__PJLthm_languageprefix:} {#1}, + name.value_required:n = true, + autorefname.code:n = \exp_args:Nx \cs_set:cpn {\__PJLthm_countername: \__PJLthm_languageprefix: autorefname} {#1}, + autorefname.value_required:n = true, + theoremheading.code:n= \exp_args:Nx \cs_set:cpn {\__PJLthm_countername: \__PJLthm_languageprefix: heading} {#1}, + theoremheading.value_required:n = true, + the.code:n= \exp_args:Nx \cs_set:cpn {the \__PJLthm_countername: \__PJLthm_languageprefix: } {#1}, + the.value_required:n = true, + % + % Define keys for more Language Dependent Specification Classes. + % + unknown.code:n = \msg_error:nnxx {PJLthm} + {Undefined Language Dependent Specification Class} + {\exp_args:No \exp_not:n \l_keys_key_str} + {\exp_not:n{#1}}, +} + +\ExplSyntaxOff + \def\theoremnameEN{{Theorem}} \def\lemmanameEN{{Lemma}} \def\propositionnameEN{{Proposition}} diff --git a/Master/texmf-dist/tex/latex/projlib/ProjLib.sty b/Master/texmf-dist/tex/latex/projlib/ProjLib.sty index 89a13b33837..fb1063341c1 100644 --- a/Master/texmf-dist/tex/latex/projlib/ProjLib.sty +++ b/Master/texmf-dist/tex/latex/projlib/ProjLib.sty @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{ProjLib} - [2021/08/11 The collective interface of ProjLib toolkit] + [2021/08/17 The collective interface of ProjLib toolkit] \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{ |