summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/projlib/old-modules
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/projlib/old-modules')
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty245
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLdate.sty74
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLdraft.sty104
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLlang.sty358
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLlogo.sty72
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLmath.sty315
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLpaper.sty96
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLthm.sty2019
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLtoolkit.sty184
9 files changed, 3467 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty
new file mode 100644
index 00000000000..67e1dbd76b3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty
@@ -0,0 +1,245 @@
+%%
+%% This is file `PJLauthor.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLauthor}
+ [2021/12/16 Enhanced author information block]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @PJLauthor,
+ prefix = @PJLauthor@,
+}
+\DeclareBoolOption[false]{amsfashion}
+\ProcessKeyvalOptions*\relax
+
+\ifdefined\subjclass\endinput\fi
+
+%%================================
+%% Font and style
+%%================================
+\def\PJLauthor@font@author{\normalsize\normalfont\scshape}
+\def\PJLauthor@font@address{\small\normalfont\itshape}
+\def\PJLauthor@font@curraddr{\small\normalfont\itshape}
+\def\PJLauthor@font@email{\small\normalfont\ttfamily}
+
+%%================================
+%% Lengths
+%%================================
+\newlength{\PJLauthor@length@innersep}
+\setlength{\PJLauthor@length@innersep}{.3\baselineskip}
+\newlength{\PJLauthor@length@sep}
+\setlength{\PJLauthor@length@sep}{.5\baselineskip}
+\newlength{\PJLauthor@length@aftersep}
+\setlength{\PJLauthor@length@aftersep}{.3\baselineskip}
+
+%%================================
+%% The macros
+%%================================
+\newif\if@PJLauthor@affilon
+\renewcommand*{\author}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \vspace{\PJLauthor@length@sep}%
+ \PJLauthor@font@author{#1}\\\phantom{}
+ \@PJLauthor@affilonfalse}}
+\providecommand*{\address}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
+ \fi%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@address{#1}\\\phantom{}}%
+}
+\providecommand*{\curraddr}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
+ \fi%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@curraddr{#1}\\\phantom{}}%
+}
+\providecommand*{\email}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
+ \fi%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@email{#1}\\\phantom{}}%
+}
+
+%%================================
+%% Adjustment
+%%================================
+\patchcmd{\@maketitle}{\begin{tabular}[t]{c}}{}{}{}
+\patchcmd{\@maketitle}{\end{tabular}}{}{}{}
+\def\@author{}
+\pretocmd{\@maketitle}{%
+ \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}%
+ \apptocmd{\@author}{%
+ \vspace{-\baselineskip}%
+ \if@PJLauthor@affilon%
+ \vspace{\PJLauthor@length@aftersep}%
+ \fi%
+ }{}{\FAIL}%
+}{}{\FAIL}
+
+\ifbool{@PJLauthor@amsfashion}{
+
+\RequirePackage{PJLlang}
+\RequirePackage{calc}
+
+\providecommand{\conditionalbfseries}{\bfseries}
+
+\def\keywordsnameEN{\textsc{Key words and phrases}}
+\def\keywordsnameFR{\textsc{Mots et phrases clés}}
+\def\keywordsnameDE{\textsc{Schlüsselwörter und Phrasen}}
+\def\keywordsnameIT{\textsc{Parole e frasi chiave}}
+\def\keywordsnamePT{\textsc{Palavras e frases chave}}
+\def\keywordsnameBR{\textsc{Palavras e frases chave}}
+\def\keywordsnameES{\textsc{Palabras y frases clave}}
+\def\keywordsnameCN{关键词}
+\def\keywordsnameTC{關鍵詞}
+\def\keywordsnameJP{キーワード}
+\def\keywordsnameRU{Ключевые слова и фразы}
+
+\def\PJL@keywords{}
+\providecommand*{\keywords}[1]{\def\PJL@keywords{#1}}
+
+\def\PJL@dedicatory{}
+\providecommand*{\dedicatory}[1]{\def\PJL@dedicatory{#1}}
+
+\AtEndPreamble{
+\let\footnotemark@PJLoriginal\footnotemark%
+\let\footnotemark\relax%
+\let\thanks@PJLoriginal\thanks%
+\newlength\PJL@starlength
+\setlength{\PJL@starlength}{\widthof{*}}
+\newcommand*{\PJL@prethanks}[1]{\thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}}
+\renewcommand*{\thanks}[1]{%
+ \ifx#1\@empty\else%
+ \apptocmd{\@title}{%
+ \thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}%
+ }{}{\FAIL}%
+ \fi}
+\let\author@PJLoriginal\author
+\renewcommand{\author}[1]{%
+ \author@PJLoriginal{%
+ \let\footnotemark\footnotemark@PJLoriginal%
+ \let\thanks\thanks@PJLoriginal%
+ #1%
+ \let\footnotemark\relax%
+ }%
+}
+}
+
+\let\abstract@PJLoriginal\abstract%
+\let\endabstract@PJLoriginal\endabstract%
+\newif\if@PJLauthor@maketitle\@PJLauthor@maketitlefalse
+\newif\if@PJLauthor@absbefore\@PJLauthor@absbeforefalse
+\RequirePackage{fancyvrb}
+\providecommand*\protected@iwrite[3]{%
+ \begingroup
+ \let\thepage\relax
+ #2%
+ \let\protect\@unexpandable@protect
+ \edef\reserved@a{\immediate\write#1{#3}}\reserved@a
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi
+}
+\patchcmd{\FVB@VerbatimOut}
+ {\immediate\write\FV@OutFile}
+ {\protected@iwrite\FV@OutFile{}}
+ {}{}
+\renewenvironment{abstract}{%
+ \VerbatimOut{\jobname.pjlabs}%
+}{
+ \endVerbatimOut%
+ \if@PJLauthor@maketitle%
+ \begin{abstract@PJLoriginal}%
+ \input{\jobname.pjlabs}%
+ \end{abstract@PJLoriginal}%
+ % \ifx\PJL@keywords\@empty\else%
+ % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
+ % \fi%
+ \else%
+ \global\@PJLauthor@absbeforetrue%
+ \fi%
+}
+
+\AtEndPreamble{%
+\patchcmd{\@maketitle}{\@date}{%
+ \ifx\@date\@empty\vspace{-2\baselineskip}%
+ \else\@date\fi%
+ \ifx\PJL@dedicatory\@empty\else%
+ \ifx\@date\@empty\vspace{2\baselineskip}\fi%
+ \par\vspace{-\parskip}\bigskip%
+ {\itshape\PJL@dedicatory}%
+ \ifx\@date\@empty%
+ \vspace{-1.7\baselineskip}%
+ \vspace{-\parskip}%
+ \fi%
+ \fi%
+}{}{\FAIL}
+\pretocmd{\maketitle}{%
+ \ifx\PJL@keywords\@empty\else%
+ \PJL@prethanks{{\protect\conditionalbfseries%
+ \csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}%
+ ~\PJL@keywords}%
+ \fi}{}{\FAIL}
+\apptocmd{\maketitle}{%
+ \if@PJLauthor@absbefore%
+ \begin{abstract@PJLoriginal}%
+ \input{\jobname.pjlabs}%
+ % \ifx\PJL@keywords\@empty\else%
+ % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
+ % \fi%
+ \end{abstract@PJLoriginal}%
+ \fi%
+ \global\let\address\relax
+ \global\let\curraddr\relax
+ \global\let\email\relax
+ \global\let\dedicatory\relax
+ \global\let\keywords\relax
+ \global\@PJLauthor@maketitletrue
+}{}{\FAIL}
+}
+
+\newcommand*\subjclass[2][2020]{%
+ \def\@subjclass{#2}%
+ \@ifundefined{subjclassname@#1}{%
+ \ClassWarning{\@currname}{Unknown edition (#1) of Mathematics
+ Subject Classification; using '2020'}%
+ \expandafter\let\expandafter\subjclassname\csname subjclassname@2020\endcsname
+ }{%
+ \expandafter\let\expandafter\subjclassname\csname subjclassname@#1\endcsname
+ }%
+ \PJL@prethanks{{\itshape\subjclassname.}\enspace\@subjclass{}.}
+}
+\@namedef{subjclassname@1991}{%
+ \textup{1991} Mathematics Subject Classification}
+\@namedef{subjclassname@2000}{%
+ \textup{2000} Mathematics Subject Classification}
+\@namedef{subjclassname@2010}{%
+ \textup{2010} Mathematics Subject Classification}
+\@namedef{subjclassname@2020}{%
+ \textup{2020} Mathematics Subject Classification}
+
+}
+
+\endinput
+%%
+%% End of file `PJLauthor.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLdate.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLdate.sty
new file mode 100644
index 00000000000..783f164e7a9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLdate.sty
@@ -0,0 +1,74 @@
+%%
+%% This is file `PJLdate.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLdate}
+ [2021/12/16 Convert yyyy-mm-dd to normal datetime format]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @PJLdate,
+ prefix = @PJLdate@,
+}
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\ProcessKeyvalOptions*\relax
+\if@PJLdate@draft
+ \@PJLdate@fasttrue
+\fi
+\DeclareDocumentCommand{\TheDate}{}{\PJLdate}
+\DeclareDocumentCommand{\PLdate}{}{\PJLdate}
+\if@PJLdate@fast\let\PJLdate\relax\endinput\fi
+
+\RequirePackage{PJLlang}
+
+\robustify\@latex@warning@no@line
+
+\RequirePackage{silence}
+\WarningFilter*{datetime2}{Date-Time Language Module}
+\PassOptionsToPackage{fr-FR,en-US}{datetime2}
+\RequirePackage{datetime2}
+\RequirePackage{zhnumber}
+
+\let\@DTMdate@PJLoriginal\@DTMdate
+\gappto{\PJLlang@langconfig@common}{%
+ \let\@DTMdate\@DTMdate@PJLoriginal%
+}
+\gappto{\PJLlang@langconfig@CN}{%
+ \renewcommand*{\@DTMdate}[1]{%
+ \expandafter\@dtm@parsedate#1\@dtm@endparsedate%
+ \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
+ }%
+}
+\gappto{\PJLlang@langconfig@TC}{%
+ \renewcommand*{\@DTMdate}[1]{%
+ \expandafter\@dtm@parsedate#1\@dtm@endparsedate%
+ \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
+ }%
+}
+\gappto{\PJLlang@langconfig@JP}{%
+ \renewcommand*{\@DTMdate}[1]{%
+ \expandafter\@dtm@parsedate#1\@dtm@endparsedate%
+ \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
+ }%
+}
+
+\providecommand*{\PJLdate}[1]{\DTMdate{#1}}
+
+\endinput
+%%
+%% End of file `PJLdate.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLdraft.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLdraft.sty
new file mode 100644
index 00000000000..86573268428
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLdraft.sty
@@ -0,0 +1,104 @@
+%%
+%% This is file `PJLdraft.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLdraft}
+ [2021/12/16 Some useful macros for the draft stage]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @PJLdraft,
+ prefix = @PJLdraft@,
+}
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\ProcessKeyvalOptions*\relax
+\if@PJLdraft@draft
+ \@PJLdraft@fasttrue
+\fi
+
+\RequirePackage{PJLlang}
+\RequirePackage{xcolor}
+
+\def\dnfFont{\ttfamily}
+\def\needgraphFont{\ttfamily}
+
+\def\dnfTextEN{To be finished}
+\def\needgraphTextEN{A graph is needed here}
+\def\dnfTextFR{Pas encore fini}
+\def\needgraphTextFR{Il manque une image ici}
+\def\dnfTextDE{Nicht beendet}
+\def\needgraphTextDE{Benötigen Sie ein Bild}
+\def\dnfTextIT{Per essere finito}
+\def\needgraphTextIT{Manca un'immagine qui}
+\def\dnfTextPT{Não terminou}
+\def\needgraphTextPT{Precisa de uma foto aqui}
+\def\dnfTextBR{Não terminou}
+\def\needgraphTextBR{Precisa de uma foto aqui}
+\def\dnfTextES{Estar terminado}
+\def\needgraphTextES{Falta una imagen aquí}
+\def\dnfTextCN{这里尚未完成}
+\def\needgraphTextCN{这里需要一张图片}
+\def\dnfTextTC{這裡尚未完成}
+\def\needgraphTextTC{這裡需要一張圖片}
+\def\dnfTextJP{終わってない}
+\def\needgraphTextJP{まだ画像が必要です}
+\def\dnfTextRU{Не закончен}
+\def\needgraphTextRU{Еще нужна картинка}
+
+\definecolor{dnfColor}{RGB}{21,122,20}
+\definecolor{needgraphColor}{RGB}{70,130,180}
+
+\if@PJLdraft@fast
+ \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
+ \setlength{\fboxsep}{1.5pt}%
+ \setlength{\fboxrule}{1.2pt}%
+ \fbox{#2}}}
+\else
+ \PassOptionsToPackage{many}{tcolorbox}
+ \RequirePackage{tcolorbox}
+ \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
+ on line, arc = 1.2pt, outer arc = 1pt,breakable,%
+ colframe = #1,colupper=#1,opacityback=0,%
+ boxsep = 1pt,boxrule = 1.2pt,%
+ left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
+ }
+\fi
+
+\newcounter{dnfcnt}
+\newcounter{needgraphcnt}
+
+\NewDocumentCommand{\dnf}{d<>}{%
+ \noindent\plainBox[dnfColor]%
+ {\normalfont\dnfFont\bfseries\small%
+ \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
+ \stepcounter{dnfcnt}~\#\thednfcnt%
+ \IfNoValueF{#1}{\,: #1}}%
+}
+\NewDocumentCommand{\needgraph}{d<>}{%
+ \begin{center}%
+ \plainBox[needgraphColor]%
+ {\normalfont\needgraphFont\bfseries\small%
+ \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
+ \stepcounter{needgraphcnt}~\#\theneedgraphcnt%
+ \IfNoValueF{#1}{\,: #1}}%
+ \end{center}%
+}
+
+\endinput
+%%
+%% End of file `PJLdraft.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLlang.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLlang.sty
new file mode 100644
index 00000000000..9470226adba
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLlang.sty
@@ -0,0 +1,358 @@
+%%
+%% This is file `PJLlang.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLlang}
+ [2021/12/16 Multi-language configuration]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{%
+ family = @PJLlang,
+ prefix = @PJLlang@
+}
+\DeclareBoolOption[false]{polyglossia}
+
+\newif\if@PJLlang@enable@all\@PJLlang@enable@alltrue
+\newif\if@PJLlang@enable@EN\@PJLlang@enable@ENfalse
+\newif\if@PJLlang@enable@FR\@PJLlang@enable@FRfalse
+\newif\if@PJLlang@enable@DE\@PJLlang@enable@DEfalse
+\newif\if@PJLlang@enable@IT\@PJLlang@enable@ITfalse
+\newif\if@PJLlang@enable@PT\@PJLlang@enable@PTfalse
+\newif\if@PJLlang@enable@BR\@PJLlang@enable@BRfalse
+\newif\if@PJLlang@enable@ES\@PJLlang@enable@ESfalse
+\newif\if@PJLlang@enable@CN\@PJLlang@enable@CNfalse
+\newif\if@PJLlang@enable@TC\@PJLlang@enable@TCfalse
+\newif\if@PJLlang@enable@JP\@PJLlang@enable@JPfalse
+\newif\if@PJLlang@enable@RU\@PJLlang@enable@RUfalse
+\def\PJLlang@babeloptions{}
+\DeclareVoidOption{EN}{\@PJLlang@enable@allfalse\@PJLlang@enable@ENtrue\providecommand{\PJLlang@mainlang}{EN}\gpreto{\PJLlang@babeloptions}{,english}}
+\DeclareVoidOption{english}{\@PJLlang@enable@allfalse\@PJLlang@enable@ENtrue\providecommand{\PJLlang@mainlang}{EN}\gpreto{\PJLlang@babeloptions}{,english}}
+\DeclareVoidOption{English}{\@PJLlang@enable@allfalse\@PJLlang@enable@ENtrue\providecommand{\PJLlang@mainlang}{EN}\gpreto{\PJLlang@babeloptions}{,english}}
+\DeclareVoidOption{FR}{\@PJLlang@enable@allfalse\@PJLlang@enable@FRtrue\providecommand{\PJLlang@mainlang}{FR}\gpreto{\PJLlang@babeloptions}{,french}}
+\DeclareVoidOption{french}{\@PJLlang@enable@allfalse\@PJLlang@enable@FRtrue\providecommand{\PJLlang@mainlang}{FR}\gpreto{\PJLlang@babeloptions}{,french}}
+\DeclareVoidOption{French}{\@PJLlang@enable@allfalse\@PJLlang@enable@FRtrue\providecommand{\PJLlang@mainlang}{FR}\gpreto{\PJLlang@babeloptions}{,french}}
+\DeclareVoidOption{DE}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
+\DeclareVoidOption{german}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
+\DeclareVoidOption{ngerman}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
+\DeclareVoidOption{German}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
+\DeclareVoidOption{IT}{\@PJLlang@enable@allfalse\@PJLlang@enable@ITtrue\providecommand{\PJLlang@mainlang}{IT}\gpreto{\PJLlang@babeloptions}{,italian}}
+\DeclareVoidOption{italian}{\@PJLlang@enable@allfalse\@PJLlang@enable@ITtrue\providecommand{\PJLlang@mainlang}{IT}\gpreto{\PJLlang@babeloptions}{,italian}}
+\DeclareVoidOption{Italian}{\@PJLlang@enable@allfalse\@PJLlang@enable@ITtrue\providecommand{\PJLlang@mainlang}{IT}\gpreto{\PJLlang@babeloptions}{,italian}}
+\DeclareVoidOption{PT}{\@PJLlang@enable@allfalse\@PJLlang@enable@PTtrue\providecommand{\PJLlang@mainlang}{PT}\gpreto{\PJLlang@babeloptions}{,portuguese}}
+\DeclareVoidOption{portuguese}{\@PJLlang@enable@allfalse\@PJLlang@enable@PTtrue\providecommand{\PJLlang@mainlang}{PT}\gpreto{\PJLlang@babeloptions}{,portuguese}}
+\DeclareVoidOption{Portuguese}{\@PJLlang@enable@allfalse\@PJLlang@enable@PTtrue\providecommand{\PJLlang@mainlang}{PT}\gpreto{\PJLlang@babeloptions}{,portuguese}}
+\DeclareVoidOption{BR}{\@PJLlang@enable@allfalse\@PJLlang@enable@BRtrue\providecommand{\PJLlang@mainlang}{BR}\gpreto{\PJLlang@babeloptions}{,brazilian}}
+\DeclareVoidOption{brazilian}{\@PJLlang@enable@allfalse\@PJLlang@enable@BRtrue\providecommand{\PJLlang@mainlang}{BR}\gpreto{\PJLlang@babeloptions}{,brazilian}}
+\DeclareVoidOption{Brazilian}{\@PJLlang@enable@allfalse\@PJLlang@enable@BRtrue\providecommand{\PJLlang@mainlang}{BR}\gpreto{\PJLlang@babeloptions}{,brazilian}}
+\DeclareVoidOption{ES}{\@PJLlang@enable@allfalse\@PJLlang@enable@EStrue\providecommand{\PJLlang@mainlang}{ES}\gpreto{\PJLlang@babeloptions}{,spanish}}
+\DeclareVoidOption{spanish}{\@PJLlang@enable@allfalse\@PJLlang@enable@EStrue\providecommand{\PJLlang@mainlang}{ES}\gpreto{\PJLlang@babeloptions}{,spanish}}
+\DeclareVoidOption{Spanish}{\@PJLlang@enable@allfalse\@PJLlang@enable@EStrue\providecommand{\PJLlang@mainlang}{ES}\gpreto{\PJLlang@babeloptions}{,spanish}}
+\DeclareVoidOption{CN}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{chinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{Chinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{schinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{SChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{simplifiedchinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{SimplifiedChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
+\DeclareVoidOption{TC}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
+\DeclareVoidOption{tchinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
+\DeclareVoidOption{TChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
+\DeclareVoidOption{traditionalchinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
+\DeclareVoidOption{TraditionalChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
+\DeclareVoidOption{JP}{\@PJLlang@enable@allfalse\@PJLlang@enable@JPtrue\providecommand{\PJLlang@mainlang}{JP}\gpreto{\PJLlang@babeloptions}{,japanese}}
+\DeclareVoidOption{japanese}{\@PJLlang@enable@allfalse\@PJLlang@enable@JPtrue\providecommand{\PJLlang@mainlang}{JP}\gpreto{\PJLlang@babeloptions}{,japanese}}
+\DeclareVoidOption{Japanese}{\@PJLlang@enable@allfalse\@PJLlang@enable@JPtrue\providecommand{\PJLlang@mainlang}{JP}\gpreto{\PJLlang@babeloptions}{,japanese}}
+\DeclareVoidOption{RU}{\@PJLlang@enable@allfalse\@PJLlang@enable@RUtrue\providecommand{\PJLlang@mainlang}{RU}\gpreto{\PJLlang@babeloptions}{,russian}}
+\DeclareVoidOption{russian}{\@PJLlang@enable@allfalse\@PJLlang@enable@RUtrue\providecommand{\PJLlang@mainlang}{RU}\gpreto{\PJLlang@babeloptions}{,russian}}
+\DeclareVoidOption{Russian}{\@PJLlang@enable@allfalse\@PJLlang@enable@RUtrue\providecommand{\PJLlang@mainlang}{RU}\gpreto{\PJLlang@babeloptions}{,russian}}
+\ProcessKeyvalOptions*\relax
+
+\ExplSyntaxOn
+\cs_new_protected:cpn { @clearglobaloption } #1
+ {
+ \clist_remove_all:cn { @classoptionslist } { #1 }
+ }
+\ExplSyntaxOff
+
+\@clearglobaloption{chinese}
+\@clearglobaloption{Chinese}
+
+\providecommand{\PJLlang@mainlang}{EN}
+
+\if@PJLlang@enable@all
+ \@PJLlang@enable@ENtrue
+ \@PJLlang@enable@FRtrue
+ \@PJLlang@enable@DEtrue
+ \@PJLlang@enable@ITtrue
+ \@PJLlang@enable@PTtrue
+ \@PJLlang@enable@BRtrue
+ \@PJLlang@enable@EStrue
+ \@PJLlang@enable@CNtrue
+ \@PJLlang@enable@TCtrue
+ \@PJLlang@enable@JPtrue
+ \@PJLlang@enable@RUtrue
+\fi
+
+\newcommand\englishABBR{EN}
+\newcommand\frenchABBR{FR}
+\newcommand\ngermanABBR{DE}
+\newcommand\italianABBR{IT}
+\newcommand\portugueseABBR{PT}
+\newcommand\brazilianABBR{BR}
+\newcommand\spanishABBR{ES}
+\newcommand\schineseABBR{CN}
+\newcommand\tchineseABBR{TC}
+\newcommand\japaneseABBR{JP}
+\newcommand\russianABBR{RU}
+
+\ExplSyntaxOn
+\NewExpandableDocumentCommand{\StrToABBR}{m}
+ {
+ \str_case_e:nn { \str_foldcase:n { #1 } }
+ {
+ {cn} {CN}
+ {chinese} {CN}
+ {schinese} {CN}
+ {simplifiedchinese} {CN}
+ {tc} {TC}
+ {tchinese} {TC}
+ {traditionalchinese} {TC}
+ {jp} {JP}
+ {japanese} {JP}
+ {en} {EN}
+ {english} {EN}
+ {fr} {FR}
+ {french} {FR}
+ {de} {DE}
+ {ngerman} {DE}
+ {it} {IT}
+ {italian} {IT}
+ {pt} {PT}
+ {portuguese} {PT}
+ {br} {BR}
+ {brazilian} {BR}
+ {es} {ES}
+ {spanish} {ES}
+ {german} {DE}
+ {ru} {RU}
+ {russian} {RU}
+ }
+ }
+
+\NewExpandableDocumentCommand{\StrToTYPE}{m}
+ {
+ \str_case_e:nn { \str_foldcase:n { #1 } }
+ {
+ {cn} {CJK}
+ {chinese} {CJK}
+ {schinese} {CJK}
+ {simplifiedchinese} {CJK}
+ {tc} {CJK}
+ {tchinese} {CJK}
+ {traditionalchinese} {CJK}
+ {jp} {CJK}
+ {japanese} {CJK}
+ {en} {Latin}
+ {english} {Latin}
+ {fr} {Latin}
+ {french} {Latin}
+ {de} {Latin}
+ {ngerman} {Latin}
+ {it} {Latin}
+ {italian} {Latin}
+ {pt} {Latin}
+ {portuguese} {Latin}
+ {br} {Latin}
+ {brazilian} {Latin}
+ {es} {Latin}
+ {spanish} {Latin}
+ {german} {Latin}
+ {ru} {Latin}
+ {russian} {Latin}
+ }
+ }
+\ExplSyntaxOff
+
+\RequirePackage{iftex}
+\ifPDFTeX
+\RequirePackage[T1]{fontenc}
+\RequirePackage{inputenc}
+\fi
+
+\if@PJLlang@polyglossia
+ \RequirePackage{polyglossia}
+ \setdefaultlanguage{english}
+ \setotherlanguage[frenchpart=false]{french}
+ \setotherlanguage{ngerman}
+ \setotherlanguage{spanish}
+ \setotherlanguage{portuguese}
+ \setotherlanguage[variant=brazilian]{portuguese}
+ \setotherlanguage{italian}
+ \ifPDFTeX\else
+ \setotherlanguage{russian}
+ \setotherlanguage{japanese}
+ \RequirePackage{silence}
+ \WarningFilter{polyglossia}{Asking to add empty feature to latin font(Script="CJK" to scripttag "")}
+ \fi
+\else
+ \if@PJLlang@enable@all
+ \ifPDFTeX\else
+ \PassOptionsToPackage{japanese,russian}{babel}
+ \fi
+ \PassOptionsToPackage{italian,portuguese,brazilian,spanish,es-notilde,es-noquoting,ngerman,french,english,shorthands=off}{babel}
+ \else
+ \PassOptionsToPackage{\PJLlang@babeloptions}{babel}
+ \fi
+ \PassOptionsToPackage{italian,brazilian,spanish,ngerman,french,english}{cleveref}
+ \RequirePackage{babel}
+ \if@PJLlang@enable@FR
+ \frenchsetup{PartNameFull=false}
+ \fi
+ \if@PJLlang@enable@PT
+ \let\PJL@babelord\ord
+ \let\ord\relax
+ \AtBeginDocument{
+ \@ifundefined{ord}{}
+ {
+ \let\PJL@userord\ord
+ \let\ord\relax
+ \newcommand{\ord}{%
+ \ifmmode\expandafter\PJL@userord\else\expandafter\PJL@babelord\fi%
+ }
+ }
+ }
+ \fi
+
+ \babelprovide{schinese}
+ \babelprovide{tchinese}
+\fi
+
+\let\today@PJLoriginal\today
+\newcommand{\PJLlang@langconfig@common}{%
+ \ifdefined\DTMtoday%
+ \let\today\DTMtoday%
+ \else%
+ \let\today\today@PJLoriginal%
+ \fi%
+}
+
+\newcommand{\PJLlang@langconfig@CN}{%
+ \def\abstractname{摘要}%
+ \def\proofname{证明}%
+ \def\contentsname{目录}%
+ \def\listfigurename{插图}%
+ \def\listtablename{表格}%
+ \def\figurename{图}%
+ \def\tablename{表}%
+ \def\indexname{索引}%
+ \def\appendixname{附录}%
+ \def\refname{参考文献}%
+ \def\bibname{参考文献}%
+ \let\today\zhtoday%
+ \renewcommand{\languagename}{schinese}%
+}
+\newcommand{\PJLlang@langconfig@TC}{%
+ \def\abstractname{摘要}%
+ \def\proofname{證明}%
+ \def\contentsname{目錄}%
+ \def\listfigurename{插圖}%
+ \def\listtablename{表格}%
+ \def\figurename{圖}%
+ \def\tablename{表}%
+ \def\indexname{索引}%
+ \def\appendixname{附錄}%
+ \def\refname{參考文獻}%
+ \def\bibname{參考文獻}%
+ \let\today\zhtoday%
+ \renewcommand{\languagename}{tchinese}%
+}
+\newcommand{\PJLlang@langconfig@JP}{%
+ \selectlanguage{japanese}%
+}
+\newcommand{\PJLlang@langconfig@EN}{%
+ \selectlanguage{english}%
+}
+\newcommand{\PJLlang@langconfig@FR}{%
+ \selectlanguage{french}%
+ \def\frenchpartname{Partie}%
+}
+\newcommand{\PJLlang@langconfig@DE}{%
+ \selectlanguage{ngerman}%
+}
+\newcommand{\PJLlang@langconfig@IT}{%
+ \selectlanguage{italian}%
+}
+\newcommand{\PJLlang@langconfig@PT}{%
+ \selectlanguage{portuguese}%
+}
+\newcommand{\PJLlang@langconfig@BR}{%
+ \selectlanguage{brazilian}%
+}
+\newcommand{\PJLlang@langconfig@ES}{%
+ \selectlanguage{spanish}%
+}
+\newcommand{\PJLlang@langconfig@RU}{%
+ \selectlanguage{russian}%
+}
+
+\NewDocumentCommand\AddLanguageSetting{d()m}{%
+\IfNoValueTF{#1}%
+ {\gappto{\PJLlang@langconfig@common}{#2}}%
+ {\expandafter\gappto\expandafter{\csname PJLlang@langconfig@\StrToABBR{#1}\endcsname}{#2}}%
+}
+
+\RequirePackage{setspace}
+\def\PJL@config@linespacing{\setstretch{1.00}}
+\def\PJL@config@CJKlinespacing{\onehalfspacing}
+\newcommand{\PJLsetlinespacing}[1]{\renewcommand{\PJL@config@linespacing}{#1}}
+\newcommand{\PJLsetCJKlinespacing}[1]{\renewcommand{\PJL@config@CJKlinespacing}{#1}}
+\@ifclassloaded{beamer}{
+ \def\PJL@config@parindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{0em}}}
+ \def\PJL@config@CJKparindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{0em}}}
+}{
+ \def\PJL@config@parindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{1.5em}}}
+ \def\PJL@config@CJKparindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{2em}}}
+}
+\newcommand{\PJLsetparindent}[1]{\renewcommand{\PJL@config@parindent}{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{#1}}}}
+\newcommand{\PJLsetCJKparindent}[1]{\renewcommand{\PJL@config@CJKparindent}{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{#1}}}}
+\def\PJL@config@CJK{\PJL@config@CJKlinespacing\PJL@config@CJKparindent}
+\def\PJL@config@Latin{\PJL@config@linespacing\PJL@config@parindent}
+\NewDocumentCommand{\UseLanguageCORE}{m}{%
+ \PJLlang@langconfig@common%
+ \csname PJL@config@\StrToTYPE{#1}\endcsname%
+ \csname PJLlang@langconfig@\StrToABBR{#1}\endcsname%
+}
+\NewDocumentCommand{\UseLanguage}{m}{%
+ \ifx\@onlypreamble\@notprerr%
+ \UseLanguageCORE{#1}%
+ \else%
+ \AfterEndPreamble{\UseLanguageCORE{#1}}%
+ \fi%
+}
+\NewDocumentCommand{\UseOtherLanguage}{mm}{%
+\begingroup\begingroup%
+ \PJLlang@langconfig@common%
+ \csname PJLlang@langconfig@\StrToABBR{#1}\endcsname%
+ #2%
+\endgroup\endgroup%
+}
+
+\expandafter\UseLanguage\expandafter{\PJLlang@mainlang}
+
+\endinput
+%%
+%% End of file `PJLlang.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLlogo.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLlogo.sty
new file mode 100644
index 00000000000..7d24239fdc4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLlogo.sty
@@ -0,0 +1,72 @@
+%%
+%% This is file `PJLlogo.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLlogo}
+ [2021/12/16 The ProjLib logo]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @PJLlogo,
+ prefix = @PJLlogo@,
+}
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\ProcessKeyvalOptions*\relax
+\if@PJLlogo@draft
+ \@PJLlogo@fasttrue
+\fi
+\if@PJLlogo@fast\def\ProjLib{{\normalfont ProjLib}}\endinput\fi
+
+\RequirePackage{xcolor}
+\RequirePackage{graphicx}
+\ifdefined\fontspec
+ \newfontface{\PJLlogo@font}{LinBiolinum_R.otf}
+\else
+ \RequirePackage[T1]{fontenc}
+ \newcommand{\PJLlogo@font}{\fontfamily{LinuxBiolinumT-TLF}\selectfont}
+\fi
+
+\newcommand{\PJLSigmaJ}{%
+ \vbox{\offinterlineskip
+ \ialign{%
+ \hfil##\hfil\cr
+ \hidewidth\hskip0.15ex\scalebox{0.4}{\rotatebox{-10}{\usefont{U}{zeur}{b}{n}\symbol{"06}}}\hidewidth\cr
+ \noalign{\kern0.15ex}
+ \j\cr
+ }%
+ }%
+}
+
+\newcommand{\ProjLib@generic}[1]{%
+ \begingroup
+ \normalfont\PJLlogo@font
+ \textcolor{blue!60!cyan}{P}%
+ \textcolor{blue!45!cyan}{r}%
+ \textcolor{blue!30!cyan}{o}%
+ \textcolor{green!70!black}{#1}%
+ \textcolor{red!20!yellow}{L}%
+ \textcolor{red!40!yellow}{i}%
+ \textcolor{red!60!yellow}{b}%
+ \endgroup
+}
+\DeclareRobustCommand*{\ProjLib}{\ProjLib@generic{\PJLSigmaJ}}
+\DeclareRobustCommand*{\ProjLibText}{\ProjLib@generic{j}}
+
+\endinput
+%%
+%% End of file `PJLlogo.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLmath.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLmath.sty
new file mode 100644
index 00000000000..3bd389ef50b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLmath.sty
@@ -0,0 +1,315 @@
+%%
+%% This is file `PJLmath.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLmath}
+ [2021/12/16 Useful math macros and shortcuts]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\RequirePackage{mathtools}
+\RequirePackage{mathrsfs}
+\@ifpackageloaded{unicode-math}{}{\RequirePackage{amssymb}}
+
+%%================================
+%% Shorthands
+%%================================
+\providecommand{\N}{\ensuremath{\mathbb{N}}}
+\providecommand{\Z}{\ensuremath{\mathbb{Z}}}
+\providecommand{\Q}{\ensuremath{\mathbb{Q}}}
+\providecommand{\R}{\ensuremath{\mathbb{R}}}
+\providecommand{\C}{\ensuremath{\mathbb{C}}}
+\providecommand{\F}{\ensuremath{\mathbb{F}}}
+\providecommand{\A}{\ensuremath{\mathbb{A}}}
+
+\providecommand{\bb}[1]{\ensuremath{\mathbb{#1}}}
+\providecommand{\bbA}{\ensuremath{\mathbb{A}}}
+\providecommand{\bbB}{\ensuremath{\mathbb{B}}}
+\providecommand{\bbC}{\ensuremath{\mathbb{C}}}
+\providecommand{\bbD}{\ensuremath{\mathbb{D}}}
+\providecommand{\bbE}{\ensuremath{\mathbb{E}}}
+\providecommand{\bbF}{\ensuremath{\mathbb{F}}}
+\providecommand{\bbG}{\ensuremath{\mathbb{G}}}
+\providecommand{\bbH}{\ensuremath{\mathbb{H}}}
+\providecommand{\bbI}{\ensuremath{\mathbb{I}}}
+\providecommand{\bbJ}{\ensuremath{\mathbb{J}}}
+\providecommand{\bbK}{\ensuremath{\mathbb{K}}}
+\providecommand{\bbL}{\ensuremath{\mathbb{L}}}
+\providecommand{\bbM}{\ensuremath{\mathbb{M}}}
+\providecommand{\bbN}{\ensuremath{\mathbb{N}}}
+\providecommand{\bbO}{\ensuremath{\mathbb{O}}}
+\providecommand{\bbP}{\ensuremath{\mathbb{P}}}
+\providecommand{\bbQ}{\ensuremath{\mathbb{Q}}}
+\providecommand{\bbR}{\ensuremath{\mathbb{R}}}
+\providecommand{\bbS}{\ensuremath{\mathbb{S}}}
+\providecommand{\bbT}{\ensuremath{\mathbb{T}}}
+\providecommand{\bbU}{\ensuremath{\mathbb{U}}}
+\providecommand{\bbV}{\ensuremath{\mathbb{V}}}
+\providecommand{\bbW}{\ensuremath{\mathbb{W}}}
+\providecommand{\bbX}{\ensuremath{\mathbb{X}}}
+\providecommand{\bbY}{\ensuremath{\mathbb{Y}}}
+\providecommand{\bbZ}{\ensuremath{\mathbb{Z}}}
+
+\providecommand{\mc}[1]{\ensuremath{\mathcal{#1}}}
+\providecommand{\mcA}{\ensuremath{\mathcal{A}}}
+\providecommand{\mcB}{\ensuremath{\mathcal{B}}}
+\providecommand{\mcC}{\ensuremath{\mathcal{C}}}
+\providecommand{\mcD}{\ensuremath{\mathcal{D}}}
+\providecommand{\mcE}{\ensuremath{\mathcal{E}}}
+\providecommand{\mcF}{\ensuremath{\mathcal{F}}}
+\providecommand{\mcG}{\ensuremath{\mathcal{G}}}
+\providecommand{\mcH}{\ensuremath{\mathcal{H}}}
+\providecommand{\mcI}{\ensuremath{\mathcal{I}}}
+\providecommand{\mcJ}{\ensuremath{\mathcal{J}}}
+\providecommand{\mcK}{\ensuremath{\mathcal{K}}}
+\providecommand{\mcL}{\ensuremath{\mathcal{L}}}
+\providecommand{\mcM}{\ensuremath{\mathcal{M}}}
+\providecommand{\mcN}{\ensuremath{\mathcal{N}}}
+\providecommand{\mcO}{\ensuremath{\mathcal{O}}}
+\providecommand{\mcP}{\ensuremath{\mathcal{P}}}
+\providecommand{\mcQ}{\ensuremath{\mathcal{Q}}}
+\providecommand{\mcR}{\ensuremath{\mathcal{R}}}
+\providecommand{\mcS}{\ensuremath{\mathcal{S}}}
+\providecommand{\mcT}{\ensuremath{\mathcal{T}}}
+\providecommand{\mcU}{\ensuremath{\mathcal{U}}}
+\providecommand{\mcV}{\ensuremath{\mathcal{V}}}
+\providecommand{\mcW}{\ensuremath{\mathcal{W}}}
+\providecommand{\mcX}{\ensuremath{\mathcal{X}}}
+\providecommand{\mcY}{\ensuremath{\mathcal{Y}}}
+\providecommand{\mcZ}{\ensuremath{\mathcal{Z}}}
+
+\providecommand{\cal}[1]{\ensuremath{\mathcal{#1}}}
+\providecommand{\calA}{\ensuremath{\mathcal{A}}}
+\providecommand{\calB}{\ensuremath{\mathcal{B}}}
+\providecommand{\calC}{\ensuremath{\mathcal{C}}}
+\providecommand{\calD}{\ensuremath{\mathcal{D}}}
+\providecommand{\calE}{\ensuremath{\mathcal{E}}}
+\providecommand{\calF}{\ensuremath{\mathcal{F}}}
+\providecommand{\calG}{\ensuremath{\mathcal{G}}}
+\providecommand{\calH}{\ensuremath{\mathcal{H}}}
+\providecommand{\calI}{\ensuremath{\mathcal{I}}}
+\providecommand{\calJ}{\ensuremath{\mathcal{J}}}
+\providecommand{\calK}{\ensuremath{\mathcal{K}}}
+\providecommand{\calL}{\ensuremath{\mathcal{L}}}
+\providecommand{\calM}{\ensuremath{\mathcal{M}}}
+\providecommand{\calN}{\ensuremath{\mathcal{N}}}
+\providecommand{\calO}{\ensuremath{\mathcal{O}}}
+\providecommand{\calP}{\ensuremath{\mathcal{P}}}
+\providecommand{\calQ}{\ensuremath{\mathcal{Q}}}
+\providecommand{\calR}{\ensuremath{\mathcal{R}}}
+\providecommand{\calS}{\ensuremath{\mathcal{S}}}
+\providecommand{\calT}{\ensuremath{\mathcal{T}}}
+\providecommand{\calU}{\ensuremath{\mathcal{U}}}
+\providecommand{\calV}{\ensuremath{\mathcal{V}}}
+\providecommand{\calW}{\ensuremath{\mathcal{W}}}
+\providecommand{\calX}{\ensuremath{\mathcal{X}}}
+\providecommand{\calY}{\ensuremath{\mathcal{Y}}}
+\providecommand{\calZ}{\ensuremath{\mathcal{Z}}}
+
+\providecommand{\mf}[1]{\ensuremath{\mathfrak{#1}}}
+\providecommand{\mfa}{\ensuremath{\mathfrak{a}}}
+\providecommand{\mfb}{\ensuremath{\mathfrak{b}}}
+\providecommand{\mfc}{\ensuremath{\mathfrak{c}}}
+\providecommand{\mfd}{\ensuremath{\mathfrak{d}}}
+\providecommand{\mfe}{\ensuremath{\mathfrak{e}}}
+\providecommand{\mff}{\ensuremath{\mathfrak{f}}}
+\providecommand{\mfg}{\ensuremath{\mathfrak{g}}}
+\providecommand{\mfh}{\ensuremath{\mathfrak{h}}}
+\providecommand{\mfi}{\ensuremath{\mathfrak{i}}}
+\providecommand{\mfj}{\ensuremath{\mathfrak{j}}}
+\providecommand{\mfk}{\ensuremath{\mathfrak{k}}}
+\providecommand{\mfl}{\ensuremath{\mathfrak{l}}}
+\providecommand{\mfm}{\ensuremath{\mathfrak{m}}}
+\providecommand{\mfn}{\ensuremath{\mathfrak{n}}}
+\providecommand{\mfo}{\ensuremath{\mathfrak{o}}}
+\providecommand{\mfp}{\ensuremath{\mathfrak{p}}}
+\providecommand{\mfq}{\ensuremath{\mathfrak{q}}}
+\providecommand{\mfr}{\ensuremath{\mathfrak{r}}}
+\providecommand{\mfs}{\ensuremath{\mathfrak{s}}}
+\providecommand{\mft}{\ensuremath{\mathfrak{t}}}
+\providecommand{\mfu}{\ensuremath{\mathfrak{u}}}
+\providecommand{\mfv}{\ensuremath{\mathfrak{v}}}
+\providecommand{\mfw}{\ensuremath{\mathfrak{w}}}
+\providecommand{\mfx}{\ensuremath{\mathfrak{x}}}
+\providecommand{\mfy}{\ensuremath{\mathfrak{y}}}
+\providecommand{\mfz}{\ensuremath{\mathfrak{z}}}
+\providecommand{\mfA}{\ensuremath{\mathfrak{A}}}
+\providecommand{\mfB}{\ensuremath{\mathfrak{B}}}
+\providecommand{\mfC}{\ensuremath{\mathfrak{C}}}
+\providecommand{\mfD}{\ensuremath{\mathfrak{D}}}
+\providecommand{\mfE}{\ensuremath{\mathfrak{E}}}
+\providecommand{\mfF}{\ensuremath{\mathfrak{F}}}
+\providecommand{\mfG}{\ensuremath{\mathfrak{G}}}
+\providecommand{\mfH}{\ensuremath{\mathfrak{H}}}
+\providecommand{\mfI}{\ensuremath{\mathfrak{I}}}
+\providecommand{\mfJ}{\ensuremath{\mathfrak{J}}}
+\providecommand{\mfK}{\ensuremath{\mathfrak{K}}}
+\providecommand{\mfL}{\ensuremath{\mathfrak{L}}}
+\providecommand{\mfM}{\ensuremath{\mathfrak{M}}}
+\providecommand{\mfN}{\ensuremath{\mathfrak{N}}}
+\providecommand{\mfO}{\ensuremath{\mathfrak{O}}}
+\providecommand{\mfP}{\ensuremath{\mathfrak{P}}}
+\providecommand{\mfQ}{\ensuremath{\mathfrak{Q}}}
+\providecommand{\mfR}{\ensuremath{\mathfrak{R}}}
+\providecommand{\mfS}{\ensuremath{\mathfrak{S}}}
+\providecommand{\mfT}{\ensuremath{\mathfrak{T}}}
+\providecommand{\mfU}{\ensuremath{\mathfrak{U}}}
+\providecommand{\mfV}{\ensuremath{\mathfrak{V}}}
+\providecommand{\mfW}{\ensuremath{\mathfrak{W}}}
+\providecommand{\mfX}{\ensuremath{\mathfrak{X}}}
+\providecommand{\mfY}{\ensuremath{\mathfrak{Y}}}
+\providecommand{\mfZ}{\ensuremath{\mathfrak{Z}}}
+
+\providecommand{\frak}[1]{\ensuremath{\mathfrak{#1}}}
+\providecommand{\fraka}{\ensuremath{\mathfrak{a}}}
+\providecommand{\frakb}{\ensuremath{\mathfrak{b}}}
+\providecommand{\frakc}{\ensuremath{\mathfrak{c}}}
+\providecommand{\frakd}{\ensuremath{\mathfrak{d}}}
+\providecommand{\frake}{\ensuremath{\mathfrak{e}}}
+\providecommand{\frakf}{\ensuremath{\mathfrak{f}}}
+\providecommand{\frakg}{\ensuremath{\mathfrak{g}}}
+\providecommand{\frakh}{\ensuremath{\mathfrak{h}}}
+\providecommand{\fraki}{\ensuremath{\mathfrak{i}}}
+\providecommand{\frakj}{\ensuremath{\mathfrak{j}}}
+\providecommand{\frakk}{\ensuremath{\mathfrak{k}}}
+\providecommand{\frakl}{\ensuremath{\mathfrak{l}}}
+\providecommand{\frakm}{\ensuremath{\mathfrak{m}}}
+\providecommand{\frakn}{\ensuremath{\mathfrak{n}}}
+\providecommand{\frako}{\ensuremath{\mathfrak{o}}}
+\providecommand{\frakp}{\ensuremath{\mathfrak{p}}}
+\providecommand{\frakq}{\ensuremath{\mathfrak{q}}}
+\providecommand{\frakr}{\ensuremath{\mathfrak{r}}}
+\providecommand{\fraks}{\ensuremath{\mathfrak{s}}}
+\providecommand{\frakt}{\ensuremath{\mathfrak{t}}}
+\providecommand{\fraku}{\ensuremath{\mathfrak{u}}}
+\providecommand{\frakv}{\ensuremath{\mathfrak{v}}}
+\providecommand{\frakw}{\ensuremath{\mathfrak{w}}}
+\providecommand{\frakx}{\ensuremath{\mathfrak{x}}}
+\providecommand{\fraky}{\ensuremath{\mathfrak{y}}}
+\providecommand{\frakz}{\ensuremath{\mathfrak{z}}}
+\providecommand{\frakA}{\ensuremath{\mathfrak{A}}}
+\providecommand{\frakB}{\ensuremath{\mathfrak{B}}}
+\providecommand{\frakC}{\ensuremath{\mathfrak{C}}}
+\providecommand{\frakD}{\ensuremath{\mathfrak{D}}}
+\providecommand{\frakE}{\ensuremath{\mathfrak{E}}}
+\providecommand{\frakF}{\ensuremath{\mathfrak{F}}}
+\providecommand{\frakG}{\ensuremath{\mathfrak{G}}}
+\providecommand{\frakH}{\ensuremath{\mathfrak{H}}}
+\providecommand{\frakI}{\ensuremath{\mathfrak{I}}}
+\providecommand{\frakJ}{\ensuremath{\mathfrak{J}}}
+\providecommand{\frakK}{\ensuremath{\mathfrak{K}}}
+\providecommand{\frakL}{\ensuremath{\mathfrak{L}}}
+\providecommand{\frakM}{\ensuremath{\mathfrak{M}}}
+\providecommand{\frakN}{\ensuremath{\mathfrak{N}}}
+\providecommand{\frakO}{\ensuremath{\mathfrak{O}}}
+\providecommand{\frakP}{\ensuremath{\mathfrak{P}}}
+\providecommand{\frakQ}{\ensuremath{\mathfrak{Q}}}
+\providecommand{\frakR}{\ensuremath{\mathfrak{R}}}
+\providecommand{\frakS}{\ensuremath{\mathfrak{S}}}
+\providecommand{\frakT}{\ensuremath{\mathfrak{T}}}
+\providecommand{\frakU}{\ensuremath{\mathfrak{U}}}
+\providecommand{\frakV}{\ensuremath{\mathfrak{V}}}
+\providecommand{\frakW}{\ensuremath{\mathfrak{W}}}
+\providecommand{\frakX}{\ensuremath{\mathfrak{X}}}
+\providecommand{\frakY}{\ensuremath{\mathfrak{Y}}}
+\providecommand{\frakZ}{\ensuremath{\mathfrak{Z}}}
+
+\providecommand{\ms}[1]{\ensuremath{\mathscr{#1}}}
+\providecommand{\msA}{\ensuremath{\mathscr{A}}}
+\providecommand{\msB}{\ensuremath{\mathscr{B}}}
+\providecommand{\msC}{\ensuremath{\mathscr{C}}}
+\providecommand{\msD}{\ensuremath{\mathscr{D}}}
+\providecommand{\msE}{\ensuremath{\mathscr{E}}}
+\providecommand{\msF}{\ensuremath{\mathscr{F}}}
+\providecommand{\msG}{\ensuremath{\mathscr{G}}}
+\providecommand{\msH}{\ensuremath{\mathscr{H}}}
+\providecommand{\msI}{\ensuremath{\mathscr{I}}}
+\providecommand{\msJ}{\ensuremath{\mathscr{J}}}
+\providecommand{\msK}{\ensuremath{\mathscr{K}}}
+\providecommand{\msL}{\ensuremath{\mathscr{L}}}
+\providecommand{\msM}{\ensuremath{\mathscr{M}}}
+\providecommand{\msN}{\ensuremath{\mathscr{N}}}
+\providecommand{\msO}{\ensuremath{\mathscr{O}}}
+\providecommand{\msP}{\ensuremath{\mathscr{P}}}
+\providecommand{\msQ}{\ensuremath{\mathscr{Q}}}
+\providecommand{\msR}{\ensuremath{\mathscr{R}}}
+\providecommand{\msS}{\ensuremath{\mathscr{S}}}
+\providecommand{\msT}{\ensuremath{\mathscr{T}}}
+\providecommand{\msU}{\ensuremath{\mathscr{U}}}
+\providecommand{\msV}{\ensuremath{\mathscr{V}}}
+\providecommand{\msW}{\ensuremath{\mathscr{W}}}
+\providecommand{\msX}{\ensuremath{\mathscr{X}}}
+\providecommand{\msY}{\ensuremath{\mathscr{Y}}}
+\providecommand{\msZ}{\ensuremath{\mathscr{Z}}}
+
+\providecommand{\scr}[1]{\ensuremath{\mathscr{#1}}}
+\providecommand{\scrA}{\ensuremath{\mathscr{A}}}
+\providecommand{\scrB}{\ensuremath{\mathscr{B}}}
+\providecommand{\scrC}{\ensuremath{\mathscr{C}}}
+\providecommand{\scrD}{\ensuremath{\mathscr{D}}}
+\providecommand{\scrE}{\ensuremath{\mathscr{E}}}
+\providecommand{\scrF}{\ensuremath{\mathscr{F}}}
+\providecommand{\scrG}{\ensuremath{\mathscr{G}}}
+\providecommand{\scrH}{\ensuremath{\mathscr{H}}}
+\providecommand{\scrI}{\ensuremath{\mathscr{I}}}
+\providecommand{\scrJ}{\ensuremath{\mathscr{J}}}
+\providecommand{\scrK}{\ensuremath{\mathscr{K}}}
+\providecommand{\scrL}{\ensuremath{\mathscr{L}}}
+\providecommand{\scrM}{\ensuremath{\mathscr{M}}}
+\providecommand{\scrN}{\ensuremath{\mathscr{N}}}
+\providecommand{\scrO}{\ensuremath{\mathscr{O}}}
+\providecommand{\scrP}{\ensuremath{\mathscr{P}}}
+\providecommand{\scrQ}{\ensuremath{\mathscr{Q}}}
+\providecommand{\scrR}{\ensuremath{\mathscr{R}}}
+\providecommand{\scrS}{\ensuremath{\mathscr{S}}}
+\providecommand{\scrT}{\ensuremath{\mathscr{T}}}
+\providecommand{\scrU}{\ensuremath{\mathscr{U}}}
+\providecommand{\scrV}{\ensuremath{\mathscr{V}}}
+\providecommand{\scrW}{\ensuremath{\mathscr{W}}}
+\providecommand{\scrX}{\ensuremath{\mathscr{X}}}
+\providecommand{\scrY}{\ensuremath{\mathscr{Y}}}
+\providecommand{\scrZ}{\ensuremath{\mathscr{Z}}}
+
+%%================================
+%% General symbols
+%%================================
+\providecommand{\abs}[1]{\lvert#1\rvert}
+\providecommand{\norm}[1]{\lVert#1\rVert}
+
+\providecommand*{\injection}{\ensuremath{\hookrightarrow}}
+\providecommand*{\surjection}{\ensuremath{\twoheadrightarrow}}
+\providecommand*{\bijection}{\ensuremath{\xrightarrow{\sim}}}
+
+%%================================
+%% Symbols for number theory
+%%================================
+\ifdefined\@@pmod\else
+\let\@@pmod\pmod
+\DeclareRobustCommand{\pmod}{\@ifstar\@pmods\@@pmod}
+\def\@pmods#1{\mkern4mu({\operator@font mod}\mkern 6mu#1)}
+\fi
+
+\providecommand{\genlegendre}[4]{%
+ \genfrac{(}{)}{}{#1}{#3}{#4}%
+ \if\relax\detokenize{#2}\relax\else_{\!#2}\fi%
+}
+\providecommand{\legendre}[3][]{\genlegendre{}{#1}{#2}{#3}}
+\providecommand{\dlegendre}[3][]{\genlegendre{0}{#1}{#2}{#3}}
+\providecommand{\tlegendre}[3][]{\genlegendre{1}{#1}{#2}{#3}}
+
+\endinput
+%%
+%% End of file `PJLmath.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLpaper.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLpaper.sty
new file mode 100644
index 00000000000..4b963c069af
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLpaper.sty
@@ -0,0 +1,96 @@
+%%
+%% This is file `PJLpaper.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLpaper}
+ [2021/12/16 Paper style configuration]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\RequirePackage{ifthen}
+
+\SetupKeyvalOptions{%
+ family = @PJLpaper,
+ prefix = @PJLpaper@,
+ setkeys=\kvsetkeys
+}
+
+\DeclareStringOption[normal]{paperstyle}
+\DeclareVoidOption{yellowpaper}{\kvsetkeys{@PJLpaper}{paperstyle=yellow}}
+\DeclareVoidOption{darkpaper}{\kvsetkeys{@PJLpaper}{paperstyle=dark}}
+\DeclareVoidOption{nordpaper}{\kvsetkeys{@PJLpaper}{paperstyle=nord}}
+\DeclareBoolOption[false]{preview}
+\ProcessKeyvalOptions*\relax
+
+%%================================
+%% Preview mode
+%%================================
+\ifdefined\PJLnoPreview\else%
+ \if@PJLpaper@preview%
+ \RequirePackage{calc}
+ \AtEndPreamble{%
+ \setlength{\paperwidth}{\textwidth*\real{1.05}}%
+ \setlength{\paperheight}{%
+ (\textheight+\headheight+\headsep+\footskip)*\real{1.05}}%
+ \setlength{\oddsidemargin}{(\paperwidth-\textwidth)/2-1in}%
+ \setlength{\evensidemargin}{(\paperwidth-\textwidth)/2-1in}%
+ \setlength{\topmargin}{(\paperheight-\textheight-\headheight-\headsep-\footskip)/2- 1in}%
+ }
+ \fi
+\fi
+
+%%================================
+%% Paper color
+%%================================
+\RequirePackage{xcolor}
+\definecolor{paper}{RGB}{255,255,255}
+\definecolor{maintext}{RGB}{0,0,0}
+
+\ifthenelse{\equal{\@PJLpaper@paperstyle}{yellow}}
+{
+ \definecolor{paper}{RGB}{247,246,233}
+}
+{\relax}
+
+\ifthenelse{\equal{\@PJLpaper@paperstyle}{dark}}
+{
+ \definecolor{paper}{RGB}{30,30,30}
+ \definecolor{maintext}{RGB}{207,207,207}
+}
+{\relax}
+
+\ifthenelse{\equal{\@PJLpaper@paperstyle}{nord}}
+{
+ \definecolor{paper}{RGB}{46,52,64}
+ \definecolor{maintext}{RGB}{214,220,230}
+}
+{\relax}
+
+\newcommand{\PJLglobalcolor}[1]{%
+ \color{#1}\global\let\default@color\current@color
+}
+
+\pagecolor{paper}
+\PJLglobalcolor{maintext}
+\AtEndPreamble{
+\ifdefined\tcbset%
+ \tcbset{colupper=maintext,collower=maintext}
+\fi
+}
+
+\endinput
+%%
+%% End of file `PJLpaper.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLthm.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLthm.sty
new file mode 100644
index 00000000000..4e6d00d4d28
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLthm.sty
@@ -0,0 +1,2019 @@
+%%
+%% This is file `PJLthm.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLthm}
+ [2021/12/16 Theorem setup and configuration]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{%
+ family = @PJLthm,
+ prefix = @PJLthm@
+}
+\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{delaythms}
+\DeclareBoolOption[false]{nothmnum}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[true]{regionalref}
+\DeclareBoolOption[false]{originalref}
+\DeclareBoolOption[true]{complexname}
+\DeclareBoolOption[false]{simplename}
+\ProcessKeyvalOptions*\relax
+\if@PJLthm@originalref
+ \@PJLthm@regionalreffalse
+\fi
+\if@PJLthm@simplename
+ \@PJLthm@complexnamefalse
+\fi
+\if@PJLthm@draft
+ \@PJLthm@fasttrue
+\fi
+\if@PJLthm@fast
+ \@PJLthm@regionalreftrue
+\fi
+
+\@ifclassloaded{beamer}{%
+ \RequirePackage{silence}
+ \WarningFilter{cleveref}{hyperref package loaded with implicit=false option}
+ \@PJLthm@nothmnumtrue%
+ \if@PJLthm@nothms\else%
+ \let\theorem\relax
+ \let\lemma\relax
+ \let\corollary\relax
+ \let\definition\relax
+ \let\fact\relax
+ \let\example\relax
+ \let\problem\relax
+ \fi
+}{}
+
+\RequirePackage{PJLlang}
+\RequirePackage{amsmath,amsthm}
+\RequirePackage{aliascnt}
+\PassOptionsToPackage{nameinlink}{cleveref}
+\RequirePackage{crefthe}
+
+\RequirePackage{xparse}
+\RequirePackage{xstring}
+\NewDocumentCommand{\NameTheorem}{omm}{%
+ \protected@edef\PJLthm@temp{#2}%
+ \expandafter\IfEndWith\expandafter{\PJLthm@temp}{*}{%
+ \expandafter\StrGobbleRight\expandafter{\PJLthm@temp}{1}[\PJLthm@temp]%
+ }{}%
+ \IfSubStr{\detokenize{#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}%
+ }%
+ }%
+}
+
+\newcommand\PassFirstToSecond[2]{#2{#1}}%
+\NewDocumentCommand{\CreateTheorem}{sm}{%
+ \begingroup
+ \protected@edef\PJLthm@temp{#2}%
+ \expandafter\IfEndWith\expandafter{\PJLthm@temp}{*}{%
+ \expandafter\StrGobbleRight\expandafter{\PJLthm@temp}{1}[\PJLthm@temp]%
+ \PassFirstToSecond{*}%
+ }{%
+ \PassFirstToSecond{}%
+ }%
+ {\expandafter\PassFirstToSecond%
+ \expandafter{\PJLthm@temp}{\endgroup\InnerCreateTheorem{#1}}}%
+}%
+\if@PJLthm@regionalref
+\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()g}{%
+ \IfBooleanTF{#1}{%
+ \IfValueTF{#4}
+ {\@firstoftwo}
+ {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
+ }{%
+ \IfValueTF{#4}
+ {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
+ \@secondoftwo}
+ }%
+ {%
+ \GenericError{}%
+ {\string\CreateTheorem\space syntax error\on@line}{%
+ You cannot call the starred variant with optional argument,\MessageBreak
+ nor call the unstarred variant with several optional arguments.}%
+ {}%
+ }{%
+ \IfValueTF{#6}{%
+ \IfBooleanTF{#1}{%
+ \ifcsmacro{#2#3}%
+ {\renewenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
+ {\newenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
+ }{%
+ \ifcsmacro{#2#3}%
+ {\renewenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
+ {\newenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
+ }
+ }{%
+ \IfBooleanTF{#1}{%
+ \newtheorem*{#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}
+ }{%
+ \IfValueTF{#5}{%
+ \newtheorem{PJL#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}[#5]%
+ \newaliascnt{#2#3}{PJL#2#3}%
+ }{%
+ \IfValueTF{#4}{%
+ \newtheorem{PJL#2#3}[#4]{\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ }{%
+ \newtheorem{PJL#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ \newaliascnt{#2#3}{PJL#2#3}%
+ }%
+ }%
+ \ifcsname cref@PJL#2#3@name\endcsname\else%
+ \crefname{PJL#2#3}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ \fi%
+ \ifcsname Cref@PJL#2#3@name\endcsname\else%
+ \Crefname{PJL#2#3}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ \fi%
+ \NewDocumentEnvironment{#2#3}{}
+ {\begin{PJL#2#3}}
+ {\end{PJL#2#3}}
+ }%
+ }%
+ }%
+ \IfValueTF{#7}{%
+ \NameTheorem{#2}{#7}%
+ }{}%
+}%
+\else
+\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()g}{%
+ \IfBooleanTF{#1}{%
+ \IfValueTF{#4}
+ {\@firstoftwo}
+ {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
+ }{%
+ \IfValueTF{#4}
+ {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
+ \@secondoftwo}
+ }%
+ {%
+ \GenericError{}%
+ {\string\CreateTheorem\space syntax error\on@line}{%
+ You cannot call the starred variant with optional argument,\MessageBreak
+ nor call the unstarred variant with several optional arguments.}%
+ {%
+ Allowed usage:\MessageBreak\MessageBreak
+ \CreateTheorem*{(name of environment)}\MessageBreak
+ \CreateTheorem{(name of environment)}\MessageBreak
+ \CreateTheorem{(name of environment)}[(numbered like)]\MessageBreak
+ \CreateTheorem{(name of environment)}<(numbered within)>\MessageBreak
+ \CreateTheorem{(name of environment)}((existed environment))\MessageBreak
+ }%
+ }{%
+ \IfValueTF{#6}{%
+ \IfBooleanTF{#1}{%
+ \ifcsmacro{#2#3}%
+ {\renewenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
+ {\newenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
+ }{%
+ \ifcsmacro{#2#3}%
+ {\renewenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
+ {\newenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
+ }
+ }{%
+ \IfBooleanTF{#1}{%
+ \if@PJLlang@enable@EN\expandafter\PassFirstToSecond\expandafter{\csname#2nameEN\endcsname}{\newtheorem*{#2EN#3}}\fi%
+ \if@PJLlang@enable@FR\expandafter\PassFirstToSecond\expandafter{\csname#2nameFR\endcsname}{\newtheorem*{#2FR#3}}\fi%
+ \if@PJLlang@enable@DE\expandafter\PassFirstToSecond\expandafter{\csname#2nameDE\endcsname}{\newtheorem*{#2DE#3}}\fi%
+ \if@PJLlang@enable@IT\expandafter\PassFirstToSecond\expandafter{\csname#2nameIT\endcsname}{\newtheorem*{#2IT#3}}\fi%
+ \if@PJLlang@enable@PT\expandafter\PassFirstToSecond\expandafter{\csname#2namePT\endcsname}{\newtheorem*{#2PT#3}}\fi%
+ \if@PJLlang@enable@BR\expandafter\PassFirstToSecond\expandafter{\csname#2nameBR\endcsname}{\newtheorem*{#2BR#3}}\fi%
+ \if@PJLlang@enable@ES\expandafter\PassFirstToSecond\expandafter{\csname#2nameES\endcsname}{\newtheorem*{#2ES#3}}\fi%
+ \if@PJLlang@enable@CN\expandafter\PassFirstToSecond\expandafter{\csname#2nameCN\endcsname}{\newtheorem*{#2CN#3}}\fi%
+ \if@PJLlang@enable@TC\expandafter\PassFirstToSecond\expandafter{\csname#2nameTC\endcsname}{\newtheorem*{#2TC#3}}\fi%
+ \if@PJLlang@enable@JP\expandafter\PassFirstToSecond\expandafter{\csname#2nameJP\endcsname}{\newtheorem*{#2JP#3}}\fi%
+ \if@PJLlang@enable@RU\expandafter\PassFirstToSecond\expandafter{\csname#2nameRU\endcsname}{\newtheorem*{#2RU#3}}\fi%
+ }{%
+ \IfValueTF{#5}{%
+ \newcounter{#2#3}[{#5}]%
+ \expandafter\renewcommand\expandafter*%
+ \csname the#2#3\expandafter\endcsname%
+ \expandafter{\csname the#5\endcsname.\arabic{#2#3}}%
+ }{%
+ \IfValueTF{#4}
+ {\newaliascnt{#2#3}{#4}}
+ {\newcounter{#2#3}}%
+ }%
+ %---------------------------------------------------------------
+ \if@PJLlang@enable@EN\CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}\fi%
+ \if@PJLlang@enable@FR\CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}\fi%
+ \if@PJLlang@enable@DE\CreateTheoremNumberedLikeAliasCounter{#2}{DE}{#3}\fi%
+ \if@PJLlang@enable@IT\CreateTheoremNumberedLikeAliasCounter{#2}{IT}{#3}\fi%
+ \if@PJLlang@enable@PT\CreateTheoremNumberedLikeAliasCounter{#2}{PT}{#3}\fi%
+ \if@PJLlang@enable@BR\CreateTheoremNumberedLikeAliasCounter{#2}{BR}{#3}\fi%
+ \if@PJLlang@enable@ES\CreateTheoremNumberedLikeAliasCounter{#2}{ES}{#3}\fi%
+ \if@PJLlang@enable@CN\CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}\fi%
+ \if@PJLlang@enable@TC\CreateTheoremNumberedLikeAliasCounter{#2}{TC}{#3}\fi%
+ \if@PJLlang@enable@JP\CreateTheoremNumberedLikeAliasCounter{#2}{JP}{#3}\fi%
+ \if@PJLlang@enable@RU\CreateTheoremNumberedLikeAliasCounter{#2}{RU}{#3}\fi%
+ %---------------------------------------------------------------
+ }%
+ \NewDocumentEnvironment{#2#3}{}
+ {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
+ {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
+ }%
+ }%
+ \IfValueTF{#7}{%
+ \NameTheorem{#2}{#7}%
+ }{}%
+}%
+\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
+ \newaliascnt{#1#2#3}{#1#3}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}{\newtheorem{#1#2#3}[{#1#2#3}]}%
+ \aliascntresetthe{#1#2#3}%
+ \ifcsname cref@#1#2#3@name\endcsname\else%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {\crefname{#1#2#3}}%
+ }%
+ \fi%
+ \ifcsname Cref@#1#2#3@name\endcsname\else%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {\Crefname{#1#2#3}}%
+ }%
+ \fi%
+}%
+\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 } {
+ \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 {
+ \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 }
+ }%
+ {%
+ \keys_set:nn { PJLthm } { #2 }
+ }%
+}%
+
+\keys_define:nn { PJLthm } {
+ crefname.code:n = \cs_if_exist:NTF \crefname {
+ \ifbool{@PJLthm@regionalref}{
+ \exp_args:Nx \PJLthm@setcrefinnername{PJL\__PJLthm_countername: \__PJLthm_languageprefix: }#1
+ \exp_args:Nx \PJLthm@setcrefname{PJL\__PJLthm_countername: }
+ }{
+ \exp_args:Nx \crefname {\__PJLthm_countername: \__PJLthm_languageprefix: }#1
+ }
+ }{},
+ crefname.value_required:n = true,
+ Crefname.code:n = \cs_if_exist:NTF \Crefname {
+ \ifbool{@PJLthm@regionalref}{
+ \exp_args:Nx \PJLthm@setCrefinnername{PJL\__PJLthm_countername: \__PJLthm_languageprefix: }#1
+ \exp_args:Nx \PJLthm@setCrefname{PJL\__PJLthm_countername: }
+ }{
+ \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
+
+\newcommand{\PJLthm@setcrefinnername}[3]{%
+ \expandafter\def\csname PJLthm@cref@#1@name\endcsname{#2}%
+ \expandafter\def\csname PJLthm@cref@#1@name@plural\endcsname{#3}%
+}
+\newcommand{\PJLthm@setCrefinnername}[3]{%
+ \expandafter\def\csname PJLthm@Cref@#1@name\endcsname{#2}%
+ \expandafter\def\csname PJLthm@Cref@#1@name@plural\endcsname{#3}%
+}
+
+\newcommand{\PJLthm@setcrefname}[1]{%
+ \crefname{#1}%
+ {\csname PJLthm@cref@#1\csname\languagename ABBR\endcsname @name\endcsname}%
+ {\csname PJLthm@cref@#1\csname\languagename ABBR\endcsname @name@plural\endcsname}%
+}
+\newcommand{\PJLthm@setCrefname}[1]{%
+ \Crefname{#1}%
+ {\csname PJLthm@Cref@#1\csname\languagename ABBR\endcsname @name\endcsname}%
+ {\csname PJLthm@Cref@#1\csname\languagename ABBR\endcsname @name@plural\endcsname}%
+}
+
+\ifbool{@PJLthm@complexname}{
+ \NameTheorem{theorem}{
+ EN = {
+ name = {Theorem},
+ crefname = {theorem}{theorems},
+ Crefname = {Theorem}{Theorems},
+ },
+ FR = {
+ name = {Théorème},
+ crefname = {\crefthemark{le} théorème}{\crefthemark{les} théorèmes},
+ Crefname = {Le théorème}{Les théorèmes},
+ },
+ DE = {
+ name = {Satz},
+ crefname = {Satz}{Sätze},
+ Crefname = {Satz}{Sätze},
+ },
+ IT = {
+ name = {Teorema},
+ crefname = {\crefthemark{il} teorema}{\crefthemark{i} teoremi},
+ Crefname = {Il teorema}{I teoremi},
+ },
+ PT = {
+ name = {Teorema},
+ crefname = {\crefthemark{o} teorema}{\crefthemark{os} teoremas},
+ Crefname = {O teorema}{Os teoremas},
+ },
+ BR = {
+ name = {Teorema},
+ crefname = {\crefthemark{o} teorema}{\crefthemark{os} teoremas},
+ Crefname = {O teorema}{Os teoremas},
+ },
+ ES = {
+ name = {Teorema},
+ crefname = {\crefthemark{el} teorema}{los teoremas},
+ Crefname = {El teorema}{Los teoremas},
+ },
+ CN = {
+ name = {定理},
+ crefname = {定理}{定理},
+ Crefname = {定理}{定理},
+ },
+ TC = {
+ name = {定理},
+ crefname = {定理}{定理},
+ Crefname = {定理}{定理},
+ },
+ JP = {
+ name = {定理},
+ crefname = {定理}{定理},
+ Crefname = {定理}{定理},
+ },
+ RU = {
+ name = {Теорема},
+ crefname = {теорема}{теоремы},
+ Crefname = {Теорема}{Теоремы},
+ },
+ }
+ \NameTheorem{lemma}{
+ EN = {
+ name = {Lemma},
+ crefname = {lemma}{Lemmas},
+ Crefname = {Lemma}{Lemmas},
+ },
+ FR = {
+ name = {Lemme},
+ crefname = {\crefthemark{le} lemme}{\crefthemark{les} lemmes},
+ Crefname = {Le lemme}{Les lemmes},
+ },
+ DE = {
+ name = {Lemma},
+ crefname = {Lemma}{Lemmata},
+ Crefname = {Lemma}{Lemmata},
+ },
+ IT = {
+ name = {Lemma},
+ crefname = {\crefthemark{il} lemma}{\crefthemark{i} lemmi},
+ Crefname = {Il lemma}{I lemmi},
+ },
+ PT = {
+ name = {Lema},
+ crefname = {\crefthemark{o} lema}{\crefthemark{os} lemas},
+ Crefname = {O lema}{Os lemas},
+ },
+ BR = {
+ name = {Lema},
+ crefname = {\crefthemark{o} lema}{\crefthemark{os} lemas},
+ Crefname = {O lema}{Os lemas},
+ },
+ ES = {
+ name = {Lema},
+ crefname = {\crefthemark{el} lema}{las lemas},
+ Crefname = {El lema}{Las lemas},
+ },
+ CN = {
+ name = {引理},
+ crefname = {引理}{引理},
+ Crefname = {引理}{引理},
+ },
+ TC = {
+ name = {引理},
+ crefname = {引理}{引理},
+ Crefname = {引理}{引理},
+ },
+ JP = {
+ name = {補題},
+ crefname = {補題}{補題},
+ Crefname = {補題}{補題},
+ },
+ RU = {
+ name = {Лемма},
+ crefname = {лемма}{леммы},
+ Crefname = {Лемма}{Леммы},
+ },
+ }
+ \NameTheorem{proposition}{
+ EN = {
+ name = {Proposition},
+ crefname = {proposition}{propositions},
+ Crefname = {Proposition}{Propositions},
+ },
+ FR = {
+ name = {Proposition},
+ crefname = {\crefthemark{la} proposition}{\crefthemark{les} propositions},
+ Crefname = {La proposition}{Les propositions},
+ },
+ DE = {
+ name = {Proposition},
+ crefname = {Proposition}{Propositionen},
+ Crefname = {Proposition}{Propositionen},
+ },
+ IT = {
+ name = {Proposizione},
+ crefname = {\crefthemark{la} proposizione}{\crefthemark{le} proposte},
+ Crefname = {La proposizione}{Le proposte},
+ },
+ PT = {
+ name = {Proposição},
+ crefname = {\crefthemark{a} proposição}{\crefthemark{as} proposições},
+ Crefname = {A proposição}{As proposições},
+ },
+ BR = {
+ name = {Proposição},
+ crefname = {\crefthemark{a} proposição}{\crefthemark{as} proposições},
+ Crefname = {A proposição}{As proposições},
+ },
+ ES = {
+ name = {Proposición},
+ crefname = {la proposición}{las proposiciones},
+ Crefname = {La proposición}{Las proposiciones},
+ },
+ CN = {
+ name = {命题},
+ crefname = {命题}{命题},
+ Crefname = {命题}{命题},
+ },
+ TC = {
+ name = {命題},
+ crefname = {命題}{命題},
+ Crefname = {命題}{命題},
+ },
+ JP = {
+ name = {命題},
+ crefname = {命題}{命題},
+ Crefname = {命題}{命題},
+ },
+ RU = {
+ name = {Предложение},
+ crefname = {предложение}{предложения},
+ Crefname = {Предложение}{Предложения},
+ },
+ }
+ \NameTheorem{corollary}{
+ EN = {
+ name = {Corollary},
+ crefname = {corollary}{corollaries},
+ Crefname = {Corollary}{Corollaries},
+ },
+ FR = {
+ name = {Corollaire},
+ crefname = {\crefthemark{le} corollaire}{\crefthemark{les} corollaires},
+ Crefname = {Le corollaire}{Les corollaires},
+ },
+ DE = {
+ name = {Korollar},
+ crefname = {Korollar}{Korollare},
+ Crefname = {Korollar}{Korollare},
+ },
+ IT = {
+ name = {Corollario},
+ crefname = {\crefthemark{il} corollario}{\crefthemark{i} corollari},
+ Crefname = {Il corollario}{I corollari},
+ },
+ PT = {
+ name = {Corolário},
+ crefname = {\crefthemark{o} corolário}{\crefthemark{os} corolários},
+ Crefname = {O corolário}{Os corolários},
+ },
+ BR = {
+ name = {Corolário},
+ crefname = {\crefthemark{o} corolário}{\crefthemark{os} corolários},
+ Crefname = {O corolário}{Os corolários},
+ },
+ ES = {
+ name = {Corolario},
+ crefname = {\crefthemark{el} corolario}{los corolarios},
+ Crefname = {El corolario}{Los corolarios},
+ },
+ CN = {
+ name = {推论},
+ crefname = {推论}{推论},
+ Crefname = {推论}{推论},
+ },
+ TC = {
+ name = {推論},
+ crefname = {推論}{推論},
+ Crefname = {推論}{推論},
+ },
+ JP = {
+ name = {系},
+ crefname = {系}{系},
+ Crefname = {系}{系},
+ },
+ RU = {
+ name = {Следствие},
+ crefname = {следствие}{следствия},
+ Crefname = {Следствие}{Следствия},
+ },
+ }
+ \NameTheorem{property}{
+ EN = {
+ name = {Property},
+ crefname = {property}{properties},
+ Crefname = {Property}{Properties},
+ },
+ FR = {
+ name = {Propriété},
+ crefname = {\crefthemark{la} propriété}{\crefthemark{les} propriétés},
+ Crefname = {La propriété}{Les propriétés},
+ },
+ DE = {
+ name = {Eigenschaft},
+ crefname = {Eigenschaft}{Eigenschaften},
+ Crefname = {Eigenschaft}{Eigenschaften},
+ },
+ IT = {
+ name = {Proprietà},
+ crefname = {\crefthemark{la} proprietà}{\crefthemark{le} proprietà},
+ Crefname = {La proprietà}{Le proprietà},
+ },
+ PT = {
+ name = {Propriedade},
+ crefname = {\crefthemark{a} propriedade}{\crefthemark{as} propriedades},
+ Crefname = {A propriedade}{As propriedades},
+ },
+ BR = {
+ name = {Propriedade},
+ crefname = {\crefthemark{a} propriedade}{\crefthemark{as} propriedades},
+ Crefname = {A propriedade}{As propriedades},
+ },
+ ES = {
+ name = {Propiedad},
+ crefname = {la propiedad}{las propiedades},
+ Crefname = {La propiedad}{Las propiedades},
+ },
+ CN = {
+ name = {性质},
+ crefname = {性质}{性质},
+ Crefname = {性质}{性质},
+ },
+ TC = {
+ name = {性質},
+ crefname = {性質}{性質},
+ Crefname = {性質}{性質},
+ },
+ JP = {
+ name = {性質},
+ crefname = {性質}{性質},
+ Crefname = {性質}{性質},
+ },
+ RU = {
+ name = {Имущество},
+ crefname = {имущество}{имущества},
+ Crefname = {Имущество}{Имущества},
+ },
+ }
+ \NameTheorem{fact}{
+ EN = {
+ name = {Fact},
+ crefname = {fact}{facts},
+ Crefname = {Fact}{Facts},
+ },
+ FR = {
+ name = {Fait},
+ crefname = {\crefthemark{le} fait}{\crefthemark{les} faits},
+ Crefname = {Le fait}{Les faits},
+ },
+ DE = {
+ name = {Fakt},
+ crefname = {Fakt}{Fakten},
+ Crefname = {Fakt}{Fakten},
+ },
+ IT = {
+ name = {Fatto},
+ crefname = {\crefthemark{il} fatto}{\crefthemark{i} fatti},
+ Crefname = {Il fatto}{I fatti},
+ },
+ PT = {
+ name = {Facto},
+ crefname = {\crefthemark{o} facto}{\crefthemark{os} factos},
+ Crefname = {O facto}{Os factos},
+ },
+ BR = {
+ name = {Fato},
+ crefname = {\crefthemark{o} fato}{\crefthemark{os} fatos},
+ Crefname = {O fato}{Os fatos},
+ },
+ ES = {
+ name = {Hecho},
+ crefname = {\crefthemark{el} hecho}{los hechos},
+ Crefname = {El hecho}{Los hechos},
+ },
+ CN = {
+ name = {事实},
+ crefname = {事实}{事实},
+ Crefname = {事实}{事实},
+ },
+ TC = {
+ name = {事實},
+ crefname = {事實}{事實},
+ Crefname = {事實}{事實},
+ },
+ JP = {
+ name = {事実},
+ crefname = {事実}{事実},
+ Crefname = {事実}{事実},
+ },
+ RU = {
+ name = {Факт},
+ crefname = {факт}{факты},
+ Crefname = {Факт}{Факты},
+ },
+ }
+ \NameTheorem{conjecture}{
+ EN = {
+ name = {Conjecture},
+ crefname = {conjecture}{conjectures},
+ Crefname = {Conjecture}{Conjectures},
+ },
+ FR = {
+ name = {Conjecture},
+ crefname = {\crefthemark{la} conjecture}{\crefthemark{les} conjectures},
+ Crefname = {La conjecture}{Les conjectures},
+ },
+ DE = {
+ name = {Vermutung},
+ crefname = {Vermutung}{Vermutungen},
+ Crefname = {Vermutung}{Vermutungen},
+ },
+ IT = {
+ name = {Congettura},
+ crefname = {\crefthemark{la} congettura}{\crefthemark{le} congetture},
+ Crefname = {La congettura}{Le congetture},
+ },
+ PT = {
+ name = {Conjetura},
+ crefname = {\crefthemark{a} conjetura}{\crefthemark{as} conjeturas},
+ Crefname = {A conjetura}{As conjeturas},
+ },
+ BR = {
+ name = {Conjectura},
+ crefname = {\crefthemark{a} conjectura}{\crefthemark{as} conjecturas},
+ Crefname = {A conjectura}{As conjecturas},
+ },
+ ES = {
+ name = {Conjetura},
+ crefname = {la conjetura}{las conjeturas},
+ Crefname = {La conjetura}{Las conjeturas},
+ },
+ CN = {
+ name = {猜想},
+ crefname = {猜想}{猜想},
+ Crefname = {猜想}{猜想},
+ },
+ TC = {
+ name = {猜想},
+ crefname = {猜想}{猜想},
+ Crefname = {猜想}{猜想},
+ },
+ JP = {
+ name = {予想},
+ crefname = {予想}{予想},
+ Crefname = {予想}{予想},
+ },
+ RU = {
+ name = {Гипотеза},
+ crefname = {гипотеза}{гипотезы},
+ Crefname = {Гипотеза}{Гипотезы},
+ },
+ }
+ \NameTheorem{definition}{
+ EN = {
+ name = {Definition},
+ crefname = {definition}{definitions},
+ Crefname = {Definition}{Definitions},
+ },
+ FR = {
+ name = {Définition},
+ crefname = {\crefthemark{la} définition}{\crefthemark{les} définitions},
+ Crefname = {La définition}{Les définitions},
+ },
+ DE = {
+ name = {Definition},
+ crefname = {Definition}{Definitionen},
+ Crefname = {Definition}{Definitionen},
+ },
+ IT = {
+ name = {Definizione},
+ crefname = {\crefthemark{la} definizione}{\crefthemark{le} definizioni},
+ Crefname = {La definizione}{Le definizioni},
+ },
+ PT = {
+ name = {Definição},
+ crefname = {\crefthemark{a} definição}{\crefthemark{as} definições},
+ Crefname = {A definição}{As definições},
+ },
+ BR = {
+ name = {Definição},
+ crefname = {\crefthemark{a} definição}{\crefthemark{as} definições},
+ Crefname = {A definição}{As definições},
+ },
+ ES = {
+ name = {Definición},
+ crefname = {la definición}{las definiciones},
+ Crefname = {La definición}{Las definiciones},
+ },
+ CN = {
+ name = {定义},
+ crefname = {定义}{定义},
+ Crefname = {定义}{定义},
+ },
+ TC = {
+ name = {定義},
+ crefname = {定義}{定義},
+ Crefname = {定義}{定義},
+ },
+ JP = {
+ name = {定義},
+ crefname = {定義}{定義},
+ Crefname = {定義}{定義},
+ },
+ RU = {
+ name = {Определение},
+ crefname = {определение}{определения},
+ Crefname = {Определение}{Определения},
+ },
+ }
+ \NameTheorem{axiom}{
+ EN = {
+ name = {Axiom},
+ crefname = {axiom}{axioms},
+ Crefname = {Axiom}{Axioms},
+ },
+ FR = {
+ name = {Axiome},
+ crefname = {\crefthemark{l'}axiome}{\crefthemark{les} axiomes},
+ Crefname = {L'axiome}{Les axiomes},
+ },
+ DE = {
+ name = {Axiom},
+ crefname = {Axiom}{Axiome},
+ Crefname = {Axiom}{Axiome},
+ },
+ IT = {
+ name = {Assioma},
+ crefname = {\crefthemark{l'}assioma}{\crefthemark{gli} assiomi},
+ Crefname = {L'assioma}{Gli assiomi},
+ },
+ PT = {
+ name = {Axioma},
+ crefname = {\crefthemark{o} axioma}{\crefthemark{os} axiomas},
+ Crefname = {O axioma}{Os axiomas},
+ },
+ BR = {
+ name = {Axioma},
+ crefname = {\crefthemark{o} axioma}{\crefthemark{os} axiomas},
+ Crefname = {O axioma}{Os axiomas},
+ },
+ ES = {
+ name = {Axioma},
+ crefname = {\crefthemark{el} axioma}{los axiomas},
+ Crefname = {El axioma}{Los axiomas},
+ },
+ CN = {
+ name = {公理},
+ crefname = {公理}{公理},
+ Crefname = {公理}{公理},
+ },
+ TC = {
+ name = {公理},
+ crefname = {公理}{公理},
+ Crefname = {公理}{公理},
+ },
+ JP = {
+ name = {公理},
+ crefname = {公理}{公理},
+ Crefname = {公理}{公理},
+ },
+ RU = {
+ name = {Аксиома},
+ crefname = {аксиома}{аксиомы},
+ Crefname = {Аксиома}{Аксиомы},
+ },
+ }
+ \NameTheorem{assumption}{
+ EN = {
+ name = {Assumption},
+ crefname = {assumption}{assumptions},
+ Crefname = {Assumption}{Assumptions},
+ },
+ FR = {
+ name = {Supposition},
+ crefname = {\crefthemark{la} supposition}{\crefthemark{les} suppositions},
+ Crefname = {La supposition}{Les suppositions},
+ },
+ DE = {
+ name = {Annahme},
+ crefname = {Annahme}{Annahmen},
+ Crefname = {Annahme}{Annahmen},
+ },
+ IT = {
+ name = {Supposizione},
+ crefname = {\crefthemark{la} supposizione}{\crefthemark{le} supposizioni},
+ Crefname = {La supposizione}{Le supposizioni},
+ },
+ PT = {
+ name = {Suposição},
+ crefname = {\crefthemark{a} suposição}{\crefthemark{as} suposições},
+ Crefname = {A suposição}{As suposições},
+ },
+ BR = {
+ name = {Suposição},
+ crefname = {\crefthemark{a} suposição}{\crefthemark{as} suposições},
+ Crefname = {A suposição}{As suposições},
+ },
+ ES = {
+ name = {Suposición},
+ crefname = {la suposición}{las suposiciones},
+ Crefname = {La suposición}{Las suposiciones},
+ },
+ CN = {
+ name = {假定},
+ crefname = {假定}{假定},
+ Crefname = {假定}{假定},
+ },
+ TC = {
+ name = {假定},
+ crefname = {假定}{假定},
+ Crefname = {假定}{假定},
+ },
+ JP = {
+ name = {仮定},
+ crefname = {仮定}{仮定},
+ Crefname = {仮定}{仮定},
+ },
+ RU = {
+ name = {Предположение},
+ crefname = {предположение}{предположения},
+ Crefname = {Предположение}{Предположения},
+ },
+ }
+ \NameTheorem{convention}{
+ EN = {
+ name = {Convention},
+ crefname = {convention}{conventions},
+ Crefname = {Convention}{Conventions},
+ },
+ FR = {
+ name = {Convention},
+ crefname = {\crefthemark{la} convention}{\crefthemark{les} conventions},
+ Crefname = {La convention}{Les conventions},
+ },
+ DE = {
+ name = {Konvention},
+ crefname = {Konvention}{Konventionen},
+ Crefname = {Konvention}{Konventionen},
+ },
+ IT = {
+ name = {Convenzione},
+ crefname = {\crefthemark{la} convenzione}{\crefthemark{le} convenzioni},
+ Crefname = {La convenzione}{Le convenzioni},
+ },
+ PT = {
+ name = {Convenção},
+ crefname = {\crefthemark{a} convenção}{\crefthemark{as} convenções},
+ Crefname = {A convenção}{As convenções},
+ },
+ BR = {
+ name = {Convenção},
+ crefname = {\crefthemark{a} convenção}{\crefthemark{as} convenções},
+ Crefname = {A convenção}{As convenções},
+ },
+ ES = {
+ name = {Convención},
+ crefname = {la convención}{las convenciones},
+ Crefname = {La convención}{Las convenciones},
+ },
+ CN = {
+ name = {约定},
+ crefname = {约定}{约定},
+ Crefname = {约定}{约定},
+ },
+ TC = {
+ name = {約定},
+ crefname = {約定}{約定},
+ Crefname = {約定}{約定},
+ },
+ JP = {
+ name = {慣例},
+ crefname = {慣例}{慣例},
+ Crefname = {慣例}{慣例},
+ },
+ RU = {
+ name = {Конвенция},
+ crefname = {конвенция}{конвенции},
+ Crefname = {Конвенция}{Конвенции},
+ },
+ }
+ \NameTheorem{hypothesis}{
+ EN = {
+ name = {Hypothesis},
+ crefname = {hypothesis}{hypotheses},
+ Crefname = {Hypothesis}{Hypotheses},
+ },
+ FR = {
+ name = {Hypothèse},
+ crefname = {\crefthemark{l'}hypothèse}{\crefthemark{les} hypothèses},
+ Crefname = {L'hypothèse}{Les hypothèses},
+ },
+ DE = {
+ name = {Hypothese},
+ crefname = {Hypothese}{Hypothesen},
+ Crefname = {Hypothese}{Hypothesen},
+ },
+ IT = {
+ name = {Ipotesi},
+ crefname = {\crefthemark{l'}ipotesi}{\crefthemark{le} ipotesi},
+ Crefname = {L'ipotesi}{Le ipotesi},
+ },
+ PT = {
+ name = {Hipótese},
+ crefname = {\crefthemark{a} hipótese}{\crefthemark{as} hipóteses},
+ Crefname = {A hipótese}{As hipóteses},
+ },
+ BR = {
+ name = {Hipótese},
+ crefname = {\crefthemark{a} hipótese}{\crefthemark{as} hipóteses},
+ Crefname = {A hipótese}{As hipóteses},
+ },
+ ES = {
+ name = {Hipótesis},
+ crefname = {la hipótesis}{las hipótesis},
+ Crefname = {La hipótesis}{Las hipótesis},
+ },
+ CN = {
+ name = {假设},
+ crefname = {假设}{假设},
+ Crefname = {假设}{假设},
+ },
+ TC = {
+ name = {假設},
+ crefname = {假設}{假設},
+ Crefname = {假設}{假設},
+ },
+ JP = {
+ name = {仮設},
+ crefname = {仮設}{仮設},
+ Crefname = {仮設}{仮設},
+ },
+ RU = {
+ name = {Гипотеза},
+ crefname = {гипотеза}{гипотезы},
+ Crefname = {Гипотеза}{Гипотезы},
+ },
+ }
+ \NameTheorem{notation}{
+ EN = {
+ name = {Notation},
+ crefname = {notation}{notations},
+ Crefname = {Notation}{Notations},
+ },
+ FR = {
+ name = {Notation},
+ crefname = {\crefthemark{la} notation}{\crefthemark{les} notations},
+ Crefname = {La notation}{Les notations},
+ },
+ DE = {
+ name = {Notation},
+ crefname = {Notation}{Notationen},
+ Crefname = {Notation}{Notationen},
+ },
+ IT = {
+ name = {Notazione},
+ crefname = {\crefthemark{la} notazione}{\crefthemark{le} notazioni},
+ Crefname = {La notazione}{Le notazioni},
+ },
+ PT = {
+ name = {Notação},
+ crefname = {\crefthemark{a} notação}{\crefthemark{as} notações},
+ Crefname = {A notação}{As notações},
+ },
+ BR = {
+ name = {Notação},
+ crefname = {\crefthemark{a} notação}{\crefthemark{as} notações},
+ Crefname = {A notação}{As notações},
+ },
+ ES = {
+ name = {Notación},
+ crefname = {la notación}{las notaciones},
+ Crefname = {La notación}{Las notaciones},
+ },
+ CN = {
+ name = {记号},
+ crefname = {记号}{记号},
+ Crefname = {记号}{记号},
+ },
+ TC = {
+ name = {記號},
+ crefname = {記號}{記號},
+ Crefname = {記號}{記號},
+ },
+ JP = {
+ name = {記法},
+ crefname = {記法}{記法},
+ Crefname = {記法}{記法},
+ },
+ RU = {
+ name = {Нотация},
+ crefname = {нотация}{нотации},
+ Crefname = {Нотация}{Нотации},
+ },
+ }
+ \NameTheorem{example}{
+ EN = {
+ name = {Example},
+ crefname = {example}{examples},
+ Crefname = {Example}{Examples},
+ },
+ FR = {
+ name = {Exemple},
+ crefname = {\crefthemark{l'}example}{\crefthemark{les} examples},
+ Crefname = {L'example}{Les examples},
+ },
+ DE = {
+ name = {Beispiel},
+ crefname = {Beispiel}{Beispiele},
+ Crefname = {Beispiel}{Beispiele},
+ },
+ IT = {
+ name = {Esempio},
+ crefname = {\crefthemark{l'}esempio}{\crefthemark{gli} esempi},
+ Crefname = {L'esempio}{Gli esempi},
+ },
+ PT = {
+ name = {Exemplo},
+ crefname = {\crefthemark{o} exemplo}{\crefthemark{os} exemplos},
+ Crefname = {O exemplo}{Os exemplos},
+ },
+ BR = {
+ name = {Exemplo},
+ crefname = {\crefthemark{o} exemplo}{\crefthemark{os} exemplos},
+ Crefname = {O exemplo}{Os exemplos},
+ },
+ ES = {
+ name = {Ejemplo},
+ crefname = {\crefthemark{el} ejemplo}{los ejemplos},
+ Crefname = {El ejemplo}{Los ejemplos},
+ },
+ CN = {
+ name = {例},
+ crefname = {例}{例},
+ Crefname = {例}{例},
+ },
+ TC = {
+ name = {例},
+ crefname = {例}{例},
+ Crefname = {例}{例},
+ },
+ JP = {
+ name = {例},
+ crefname = {例}{例},
+ Crefname = {例}{例},
+ },
+ RU = {
+ name = {Пример},
+ crefname = {пример}{примеры},
+ Crefname = {Пример}{Примеры},
+ },
+ }
+ \NameTheorem{problem}{
+ EN = {
+ name = {Problem},
+ crefname = {problem}{problems},
+ Crefname = {Problem}{Problems},
+ },
+ FR = {
+ name = {Problème},
+ crefname = {\crefthemark{le} problème}{\crefthemark{les} problèmes},
+ Crefname = {Le problème}{Les problèmes},
+ },
+ DE = {
+ name = {Problem},
+ crefname = {Problem}{Probleme},
+ Crefname = {Problem}{Probleme},
+ },
+ IT = {
+ name = {Problema},
+ crefname = {\crefthemark{il} problema}{\crefthemark{i} problemi},
+ Crefname = {Il problema}{I problemi},
+ },
+ PT = {
+ name = {Problema},
+ crefname = {\crefthemark{o} problema}{\crefthemark{os} problemas},
+ Crefname = {O problema}{Os problemas},
+ },
+ BR = {
+ name = {Problema},
+ crefname = {\crefthemark{o} problema}{\crefthemark{os} problemas},
+ Crefname = {O problema}{Os problemas},
+ },
+ ES = {
+ name = {Problema},
+ crefname = {\crefthemark{el} problema}{los problemas},
+ Crefname = {El problema}{Los problemas},
+ },
+ CN = {
+ name = {问题},
+ crefname = {问题}{问题},
+ Crefname = {问题}{问题},
+ },
+ TC = {
+ name = {問題},
+ crefname = {問題}{問題},
+ Crefname = {問題}{問題},
+ },
+ JP = {
+ name = {問題},
+ crefname = {問題}{問題},
+ Crefname = {問題}{問題},
+ },
+ RU = {
+ name = {Проблема},
+ crefname = {проблема}{проблемы},
+ Crefname = {Проблема}{Проблемы},
+ },
+ }
+ \NameTheorem{question}{
+ EN = {
+ name = {Question},
+ crefname = {question}{questions},
+ Crefname = {Question}{Questions},
+ },
+ FR = {
+ name = {Question},
+ crefname = {\crefthemark{la} question}{\crefthemark{les} questions},
+ Crefname = {La question}{Les questions},
+ },
+ DE = {
+ name = {Frage},
+ crefname = {Frage}{Fragen},
+ Crefname = {Frage}{Fragen},
+ },
+ IT = {
+ name = {Domanda},
+ crefname = {\crefthemark{la} domanda}{\crefthemark{le} domande},
+ Crefname = {La domanda}{Le domande},
+ },
+ PT = {
+ name = {Pergunta},
+ crefname = {\crefthemark{a} pergunta}{\crefthemark{as} perguntas},
+ Crefname = {A pergunta}{As perguntas},
+ },
+ BR = {
+ name = {Pergunta},
+ crefname = {\crefthemark{a} pergunta}{\crefthemark{as} perguntas},
+ Crefname = {A pergunta}{As perguntas},
+ },
+ ES = {
+ name = {Pregunta},
+ crefname = {la pregunta}{las preguntas},
+ Crefname = {La pregunta}{Las preguntas},
+ },
+ CN = {
+ name = {问题},
+ crefname = {问题}{问题},
+ Crefname = {问题}{问题},
+ },
+ TC = {
+ name = {問題},
+ crefname = {問題}{問題},
+ Crefname = {問題}{問題},
+ },
+ JP = {
+ name = {問題},
+ crefname = {問題}{問題},
+ Crefname = {問題}{問題},
+ },
+ RU = {
+ name = {Вопрос},
+ crefname = {вопрос}{вопросы},
+ Crefname = {Вопрос}{Вопросы},
+ },
+ }
+ \NameTheorem{exercise}{
+ EN = {
+ name = {Exercise},
+ crefname = {exercise}{exercises},
+ Crefname = {Exercise}{Exercises},
+ },
+ FR = {
+ name = {Exercice},
+ crefname = {\crefthemark{l'}exercice}{\crefthemark{les} exercices},
+ Crefname = {L'exercice}{Les exercices},
+ },
+ DE = {
+ name = {Übung},
+ crefname = {Übung}{Übungen},
+ Crefname = {Übung}{Übungen},
+ },
+ IT = {
+ name = {Esercizio},
+ crefname = {\crefthemark{l'}esercizio}{\crefthemark{gli} esercizi},
+ Crefname = {L'esercizio}{Gli esercizi},
+ },
+ PT = {
+ name = {Exercício},
+ crefname = {\crefthemark{o} exercício}{\crefthemark{os} exercícios},
+ Crefname = {O exercício}{Os exercícios},
+ },
+ BR = {
+ name = {Exercício},
+ crefname = {\crefthemark{o} exercício}{\crefthemark{os} exercícios},
+ Crefname = {O exercício}{Os exercícios},
+ },
+ ES = {
+ name = {Ejercicio},
+ crefname = {\crefthemark{el} ejercicio}{los ejercicios},
+ Crefname = {El ejercicio}{Los ejercicios},
+ },
+ CN = {
+ name = {练习},
+ crefname = {练习}{练习},
+ Crefname = {练习}{练习},
+ },
+ TC = {
+ name = {練習},
+ crefname = {練習}{練習},
+ Crefname = {練習}{練習},
+ },
+ JP = {
+ name = {練習},
+ crefname = {練習}{練習},
+ Crefname = {練習}{練習},
+ },
+ RU = {
+ name = {Упражнение},
+ crefname = {упражнение}{упражнения},
+ Crefname = {Упражнение}{Упражнения},
+ },
+ }
+ \NameTheorem{remark}{
+ EN = {
+ name = {Remark},
+ crefname = {remark}{remarks},
+ Crefname = {Remark}{Remarks},
+ },
+ FR = {
+ name = {Remarque},
+ crefname = {\crefthemark{la} remarque}{\crefthemark{les} remarques},
+ Crefname = {La remarque}{Les remarques},
+ },
+ DE = {
+ name = {Bemerkung},
+ crefname = {Bemerkung}{Bemerkungen},
+ Crefname = {Bemerkung}{Bemerkungen},
+ },
+ IT = {
+ name = {Commento},
+ crefname = {\crefthemark{il} commento}{\crefthemark{i} commenti},
+ Crefname = {Il commento}{I commenti},
+ },
+ PT = {
+ name = {Comentário},
+ crefname = {\crefthemark{o} comentário}{\crefthemark{os} comentários},
+ Crefname = {O comentário}{Os comentários},
+ },
+ BR = {
+ name = {Comentário},
+ crefname = {\crefthemark{o} comentário}{\crefthemark{os} comentários},
+ Crefname = {O comentário}{Os comentários},
+ },
+ ES = {
+ name = {Comentario},
+ crefname = {\crefthemark{el} comentario}{los comentarios},
+ Crefname = {El comentario}{Los comentarios},
+ },
+ CN = {
+ name = {备注},
+ crefname = {备注}{备注},
+ Crefname = {备注}{备注},
+ },
+ TC = {
+ name = {備註},
+ crefname = {備註}{備註},
+ Crefname = {備註}{備註},
+ },
+ JP = {
+ name = {注釈},
+ crefname = {注釈}{注釈},
+ Crefname = {注釈}{注釈},
+ },
+ RU = {
+ name = {Замечание},
+ crefname = {замечание}{замечания},
+ Crefname = {Замечание}{Замечания},
+ },
+ }
+ \NameTheorem{observation}{
+ EN = {
+ name = {Observation},
+ crefname = {observation}{observations},
+ Crefname = {Observation}{Observations},
+ },
+ FR = {
+ name = {Observation},
+ crefname = {\crefthemark{la} observation}{\crefthemark{les} observations},
+ Crefname = {La observation}{Les observations},
+ },
+ DE = {
+ name = {Beobachtung},
+ crefname = {Beobachtung}{Beobachtungen},
+ Crefname = {Beobachtung}{Beobachtungen},
+ },
+ IT = {
+ name = {Osservazione},
+ crefname = {\crefthemark{l'}osservazione}{\crefthemark{le} osservazioni},
+ Crefname = {L'osservazione}{Le osservazioni},
+ },
+ PT = {
+ name = {Observação},
+ crefname = {\crefthemark{a} observação}{\crefthemark{as} observações},
+ Crefname = {A observação}{As observações},
+ },
+ BR = {
+ name = {Observação},
+ crefname = {\crefthemark{a} observação}{\crefthemark{as} observações},
+ Crefname = {A observação}{As observações},
+ },
+ ES = {
+ name = {Observación},
+ crefname = {la observación}{las observaciones},
+ Crefname = {La observación}{Las observaciones},
+ },
+ CN = {
+ name = {观察},
+ crefname = {观察}{观察},
+ Crefname = {观察}{观察},
+ },
+ TC = {
+ name = {觀察},
+ crefname = {觀察}{觀察},
+ Crefname = {觀察}{觀察},
+ },
+ JP = {
+ name = {観察},
+ crefname = {観察}{観察},
+ Crefname = {観察}{観察},
+ },
+ RU = {
+ name = {Наблюдение},
+ crefname = {наблюдение}{наблюдения},
+ Crefname = {Наблюдение}{Наблюдения},
+ },
+ }
+ \NameTheorem{definition-proposition}{
+ EN = {
+ name = {\definitionnameEN-\propositionnameEN},
+ crefname = {definition-proposition}{definitions-propositions},
+ Crefname = {Definition-proposition}{Definitions-propositions},
+ },
+ FR = {
+ name = {\definitionnameFR-\propositionnameFR},
+ crefname = {\crefthemark{la} définition-proposition}{\crefthemark{les} définitions-propositions},
+ Crefname = {La définition-proposition}{Les définitions-propositions},
+ },
+ DE = {
+ name = {\definitionnameDE-\propositionnameDE},
+ crefname = {Definition-Proposition}{Definitionen-Propositionen},
+ Crefname = {Definition-Proposition}{Definitionen-Propositionen},
+ },
+ IT = {
+ name = {\definitionnameIT-\propositionnameIT},
+ crefname = {\crefthemark{la} definizione-proposizione}{\crefthemark{le} definizioni-proposte},
+ Crefname = {La definizione-proposizione}{Le definizioni-proposte},
+ },
+ PT = {
+ name = {\definitionnamePT-\propositionnamePT},
+ crefname = {\crefthemark{a} definição-proposição}{\crefthemark{as} definições-proposições},
+ Crefname = {A definição-proposição}{As definições-proposições},
+ },
+ BR = {
+ name = {\definitionnameBR-\propositionnameBR},
+ crefname = {\crefthemark{a} definição-proposição}{\crefthemark{as} definições-proposições},
+ Crefname = {A definição-proposição}{As definições-proposições},
+ },
+ ES = {
+ name = {\definitionnameES-\propositionnameES},
+ crefname = {la definición-proposición}{las definiciones-proposiciones},
+ Crefname = {La definición-proposición}{Las definiciones-proposiciones},
+ },
+ CN = {
+ name = {\definitionnameCN-\propositionnameCN},
+ crefname = {\definitionnameCN-\propositionnameCN}{\definitionnameCN-\propositionnameCN},
+ Crefname = {\definitionnameCN-\propositionnameCN}{\definitionnameCN-\propositionnameCN},
+ },
+ TC = {
+ name = {\definitionnameTC-\propositionnameTC},
+ crefname = {\definitionnameTC-\propositionnameTC}{\definitionnameTC-\propositionnameTC},
+ Crefname = {\definitionnameTC-\propositionnameTC}{\definitionnameTC-\propositionnameTC},
+ },
+ JP = {
+ name = {\definitionnameJP-\propositionnameJP},
+ crefname = {\definitionnameJP-\propositionnameJP}{\definitionnameJP-\propositionnameJP},
+ Crefname = {\definitionnameJP-\propositionnameJP}{\definitionnameJP-\propositionnameJP},
+ },
+ RU = {
+ name = {\definitionnameRU-\propositionnameRU},
+ crefname = {определение-предложение}{определения-предложения},
+ Crefname = {Определение-предложение}{Определения-предложение},
+ },
+ }
+ \NameTheorem{definition-theorem}{
+ EN = {
+ name = {\definitionnameEN-\theoremnameEN},
+ crefname = {definition-theorem}{definitions-theorems},
+ Crefname = {Definition-theorem}{Definitions-theorems},
+ },
+ FR = {
+ name = {\definitionnameFR-\theoremnameFR},
+ crefname = {\crefthemark{la} définition-théorème}{\crefthemark{les} définitions-théorèmes},
+ Crefname = {La définition-théorème}{Les définitions-théorèmes},
+ },
+ DE = {
+ name = {\definitionnameDE-\theoremnameDE},
+ crefname = {Definition-Satz}{Definitionen-Sätze},
+ Crefname = {Definition-Satz}{Definitionen-Sätze},
+ },
+ IT = {
+ name = {\definitionnameIT-\theoremnameIT},
+ crefname = {\crefthemark{la} definizione-teorema}{\crefthemark{le} definizioni-teoremi},
+ Crefname = {La definizione-teorema}{Le definizioni-teoremi},
+ },
+ PT = {
+ name = {\definitionnamePT-\theoremnamePT},
+ crefname = {\crefthemark{a} definição-teorema}{\crefthemark{as} definições-teoremas},
+ Crefname = {A definição-teorema}{As definições-teoremas},
+ },
+ BR = {
+ name = {\definitionnameBR-\theoremnameBR},
+ crefname = {\crefthemark{a} definição-teorema}{\crefthemark{as} definições-teoremas},
+ Crefname = {A definição-teorema}{As definições-teoremas},
+ },
+ ES = {
+ name = {\definitionnameES-\theoremnameES},
+ crefname = {la definición-teorema}{las definiciones-teoremas},
+ Crefname = {La definición-teorema}{Las definiciones-teoremas},
+ },
+ CN = {
+ name = {\definitionnameCN-\theoremnameCN},
+ crefname = {\definitionnameCN-\theoremnameCN}{\definitionnameCN-\theoremnameCN},
+ Crefname = {\definitionnameCN-\theoremnameCN}{\definitionnameCN-\theoremnameCN},
+ },
+ TC = {
+ name = {\definitionnameTC-\theoremnameTC},
+ crefname = {\definitionnameTC-\theoremnameTC}{\definitionnameTC-\theoremnameTC},
+ Crefname = {\definitionnameTC-\theoremnameTC}{\definitionnameTC-\theoremnameTC},
+ },
+ JP = {
+ name = {\definitionnameJP-\theoremnameJP},
+ crefname = {\definitionnameJP-\theoremnameJP}{\definitionnameJP-\theoremnameJP},
+ Crefname = {\definitionnameJP-\theoremnameJP}{\definitionnameJP-\theoremnameJP},
+ },
+ RU = {
+ name = {\definitionnameRU-\theoremnameRU},
+ crefname = {определение-теорема}{определения-теоремы},
+ Crefname = {Определение-теорема}{Определения-теорема},
+ },
+ }
+}{
+ \def\theoremnameEN{{Theorem}}
+ \def\lemmanameEN{{Lemma}}
+ \def\propositionnameEN{{Proposition}}
+ \def\corollarynameEN{{Corollary}}
+ \def\propertynameEN{{Property}}
+ \def\factnameEN{{Fact}}
+ \def\conjecturenameEN{{Conjecture}}
+ \def\definitionnameEN{{Definition}}
+ \def\axiomnameEN{{Axiom}}
+ \def\assumptionnameEN{{Assumption}}
+ \def\conventionnameEN{{Convention}}
+ \def\hypothesisnameEN{{Hypothesis}}
+ \def\notationnameEN{{Notation}}
+ \def\examplenameEN{{Example}}
+ \def\problemnameEN{{Problem}}
+ \def\questionnameEN{{Question}}
+ \def\exercisenameEN{{Exercise}}
+ \def\remarknameEN{{Remark}}
+ \def\observationnameEN{{Observation}}
+ \expandafter\def\csname definition-propositionnameEN\endcsname{\definitionnameEN-\propositionnameEN}
+ \expandafter\def\csname definition-theoremnameEN\endcsname{\definitionnameEN-\theoremnameEN}
+
+ \def\theoremnameFR{{Théorème}}
+ \def\lemmanameFR{{Lemme}}
+ \def\propositionnameFR{{Proposition}}
+ \def\corollarynameFR{{Corollaire}}
+ \def\propertynameFR{{Propriété}}
+ \def\factnameFR{{Fait}}
+ \def\conjecturenameFR{{Conjecture}}
+ \def\definitionnameFR{{Définition}}
+ \def\axiomnameFR{{Axiome}}
+ \def\assumptionnameFR{{Supposition}}
+ \def\conventionnameFR{{Convention}}
+ \def\hypothesisnameFR{{Hypothèse}}
+ \def\notationnameFR{{Notation}}
+ \def\examplenameFR{{Exemple}}
+ \def\problemnameFR{{Problème}}
+ \def\questionnameFR{{Question}}
+ \def\exercisenameFR{{Exercice}}
+ \def\remarknameFR{{Remarque}}
+ \def\observationnameFR{{Observation}}
+ \expandafter\def\csname definition-propositionnameFR\endcsname{\definitionnameFR-\propositionnameFR}
+ \expandafter\def\csname definition-theoremnameFR\endcsname{\definitionnameFR-\theoremnameFR}
+
+ \def\theoremnameDE{{Satz}}
+ \def\lemmanameDE{{Lemma}}
+ \def\propositionnameDE{{Proposition}}
+ \def\corollarynameDE{{Korollar}}
+ \def\propertynameDE{{Eigenschaft}}
+ \def\factnameDE{{Fakt}}
+ \def\conjecturenameDE{{Vermutung}}
+ \def\definitionnameDE{{Definition}}
+ \def\axiomnameDE{{Axiom}}
+ \def\assumptionnameDE{{Annahme}}
+ \def\conventionnameDE{{Konvention}}
+ \def\hypothesisnameDE{{Hypothese}}
+ \def\notationnameDE{{Notation}}
+ \def\examplenameDE{{Beispiel}}
+ \def\problemnameDE{{Problem}}
+ \def\questionnameDE{{Frage}}
+ \def\exercisenameDE{{Übung}}
+ \def\remarknameDE{{Bemerkung}}
+ \def\observationnameDE{{Beobachtung}}
+ \expandafter\def\csname definition-propositionnameDE\endcsname{\definitionnameDE-\propositionnameDE}
+ \expandafter\def\csname definition-theoremnameDE\endcsname{\definitionnameDE-\theoremnameDE}
+
+ \def\theoremnameIT{{Teorema}}
+ \def\lemmanameIT{{Lemma}}
+ \def\propositionnameIT{{Proposizione}}
+ \def\corollarynameIT{{Corollario}}
+ \def\propertynameIT{{Proprietà}}
+ \def\factnameIT{{Fatto}}
+ \def\conjecturenameIT{{Congettura}}
+ \def\definitionnameIT{{Definizione}}
+ \def\axiomnameIT{{Assioma}}
+ \def\assumptionnameIT{{Supposizione}}
+ \def\conventionnameIT{{Convenzione}}
+ \def\hypothesisnameIT{{Ipotesi}}
+ \def\notationnameIT{{Notazione}}
+ \def\examplenameIT{{Esempio}}
+ \def\problemnameIT{{Problema}}
+ \def\questionnameIT{{Domanda}}
+ \def\exercisenameIT{{Esercizio}}
+ \def\remarknameIT{{Commento}}
+ \def\observationnameIT{{Osservazione}}
+ \expandafter\def\csname definition-propositionnameIT\endcsname{\definitionnameIT-\propositionnameIT}
+ \expandafter\def\csname definition-theoremnameIT\endcsname{\definitionnameIT-\theoremnameIT}
+
+ \def\theoremnamePT{{Teorema}}
+ \def\lemmanamePT{{Lema}}
+ \def\propositionnamePT{{Proposição}}
+ \def\corollarynamePT{{Corolário}}
+ \def\propertynamePT{{Propriedade}}
+ \def\factnamePT{{Facto}}
+ \def\conjecturenamePT{{Conjetura}}
+ \def\definitionnamePT{{Definição}}
+ \def\axiomnamePT{{Axioma}}
+ \def\assumptionnamePT{{Suposição}}
+ \def\conventionnamePT{{Convenção}}
+ \def\hypothesisnamePT{{Hipótese}}
+ \def\notationnamePT{{Notação}}
+ \def\examplenamePT{{Exemplo}}
+ \def\problemnamePT{{Problema}}
+ \def\questionnamePT{{Pergunta}}
+ \def\exercisenamePT{{Exercício}}
+ \def\remarknamePT{{Comentário}}
+ \def\observationnamePT{{Observação}}
+ \expandafter\def\csname definition-propositionnamePT\endcsname{\definitionnamePT-\propositionnamePT}
+ \expandafter\def\csname definition-theoremnamePT\endcsname{\definitionnamePT-\theoremnamePT}
+
+ \def\theoremnameBR{{Teorema}}
+ \def\lemmanameBR{{Lema}}
+ \def\propositionnameBR{{Proposição}}
+ \def\corollarynameBR{{Corolário}}
+ \def\propertynameBR{{Propriedade}}
+ \def\factnameBR{{Fato}}
+ \def\conjecturenameBR{{Conjectura}}
+ \def\definitionnameBR{{Definição}}
+ \def\axiomnameBR{{Axioma}}
+ \def\assumptionnameBR{{Suposição}}
+ \def\conventionnameBR{{Convenção}}
+ \def\hypothesisnameBR{{Hipótese}}
+ \def\notationnameBR{{Notação}}
+ \def\examplenameBR{{Exemplo}}
+ \def\problemnameBR{{Problema}}
+ \def\questionnameBR{{Pergunta}}
+ \def\exercisenameBR{{Exercício}}
+ \def\remarknameBR{{Comentário}}
+ \def\observationnameBR{{Observação}}
+ \expandafter\def\csname definition-propositionnameBR\endcsname{\definitionnameBR-\propositionnameBR}
+ \expandafter\def\csname definition-theoremnameBR\endcsname{\definitionnameBR-\theoremnameBR}
+
+ \def\theoremnameES{{Teorema}}
+ \def\lemmanameES{{Lema}}
+ \def\propositionnameES{{Proposición}}
+ \def\corollarynameES{{Corolario}}
+ \def\propertynameES{{Propiedad}}
+ \def\factnameES{{Hecho}}
+ \def\conjecturenameES{{Conjetura}}
+ \def\definitionnameES{{Definición}}
+ \def\axiomnameES{{Axioma}}
+ \def\assumptionnameES{{Suposición}}
+ \def\conventionnameES{{Convención}}
+ \def\hypothesisnameES{{Hipótesis}}
+ \def\notationnameES{{Notación}}
+ \def\examplenameES{{Ejemplo}}
+ \def\problemnameES{{Problema}}
+ \def\questionnameES{{Pregunta}}
+ \def\exercisenameES{{Ejercicio}}
+ \def\remarknameES{{Comentario}}
+ \def\observationnameES{{Observación}}
+ \expandafter\def\csname definition-propositionnameES\endcsname{\definitionnameES-\propositionnameES}
+ \expandafter\def\csname definition-theoremnameES\endcsname{\definitionnameES-\theoremnameES}
+
+ \def\theoremnameCN{{定理}}
+ \def\lemmanameCN{{引理}}
+ \def\propositionnameCN{{命题}}
+ \def\corollarynameCN{{推论}}
+ \def\propertynameCN{{性质}}
+ \def\factnameCN{{事实}}
+ \def\conjecturenameCN{{猜想}}
+ \def\definitionnameCN{{定义}}
+ \def\axiomnameCN{{公理}}
+ \def\assumptionnameCN{{假定}}
+ \def\conventionnameCN{{约定}}
+ \def\hypothesisnameCN{{假设}}
+ \def\notationnameCN{{记号}}
+ \def\examplenameCN{{例}}
+ \def\problemnameCN{{问题}}
+ \def\questionnameCN{{问题}}
+ \def\exercisenameCN{{练习}}
+ \def\remarknameCN{{备注}}
+ \def\observationnameCN{{观察}}
+ \expandafter\def\csname definition-propositionnameCN\endcsname{\definitionnameCN-\propositionnameCN}
+ \expandafter\def\csname definition-theoremnameCN\endcsname{\definitionnameCN-\theoremnameCN}
+
+ \def\theoremnameTC{{定理}}
+ \def\lemmanameTC{{引理}}
+ \def\propositionnameTC{{命題}}
+ \def\corollarynameTC{{推論}}
+ \def\propertynameTC{{性質}}
+ \def\factnameTC{{事實}}
+ \def\conjecturenameTC{{猜想}}
+ \def\definitionnameTC{{定義}}
+ \def\axiomnameTC{{公理}}
+ \def\assumptionnameTC{{假定}}
+ \def\conventionnameTC{{約定}}
+ \def\hypothesisnameTC{{假設}}
+ \def\notationnameTC{{記號}}
+ \def\examplenameTC{{例}}
+ \def\problemnameTC{{問題}}
+ \def\questionnameTC{{問題}}
+ \def\exercisenameTC{{練習}}
+ \def\remarknameTC{{備註}}
+ \def\observationnameTC{{觀察}}
+ \expandafter\def\csname definition-propositionnameTC\endcsname{\definitionnameTC-\propositionnameTC}
+ \expandafter\def\csname definition-theoremnameTC\endcsname{\definitionnameTC-\theoremnameTC}
+
+ \def\theoremnameJP{{定理}}
+ \def\lemmanameJP{{補題}}
+ \def\propositionnameJP{{命題}}
+ \def\corollarynameJP{{系}}
+ \def\propertynameJP{{性質}}
+ \def\factnameJP{{事実}}
+ \def\conjecturenameJP{{予想}}
+ \def\definitionnameJP{{定義}}
+ \def\axiomnameJP{{公理}}
+ \def\assumptionnameJP{{仮定}}
+ \def\conventionnameJP{{慣例}}
+ \def\hypothesisnameJP{{仮設}}
+ \def\notationnameJP{{記法}}
+ \def\examplenameJP{{例}}
+ \def\problemnameJP{{問題}}
+ \def\questionnameJP{{問題}}
+ \def\exercisenameJP{{練習}}
+ \def\remarknameJP{{注釈}}
+ \def\observationnameJP{{観察}}
+ \expandafter\def\csname definition-propositionnameJP\endcsname{\definitionnameJP-\propositionnameJP}
+ \expandafter\def\csname definition-theoremnameJP\endcsname{\definitionnameJP-\theoremnameJP}
+
+ \def\theoremnameRU{{Теорема}} % Теоре́ма
+ \def\lemmanameRU{{Лемма}} % Ле́мма
+ \def\propositionnameRU{{Предложение}} % Предложе́ние
+ \def\corollarynameRU{{Следствие}} % Сле́дствие
+ \def\propertynameRU{{Имущество}} % Иму́щество
+ \def\factnameRU{{Факт}}
+ \def\conjecturenameRU{{Гипотеза}} % Гипо́теза % Конъектура Конъекту́ра
+ \def\definitionnameRU{{Определение}} % Определе́ние
+ \def\axiomnameRU{{Аксиома}} % Аксио́ма
+ \def\assumptionnameRU{{Предположение}} % Предположе́ние
+ \def\conventionnameRU{{Конвенция}} % Конве́нция
+ \def\hypothesisnameRU{{Гипотеза}} % Гипо́теза
+ \def\notationnameRU{{Нотация}} % Нота́ция
+ \def\examplenameRU{{Пример}} % Приме́р
+ \def\problemnameRU{{Проблема}} % Пробле́ма
+ \def\questionnameRU{{Вопрос}} % Вопро́с
+ \def\exercisenameRU{{Упражнение}} % Упражне́ние
+ \def\remarknameRU{{Замечание}} % Замеча́ние
+ \def\observationnameRU{{Наблюдение}} % Наблюде́ние
+ \expandafter\def\csname definition-propositionnameRU\endcsname{\definitionnameRU-\propositionnameRU}
+ \expandafter\def\csname definition-theoremnameRU\endcsname{\definitionnameRU-\theoremnameRU}
+}
+
+\newif\ifPJLthm@IsBook
+\ifdefined\c@chapter\PJLthm@IsBooktrue\else\PJLthm@IsBookfalse\fi
+\ifbool{PJLthm@IsBook}{
+ \newaliascnt{PJLthm@highest}{chapter}
+}{
+ \newaliascnt{PJLthm@highest}{section}
+}
+\NewDocumentCommand{\CreateTheorem@thmnum}{m}{
+ \expandafter\ifstrempty\expandafter{\@PJLthm@thmnum}{
+ \CreateTheorem{#1}<PJLthm@highest>
+ }{
+ \expandafter\ifstrequal\expandafter{\@PJLthm@thmnum}{PJL@thmnum@default}{
+ \CreateTheorem{#1}
+ }{
+ \CreateTheorem{#1}<\@PJLthm@thmnum>
+ }
+ }
+}
+
+\def\PJLthm@definethms{
+\if@PJLthm@nothms\else
+\if@PJLthm@nothmnum
+\CreateTheorem*{theorem}
+\CreateTheorem*{lemma}
+\CreateTheorem*{proposition}
+\CreateTheorem*{corollary}
+\CreateTheorem*{definition-proposition}
+\CreateTheorem*{definition-theorem}
+\CreateTheorem*{property}
+\CreateTheorem*{fact}
+\CreateTheorem*{conjecture}
+\else
+\CreateTheorem@thmnum{theorem}
+\CreateTheorem{lemma}[theorem]
+\CreateTheorem{proposition}[theorem]
+\CreateTheorem{corollary}[theorem]
+\CreateTheorem{definition-proposition}[theorem]
+\CreateTheorem{definition-theorem}[theorem]
+\CreateTheorem{property}[theorem]
+\CreateTheorem{fact}[theorem]
+\CreateTheorem{conjecture}[theorem]
+\fi
+\CreateTheorem*{theorem*}
+\CreateTheorem*{lemma*}
+\CreateTheorem*{proposition*}
+\CreateTheorem*{corollary*}
+\CreateTheorem*{definition-proposition*}
+\CreateTheorem*{definition-theorem*}
+\CreateTheorem*{property*}
+\CreateTheorem*{fact*}
+\CreateTheorem*{conjecture*}
+
+\theoremstyle{definition}
+\if@PJLthm@nothmnum
+\CreateTheorem*{definition}
+\CreateTheorem*{axiom}
+\CreateTheorem*{assumption}
+\CreateTheorem*{convention}
+\CreateTheorem*{hypothesis}
+\CreateTheorem*{notation}
+\CreateTheorem*{example}
+\CreateTheorem*{problem}
+\CreateTheorem*{question}
+\CreateTheorem*{exercise}
+\else
+\CreateTheorem{definition}[theorem]
+\CreateTheorem{axiom}[theorem]
+\CreateTheorem{assumption}[theorem]
+\CreateTheorem{convention}[theorem]
+\CreateTheorem{hypothesis}[theorem]
+\CreateTheorem{notation}[theorem]
+\CreateTheorem{example}[theorem]
+\CreateTheorem{problem}[theorem]
+\CreateTheorem{question}[theorem]
+\CreateTheorem{exercise}[theorem]
+\fi
+\CreateTheorem*{definition*}
+\CreateTheorem*{axiom*}
+\CreateTheorem*{assumption*}
+\CreateTheorem*{convention*}
+\CreateTheorem*{hypothesis*}
+\CreateTheorem*{notation*}
+\CreateTheorem*{example*}
+\CreateTheorem*{problem*}
+\CreateTheorem*{question*}
+\CreateTheorem*{exercise*}
+
+\theoremstyle{remark}
+\if@PJLthm@nothmnum
+\CreateTheorem*{remark}
+\CreateTheorem*{observation}
+\else
+\CreateTheorem@thmnum{remark}
+\CreateTheorem@thmnum{observation}
+\fi
+\CreateTheorem*{remark*}
+\CreateTheorem*{observation*}
+
+\theoremstyle{definition}
+\fi
+
+\expandafter\ifstrempty\expandafter{\@PJLthm@thmnum}{
+ \numberwithin{equation}{PJLthm@highest}
+}{
+ \expandafter\ifstrequal\expandafter{\@PJLthm@thmnum}{PJL@thmnum@default}{
+ }{
+ \numberwithin{equation}{\@PJLthm@thmnum}
+ }
+}
+
+} % End of \PJLthm@definethms
+
+\if@PJLthm@delaythms
+ \AtEndPreamble{\PJLthm@definethms}
+\else
+ \PJLthm@definethms
+\fi
+
+\gappto{\PJLlang@langconfig@CN}{%
+ \crefname{equation}{式}{式}%
+ \crefname{figure}{图}{图}%
+ \crefname{table}{表}{表}%
+ \crefname{appendix}{附录}{附录}%
+ \Crefname{equation}{式}{式}%
+ \Crefname{figure}{图}{图}%
+ \Crefname{table}{表}{表}%
+ \Crefname{appendix}{附录}{附录}%
+ \def\crefpairconjunction{、}%
+ \def\crefmiddleconjunction{、}%
+ \def\creflastconjunction{~和~}%
+ \def\crefpairgroupconjunction{~和~}%
+ \def\crefmiddlegroupconjunction{、}%
+ \def\creflastgroupconjunction{~以及~}%
+ \def\crefrangeconjunction{~}%
+}
+\gappto{\PJLlang@langconfig@TC}{%
+ \crefname{equation}{式}{式}%
+ \crefname{figure}{圖}{圖}%
+ \crefname{table}{表}{表}%
+ \crefname{appendix}{附錄}{附錄}%
+ \Crefname{equation}{式}{式}%
+ \Crefname{figure}{圖}{圖}%
+ \Crefname{table}{表}{表}%
+ \Crefname{appendix}{附錄}{附錄}%
+ \def\crefpairconjunction{、}%
+ \def\crefmiddleconjunction{、}%
+ \def\creflastconjunction{~與~}%
+ \def\crefpairgroupconjunction{~與~}%
+ \def\crefmiddlegroupconjunction{、}%
+ \def\creflastgroupconjunction{~以及~}%
+ \def\crefrangeconjunction{~}%
+}
+\gappto{\PJLlang@langconfig@JP}{%
+ \crefname{equation}{式}{式}%
+ \crefname{figure}{図}{図}%
+ \crefname{table}{表}{表}%
+ \Crefname{appendix}{付録}{付録}%
+ \Crefname{equation}{式}{式}%
+ \Crefname{figure}{図}{図}%
+ \Crefname{table}{表}{表}%
+ \Crefname{appendix}{付録}{付録}%
+ \def\crefpairconjunction{~と~}%
+ \def\crefmiddleconjunction{~と~}%
+ \def\creflastconjunction{~と~}%
+ \def\crefpairgroupconjunction{~と~}%
+ \def\crefmiddlegroupconjunction{~と~}%
+ \def\creflastgroupconjunction{~及び~}%
+ \def\crefrangeconjunction{~}%
+}
+\gappto{\PJLlang@langconfig@RU}{%
+ \crefname{equation}{уравнение}{уравнения}%
+ \crefname{figure}{рис.}{рис.}%
+ \crefname{table}{таблица}{таблицы}%
+ \crefname{appendix}{приложение}{приложения}%
+ \Crefname{equation}{Уравнение}{Уравнения}%
+ \Crefname{figure}{Рис.}{Рис.}%
+ \Crefname{table}{Таблица}{Таблицы}%
+ \Crefname{appendix}{Приложение}{Приложения}%
+ \def\crefpairconjunction{~и~}%
+ \def\crefmiddleconjunction{,~}%
+ \def\creflastconjunction{~и~}%
+ \def\crefpairgroupconjunction{~и~}%
+ \def\crefmiddlegroupconjunction{,~}%
+ \def\creflastgroupconjunction{~и~}%
+ \def\crefrangeconjunction{~\textasciitilde~}%
+}
+\gappto{\PJLlang@langconfig@PT}{%
+ \crefname{equation}{eq.}{eqs.}%
+ \crefname{figure}{fig.}{figs.}%
+ \crefname{table}{tabela}{tabelas}%
+ \crefname{appendix}{apêndice}{apêndices}%
+ \Crefname{equation}{Eq.}{Eqs.}%
+ \Crefname{figure}{Fig.}{Figs.}%
+ \Crefname{table}{Tabela}{Tabelas}%
+ \Crefname{appendix}{Apêndice}{Apêndices}%
+ \def\crefpairconjunction{ e\nobreakspace}%
+ \def\crefmiddleconjunction{, }%
+ \def\creflastconjunction{ e\nobreakspace}%
+ \def\crefpairgroupconjunction{ e\nobreakspace}%
+ \def\crefmiddlegroupconjunction{, }%
+ \def\creflastgroupconjunction{ e\nobreakspace}%
+ \def\crefrangeconjunction{ a\nobreakspace}%
+}
+
+\endinput
+%%
+%% End of file `PJLthm.sty'.
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLtoolkit.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLtoolkit.sty
new file mode 100644
index 00000000000..b11b34a2a76
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLtoolkit.sty
@@ -0,0 +1,184 @@
+%%
+%% This is file `ProjLib.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLtoolkit}
+ [2021/12/16 The collective interface of ProjLib toolkit]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @ProjLib,
+ prefix = @ProjLib@,
+}
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{author}
+\DeclareBoolOption[false]{amsfashion}
+\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{delaythms}
+\DeclareBoolOption[false]{nothmnum}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
+\DeclareBoolOption[true]{regionalref}
+\DeclareBoolOption[false]{originalref}
+\DeclareBoolOption[true]{complexname}
+\DeclareBoolOption[false]{simplename}
+\DeclareBoolOption[false]{useosf}
+\DeclareBoolOption[false]{lmodern}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{noto}
+\DeclareBoolOption[false]{biolinum}
+\ProcessKeyvalOptions*\relax
+
+\if@ProjLib@originalref
+ \@ProjLib@regionalreffalse
+\fi
+\if@ProjLib@simplename
+ \@ProjLib@complexnamefalse
+\fi
+\if@ProjLib@draft
+ \@ProjLib@fasttrue
+\fi
+
+\if@ProjLib@fast
+ \PassOptionsToPackage{fast}{PJLdate}
+ \PassOptionsToPackage{fast}{PJLdraft}
+ \PassOptionsToPackage{fast}{PJLlogo}
+ \PassOptionsToPackage{fast}{PJLthm}
+\fi
+\if@ProjLib@nothms
+ \PassOptionsToPackage{nothms}{PJLthm}
+\fi
+\if@ProjLib@delaythms
+ \PassOptionsToPackage{delaythms}{PJLthm}
+\fi
+\if@ProjLib@nothmnum
+ \PassOptionsToPackage{nothmnum}{PJLthm}
+\fi
+\expandafter\ifstrempty\expandafter{\@ProjLib@thmnum}{}{
+ \expandafter\ifstrequal\expandafter{\@ProjLib@thmnum}{PJL@thmnum@default}{
+ \PassOptionsToPackage{thmnum}{PJLthm}
+ }{
+ \PassOptionsToPackage{thmnum=\@ProjLib@thmnum}{PJLthm}
+ }
+}
+\if@ProjLib@regionalref\else
+ \PassOptionsToPackage{originalref}{PJLthm}
+\fi
+\if@ProjLib@complexname\else
+ \PassOptionsToPackage{simplename}{PJLthm}
+\fi
+
+\if@ProjLib@amsfashion
+ \PassOptionsToPackage{amsfashion}{PJLauthor}
+ \RequirePackage{PJLauthor}
+\fi
+\if@ProjLib@author
+ \RequirePackage{PJLauthor}
+\fi
+\RequirePackage{PJLdate}
+\RequirePackage{PJLdraft}
+\RequirePackage{PJLlogo}
+\RequirePackage{PJLmath}
+\RequirePackage{PJLpaper}
+\RequirePackage{PJLthm}
+
+\ifdefined\PJL@font@alreadyset\else
+
+\if@ProjLib@lmodern
+ \RequirePackage{amssymb}
+ \if@ProjLib@useosf
+ \RequirePackage{cfr-lm}
+ \else
+ \RequirePackage{lmodern}
+ \fi
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@ProjLib@palatino
+ % \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ % \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+ \if@ProjLib@useosf\useosf\fi
+\fi
+
+\if@ProjLib@times
+ % \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \if@ProjLib@useosf\useosf\fi
+\fi
+
+\if@ProjLib@garamond
+ % \RequirePackage{amssymb}
+ \if@ProjLib@useosf\else
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \fi
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@ProjLib@noto
+ \if@ProjLib@useosf
+ \PassOptionsToPackage{oldstyle}{notomath}
+ \fi
+ \RequirePackage{anyfontsize}
+ \RequirePackage{notomath}
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@ProjLib@biolinum
+ % \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \if@ProjLib@useosf
+ \PassOptionsToPackage{osf}{biolinum}
+ \fi
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf,
+ \if@ProjLib@useosf Numbers = OldStyle\fi ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
+
+\fi
+
+\WarningFilter{microtype}{Unable}
+\RequirePackage{microtype}
+
+\endinput
+%%
+%% End of file `ProjLib.sty'.