diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-19 20:01:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-19 20:01:31 +0000 |
commit | 7ab648a536bdf717c5cdd8b1a4914cb3c4b4cee4 (patch) | |
tree | 9d0d8e4fdae6586557b5a9d72b0942ec9d7b0818 /Master/texmf-dist/tex/latex/projlib | |
parent | cc53a2c30201f9ac5454b948e94340a692aa3ebe (diff) |
projlib (19may21)
git-svn-id: svn://tug.org/texlive/trunk@59271 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/projlib')
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLamssim.sty | 162 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLauthor.sty | 99 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLdate.sty | 70 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLdraft.sty | 96 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLlang.sty | 217 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLlogo.sty | 78 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLpaper.sty | 95 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLthm.sty | 405 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/projlib/PJLtoolkit.sty | 116 |
9 files changed, 1338 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/projlib/PJLamssim.sty b/Master/texmf-dist/tex/latex/projlib/PJLamssim.sty new file mode 100644 index 00000000000..e3a754b72a6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLamssim.sty @@ -0,0 +1,162 @@ +%% +%% This is file `PJLamssim.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{PJLamssim} + [2021/05/19 Simulate some features of amsart] +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\ifdefined\subjclass\endinput\fi + +\RequirePackage{PJLauthor} +\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\keywordsnameCN{关键词} +\def\keywordsnameTC{關鍵詞} +\def\keywordsnameJP{キーワード} +\def\keywordsnameRU{Ключевые слова и фразы} + +\ifdefined\keywords\else + \def\PJL@keywords{} + \newcommand*{\keywords}[1]{\def\PJL@keywords{#1}} +\fi + +\ifdefined\dedicatory\else + \def\PJL@dedicatory{} + \newcommand*{\dedicatory}[1]{\def\PJL@dedicatory{#1}} +\fi + +\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% + }% +} +} + +%% Modify abstract to allow it before maketitle +\let\abstract@PJLoriginal\abstract% +\let\endabstract@PJLoriginal\endabstract% +\newif\if@PJLamssim@maketitle\@PJLamssim@maketitlefalse +\newif\if@PJLamssim@absbefore\@PJLamssim@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@PJLamssim@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\@PJLamssim@absbeforetrue% + \fi% +} + +%% Modify maketitle +\AtEndPreamble{% +\patchcmd{\@maketitle}{\@date}{% + \ifx\@date\@empty\vspace{-2\baselineskip}% + \else\@date\fi% + \ifx\PJL@dedicatory\@empty\else% + \par\vspace{-\parskip}\bigskip% + {\itshape\PJL@dedicatory}\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@PJLamssim@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\@PJLamssim@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 `PJLamssim.sty'. diff --git a/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty b/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty new file mode 100644 index 00000000000..8f121efe2f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLauthor.sty @@ -0,0 +1,99 @@ +%% +%% 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/05/19 Enhanced author information block] +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\ifdefined\subjclass\endinput\fi + +\RequirePackage{PJLlang} + +%%================================ +%% 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{} % Remove "No \author given." +\pretocmd{\@maketitle}{% + \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}% + \apptocmd{\@author}{% + \vspace{-\baselineskip}% + \if@PJLauthor@affilon% + \vspace{\PJLauthor@length@aftersep}% + \fi% + }{}{\FAIL}% +}{}{\FAIL} + +\endinput +%% +%% End of file `PJLauthor.sty'. diff --git a/Master/texmf-dist/tex/latex/projlib/PJLdate.sty b/Master/texmf-dist/tex/latex/projlib/PJLdate.sty new file mode 100644 index 00000000000..5e55304d49d --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLdate.sty @@ -0,0 +1,70 @@ +%% +%% 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/05/19 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 +\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@chinese}{% + \renewcommand*{\@DTMdate}[1]{% + \expandafter\@dtm@parsedate#1\@dtm@endparsedate% + \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}% + }% +} +\gappto{\PJLlang@langconfig@tchinese}{% + \renewcommand*{\@DTMdate}[1]{% + \expandafter\@dtm@parsedate#1\@dtm@endparsedate% + \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}% + }% +} +\gappto{\PJLlang@langconfig@japanese}{% + \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/PJLdraft.sty b/Master/texmf-dist/tex/latex/projlib/PJLdraft.sty new file mode 100644 index 00000000000..4d90172d10f --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLdraft.sty @@ -0,0 +1,96 @@ +%% +%% 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/05/19 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\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/PJLlang.sty b/Master/texmf-dist/tex/latex/projlib/PJLlang.sty new file mode 100644 index 00000000000..13911df82f8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLlang.sty @@ -0,0 +1,217 @@ +%% +%% 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/05/19 Multi-language configuration] +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{% + family = @PJLlang, + prefix = @PJLlang@ +} +\DeclareBoolOption[false]{polyglossia} +\ProcessKeyvalOptions*\relax + +\newcommand\englishABBR{EN} +\newcommand\frenchABBR{FR} +\newcommand\ngermanABBR{DE} +\newcommand\chineseABBR{CN} +\newcommand\tchineseABBR{TC} +\newcommand\japaneseABBR{JP} +\newcommand\russianABBR{RU} + +\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{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 + \ifPDFTeX\else + \PassOptionsToPackage{japanese,russian}{babel} + \fi + \PassOptionsToPackage{italian,portuguese,brazilian,spanish.noquoting,ngerman,french,english,shorthands=off}{babel} + \PassOptionsToPackage{italian,brazilian,spanish,ngerman,french,english}{cleveref} + \RequirePackage{babel} + \frenchsetup{PartNameFull=false} +\fi +\let\today@PJLoriginal\today +\newcommand{\PJLlang@langconfig@common}{% + \ifdefined\DTMtoday% + \let\today\DTMtoday% + \else% + \let\today\today@PJLoriginal% + \fi% +} +\newcommand{\PJLlang@langconfig@chinese}{% + \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}{chinese}% +} +\newcommand{\PJLlang@langconfig@tchinese}{% + \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@japanese}{% + \selectlanguage{japanese}% +} +\newcommand{\PJLlang@langconfig@english}{% + \selectlanguage{english}% +} +\newcommand{\PJLlang@langconfig@french}{% + \selectlanguage{french}% + \def\frenchpartname{Partie}% +} +\newcommand{\PJLlang@langconfig@german}{% + \selectlanguage{ngerman}% +} +\newcommand{\PJLlang@langconfig@russian}{% + \selectlanguage{russian}% +} +\NewDocumentCommand\AddLanguageSetting{d()m}{% +\IfNoValueTF{#1}% + {\gappto{\PJLlang@langconfig@common}{#2}}% + {% + \ifstrequal{#1}{chinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}% + \ifstrequal{#1}{Chinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}% + \ifstrequal{#1}{schinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}% + \ifstrequal{#1}{SChinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}% + \ifstrequal{#1}{simplifiedchinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}% + \ifstrequal{#1}{SimplifiedChinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}% + \ifstrequal{#1}{tchinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}% + \ifstrequal{#1}{TChinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}% + \ifstrequal{#1}{traditionalchinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}% + \ifstrequal{#1}{TraditionalChinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}% + \ifstrequal{#1}{japanese}{\gappto{\PJLlang@langconfig@japanese}{#2}}{}% + \ifstrequal{#1}{Japanese}{\gappto{\PJLlang@langconfig@japanese}{#2}}{}% + \ifstrequal{#1}{english}{\gappto{\PJLlang@langconfig@english}{#2}}{}% + \ifstrequal{#1}{English}{\gappto{\PJLlang@langconfig@english}{#2}}{}% + \ifstrequal{#1}{french}{\gappto{\PJLlang@langconfig@french}{#2}}{}% + \ifstrequal{#1}{French}{\gappto{\PJLlang@langconfig@french}{#2}}{}% + \ifstrequal{#1}{ngerman}{\gappto{\PJLlang@langconfig@german}{#2}}{}% + \ifstrequal{#1}{german}{\gappto{\PJLlang@langconfig@german}{#2}}{}% + \ifstrequal{#1}{German}{\gappto{\PJLlang@langconfig@german}{#2}}{}% + \ifstrequal{#1}{russian}{\gappto{\PJLlang@langconfig@russian}{#2}}{}% + \ifstrequal{#1}{Russian}{\gappto{\PJLlang@langconfig@russian}{#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}} +\newcommand{\UseLanguageCORE}[1]{% + \PJLlang@langconfig@common% + \ifstrequal{#1}{chinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{Chinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{schinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{SChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{simplifiedchinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{SimplifiedChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{tchinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{TChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{traditionalchinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{TraditionalChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{japanese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@japanese}{}% + \ifstrequal{#1}{Japanese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@japanese}{}% + \ifstrequal{#1}{english}{\PJL@config@linespacing\PJLlang@langconfig@english}{}% + \ifstrequal{#1}{English}{\PJL@config@linespacing\PJLlang@langconfig@english}{}% + \ifstrequal{#1}{french}{\PJL@config@linespacing\PJLlang@langconfig@french}{}% + \ifstrequal{#1}{French}{\PJL@config@linespacing\PJLlang@langconfig@french}{}% + \ifstrequal{#1}{ngerman}{\PJL@config@linespacing\PJLlang@langconfig@german}{}% + \ifstrequal{#1}{german}{\PJL@config@linespacing\PJLlang@langconfig@german}{}% + \ifstrequal{#1}{German}{\PJL@config@linespacing\PJLlang@langconfig@german}{}% + \ifstrequal{#1}{russian}{\PJL@config@linespacing\PJLlang@langconfig@russian}{}% + \ifstrequal{#1}{Russian}{\PJL@config@linespacing\PJLlang@langconfig@russian}{}% +} +\newcommand{\UseLanguage}[1]{% + \ifx\@onlypreamble\@notprerr% + \UseLanguageCORE{#1}% + \else% + \AfterEndPreamble{\UseLanguageCORE{#1}}% + \fi% +} +\newcommand{\UseOtherLanguage}[2]{% +\begingroup% + \PJLlang@langconfig@common% + \ifstrequal{#1}{chinese}{\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{Chinese}{\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{schinese}{\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{SChinese}{\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{simplifiedchinese}{\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{SimplifiedChinese}{\PJLlang@langconfig@chinese}{}% + \ifstrequal{#1}{tchinese}{\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{TChinese}{\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{traditionalchinese}{\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{TraditionalChinese}{\PJLlang@langconfig@tchinese}{}% + \ifstrequal{#1}{japanese}{\PJLlang@langconfig@japanese}{}% + \ifstrequal{#1}{Japanese}{\PJLlang@langconfig@japanese}{}% + \ifstrequal{#1}{english}{\PJLlang@langconfig@english}{}% + \ifstrequal{#1}{English}{\PJLlang@langconfig@english}{}% + \ifstrequal{#1}{french}{\PJLlang@langconfig@french}{}% + \ifstrequal{#1}{French}{\PJLlang@langconfig@french}{}% + \ifstrequal{#1}{ngerman}{\PJLlang@langconfig@german}{}% + \ifstrequal{#1}{german}{\PJLlang@langconfig@german}{}% + \ifstrequal{#1}{German}{\PJLlang@langconfig@german}{}% + \ifstrequal{#1}{russian}{\PJLlang@langconfig@russian}{}% + \ifstrequal{#1}{Russian}{\PJLlang@langconfig@russian}{}% + #2% +\endgroup% +} + +\UseLanguage{English} + +\endinput +%% +%% End of file `PJLlang.sty'. diff --git a/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty b/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty new file mode 100644 index 00000000000..685c98af621 --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLlogo.sty @@ -0,0 +1,78 @@ +%% +%% 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/05/19 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} +\RequirePackage{iftex} +\ifdefined\fontspec + \newcommand{\PJLlogo@font}{\normalfont\fontspec{LinBiolinum_R.otf}\selectfont} +\else + \PassOptionsToPackage{T1}{fontenc} + \RequirePackage{fontenc} + \newcommand{\PJLlogo@font}{\normalfont\fontfamily{LinuxBiolinumT-TLF}\selectfont} +\fi +\DeclareSymbolFont{PJLupright}{U}{zeur}{b}{n} +\DeclareMathSymbol{\PJLSigma}{\mathalpha}{PJLupright}{"06} + +\providecommand*{\ProjLib}{% +\begingroup% +\PJLlogo@font% +\color{blue!60!cyan}P% +\color{blue!45!cyan}r% +\color{blue!30!cyan}o% +\color{green!70!black}\j% +\kern-0.266em\raisebox{0.56em}{\scalebox{0.4}{\rotatebox{-10}{$\PJLSigma$}}}% +\kern-0.065em% +\color{red!20!yellow}L% +\color{red!40!yellow}i% +\color{red!60!yellow}b% +\endgroup% +} + +\providecommand*{\ProjLibText}{% +\begingroup% +\PJLlogo@font% +\color{blue!60!cyan}P% +\color{blue!45!cyan}r% +\color{blue!30!cyan}o% +\color{green!70!black}j% +\color{red!20!yellow}L% +\color{red!40!yellow}i% +\color{red!60!yellow}b% +\endgroup% +} + +\endinput +%% +%% End of file `PJLlogo.sty'. diff --git a/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty b/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty new file mode 100644 index 00000000000..eb7ee9d55bd --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLpaper.sty @@ -0,0 +1,95 @@ +%% +%% 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/05/19 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} +\ifdefined\tcbset% + \tcbset{colupper=maintext,collower=maintext} +\fi + +\endinput +%% +%% End of file `PJLpaper.sty'. diff --git a/Master/texmf-dist/tex/latex/projlib/PJLthm.sty b/Master/texmf-dist/tex/latex/projlib/PJLthm.sty new file mode 100644 index 00000000000..36f7d640682 --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLthm.sty @@ -0,0 +1,405 @@ +%% +%% 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/05/19 Theorem setup and configuration] +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{% + family = @PJLthm, + prefix = @PJLthm@ +} +\DeclareBoolOption[false]{nothms} +\ProcessKeyvalOptions*\relax + +\RequirePackage{PJLlang} +\RequirePackage{amsmath,amsthm} +\RequirePackage{aliascnt} +\PassOptionsToPackage{nameinlink}{cleveref} +\RequirePackage{cleveref} + +\RequirePackage{xstring} +\newcommand\PassFirstToSecond[2]{#2{#1}}% +\NewDocumentCommand{\CreateTheorem}{sm}{% + \begingroup + \protected@edef\temp{#2}% + \expandafter\IfEndWith\expandafter{\temp}{*}{% + \expandafter\StrGobbleRight\expandafter{\temp}{1}[\temp]% + \PassFirstToSecond{*}% + }{% + \PassFirstToSecond{}% + }% + {\expandafter\PassFirstToSecond% + \expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}% +}% +\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()}{% + \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*{#2EN#3}{\csname#2nameEN\endcsname} + \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname} + \newtheorem*{#2DE#3}{\csname#2nameDE\endcsname} + \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname} + \newtheorem*{#2TC#3}{\csname#2nameTC\endcsname} + \newtheorem*{#2JP#3}{\csname#2nameJP\endcsname} + \newtheorem*{#2RU#3}{\csname#2nameRU\endcsname} + }{% + \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}}% + }% + %--------------------------------------------------------------- + \CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}% + \CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}% + \CreateTheoremNumberedLikeAliasCounter{#2}{DE}{#3}% + \CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}% + \CreateTheoremNumberedLikeAliasCounter{#2}{TC}{#3}% + \CreateTheoremNumberedLikeAliasCounter{#2}{JP}{#3}% + \CreateTheoremNumberedLikeAliasCounter{#2}{RU}{#3}% + %--------------------------------------------------------------- + }% + \NewDocumentEnvironment{#2#3}{} + {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}% + {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}% + } + }% +}% +\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{% + \newaliascnt{#1#2#3}{#1#3}% + \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}% + \aliascntresetthe{#1#2#3}% + \crefname{#1#2#3}% + {\csname#1name#2\endcsname}% + {\csname#1name#2\endcsname}% + \Crefname{#1#2#3}% + {\csname#1name#2\endcsname}% + {\csname#1name#2\endcsname}% +}% + +%% English theorems names +\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} +\expandafter\def\csname definition-propositionnameEN\endcsname{\definitionnameEN-\propositionnameEN} +\expandafter\def\csname definition-theoremnameEN\endcsname{\definitionnameEN-\theoremnameEN} + +%% French theorems names +\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} +\expandafter\def\csname definition-propositionnameFR\endcsname{\definitionnameFR-\propositionnameFR} +\expandafter\def\csname definition-theoremnameFR\endcsname{\definitionnameFR-\theoremnameFR} + +%% German theorems names +\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} +\expandafter\def\csname definition-propositionnameDE\endcsname{\definitionnameDE-\propositionnameDE} +\expandafter\def\csname definition-theoremnameDE\endcsname{\definitionnameDE-\theoremnameDE} + +%% Chinese theorems names +\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{备注} +\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{備註} +\expandafter\def\csname definition-propositionnameTC\endcsname{\definitionnameTC-\propositionnameTC} +\expandafter\def\csname definition-theoremnameTC\endcsname{\definitionnameTC-\theoremnameTC} + +%% Japanese theorems names +\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{注釈} +\expandafter\def\csname definition-propositionnameJP\endcsname{\definitionnameJP-\propositionnameJP} +\expandafter\def\csname definition-theoremnameJP\endcsname{\definitionnameJP-\theoremnameJP} + +%% Russian theorems names +\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{Замечание} % Замеча́ние +\expandafter\def\csname definition-propositionnameRU\endcsname{\definitionnameRU-\propositionnameRU} +\expandafter\def\csname definition-theoremnameRU\endcsname{\definitionnameRU-\theoremnameRU} + +\newif\ifPJLthm@IsBook +\ifdefined\chapter\PJLthm@IsBooktrue\else\PJLthm@IsBookfalse\fi +\if@PJLthm@nothms\else +%% Theorem environments +\ifbool{PJLthm@IsBook}{ + \newaliascnt{highest}{chapter} +}{ + \newaliascnt{highest}{section} +} +\CreateTheorem{theorem}<highest> +\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] +\CreateTheorem*{theorem*} +\CreateTheorem*{lemma*} +\CreateTheorem*{proposition*} +\CreateTheorem*{corollary*} +\CreateTheorem*{definition-proposition*} +\CreateTheorem*{definition-theorem*} +\CreateTheorem*{property*} +\CreateTheorem*{fact*} +\CreateTheorem*{conjecture*} + +\theoremstyle{definition} +\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] +\CreateTheorem*{definition*} +\CreateTheorem*{axiom*} +\CreateTheorem*{assumption*} +\CreateTheorem*{convention*} +\CreateTheorem*{hypothesis*} +\CreateTheorem*{notation*} +\CreateTheorem*{example*} +\CreateTheorem*{problem*} +\CreateTheorem*{question*} +\CreateTheorem*{exercise*} + +\theoremstyle{remark} +\CreateTheorem{remark}<highest> +\CreateTheorem*{remark*} +\numberwithin{equation}{highest} +\fi + +\gappto{\PJLlang@langconfig@chinese}{% + \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@tchinese}{% + \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@japanese}{% + \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@russian}{% + \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~}% +} + +\endinput +%% +%% End of file `PJLthm.sty'. diff --git a/Master/texmf-dist/tex/latex/projlib/PJLtoolkit.sty b/Master/texmf-dist/tex/latex/projlib/PJLtoolkit.sty new file mode 100644 index 00000000000..5c36253c938 --- /dev/null +++ b/Master/texmf-dist/tex/latex/projlib/PJLtoolkit.sty @@ -0,0 +1,116 @@ +%% +%% This is file `PJLtoolkit.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/05/19 Collective interface of ProjLib Toolkit] +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{ + family = @PJLtoolkit, + prefix = @PJLtoolkit@, +} +\DeclareBoolOption[false]{draft} +\DeclareBoolOption[false]{fast} +\DeclareBoolOption[false]{author} +\DeclareBoolOption[false]{amssim} +\DeclareBoolOption[false]{nothms} +\DeclareBoolOption[false]{palatino} +\DeclareBoolOption[false]{times} +\DeclareBoolOption[false]{garamond} +\DeclareBoolOption[false]{biolinum} +\ProcessKeyvalOptions*\relax +\if@PJLtoolkit@draft + \@PJLtoolkit@fasttrue +\fi +\if@PJLtoolkit@fast + \PassOptionsToPackage{fast}{PJLdate} + \PassOptionsToPackage{fast}{PJLdraft} + \PassOptionsToPackage{fast}{PJLlogo} +\fi +\if@PJLtoolkit@nothms + \PassOptionsToPackage{nothms}{PJLthm} +\fi + +\if@PJLtoolkit@author + \RequirePackage{PJLauthor} +\fi +\if@PJLtoolkit@amssim + \RequirePackage{PJLamssim} +\fi +\RequirePackage{PJLdate} +\RequirePackage{PJLdraft} +\RequirePackage{PJLlogo} +\RequirePackage{PJLpaper} +\RequirePackage{PJLthm} + +\RequirePackage{mathtools} + +\ifdefined\PJL@font@alreadyset\else + +\if@PJLtoolkit@palatino + \RequirePackage{amssymb} + \RequirePackage{mathpazo} + \PassOptionsToPackage{defaultsups}{newpxtext} + \RequirePackage{newpxtext} + \RequirePackage{newpxmath} + \let\openbox\relax + \PJLsetlinespacing{\setstretch{1.07}} +\fi + +\if@PJLtoolkit@times + \RequirePackage{amssymb} + \PassOptionsToPackage{defaultsups}{newtxtext} + \RequirePackage{newtxtext} + \RequirePackage{newtxmath} + \let\openbox\relax + \PJLsetlinespacing{\setstretch{1.00}} +\fi + +\if@PJLtoolkit@garamond + \RequirePackage{amssymb} + \RequirePackage{ebgaramond-maths} + \RequirePackage{ebgaramond} + % \RequirePackage{garamondlibre} + \PJLsetlinespacing{\setstretch{1.00}} +\fi + +\if@PJLtoolkit@biolinum + \RequirePackage{amssymb} + \RequirePackage{mathpazo} + % \RequirePackage[sansmath]{libertinust1math} + \ifPDFTeX + \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 ] + \fi + \PJLsetlinespacing{\setstretch{1.05}} +\fi + +\fi + +\RequirePackage{microtype} + +\endinput +%% +%% End of file `PJLtoolkit.sty'. |