summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/adjmulticol/README4
-rw-r--r--macros/latex/contrib/adjmulticol/adjmulticol.dtx15
-rw-r--r--macros/latex/contrib/adjmulticol/adjmulticol.pdfbin248294 -> 265207 bytes
-rw-r--r--macros/latex/contrib/adjmulticol/sample.pdfbin51287 -> 53058 bytes
-rw-r--r--macros/latex/contrib/colorist/colorart.cls13
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls13
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.pdfbin99093 -> 101019 bytes
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex10
-rw-r--r--macros/latex/contrib/colorist/colorist-fancy.sty216
-rw-r--r--macros/latex/contrib/colorist/colorist.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-classical.sty362
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin104579 -> 103651 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex4
-rw-r--r--macros/latex/contrib/minimalist/minimalist-plain.sty347
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls13
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls13
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx129
-rw-r--r--macros/latex/contrib/projlib/ProjLib.ins2
-rw-r--r--macros/latex/contrib/projlib/README.md134
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLauthor.sty245
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLdate.sty74
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLdraft.sty104
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLlang.sty358
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLlogo.sty72
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLmath.sty315
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLpaper.sty96
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLthm.sty2019
-rw-r--r--macros/latex/contrib/projlib/old-modules/PJLtoolkit.sty184
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin311864 -> 317958 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex26
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin202688 -> 208707 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex26
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdfbin207082 -> 213506 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex26
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls38
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin241093 -> 246732 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex5
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin148049 -> 154292 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex5
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.pdfbin154409 -> 160763 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.tex5
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls38
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin269110 -> 264079 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex3
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin154045 -> 146177 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex3
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdfbin160620 -> 150569 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex3
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls38
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin326762 -> 333063 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex24
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin224472 -> 230296 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex25
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdfbin226321 -> 231898 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex24
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls38
57 files changed, 941 insertions, 4132 deletions
diff --git a/macros/latex/contrib/adjmulticol/README b/macros/latex/contrib/adjmulticol/README
index 62d899f95b..c3c9fcbe51 100644
--- a/macros/latex/contrib/adjmulticol/README
+++ b/macros/latex/contrib/adjmulticol/README
@@ -11,4 +11,6 @@ Changes:
v1.1 Changed calculations for unicolumn layout
which might previously lead to loss of text
- v1.2 Bug fix: now adjmulticols works inside a box too. \ No newline at end of file
+ v1.2 Bug fix: now adjmulticols works inside a box too.
+
+ v1.3 Big fix: disappearing material in one column output \ No newline at end of file
diff --git a/macros/latex/contrib/adjmulticol/adjmulticol.dtx b/macros/latex/contrib/adjmulticol/adjmulticol.dtx
index 12c5e4ca73..9ce7012f03 100644
--- a/macros/latex/contrib/adjmulticol/adjmulticol.dtx
+++ b/macros/latex/contrib/adjmulticol/adjmulticol.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-%% Copyright 2020, Boris Veytsman <borisv@lk.net>
+%% Copyright 2022, Boris Veytsman <borisv@lk.net>
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3 of this license or (at your option) any
@@ -87,7 +87,7 @@
%%
%<*gobble>
% \fi
-% \CheckSum{184}
+% \CheckSum{0}
%
%
%% \CharacterTable
@@ -126,7 +126,7 @@
% \GetFileInfo{adjmulticol.sty}
%
% \title{Adjusting Margins for Multicolumn and Unicolumn
-% Output\thanks{\copyright Boris Veytsman, 2020} \thanks{Note: This
+% Output\thanks{\copyright Boris Veytsman, 2022} \thanks{Note: This
% package is released under terms which affect its use in commercial
% applications. Please see the details at the top of the source file}}
% \author{Boris Veytsman}
@@ -308,7 +308,7 @@
%</gobble>
%<style>\ProvidesPackage{adjmulticol}
%<*style>
-[2020/03/06 v1.2 Adjusted margins for multicolumn layout]
+[2022/03/27 v1.3 Adjusted margins for multicolumn layout]
% \end{macrocode}
%
%
@@ -363,6 +363,7 @@
%\label{sec:start}
%
% \begin{macro}{\adjmulticols}
+% \changes{v1.3}{2022/03/27}{Do not try to balance one-column version}
% We have three mandatory arguments instead of one for |multicols|:
% the number of columns, the left margin delta and the right margin
% delta:
@@ -390,6 +391,10 @@
\MessageBreak
I therefore use 10 columns instead}%
\col@number10 \fi
+ \ifnum\col@number=\@ne\relax
+ \let\balance@columns@out
+ \multi@column@out
+ \fi
% \end{macrocode}
%
%
@@ -466,6 +471,7 @@
%
% \begin{macro}{\endadjmulticols}
% \changes{v1.2}{2020/03/06}{Redefined macro}
+% \changes{v1.3}{2022/03/27}{Added \cs{vfill} for one-column environment}
% Here we use the standard environment end. Note that it uses
% |\@checkend|, so we need to redefine it to fool the
% check. We need to do it globally to work inside a box too.
@@ -473,6 +479,7 @@
\def\endadjmulticols{%
\global\let\@ADJMC@checkend\@checkend
\gdef\@checkend##1{}%
+ \ifnum\col@number=\@ne\relax\vfill\fi
\endmulticols
\global\let\@checkend\@ADJMC@checkend}
% \end{macrocode}
diff --git a/macros/latex/contrib/adjmulticol/adjmulticol.pdf b/macros/latex/contrib/adjmulticol/adjmulticol.pdf
index d2709950d5..05999ddfdc 100644
--- a/macros/latex/contrib/adjmulticol/adjmulticol.pdf
+++ b/macros/latex/contrib/adjmulticol/adjmulticol.pdf
Binary files differ
diff --git a/macros/latex/contrib/adjmulticol/sample.pdf b/macros/latex/contrib/adjmulticol/sample.pdf
index a55f9bf1c2..af96fd4aa2 100644
--- a/macros/latex/contrib/adjmulticol/sample.pdf
+++ b/macros/latex/contrib/adjmulticol/sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index cbacee3853..fd6bc08f62 100644
--- a/macros/latex/contrib/colorist/colorart.cls
+++ b/macros/latex/contrib/colorist/colorart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{colorart}
- {2022/03/19} {}
+ {2022/03/28} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -151,6 +151,17 @@
\RequirePackage { mathpazo }
\RequirePackage { newpxtext }
\RequirePackage { amssymb }
+ \sys_if_engine_pdftex:F
+ {
+ \setsansfont { texgyreheros }
+ [
+ Scale = MatchUppercase ,
+ UprightFont = *-regular ,
+ BoldFont = *-bold ,
+ ItalicFont = *-italic ,
+ BoldItalicFont = *-bolditalic ,
+ ]
+ }
}
}
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index ce2d27ce8b..07389ebc5c 100644
--- a/macros/latex/contrib/colorist/colorbook.cls
+++ b/macros/latex/contrib/colorist/colorbook.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{colorbook}
- {2022/03/19} {}
+ {2022/03/28} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -151,6 +151,17 @@
\RequirePackage { mathpazo }
\RequirePackage { newpxtext }
\RequirePackage { amssymb }
+ \sys_if_engine_pdftex:F
+ {
+ \setsansfont { texgyreheros }
+ [
+ Scale = MatchUppercase ,
+ UprightFont = *-regular ,
+ BoldFont = *-bold ,
+ ItalicFont = *-italic ,
+ BoldItalicFont = *-bolditalic ,
+ ]
+ }
}
}
diff --git a/macros/latex/contrib/colorist/colorist-doc.pdf b/macros/latex/contrib/colorist/colorist-doc.pdf
index 6320e9f13e..e187bcbc51 100644
--- a/macros/latex/contrib/colorist/colorist-doc.pdf
+++ b/macros/latex/contrib/colorist/colorist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorist-doc.tex b/macros/latex/contrib/colorist/colorist-doc.tex
index 98804ad9b3..064648846c 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -1,13 +1,5 @@
\documentclass[English,Chinese,French,use boldface,simple name]{colorart}
-\setsansfont{texgyreheros}[
- Scale=MatchUppercase,
- UprightFont=*-regular,
- BoldFont=*-bold,
- ItalicFont=*-italic,
- BoldItalicFont=*-bolditalic,
-]
-
%%================================
%% Import toolkit
%%================================
@@ -99,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{{\normalfont\bfseries\color{main-text}\colorist{}}\\write your articles or books in a colorful way}
\author{Jinwen XU}
diff --git a/macros/latex/contrib/colorist/colorist-fancy.sty b/macros/latex/contrib/colorist/colorist-fancy.sty
index 2161c7065d..cb625ce8ac 100644
--- a/macros/latex/contrib/colorist/colorist-fancy.sty
+++ b/macros/latex/contrib/colorist/colorist-fancy.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{colorist-fancy}
- {2022/03/19} {}
+ {2022/03/28} {}
{The fancy style of colorist}
\@ifpackageloaded { colorist } {}
@@ -99,34 +99,82 @@
\fancypagestyle { fancy }
{
- \fancyhf{}
+ \fancyhf { }
\if@twoside
- \fancyfoot[RO]{\sffamily\textcolor{main-text!30!paper}{ \small \l_colorist_rightmark_tl }
- \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\textbf{\thepage}}}}
- \fancyfoot[LE]{\leavevmode\sffamily\llap{\textcolor{main-text!75!paper}{\textbf{\thepage}}
- \nobreakspace\nobreakspace\nobreakspace\nobreakspace}
- \textcolor{main-text!30!paper}{ \l_colorist_leftmark_tl }}
+ \fancyfoot[RO]
+ {
+ \sffamily
+ \textcolor { main-text!30!paper } { \small \l_colorist_rightmark_tl }
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \colorist_bfseries: \thepage }
+ }
+ }
+ \fancyfoot[LE]
+ {
+ \leavevmode
+ \sffamily
+ \llap
+ {
+ \textcolor { main-text!75!paper } { \colorist_bfseries: \thepage }
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ }
+ \textcolor { main-text!30!paper } { \l_colorist_leftmark_tl }
+ }
\else
- \fancyfoot[R]{\textcolor{main-text!30!paper}{ \l_colorist_rightmark_tl }
- \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\textbf{\thepage}}}}
+ \fancyfoot[R]
+ {
+ \sffamily
+ \textcolor { main-text!30!paper } { \small \l_colorist_rightmark_tl }
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \colorist_bfseries: \thepage }
+ }
+ }
\fi
- \renewcommand{\headrulewidth}{0pt}
+ \renewcommand { \headrulewidth } { 0pt }
}
-\pagestyle{fancy}
+\pagestyle { fancy }
\fancypagestyle { plain }
{
- \fancyhf{}
+ \fancyhf { }
\if@twoside
- \fancyfoot[RO]{\sffamily
- \nobreakspace\rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\textbf{\thepage}}}}
- \fancyfoot[LE]{\leavevmode\sffamily\llap{\textcolor{main-text!75!paper}{\textbf{\thepage}}
- \nobreakspace\nobreakspace}}
+ \fancyfoot[RO]
+ {
+ \sffamily
+ \nobreakspace
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \colorist_bfseries: \thepage }
+ }
+ }
+ \fancyfoot[LE]
+ {
+ \leavevmode
+ \sffamily
+ \llap
+ {
+ \textcolor { main-text!75!paper } { \colorist_bfseries: \thepage }
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ }
+ }
\else
- \fancyfoot[R]{\sffamily
- \nobreakspace\nobreakspace\nobreakspace\rlap{\textcolor{main-text!75!paper}{\textbf{\thepage}}}}
+ \fancyfoot[R]
+ {
+ \sffamily
+ \nobreakspace
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \colorist_bfseries: \thepage }
+ }
+ }
\fi
- \renewcommand{\headrulewidth}{0pt}
+ \renewcommand { \headrulewidth } { 0pt }
}
\bool_if:NTF \l__colorist_is_book_bool
@@ -220,8 +268,10 @@
}
%% Chapter
- % Numbered chapter title: \TheChapter{<number>}{<title>}
- \newcommand{\TheChapter}[2]
+ % Numbered chapter title
+ \cs_new_protected:Nn \colorist_chapter_inner:nn
+ % #1 = number
+ % #2 = title
{
\tcbsidebyside[enhanced,sidebyside~adapt=right,sidebyside~align=bottom,
colback=paper,frame~hidden,
@@ -232,8 +282,9 @@
-- (segmentation.south);}
]{\filleft#2}{\normalfont\textcolor{maintheme}{\scalebox{4}{#1}}}
}
- % Numberless chapter title: \TheChapterSingle{<title>}
- \newcommand{\TheChapterSingle}[1]
+ % Numberless chapter title
+ \cs_new_protected:Nn \colorist_chapter_inner:n
+ % #1 = title
{
\begin{tcolorbox}[
enhanced,
@@ -254,7 +305,7 @@
{ \g_colorist_title_font_chapter_tl \scshape\huge} % Format
{} % Label
{0mm} % Sep
- {\TheChapter{\thechapter}{#1}} % Before-code
+ { \colorist_chapter_inner:nn { \thechapter } { #1 } } % Before-code
\titlespacing*{name=\chapter}
{0em}{*2}{0em} % {left}{before-sep}{after-sep}
@@ -262,7 +313,7 @@
{\filcenter \g_colorist_title_font_chapter_tl \scshape\huge}
{}
{0mm}
- {\TheChapterSingle{#1}}
+ { \colorist_chapter_inner:n { #1 } }
\titlespacing*{name=\chapter, numberless}
{0em}{*2}{0em}
@@ -419,7 +470,20 @@
%%================================
%% Blank page
%%================================
-\newcommand{\blinkpagetext}{This~page~is~intentionally~left~blank}
+\projlib_langauge_define_multilingual_text:Nn \bl@nkpagetext
+ {
+ , EN = This~page~is~intentionally~left~blank
+ , FR = Cette~page~a~été~intentionellement~laissée~vide
+ , DE = Diese~Seite~wurde~absichtlich~leer~gelassen
+ , IT = Questa~pagina~è~stata~lasciata~vuota~intenzionalmente
+ , PT = Esta~página~foi~intencionalmente~deixada~em~branco
+ , BR = Esta~página~foi~intencionalmente~deixada~em~branco
+ , ES = Esta~página~se~ha~dejado~intencionadamente~en~blanco
+ , CN = 此页为有意留为空白
+ , TC = 此頁為有意留為空白
+ , JP = このページは意図的に空白にしてあります
+ , RU = Эта~страница~намеренно~оставлена~пустой
+ }
\renewcommand{\cleardoublepage}{
\relax
\clearpage
@@ -428,7 +492,7 @@
\hook_gput_next_code:nn { shipout/background }
{
\put(0.5\paperwidth,-0.5\paperheight){
- \makebox[0pt]{\large\color{main-text!10!paper}\blinkpagetext}}
+ \makebox[0pt]{\large\color{main-text!10!paper}\bl@nkpagetext}}
}
\null\newpage\fi\fi
}
@@ -963,55 +1027,79 @@
\theoremstyle{simple}
-\bool_if:NF \l__colorist_is_book_bool {
-
%%================================
%% Title block style
%%================================
-\renewcommand{\@maketitle}{
-\begin{center}
- \color{maintheme}
- {\Large\sffamily\scshape \colorist_bfseries: \@title}\\\bigskip
- \color{main-text!80!paper}
- {\scshape\@author}\par\smallskip
- {\@date}
-\end{center}
-\ifx\@date\@empty\bigskip\fi
-\medskip
-}
+\bool_if:NTF \l__colorist_is_book_bool
+ {
+ \hook_gput_code:nnn { package/projlib-author/after } { colorist }
+ {
+ \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \scshape }
+ \tl_gset:Nn \g__projlib_author_font_institute_tl { \large \normalfont }
+ \tl_gset:Nn \g__projlib_author_font_address_tl { \large \normalfont \itshape }
+ \tl_gset:Nn \g__projlib_author_font_curraddr_tl { \large \normalfont \itshape }
+ \tl_gset:Nn \g__projlib_author_font_email_tl { \large \normalfont \ttfamily }
+ }
-\hook_gput_code:nnn { cmd/maketitle/after } { colorist } { \thispagestyle{fancy} }
+ \RequirePackage { projlib-titlepage }
+ \renewcommand{\maketitle}{
+ \LocallyStopLineNumbers
+ \ProjLibTitlePage
+ {
+ , title = \@title
+ , author = \@author
+ , date = \@date
+ }
+ \ResumeLineNumbers
+ }
+ }
+ {
+ \renewcommand{\@maketitle}
+ {
+ \begin{center}
+ \color{maintheme}
+ {\Large\sffamily\scshape \colorist_bfseries: \@title}\\\bigskip
+ \color{main-text!80!paper}
+ {\scshape\@author}\par\smallskip
+ {\@date}
+ \end{center}
+ \ifx\@date\@empty\bigskip\fi
+ \medskip
+ }
+
+ \hook_gput_code:nnn { cmd/maketitle/after } { colorist } { \thispagestyle{fancy} }
%%================================
%% Abstract style
%%================================
-\renewenvironment{abstract}
-{\small{\centerline{\textsc{ \colorist_bfseries: \sffamily\abstractname}}\vspace{-0.3\baselineskip}}
- \color{main-text!80!paper}\begin{quotation}}
-{\end{quotation}\medskip}
+ \renewenvironment{abstract}
+ {\small{\centerline{\textsc{ \colorist_bfseries: \sffamily\abstractname}}\vspace{-0.3\baselineskip}}
+ \color{main-text!80!paper}\begin{quotation}}
+ {\end{quotation}\medskip}
%%================================
%% Keyword environment
%%================================
-\DefineMultilingualText { \keywordname }
- {
- EN = Keywords ,
- FR = Mots~clés ,
- DE = Schlüsselwörter ,
- IT = Parole~chiave ,
- PT = Palavras~chave ,
- BR = Palavras~chave ,
- ES = Palabras~clave ,
- CN = 关键词 ,
- TC = 關鍵詞 ,
- JP = キーワード ,
- RU = Ключевые~слова ,
- }
+ \DefineMultilingualText { \keywordname }
+ {
+ EN = Keywords ,
+ FR = Mots~clés ,
+ DE = Schlüsselwörter ,
+ IT = Parole~chiave ,
+ PT = Palavras~chave ,
+ BR = Palavras~chave ,
+ ES = Palabras~clave ,
+ CN = 关键词 ,
+ TC = 關鍵詞 ,
+ JP = キーワード ,
+ RU = Ключевые~слова ,
+ }
-\newenvironment{keyword}
-{\small\centerline{{ \colorist_bfseries: \keywordname}}\vspace{-0.3\baselineskip}
- \color{main-text!80!paper}\begin{center}}
-{\end{center}\medskip}
+ \newenvironment{keyword}
+ {\small\centerline{{ \colorist_bfseries: \keywordname}}\vspace{-0.3\baselineskip}
+ \color{main-text!80!paper}\begin{center}}
+ {\end{center}\medskip}
+ } % end of \bool_if:NTF \l__colorist_is_book_bool
%%================================
%% Simulate features of amsart
@@ -1019,8 +1107,6 @@
\PassOptionsToPackage { amsfashion } { projlib-author }
\RequirePackage { projlib-author }
-}
-
\endinput
%%
%% End of file `colorist/colorist-fancy.sty'.
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index 6da2938455..ad936a1081 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{colorist}
- {2022/03/19} {}
+ {2022/03/28} {}
{A colorful style for articles and books}
\keys_define:nn { colorist }
diff --git a/macros/latex/contrib/minimalist/minimalist-classical.sty b/macros/latex/contrib/minimalist/minimalist-classical.sty
index beef4ed857..11b9b94ad3 100644
--- a/macros/latex/contrib/minimalist/minimalist-classical.sty
+++ b/macros/latex/contrib/minimalist/minimalist-classical.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist-classical}
- {2022/03/19} {}
+ {2022/03/28} {}
{The classical style of minimalist}
\@ifpackageloaded { minimalist } {}
@@ -113,34 +113,91 @@
\fancypagestyle { fancy }
{
- \fancyhf{}
+ \fancyhf { }
\if@twoside
- \fancyfoot[RO]{\small\textcolor{main-text!30!paper}{ \l_minimalist_rightmark_tl }
- \nobreakspace\nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}}
- \fancyfoot[LE]{\small\leavevmode\llap{\thepage
- \nobreakspace\nobreakspace\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }}
- \nobreakspace\nobreakspace\textcolor{main-text!30!paper}{ \l_minimalist_leftmark_tl }}
+ \fancyfoot[RO]
+ {
+ \small
+ \textcolor { main-text!30!paper } { \l_minimalist_rightmark_tl }
+ \nobreakspace \nobreakspace
+ \rlap
+ {
+ \textcolor { main-text!27!paper } { \l_minimalist_sep_bar }
+ \nobreakspace \nobreakspace
+ \thepage
+ }
+ }
+ \fancyfoot[LE]
+ {
+ \small
+ \leavevmode
+ \llap
+ {
+ \thepage
+ \nobreakspace \nobreakspace
+ \textcolor { main-text!27!paper } { \l_minimalist_sep_bar }
+ }
+ \nobreakspace \nobreakspace
+ \textcolor { main-text!30!paper } { \l_minimalist_leftmark_tl }
+ }
\else
- \fancyfoot[R]{\small\textcolor{main-text!30!paper}{ \l_minimalist_rightmark_tl }
- \nobreakspace\nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}}
+ \fancyfoot[R]
+ {
+ \small
+ \textcolor { main-text!30!paper } { \l_minimalist_rightmark_tl }
+ \nobreakspace \nobreakspace
+ \rlap
+ {
+ \textcolor { main-text!27!paper } { \l_minimalist_sep_bar }
+ \nobreakspace \nobreakspace
+ \thepage
+ }
+ }
\fi
- \renewcommand{\headrulewidth}{0pt}
+ \renewcommand { \headrulewidth } { 0pt }
}
-\pagestyle{fancy}
+\pagestyle { fancy }
\fancypagestyle { plain }
{
- \fancyhf{}
+ \fancyhf { }
\if@twoside
- \fancyfoot[RO]{\small
- \nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}}
- \fancyfoot[LE]{\small\leavevmode\llap{\thepage
- \nobreakspace\nobreakspace\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }}}
+ \fancyfoot[RO]
+ {
+ \small
+ \nobreakspace
+ \rlap
+ {
+ \textcolor { main-text!27!paper } { \l_minimalist_sep_bar }
+ \nobreakspace \nobreakspace
+ \thepage
+ }
+ }
+ \fancyfoot[LE]
+ {
+ \small
+ \leavevmode
+ \llap
+ {
+ \thepage
+ \nobreakspace \nobreakspace
+ \textcolor { main-text!27!paper } { \l_minimalist_sep_bar }
+ }
+ }
\else
- \fancyfoot[R]{\small
- \nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}}
+ \fancyfoot[R]
+ {
+ \small
+ \nobreakspace
+ \rlap
+ {
+ \textcolor { main-text!27!paper } { \l_minimalist_sep_bar }
+ \nobreakspace \nobreakspace
+ \thepage
+ }
+ }
\fi
- \renewcommand{\headrulewidth}{0pt}
+ \renewcommand { \headrulewidth } { 0pt }
}
\bool_if:NTF \l__minimalist_is_book_bool
@@ -150,35 +207,31 @@
\newcommand{ \minimalist_draw_help_line: }{}
}
{
- \newcommand{ \minimalist_draw_help_line: }{
+ \newcommand{ \minimalist_draw_help_line: }
+ {
\begin{tikzpicture}[remember~picture,overlay]
- \foreach\i in {0,1,...,5}{
- \fill[opacity=0.12-0.02*\i]
- ($(current~page~text~area.north~east)
- +(-\i*0.5em-.025em,-10pt+\i*1.1pt)$)
- rectangle ($(current~page~text~area.south~east)
- +(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
- \shade[top~color=paper,bottom~color=main-text,opacity=0.12-0.02*\i]
- ($(current~page~text~area.north~east)
- +(-\i*0.5em-.025em,2pt)$)
- rectangle ($(current~page~text~area.north~east)
- +(-\i*0.5em+.025em,-10pt+\i*1.1pt)$);
- \shade[top~color=main-text,bottom~color=paper,opacity=0.12-0.02*\i]
- ($(current~page~text~area.south~east)
- +(-\i*0.5em-.025em,-2pt)$)
- rectangle ($(current~page~text~area.south~east)
- +(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
- }
+ \foreach\i in {0,1,...,5}{
+ \fill[opacity=0.12-0.02*\i]
+ ($(current~page~text~area.north~east)+(-\i*0.5em-.025em,-10pt+\i*1.1pt)$)
+ rectangle ($(current~page~text~area.south~east)+(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
+ \shade[top~color=paper,bottom~color=main-text,opacity=0.12-0.02*\i]
+ ($(current~page~text~area.north~east)+(-\i*0.5em-.025em,2pt)$)
+ rectangle ($(current~page~text~area.north~east)+(-\i*0.5em+.025em,-10pt+\i*1.1pt)$);
+ \shade[top~color=main-text,bottom~color=paper,opacity=0.12-0.02*\i]
+ ($(current~page~text~area.south~east)+(-\i*0.5em-.025em,-2pt)$)
+ rectangle ($(current~page~text~area.south~east)+(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
+ }
\end{tikzpicture}
- }
+ }
}
- \fancypagestyle{part}{
- \fancyhf{}
- \renewcommand{\headrulewidth}{0pt}
- \fancyhead[C]{ \minimalist_draw_help_line: }
- }
- \addtolength{\headheight}{20pt}
- \addtolength{\topmargin}{-20pt}
+ \fancypagestyle { part }
+ {
+ \fancyhf { }
+ \renewcommand { \headrulewidth } { 0pt }
+ \fancyhead[C] { \minimalist_draw_help_line: }
+ }
+ \addtolength { \headheight } { 20pt }
+ \addtolength { \topmargin } { -20pt }
\if@twoside
\renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{}}
\else
@@ -234,11 +287,11 @@
}
\AddLanguageSetting [ schinese ]
{
- \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部分}
+ \renewcommand{\partstring}{第 \zhnumber{\arabic{part}} 部分}
}
\AddLanguageSetting [ tchinese ]
{
- \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部分}
+ \renewcommand{\partstring}{第 \zhnumber{\arabic{part}} 部分}
}
\AddLanguageSetting [ japanese ]
{
@@ -406,7 +459,7 @@
\titlecontents{part}
[0em]
{\addvspace{1.5pc}\filcenter\normalfont}
- {\thecontentslabel\nopagebreak\\\nopagebreak\uppercase}
+ { \minimalist_apply_title_numbering_style:N { \thecontentslabel } \nopagebreak\\\nopagebreak\uppercase}
{}
{} % without page number
[\addvspace{.5pc}]
@@ -487,7 +540,20 @@
%%================================
%% Blank page
%%================================
-\newcommand{\blinkpagetext}{This~page~is~intentionally~left~blank}
+\projlib_langauge_define_multilingual_text:Nn \bl@nkpagetext
+ {
+ , EN = This~page~is~intentionally~left~blank
+ , FR = Cette~page~a~été~intentionellement~laissée~vide
+ , DE = Diese~Seite~wurde~absichtlich~leer~gelassen
+ , IT = Questa~pagina~è~stata~lasciata~vuota~intenzionalmente
+ , PT = Esta~página~foi~intencionalmente~deixada~em~branco
+ , BR = Esta~página~foi~intencionalmente~deixada~em~branco
+ , ES = Esta~página~se~ha~dejado~intencionadamente~en~blanco
+ , CN = 此页为有意留为空白
+ , TC = 此頁為有意留為空白
+ , JP = このページは意図的に空白にしてあります
+ , RU = Эта~страница~намеренно~оставлена~пустой
+ }
\renewcommand{\cleardoublepage}{
\relax
\clearpage
@@ -496,7 +562,7 @@
\hook_gput_next_code:nn { shipout/background }
{
\put(0.5\paperwidth,-0.5\paperheight){
- \makebox[0pt]{\large\color{main-text!10!paper}\blinkpagetext}}
+ \makebox[0pt]{\large\color{main-text!10!paper}\bl@nkpagetext}}
}
\null\newpage\fi\fi
}
@@ -741,104 +807,128 @@
%% Index
%%================================
\hook_gput_code:nnn { begindocument/before } { minimalist }
-{
- \hook_gput_code:nnn { cmd/printindex/before } { minimalist } { \LocallyStopLineNumbers }
- \hook_gput_code:nnn { cmd/printindex/after } { minimalist } { \ResumeLineNumbers }
-}
-
-\bool_if:NF \l__minimalist_is_book_bool {
+ {
+ \hook_gput_code:nnn { cmd/printindex/before } { minimalist } { \LocallyStopLineNumbers }
+ \hook_gput_code:nnn { cmd/printindex/after } { minimalist } { \ResumeLineNumbers }
+ }
%%================================
%% Title block style
%%================================
-\renewcommand{\@maketitle}{
- \LocallyStopLineNumbers
- \noindent
- {\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}}
- % \vspace{-\parskip}
- \vspace{-.5\baselineskip}
- \begin{flushright}
- \let\footnote\thanks
- {\minimalist_bfseries:\@title}\\\medskip
- \color{main-text!80!paper}
- {\small\scshape\@author}
- \par\vspace{-\parskip}\vspace{2pt}
- {\small\@date}
- \end{flushright}
- % \vspace{-\parskip}
- \vspace{-.5\baselineskip}
- \ifx\@date\@empty
- \vspace{\baselineskip}
- \vspace{1.2\parskip}
- \else
- \vspace{-.5\baselineskip}
- \fi
- {\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}\par}
- \ResumeLineNumbers
-}
+\bool_if:NTF \l__minimalist_is_book_bool
+ {
+ \hook_gput_code:nnn { package/projlib-author/after } { minimalist }
+ {
+ \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \scshape }
+ \tl_gset:Nn \g__projlib_author_font_institute_tl { \large \normalfont }
+ \tl_gset:Nn \g__projlib_author_font_address_tl { \large \normalfont \itshape }
+ \tl_gset:Nn \g__projlib_author_font_curraddr_tl { \large \normalfont \itshape }
+ \tl_gset:Nn \g__projlib_author_font_email_tl { \large \normalfont \ttfamily }
+ }
+
+ \RequirePackage { projlib-titlepage }
+ \renewcommand{\maketitle}{
+ \LocallyStopLineNumbers
+ \ProjLibTitlePage [ style = simple ]
+ {
+ , title = \@title
+ , author = \@author
+ , date = \@date
+ }
+ \ResumeLineNumbers
+ }
+ }
+ {
+ \renewcommand{\@maketitle}
+ {
+ \LocallyStopLineNumbers
+ \noindent
+ {\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}}
+ % \vspace{-\parskip}
+ \vspace{-.5\baselineskip}
+ \begin{flushright}
+ \let\footnote\thanks
+ {\minimalist_bfseries:\@title}\\\medskip
+ \color{main-text!80!paper}
+ {\small\scshape\@author}
+ \par\vspace{-\parskip}\vspace{2pt}
+ {\small\@date}
+ \end{flushright}
+ % \vspace{-\parskip}
+ \vspace{-.5\baselineskip}
+ \ifx\@date\@empty
+ \vspace{\baselineskip}
+ \vspace{1.2\parskip}
+ \else
+ \vspace{-.5\baselineskip}
+ \fi
+ {\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}\par}
+ \ResumeLineNumbers
+ }
-\hook_gput_code:nnn { cmd/maketitle/after } { minimalist } { \thispagestyle{fancy} }
+ \hook_gput_code:nnn { cmd/maketitle/after } { minimalist } { \thispagestyle{fancy} }
%%================================
%% Abstract style
%%================================
-\renewenvironment{abstract}
- {
- \LocallyStopLineNumbers
- \begin{flushright}
- { \g_minimalist_title_font_section_tl \scshape \small\abstractname}\par
- \vspace{-\parskip}
- \vspace{-.25\baselineskip}
- \begin{minipage}[t]{.833\textwidth}
- \vspace{0pt}
- \color{main-text!80!paper}
- \footnotesize
- \parindent=2em
- }
- {
- \end{minipage}
- \end{flushright}
- \bigskip
- \ResumeLineNumbers
- }
+ \renewenvironment{abstract}
+ {
+ \LocallyStopLineNumbers
+ \begin{flushright}
+ { \g_minimalist_title_font_section_tl \scshape \small\abstractname}\par
+ \vspace{-\parskip}
+ \vspace{-.25\baselineskip}
+ \begin{minipage}[t]{.833\textwidth}
+ \vspace{0pt}
+ \color{main-text!80!paper}
+ \footnotesize
+ \parindent=2em
+ }
+ {
+ \end{minipage}
+ \end{flushright}
+ \bigskip
+ \ResumeLineNumbers
+ }
%%================================
%% Keyword environment
%%================================
-\DefineMultilingualText { \keywordname }
- {
- EN = Keywords ,
- FR = Mots~clés ,
- DE = Schlüsselwörter ,
- IT = Parole~chiave ,
- PT = Palavras~chave ,
- BR = Palavras~chave ,
- ES = Palabras~clave ,
- CN = 关键词 ,
- TC = 關鍵詞 ,
- JP = キーワード ,
- RU = Ключевые~слова ,
- }
-
-\newenvironment{keyword}{
- \LocallyStopLineNumbers
- \vspace{-.5\baselineskip}
- \begin{flushright}
- {\minimalist_bfseries:\scshape\small\keywordname}\par
- \vspace{-\parskip}
- \vspace{-.30\baselineskip}
- \begin{minipage}[t]{.833\textwidth}
- \vspace{0pt}
- \color{main-text!80!paper}
- \footnotesize
- \parindent=2em
- \raggedleft
-}{
- \end{minipage}
- \end{flushright}
- \bigskip
- \ResumeLineNumbers
-}
+ \DefineMultilingualText { \keywordname }
+ {
+ EN = Keywords ,
+ FR = Mots~clés ,
+ DE = Schlüsselwörter ,
+ IT = Parole~chiave ,
+ PT = Palavras~chave ,
+ BR = Palavras~chave ,
+ ES = Palabras~clave ,
+ CN = 关键词 ,
+ TC = 關鍵詞 ,
+ JP = キーワード ,
+ RU = Ключевые~слова ,
+ }
+
+ \newenvironment{keyword}{
+ \LocallyStopLineNumbers
+ \vspace{-.5\baselineskip}
+ \begin{flushright}
+ {\minimalist_bfseries:\scshape\small\keywordname}\par
+ \vspace{-\parskip}
+ \vspace{-.30\baselineskip}
+ \begin{minipage}[t]{.833\textwidth}
+ \vspace{0pt}
+ \color{main-text!80!paper}
+ \footnotesize
+ \parindent=2em
+ \raggedleft
+ }{
+ \end{minipage}
+ \end{flushright}
+ \bigskip
+ \ResumeLineNumbers
+ }
+ } % end of \bool_if:NTF \l__minimalist_is_book_bool
%%================================
%% Simulate features of amsart
@@ -846,8 +936,6 @@
\PassOptionsToPackage { amsfashion } { projlib-author }
\RequirePackage { projlib-author }
-}
-
\endinput
%%
%% End of file `minimalist/minimalist-classical.sty'.
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index d8557ff023..4a834618d8 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.pdf
+++ b/macros/latex/contrib/minimalist/minimalist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.tex b/macros/latex/contrib/minimalist/minimalist-doc.tex
index 925ce47eeb..5ff51c62cc 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,7 +95,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{\minimalist{}, write your articles or books in a simple and clear way}
\author{Jinwen XU}
@@ -512,7 +511,6 @@ You can use \lstinline|\dnf| to mark the unfinished part. For example:
\item \lstinline|\dnf| or \lstinline|\dnf<...>|. The effect is: \dnf~ or \dnf<...>. \\The prompt text changes according to the current language. For example, it will be displayed as \UseOtherLanguage{French}{\dnf} in French mode.
\end{itemize}
-% \clearpage
\LevelTwoTitle{Title, abstract and keywords}
\minimart{} has both the features of standard classes and that of the \AmS{} classes.
diff --git a/macros/latex/contrib/minimalist/minimalist-plain.sty b/macros/latex/contrib/minimalist/minimalist-plain.sty
index 9c7cd650d2..3481c630dc 100644
--- a/macros/latex/contrib/minimalist/minimalist-plain.sty
+++ b/macros/latex/contrib/minimalist/minimalist-plain.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist-plain}
- {2022/03/19} {}
+ {2022/03/28} {}
{The plain style of minimalist}
\@ifpackageloaded { minimalist } {}
@@ -54,7 +54,7 @@
\tl_new:N \g_minimalist_title_font_paragraph_tl
\tl_gset:Nn \g_minimalist_title_font_part_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl }
-\tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl }
+\tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
\tl_gset:Nn \g_minimalist_title_font_section_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
\tl_gset:Nn \g_minimalist_title_font_subsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
\tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl }
@@ -113,34 +113,77 @@
\fancypagestyle { fancy }
{
- \fancyhf{}
+ \fancyhf { }
\if@twoside
- \fancyfoot[RO]{\textcolor{main-text!30!paper}{ \small \l_minimalist_rightmark_tl }
- \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}}
- \fancyfoot[LE]{\leavevmode\llap{\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}
- \nobreakspace\nobreakspace\nobreakspace\nobreakspace}
- \textcolor{main-text!30!paper}{ \l_minimalist_leftmark_tl }}
+ \fancyfoot[RO]
+ {
+ \textcolor { main-text!30!paper } { \small \l_minimalist_rightmark_tl }
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ }
+ }
+ \fancyfoot[LE]
+ {
+ \leavevmode
+ \llap
+ {
+ \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ }
+ \textcolor { main-text!30!paper } { \small \l_minimalist_leftmark_tl }
+ }
\else
- \fancyfoot[R]{\textcolor{main-text!30!paper}{ \l_minimalist_rightmark_tl }
- \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}}
+ \fancyfoot[R]
+ {
+ \textcolor { main-text!30!paper } { \small \l_minimalist_rightmark_tl }
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ }
+ }
\fi
- \renewcommand{\headrulewidth}{0pt}
+ \renewcommand { \headrulewidth } { 0pt }
}
-\pagestyle{fancy}
+\pagestyle { fancy }
\fancypagestyle { plain }
{
- \fancyhf{}
+ \fancyhf { }
\if@twoside
- \fancyfoot[RO]{
- \nobreakspace\rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}}
- \fancyfoot[LE]{\leavevmode\llap{\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}
- \nobreakspace\nobreakspace}}
+ \fancyfoot[RO]
+ {
+ \nobreakspace
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ }
+ }
+ \fancyfoot[LE]
+ {
+ \leavevmode
+ \llap
+ {
+ \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ }
+ \nobreakspace
+ }
\else
- \fancyfoot[R]{
- \nobreakspace\nobreakspace\nobreakspace\rlap{\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}}
+ \fancyfoot[R]
+ {
+ \nobreakspace
+ \rlap
+ {
+ \nobreakspace \nobreakspace \nobreakspace \nobreakspace
+ \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ }
+ }
\fi
- \renewcommand{\headrulewidth}{0pt}
+ \renewcommand { \headrulewidth } { 0pt }
}
\bool_if:NTF \l__minimalist_is_book_bool
@@ -150,35 +193,31 @@
\newcommand{ \minimalist_draw_help_line: }{}
}
{
- \newcommand{ \minimalist_draw_help_line: }{
+ \newcommand{ \minimalist_draw_help_line: }
+ {
\begin{tikzpicture}[remember~picture,overlay]
- \foreach\i in {0,1,...,5}{
- \fill[opacity=0.12-0.02*\i]
- ($(current~page~text~area.north~east)
- +(-\i*0.5em-.025em,-10pt+\i*1.1pt)$)
- rectangle ($(current~page~text~area.south~east)
- +(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
- \shade[top~color=paper,bottom~color=main-text,opacity=0.12-0.02*\i]
- ($(current~page~text~area.north~east)
- +(-\i*0.5em-.025em,2pt)$)
- rectangle ($(current~page~text~area.north~east)
- +(-\i*0.5em+.025em,-10pt+\i*1.1pt)$);
- \shade[top~color=main-text,bottom~color=paper,opacity=0.12-0.02*\i]
- ($(current~page~text~area.south~east)
- +(-\i*0.5em-.025em,-2pt)$)
- rectangle ($(current~page~text~area.south~east)
- +(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
- }
+ \foreach\i in {0,1,...,5}{
+ \fill[opacity=0.12-0.02*\i]
+ ($(current~page~text~area.north~east)+(-\i*0.5em-.025em,-10pt+\i*1.1pt)$)
+ rectangle ($(current~page~text~area.south~east)+(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
+ \shade[top~color=paper,bottom~color=main-text,opacity=0.12-0.02*\i]
+ ($(current~page~text~area.north~east)+(-\i*0.5em-.025em,2pt)$)
+ rectangle ($(current~page~text~area.north~east)+(-\i*0.5em+.025em,-10pt+\i*1.1pt)$);
+ \shade[top~color=main-text,bottom~color=paper,opacity=0.12-0.02*\i]
+ ($(current~page~text~area.south~east)+(-\i*0.5em-.025em,-2pt)$)
+ rectangle ($(current~page~text~area.south~east)+(-\i*0.5em+.025em,10pt-\i*1.1pt)$);
+ }
\end{tikzpicture}
- }
+ }
}
- \fancypagestyle{part}{
- \fancyhf{}
- \renewcommand{\headrulewidth}{0pt}
- \fancyhead[C]{ \minimalist_draw_help_line: }
- }
- \addtolength{\headheight}{20pt}
- \addtolength{\topmargin}{-20pt}
+ \fancypagestyle { part }
+ {
+ \fancyhf { }
+ \renewcommand { \headrulewidth } { 0pt }
+ \fancyhead[C] { \minimalist_draw_help_line: }
+ }
+ \addtolength { \headheight } { 20pt }
+ \addtolength { \topmargin } { -20pt }
\if@twoside
\renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{}}
\else
@@ -236,11 +275,11 @@
}
\AddLanguageSetting [ schinese ]
{
- \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部分}
+ \renewcommand{\partstring}{第 \zhnumber{\arabic{part}} 部分}
}
\AddLanguageSetting [ tchinese ]
{
- \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部分}
+ \renewcommand{\partstring}{第 \zhnumber{\arabic{part}} 部分}
}
\AddLanguageSetting [ japanese ]
{
@@ -290,16 +329,29 @@
{\thispagestyle{fancy}
\LocallyStopLineNumbers
\color{main-text!80!paper}\g_minimalist_title_font_chapter_tl\fontsize{16}{0}\selectfont}{}{0em}
- {\rlap{\hspace*{-.5em}{\color{main-text!12!paper}
- \fontsize{80}{0}\selectfont\raisebox{-7pt}{\thechapter}}}#1}
+ {
+ \rlap
+ {
+ \hspace*{-.5em}
+ \color{main-text!10!paper}
+ \fontsize{90}{0}\selectfont\raisebox{-10pt}{ \usefont{U}{zeur}{b}{n} \thechapter }
+ }
+ #1
+ }
[\ResumeLineNumbers]
\titleformat{name=\chapter,numberless}
{\thispagestyle{fancy}
\LocallyStopLineNumbers
% \phantomsection\addcontentsline{toc}{chapter}{#1}
- \color{main-text!80!paper}\g_minimalist_title_font_chapter_tl\fontsize{16}{0}\selectfont}{}{0em}
- {\rlap{\hspace*{-.5em}{\color{main-text!12!paper}
- \fontsize{80}{0}\selectfont\normalfont\raisebox{-7pt}{\phantom{*}}}}#1}
+ \color{main-text!90!paper}\g_minimalist_title_font_chapter_tl\fontsize{16}{0}\selectfont}{}{0em}
+ {
+ \rlap
+ {
+ \hspace*{-.5em}
+ \fontsize{80}{0}\selectfont\raisebox{-10pt}{ \phantom{*} }
+ }
+ #1
+ }
[\ResumeLineNumbers]
}
{
@@ -380,7 +432,7 @@
\titlecontents{part}
[0em]
{\addvspace{1.5pc}\filcenter\normalfont}
- {\thecontentslabel\nopagebreak\\\nopagebreak\uppercase}
+ { \minimalist_apply_title_numbering_style:N { \thecontentslabel } \nopagebreak\\\nopagebreak\uppercase}
{}
{} % without page number
[\addvspace{.5pc}]
@@ -456,7 +508,20 @@
%%================================
%% Blank page
%%================================
-\newcommand{\blinkpagetext}{This~page~is~intentionally~left~blank}
+\projlib_langauge_define_multilingual_text:Nn \bl@nkpagetext
+ {
+ , EN = This~page~is~intentionally~left~blank
+ , FR = Cette~page~a~été~intentionellement~laissée~vide
+ , DE = Diese~Seite~wurde~absichtlich~leer~gelassen
+ , IT = Questa~pagina~è~stata~lasciata~vuota~intenzionalmente
+ , PT = Esta~página~foi~intencionalmente~deixada~em~branco
+ , BR = Esta~página~foi~intencionalmente~deixada~em~branco
+ , ES = Esta~página~se~ha~dejado~intencionadamente~en~blanco
+ , CN = 此页为有意留为空白
+ , TC = 此頁為有意留為空白
+ , JP = このページは意図的に空白にしてあります
+ , RU = Эта~страница~намеренно~оставлена~пустой
+ }
\renewcommand{\cleardoublepage}{
\relax
\clearpage
@@ -465,7 +530,7 @@
\hook_gput_next_code:nn { shipout/background }
{
\put(0.5\paperwidth,-0.5\paperheight){
- \makebox[0pt]{\large\color{main-text!10!paper}\blinkpagetext}}
+ \makebox[0pt]{\large\color{main-text!10!paper}\bl@nkpagetext}}
}
\null\newpage\fi\fi
}
@@ -697,93 +762,117 @@
%% Index
%%================================
\hook_gput_code:nnn { begindocument/before } { minimalist }
-{
- \hook_gput_code:nnn { cmd/printindex/before } { minimalist } { \LocallyStopLineNumbers }
- \hook_gput_code:nnn { cmd/printindex/after } { minimalist } { \ResumeLineNumbers }
-}
-
-\bool_if:NF \l__minimalist_is_book_bool {
+ {
+ \hook_gput_code:nnn { cmd/printindex/before } { minimalist } { \LocallyStopLineNumbers }
+ \hook_gput_code:nnn { cmd/printindex/after } { minimalist } { \ResumeLineNumbers }
+ }
%%================================
%% Title block style
%%================================
-\renewcommand{\@maketitle}{
- \LocallyStopLineNumbers
- \begin{center}
- \let\footnote\thanks
- {\minimalist_bfseries:\sffamily\scshape\Large\@title}\\\bigskip
- \color{main-text!80!paper}
- {\small\scshape\@author}
- \par\smallskip\vspace{-\parskip}
- {\small\@date}
- \end{center}
- \ifx\@date\@empty\medskip\fi
- \medskip\par
- \ResumeLineNumbers
-}
+\bool_if:NTF \l__minimalist_is_book_bool
+ {
+ \hook_gput_code:nnn { package/projlib-author/after } { minimalist }
+ {
+ \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \scshape }
+ \tl_gset:Nn \g__projlib_author_font_institute_tl { \large \normalfont }
+ \tl_gset:Nn \g__projlib_author_font_address_tl { \large \normalfont \itshape }
+ \tl_gset:Nn \g__projlib_author_font_curraddr_tl { \large \normalfont \itshape }
+ \tl_gset:Nn \g__projlib_author_font_email_tl { \large \normalfont \ttfamily }
+ }
-\hook_gput_code:nnn { cmd/maketitle/after } { minimalist } { \thispagestyle{fancy} }
+ \RequirePackage { projlib-titlepage }
+ \renewcommand{\maketitle}{
+ \LocallyStopLineNumbers
+ \ProjLibTitlePage [ style = simple ]
+ {
+ , title = \@title
+ , author = \@author
+ , date = \@date
+ }
+ \ResumeLineNumbers
+ }
+ }
+ {
+ \renewcommand{\@maketitle}
+ {
+ \LocallyStopLineNumbers
+ \begin{center}
+ \let\footnote\thanks
+ {\minimalist_bfseries:\sffamily\scshape\Large\@title}\\\bigskip
+ \color{main-text!80!paper}
+ {\small\scshape\@author}
+ \par\smallskip\vspace{-\parskip}
+ {\small\@date}
+ \end{center}
+ \ifx\@date\@empty\medskip\fi
+ \medskip\par
+ \ResumeLineNumbers
+ }
+
+ \hook_gput_code:nnn { cmd/maketitle/after } { minimalist } { \thispagestyle{fancy} }
%%================================
%% Abstract style
%%================================
-\renewenvironment{abstract}
- {
- \LocallyStopLineNumbers
- \vspace{-.5\baselineskip}
- \begin{center}
- { \g_minimalist_title_font_section_tl \scshape \small\abstractname}\\
- \vspace{-.3\baselineskip}
- \begin{minipage}[t]{.833\textwidth}
- \vspace{0pt}
- \color{main-text!80!paper}
- \footnotesize
- \parindent=2em
- }
- {
- \end{minipage}
- \end{center}
- \medskip
- \ResumeLineNumbers
- }
+ \renewenvironment{abstract}
+ {
+ \LocallyStopLineNumbers
+ \vspace{-.5\baselineskip}
+ \begin{center}
+ { \g_minimalist_title_font_section_tl \scshape \small\abstractname}\\
+ \vspace{-.3\baselineskip}
+ \begin{minipage}[t]{.833\textwidth}
+ \vspace{0pt}
+ \color{main-text!80!paper}
+ \footnotesize
+ \parindent=2em
+ }
+ {
+ \end{minipage}
+ \end{center}
+ \medskip
+ \ResumeLineNumbers
+ }
%%================================
%% Keyword environment
%%================================
-\DefineMultilingualText { \keywordname }
- {
- EN = Keywords ,
- FR = Mots~clés ,
- DE = Schlüsselwörter ,
- IT = Parole~chiave ,
- PT = Palavras~chave ,
- BR = Palavras~chave ,
- ES = Palabras~clave ,
- CN = 关键词 ,
- TC = 關鍵詞 ,
- JP = キーワード ,
- RU = Ключевые~слова ,
- }
-
-\newenvironment{keyword}{
- \LocallyStopLineNumbers
- \vspace{-.75\baselineskip}
- \begin{center}
- {\minimalist_bfseries:\scshape\small\keywordname}\\
- \vspace{-.3\baselineskip}
- \begin{minipage}[t]{.833\textwidth}
- \vspace{0pt}
- \color{main-text!80!paper}
- \footnotesize
- \parindent=2em
+ \DefineMultilingualText { \keywordname }
+ {
+ EN = Keywords ,
+ FR = Mots~clés ,
+ DE = Schlüsselwörter ,
+ IT = Parole~chiave ,
+ PT = Palavras~chave ,
+ BR = Palavras~chave ,
+ ES = Palabras~clave ,
+ CN = 关键词 ,
+ TC = 關鍵詞 ,
+ JP = キーワード ,
+ RU = Ключевые~слова ,
+ }
+
+ \newenvironment{keyword}{
+ \LocallyStopLineNumbers
+ \vspace{-.75\baselineskip}
\begin{center}
-}{
+ {\minimalist_bfseries:\scshape\small\keywordname}\\
+ \vspace{-.3\baselineskip}
+ \begin{minipage}[t]{.833\textwidth}
+ \vspace{0pt}
+ \color{main-text!80!paper}
+ \footnotesize
+ \parindent=2em
+ \begin{center}
+ }{
+ \end{center}
+ \end{minipage}
\end{center}
- \end{minipage}
- \end{center}
- \medskip
- \ResumeLineNumbers
-}
+ \medskip
+ \ResumeLineNumbers
+ }
+ } % end of \bool_if:NTF \l__minimalist_is_book_bool
%%================================
%% Simulate features of amsart
@@ -791,8 +880,6 @@
\PassOptionsToPackage { amsfashion } { projlib-author }
\RequirePackage { projlib-author }
-}
-
\endinput
%%
%% End of file `minimalist/minimalist-plain.sty'.
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 50148e29fd..9a7a7fbd06 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist}
- {2022/03/19} {}
+ {2022/03/28} {}
{A simple and clear style for articles and books}
\keys_define:nn { minimalist }
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index 1340e14853..b9b2a86689 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{minimart}
- {2022/03/19} {}
+ {2022/03/28} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -169,6 +169,17 @@
\RequirePackage { mathpazo }
\RequirePackage { newpxtext }
\RequirePackage { amssymb }
+ \sys_if_engine_pdftex:F
+ {
+ \setsansfont { texgyreheros }
+ [
+ Scale = MatchUppercase ,
+ UprightFont = *-regular ,
+ BoldFont = *-bold ,
+ ItalicFont = *-italic ,
+ BoldItalicFont = *-bolditalic ,
+ ]
+ }
}
}
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 995334db6c..65c08a2fdc 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{minimbook}
- {2022/03/19} {}
+ {2022/03/28} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -169,6 +169,17 @@
\RequirePackage { mathpazo }
\RequirePackage { newpxtext }
\RequirePackage { amssymb }
+ \sys_if_engine_pdftex:F
+ {
+ \setsansfont { texgyreheros }
+ [
+ Scale = MatchUppercase ,
+ UprightFont = *-regular ,
+ BoldFont = *-bold ,
+ ItalicFont = *-italic ,
+ BoldItalicFont = *-bolditalic ,
+ ]
+ }
}
}
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index 32903be29b..dd0b2e393f 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -20,72 +20,79 @@
%<*ProjLib>
\ProvidesExplPackage
{ProjLib}
- {2022/03/21} {}
+ {2022/03/28} {}
{Collective interface of the ProjLib toolkit}
%</ProjLib>
%
%<*projlib-author>
\ProvidesExplPackage
{projlib-author}
- {2022/03/21} {}
+ {2022/03/28} {}
{Enhanced author information block}
%</projlib-author>
%
%<*projlib-datetime>
\ProvidesExplPackage
{projlib-datetime}
- {2022/03/21} {}
+ {2022/03/28} {}
{Convert numeric date-time string to natural language}
%</projlib-datetime>
%
%<*projlib-draft>
\ProvidesExplPackage
{projlib-draft}
- {2022/03/21} {}
+ {2022/03/28} {}
{Useful commands during draft stage}
%</projlib-draft>
%
%<*projlib-font>
\ProvidesExplPackage
{projlib-font}
- {2022/03/21} {}
+ {2022/03/28} {}
{Font selection and configuration}
%</projlib-font>
%
%<*projlib-language>
\ProvidesExplPackage
{projlib-language}
- {2022/03/21} {}
+ {2022/03/28} {}
{Multi-language configuration}
%</projlib-language>
%
%<*projlib-logo>
\ProvidesExplPackage
{projlib-logo}
- {2022/03/21} {}
+ {2022/03/28} {}
{The ProjLib logo}
%</projlib-logo>
%
%<*projlib-math>
\ProvidesExplPackage
{projlib-math}
- {2022/03/21} {}
+ {2022/03/28} {}
{Efficient math setup}
%</projlib-math>
%
%<*projlib-paper>
\ProvidesExplPackage
{projlib-paper}
- {2022/03/21} {}
+ {2022/03/28} {}
{Configuration of the paper style}
%</projlib-paper>
%
%<*projlib-theorem>
\ProvidesExplPackage
{projlib-theorem}
- {2022/03/21} {}
+ {2022/03/28} {}
{Configuration of theorem-like environments}
%</projlib-theorem>
+%
+%<*projlib-titlepage>
+\ProvidesExplPackage
+ {projlib-titlepage}
+ {2022/03/28} {}
+ {Commands for rendering the title page}
+%</projlib-titlepage>
%<*ProjLib>
\keys_define:nn { ProjLib }
@@ -99,6 +106,10 @@
, ams-fashion .initial:n = { false }
, ams~fashion .bool_set:N = \l__projlib_main_amsfashion_bool
, ams fashion .bool_set:N = \l__projlib_main_amsfashion_bool
+ , title-page .bool_set:N = \l__projlib_main_titlepage_bool
+ , title-page .initial:n = { false }
+ , title~page .bool_set:N = \l__projlib_main_titlepage_bool
+ , title page .bool_set:N = \l__projlib_main_titlepage_bool
, unknown .code:n = {
\PassOptionsToPackage { \CurrentOption } { projlib-language }
\PassOptionsToPackage { \CurrentOption } { projlib-author }
@@ -132,6 +143,11 @@
\RequirePackage { projlib-math }
\RequirePackage { projlib-paper }
+\bool_if:NT \l__projlib_main_titlepage_bool
+ {
+ \RequirePackage { projlib-titlepage }
+ }
+
\RequirePackage { projlib-theorem }
%</ProjLib>
%
@@ -2240,7 +2256,7 @@
$\rangle$
\nobreakspace
\IfNoValueF { #1 } { : ~ }
- #1 \\
+ #1 \newline
}
}
@@ -4750,5 +4766,96 @@
}
}
%</projlib-theorem>
+%
+%<*projlib-titlepage>
+\keys_define:nn { projlib-titlepage }
+ {
+ , unknown .code:n = {}
+ }
+\ProcessKeysOptions { projlib-titlepage }
+
+\RequirePackage { projlib-paper }
+
+\RequirePackage { tikz }
+\ExplSyntaxOff
+\usetikzlibrary { calc }
+\ExplSyntaxOn
+
+\tl_new:N \l_projlib_titlepage_logo_tl
+\tl_new:N \l_projlib_titlepage_title_tl
+\tl_new:N \l_projlib_titlepage_subtitle_tl
+\tl_new:N \l_projlib_titlepage_author_tl
+\tl_new:N \l_projlib_titlepage_date_tl
+\tl_new:N \l_projlib_titlepage_style_tl
+
+\NewDocumentCommand \ProjLibTitlePage { O{} m }
+ {
+ \keys_set:nn { projlib-titlepage-config } { #1 }
+ \projlib_titlepage_render:n { #2 }
+ }
+\ProvideDocumentCommand \TitlePage { O{} m }
+ {
+ \ProjLibTitlePage [ #1 ] { #2 }
+ }
+
+\cs_new_protected:Nn \projlib_titlepage_set_color:nn
+ {
+ \colorlet { titlepage- #1 } { #2 }
+ }
+
+\keys_define:nn { projlib-titlepage-config }
+ {
+ , logo .tl_set:N = \l_projlib_titlepage_logo_tl
+ , logo .initial:n = { \scalebox { 2 } { \ProjLib } }
+ , title .tl_set:N = \l_projlib_titlepage_title_tl
+ , subtitle .tl_set:N = \l_projlib_titlepage_subtitle_tl
+ , author .tl_set:N = \l_projlib_titlepage_author_tl
+ , date .tl_set:N = \l_projlib_titlepage_date_tl
+ , style .tl_set:N = \l_projlib_titlepage_style_tl
+ , style .initial:n = { default }
+ , color .code:n = {
+ \keyval_parse:nnn
+ { \use_none:n }
+ { \projlib_titlepage_set_color:nn }
+ { #1 }
+ }
+ , unknown .code:n = {}
+ }
+
+\colorlet { titlepage-main } { blue!50!cyan!50!black }
+\colorlet { titlepage-back } { blue!50!cyan!10!yellow!30 }
+
+\cs_new_protected:Nn \projlib_titlepage_render:n
+ {
+ \keys_set:nn { projlib-titlepage-config } { #1 }
+ \begin { titlepage }
+ \cs_if_exist_use:c { projlib_titlepage_render_with_style_ \l_projlib_titlepage_style_tl : }
+ \end { titlepage }
+ \setcounter { page } { 0 }
+ }
+
+\cs_new_protected:Nn \projlib_titlepage_render_with_style_default:
+ {
+ \begin{tikzpicture}[overlay,remember~picture]
+ \fill [color=titlepage-main] ($(current~page.south~west)$) rectangle ($(current~page.north~east)+(0,-.3\paperheight)$);
+ \fill [color=titlepage-back] ($(current~page.south~west)$) rectangle ($(current~page.north~west)+(.125\paperwidth,-.3\paperheight)$);
+ \fill [color=titlepage-main] ($(current~page.north~west)$) rectangle ($(current~page.north~west)+(.125\paperwidth,-.3\paperheight)$);
+ \fill [color=titlepage-back] ($(current~page.north~east)$) rectangle ($(current~page.north~west)+(.125\paperwidth,-.3\paperheight)$);
+ \node[text~width=.3\paperwidth,text~height=.2\paperheight] at ($(current~page.north~west)+(.32\paperwidth,-.17\paperheight)$) { \l_projlib_titlepage_logo_tl };
+ \node[text~width=.4\paperwidth,text~height=.3\paperheight,scale=2.5] at ($(current~page.north~west)+(.67\paperwidth,-.15\paperheight)$) {\textcolor{titlepage-back}{\sffamily\textsc{ \l_projlib_titlepage_title_tl }\\[.5em]\footnotesize{ \l_projlib_titlepage_subtitle_tl }}};
+ \node[text~width=.3\paperwidth,text~height=.3\paperheight] at ($(current~page.south)+(.2\paperwidth,.3\paperheight)$) {\color{titlepage-back}\begin{flushright}\fontsize{16pt}{0pt}\selectfont\textsc{ \l_projlib_titlepage_author_tl }\\[1em]\fontsize{12pt}{0pt}\selectfont \l_projlib_titlepage_date_tl \end{flushright} };
+ \end{tikzpicture}
+ }
+
+\cs_new_protected:Nn \projlib_titlepage_render_with_style_simple:
+ {
+ \begin{tikzpicture}[overlay,remember~picture]
+ \fill[color=titlepage-main] ($(current~page.south~west)$) rectangle ($(current~page.north~east)+(0,-.3\paperheight)$);
+ \node[text~width=.3\paperwidth,text~height=.2\paperheight] at ($(current~page.north~west)+(.28\paperwidth,-.15\paperheight)$) { \l_projlib_titlepage_logo_tl };
+ \node[text~width=.4\paperwidth,text~height=.3\paperheight,scale=2.5] at ($(current~page.north~west)+(.63\paperwidth,-.15\paperheight)$) {\textcolor{paper}{\sffamily\textsc{ \l_projlib_titlepage_title_tl }\\[.5em]\footnotesize{ \l_projlib_titlepage_subtitle_tl }}};
+ \node[text~width=.3\paperwidth,text~height=.3\paperheight] at ($(current~page.south)+(.2\paperwidth,.3\paperheight)$) {\color{paper}\begin{flushright}\fontsize{16pt}{0pt}\selectfont\textsc{ \l_projlib_titlepage_author_tl }\\[1em]\fontsize{12pt}{0pt}\selectfont \l_projlib_titlepage_date_tl \end{flushright} };
+ \end{tikzpicture}
+ }
+%</projlib-titlepage>
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/projlib/ProjLib.ins b/macros/latex/contrib/projlib/ProjLib.ins
index ca73cff446..6aac97bf77 100644
--- a/macros/latex/contrib/projlib/ProjLib.ins
+++ b/macros/latex/contrib/projlib/ProjLib.ins
@@ -49,6 +49,7 @@ and version 1.3c or later is part of all distributions of LaTeX version
\generate{\file{projlib-math.sty}{\from{ProjLib.dtx}{projlib-math}}}
\generate{\file{projlib-paper.sty}{\from{ProjLib.dtx}{projlib-paper}}}
\generate{\file{projlib-theorem.sty}{\from{ProjLib.dtx}{projlib-theorem}}}
+\generate{\file{projlib-titlepage.sty}{\from{ProjLib.dtx}{projlib-titlepage}}}
\obeyspaces
\Msg{*************************************************************}
@@ -66,6 +67,7 @@ and version 1.3c or later is part of all distributions of LaTeX version
\Msg{* projlib-math.sty *}
\Msg{* projlib-paper.sty *}
\Msg{* projlib-theorem.sty *}
+\Msg{* projlib-titlepage.sty *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index cfac379f40..3e927c0fb5 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -4,32 +4,13 @@
# The `ProjLib` Toolkit
-The bundle is dated 2022/03/21
+This bundle is dated 2022/03/28. Please note that the documentations are not yet up-to-date.
-## **Important note**
-
-The whole project is being rewritten with `expl3`. The new modules are basically finished but are **not yet documented**. They have filenames with the prefix `projlib-`, and they are in many ways better and more powerful than their predecessors.
-
-The new modules are:
-- projlib-author
-- projlib-datetime
-- projlib-draft
-- projlib-font
-- projlib-language
-- projlib-logo
-- projlib-math
-- projlib-paper
-- projlib-theorem
-
-Below is the old README.
-
----
-
-> **ProjLib** can be interpreted as "***Proj**ect **Lib**rary*" (in English), or as "***Proj**et **Lib**re*" (in French).
+> **ProjLib** can be interpreted as "***Proj**ect **Lib**rary*" (in English), or as "***Proj**et **Lib**re*" (in French, meaning "*Free Project*").
## Introduction
-`ProjLib` is a collection of tools that help you write LaTeX document. With the package `ProjLib` loaded (note that it is case-sensitive), you no longer need to set up the theorem-like environments nor to manually configure the appropriate multilingual settings. In addition, a series of auxiliary functionalities are introduced.
+`ProjLib` is a collection of tools that help you write LaTeX document. With the main package `ProjLib` loaded (note that it is *case-sensitive*), you no longer need to manually configure the appropriate multilingual settings nor to set up the theorem-like environments. In addition, a series of auxiliary functionalities are introduced.
To get started, simply put this line in your preamble:
```latex
@@ -37,38 +18,44 @@ To get started, simply put this line in your preamble:
```
> For the options and detailed usage, please refer to the documentation.
-## The components
-The components include:
-1. `PJLauthor.sty`
- - Enhanced author information block
- - Offers `\address`, `\curraddr` and `\email`
- - Write in the AMS fashion (with option `amsfashion`):
+
+## The modules
+
+> Each module correspond to a separate package, for example, the module `theorem` is `projlib-theorem.sty`.
+
+The modules include:
+1. module `author` - *Enhanced author information block*
+ - Offering `\address`, `\curraddr` and `\email`.
+ - Write in the AMS fashion (with option `ams-fashion`):
- Support `\dedicatory`, `\keywords` and `\subjclass`
- `\thanks` can be written outside `\author`;
- The `abstract` environment can be placed before `\maketitle`.
-1. `PJLdate.sty`
- - Offers a macro `\PLdate` (or `\PJLdate`) to convert `yyyy-mm-dd` to normal datetime format, with multi-language support
-1. `PJLdraft.sty`
- - Useful macros during the draft stage: `\dnf` and `\needgraph`, with multi-language support
-1. `PJLlang.sty`
- - Multi-language configuration based on `babel` or `polyglossia`
- - Offers `\UseLanguage`, `\UseOtherLanguage` and `\AddLanguageSetting`
- - Currently support Chinese (simplified and traditional), English, French, German, Italien, Japanese, Portuguese (European and Brazilian), Russian and Spanish
-1. `PJLlogo.sty`
- - Draw the ProjLib logo
-1. `PJLmath.sty`
- - Useful math macros and shortcuts
-1. `PJLpaper.sty`
- - Paper style configuration: yellow theme, dark theme and nord theme
-1. `PJLthm.sty`
- - Theorem setup and configuration
- - Offers a macro `\CreateTheorem` for creating theorem-like environments with multi-language support
- - Preset environments include: `assumption`, `axiom`, `conjecture`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `observation`, `problem`, `property`, `proposition`, `question`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
-1. `PJLtoolkit.sty` (this is the internal name of the `ProjLib` package)
- - A collective interface of ProjLib Toolkit, loading all the packages above
- - Provide some pre-defined font configuration
-
-> Since `PJLthm.sty` (and thus `ProjLib.sty`) uses `cleveref`, it should be loaded after `varioref` and `hyperref`.
+1. module `datetime` - *Convert numeric date-time string to natural language*
+ - Offering `\TheDate` and `\Thedate` to convert numeric date-time string to normal datetime format, with multi-language support (if the command names `\TheDate` or `\Thedate` are occupied, then one can switch to the longer version `\ProjLibDate` and `\ProjLibdate`).
+ - Offering `\ProjLibToday` and `\ProjLibToday` (with the module `language` enabled, `\today` is redefined into `\ProjLibToday`, and thus supports the arguments like `only-year-month`).
+ - Multiple input and output format available.
+1. module `draft` - *Useful commands during draft stage*
+ - Offering `\dnf` for marking unfinished part. In addition, a report of all unfinished places shall be printed at the last of your document.
+1. module `font` - *Font selection and configuration*
+ - Supporting Palatino, Times, Garamond, Biolinum, Noto, etc.
+1. module `language` - *Multi-language configuration*
+ - Offering `\UseLanguage`, `\UseOtherLanguage` for selecting languages, and `\AddLanguageSetting` for adding language-specific settings.
+ - Define multilingual text string with `\DefineMultilingualText`.
+ - Currently support Chinese (simplified and traditional), English, French, German, Italien, Japanese, Portuguese (European and Brazilian), Russian and Spanish.
+1. module `logo` - *The ProjLib logo*
+ - Draw the `ProjLib` logo in colorful or colorless fashion.
+1. module `math` - *Efficient math setup*
+ - Offering `\DefineOperator` and `\DefineShortcut` for setting up math macros efficiently
+1. module `paper` - *Configuration of the paper style*
+ - Paper style configuration, with the themes `yellow`, `green`, `light gray`, `gray`, `dark`, etc.
+1. module `theorem` - *Configuration of theorem-like environments*
+ - Set up theorem-like environments based on the package `create-theorem`, and in particular, support options `name as is` and `name as context` for referencing names
+ - Support options `simple name` and `complex name` for referencing names
+ - Preset environments include: `assertion`, `assumption`, `axiom`, `conclusion`, `conjecture`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `observation`, `postulate`, `problem`, `property`, `proposition`, `question`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
+1. module `titlepage` - *Commands for rendering the title page*
+ - Currently support two title page styles: `default` and `simple`.
+
+> Since module `theorem.sty` (and thus `ProjLib`) uses `cleveref`, it should be loaded after `varioref` and `hyperref`.
## How to get these files
You can get the `.sty` files mentioned above simply by compiling `ProjLib.ins`:
@@ -88,51 +75,6 @@ It is recommended to use `latexmk` with option `-xelatex`:
latexmk -xelatex ProjLib-doc-**.tex
```
-## An example
-```latex
-\documentclass{amsart}
-\usepackage[a4paper,margin=.75in]{geometry}
-\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{ProjLib}
-
-%% You can also comment the above lines and try the following (require xelatex or lualatex):
-% \documentclass[a4paper,allowbf]{lebhart}
-% \usepackage[amsfashion]{ProjLib}
-
-%% Using \UseLanguage to select language, by default "English" is selected
-\UseLanguage{French} % Use French from here
-
-\begin{document}
-
-\title{Le Titre}
-\author{Auteur 1}
-\address{Adresse 1}
-\email{\href{Courriel 1}{Courriel 1}}
-\author{Auteur 1}
-\address{Adresse 1}
-\email{\href{Courriel 2}{Courriel 2}}
-\date{\PLdate{2022-04-01}}
-\subjclass{*****}
-\keywords{...}
-
-\begin{abstract}
- Ceci est un résumé. \dnf<Some hint>
-\end{abstract}
-
-\maketitle
-
-\section{Un théorème}
-
-%% Theorem-like environments can be used directly
-\begin{theorem}\label{thm:abc}
- Ceci est un théorème.
-\end{theorem}
-
-Référence du théorème: \cref{thm:abc} % It is recommended to use clever reference
-
-\end{document}
-```
-
# License
This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/latex/contrib/projlib/old-modules/PJLauthor.sty b/macros/latex/contrib/projlib/old-modules/PJLauthor.sty
deleted file mode 100644
index 67e1dbd76b..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLauthor.sty
+++ /dev/null
@@ -1,245 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLdate.sty b/macros/latex/contrib/projlib/old-modules/PJLdate.sty
deleted file mode 100644
index 783f164e7a..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLdate.sty
+++ /dev/null
@@ -1,74 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLdraft.sty b/macros/latex/contrib/projlib/old-modules/PJLdraft.sty
deleted file mode 100644
index 8657326842..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLdraft.sty
+++ /dev/null
@@ -1,104 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLlang.sty b/macros/latex/contrib/projlib/old-modules/PJLlang.sty
deleted file mode 100644
index 9470226adb..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLlang.sty
+++ /dev/null
@@ -1,358 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLlogo.sty b/macros/latex/contrib/projlib/old-modules/PJLlogo.sty
deleted file mode 100644
index 7d24239fdc..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLlogo.sty
+++ /dev/null
@@ -1,72 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLmath.sty b/macros/latex/contrib/projlib/old-modules/PJLmath.sty
deleted file mode 100644
index 3bd389ef50..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLmath.sty
+++ /dev/null
@@ -1,315 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLpaper.sty b/macros/latex/contrib/projlib/old-modules/PJLpaper.sty
deleted file mode 100644
index 4b963c069a..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLpaper.sty
+++ /dev/null
@@ -1,96 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLthm.sty b/macros/latex/contrib/projlib/old-modules/PJLthm.sty
deleted file mode 100644
index 4e6d00d4d2..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLthm.sty
+++ /dev/null
@@ -1,2019 +0,0 @@
-%%
-%% 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/macros/latex/contrib/projlib/old-modules/PJLtoolkit.sty b/macros/latex/contrib/projlib/old-modules/PJLtoolkit.sty
deleted file mode 100644
index b11b34a2a7..0000000000
--- a/macros/latex/contrib/projlib/old-modules/PJLtoolkit.sty
+++ /dev/null
@@ -1,184 +0,0 @@
-%%
-%% 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'.
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
index bba3284dd7..e5c6359089 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
index 04a0e75adf..39819feb11 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -1,6 +1,5 @@
\documentclass[English,Chinese,French,JP,TC,use boldface,simple name]{beaulivre}
-
%%================================
%% Import toolkit
%%================================
@@ -92,23 +91,20 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\frontmatter
-\begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
-\begin{tikzpicture}[overlay,remember picture]
- \fill [forestgreen!75!black] ($(current page.south west)$) rectangle ($(current page.north east)+(0,-7)$);
- \fill [forestgreen!10!yellow!30] ($(current page.south west)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \fill [forestgreen!75!black] ($(current page.north west)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \fill [forestgreen!10!yellow!30] ($(current page.north east)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{forestgreen!10!yellow!30}{\sffamily\beaulivre{}\\[5pt]\footnotesize\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} \PackageVersion}}};
- \node[text width=15em] at ($(current page.south)+(5,4)$) {\color{forestgreen!10!yellow!30}\hfill\fontsize{16pt}{0pt}\selectfont{许锦文}\\[1em]\hfill\fontsize{12pt}{0pt}\selectfont\TheDate{\PackageVersion}[only-year-month],巴黎};
-\end{tikzpicture}%
-\end{titlepage}%
-
-\setcounter{page}{0}
+\TitlePage [ color = { main = forestgreen!75!black, back = forestgreen!10!yellow!30 } ]
+ {
+ , title = \beaulivre{}
+ , subtitle = {
+ \textsc{以多彩的方式排版你的图书}\\[10pt]
+ \tiny 对应版本. \texttt{\beaulivre{} \PackageVersion}
+ }
+ , author = 许锦文
+ , date = {\TheDate{\PackageVersion}[only-year-month],巴黎}
+ }
\chapter{前言}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index fed476e1db..50a11df329 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
index 32892aba4a..790879cf5d 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -1,6 +1,5 @@
\documentclass[English,Chinese,French,JP,TC,use boldface,simple name]{beaulivre}
-
%%================================
%% Import toolkit
%%================================
@@ -92,23 +91,20 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\frontmatter
-\begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
-\begin{tikzpicture}[overlay,remember picture]
- \fill [forestgreen!75!black] ($(current page.south west)$) rectangle ($(current page.north east)+(0,-7)$);
- \fill [forestgreen!10!yellow!30] ($(current page.south west)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \fill [forestgreen!75!black] ($(current page.north west)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \fill [forestgreen!10!yellow!30] ($(current page.north east)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{forestgreen!10!yellow!30}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} \PackageVersion}}};
- \node[text width=15em] at ($(current page.south)+(5,4)$) {\color{forestgreen!10!yellow!30}\hfill\fontsize{16pt}{0pt}\selectfont{\scshape Jinwen XU}\\[1em]\hfill\fontsize{12pt}{0pt}\selectfont\TheDate{\PackageVersion}[only-year-month], in Paris};
-\end{tikzpicture}%
-\end{titlepage}%
-
-\setcounter{page}{0}
+\TitlePage [ color = { main = forestgreen!75!black, back = forestgreen!10!yellow!30 } ]
+ {
+ , title = \beaulivre{}
+ , subtitle = {
+ \textsc{Write your books in \\a colorful way}\\[10pt]
+ \tiny Corresponding to: \texttt{\beaulivre{} \PackageVersion}
+ }
+ , author = Jinwen XU
+ , date = {\TheDate{\PackageVersion}[only-year-month], in Paris}
+ }
\chapter{Preface}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
index a28199bffc..c57f8cebc8 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
index 320e0d72f4..0c8439d562 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
@@ -1,6 +1,5 @@
\documentclass[English,Chinese,French,JP,TC,use boldface,simple name]{beaulivre}
-
%%================================
%% Import toolkit
%%================================
@@ -92,23 +91,20 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\frontmatter
-\begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
-\begin{tikzpicture}[overlay,remember picture]
- \fill [forestgreen!75!black] ($(current page.south west)$) rectangle ($(current page.north east)+(0,-7)$);
- \fill [forestgreen!10!yellow!30] ($(current page.south west)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \fill [forestgreen!75!black] ($(current page.north west)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \fill [forestgreen!10!yellow!30] ($(current page.north east)$) rectangle ($(current page.north west)+(2.5,-7)$);
- \node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{forestgreen!10!yellow!30}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière colorée}\\[10pt]\tiny Correspondant à : \texttt{\beaulivre{} \PackageVersion}}};
- \node[text width=15em] at ($(current page.south)+(5,4)$) {\color{forestgreen!10!yellow!30}\hfill\fontsize{16pt}{0pt}\selectfont{\scshape Jinwen XU}\\[1em]\hfill\fontsize{12pt}{0pt}\selectfont\TheDate{\PackageVersion}[only-year-month], à Paris};
-\end{tikzpicture}%
-\end{titlepage}%
-
-\setcounter{page}{0}
+\TitlePage [ color = { main = forestgreen!75!black, back = forestgreen!10!yellow!30 } ]
+ {
+ , title = \beaulivre{}
+ , subtitle = {
+ \textsc{Écrivez vos livres \\de manière colorée}\\[10pt]
+ \tiny Correspondant à : \texttt{\beaulivre{} \PackageVersion}
+ }
+ , author = Jinwen XU
+ , date = {\TheDate{\PackageVersion}[only-year-month], à Paris}
+ }
\chapter{Préface}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index d90f081dca..b56b03e2b9 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre.cls
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{beaulivre}
- {2022/03/19} {}
+ {2022/03/28} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -548,51 +548,39 @@
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
\unimathsetup { math-style = ISO, partial = upright, nabla = upright }
- \setmathfont { Asana-Math.otf }
+ \setmathfont { KpMath-Regular.otf }
+ \setmathfont { KpMath-Sans.otf }
+ [
+ range = { \sum, \prod, \coprod }
+ ]
\__colorclass_if_font_exist:nnn { Neo~Euler }
{
\setmathfont { Neo~Euler }
[
range = { up / { Latin, latin, Greek, greek },
bfup / { Latin, latin, Greek, greek },
- cal, bfcal, frak, bffrak,
- `(, `), `[, `], `\{, `\}, `:, `=, \ne, \equiv, `/, \backslash,
- \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq,
- \rightarrow, \leftarrow, \leftrightarrow,
- \longleftarrow, \longrightarrow, \longleftrightarrow,
- \Leftarrow, \Rightarrow, \Leftrightarrow,
- \Longleftarrow, \Longrightarrow, \Longleftrightarrow,
- \nrightarrow, \nleftarrow, \nleftrightarrow,
- \nLeftarrow, \nRightarrow, \nLeftrightarrow,
- \mapsto, \hookrightarrow, \hookleftarrow,
- \leftharpoonup, \rightharpoonup, \leftharpoondown, \rightharpoondown,
- \rightleftharpoons, \leftrightharpoons,
- \sum, \prod, \coprod,
- \sqrt, \int, \iint, \iiint, \oint
+ `(, `), `[, `], `\{, `\}
},
- script-features = {},
- sscript-features = {},
Scale = 1.05,
]
}{}
\setmathfont { latinmodern-math.otf }
[
- range = { \leq, \geq, \ll, \gg, \lll, \ggg, \leqslant, \geqslant },
- Scale = 0.95,
+ range = { cal, bfcal, frak, bffrak }
]
\setmathfont { texgyrepagella-math.otf }
[
- range = { up / num, bfup / num }
+ range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
\hook_gput_code:nnn { begindocument } { colorclass }
{
\NewCommandCopy \colorclass_backup_mid: \mid
\RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.15em} \colorclass_backup_mid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \colorclass_backup_mid: \skip_horizontal:n {-.1em} }
\NewCommandCopy \colorclass_backup_nmid: \nmid
\RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.15em} \colorclass_backup_nmid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \colorclass_backup_nmid: \skip_horizontal:n {-.1em} }
}
\RequirePackage { tikz-cd }
@@ -607,10 +595,10 @@
\hbox_set:Nn \l__colorclass_xarrows_below_box { \ensuremath { \scriptstyle #1 } }
\hbox_set:Nn \l__colorclass_xarrows_above_box { \ensuremath { \scriptstyle #2 } }
\dim_set:Nn \l__colorclass_xarrows_length_dim
- { \dim_eval:n { \dim_max:nn { \box_wd:N \l__colorclass_xarrows_below_box } { \box_wd:N \l__colorclass_xarrows_above_box } + .8em } }
+ { \dim_eval:n { \dim_max:nn { \box_wd:N \l__colorclass_xarrows_below_box } { \box_wd:N \l__colorclass_xarrows_above_box } + 1em } }
\mathrel
{
- \tikz [ #3, baseline = -.55ex, every~node/.style = { inner~sep = 0pt } ]
+ \tikz [ #3, line~width = .6pt, baseline = -.5ex, every~node/.style = { inner~sep = 0pt }, >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} ]
\draw (0,0) #4
node [ below = 3pt ] { \box_use:N \l__colorclass_xarrows_below_box }
node [ above = 2pt ] { \box_use:N \l__colorclass_xarrows_above_box }
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
index bbd317afb0..9496bb9c42 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
index d84fda88a6..eac43ce78a 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,7 +95,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
@@ -339,7 +338,6 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
\end{itemize}
-% \clearpage
\item \texttt{classical}
\begin{itemize}
\item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。
@@ -522,7 +520,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{关于QED符号}
由于定理类环境中的字体和正文字体是一样的,为了方便看出定理类环境在哪里结束,在其结尾处放置了一个空心的QED符号。然而,如果你的定理是由公式或者列表结尾的,这个符号就无法自动地放在正确的位置。这时,你需要手动在公式或列表最后一个条目的后面加上 \lstinline|\qedhere|,以让QED符号显示到这一行的最后。
-% \clearpage
\LevelOneTitle{目前存在的问题}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index 730b210a87..64be68fff9 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
index 357dba6cf1..03e6b6056f 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,7 +95,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
@@ -340,7 +339,6 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute
\begin{itemize}
\item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
\end{itemize}
-% \clearpage
\item \texttt{classical}
\begin{itemize}
\item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation.
@@ -517,7 +515,6 @@ In \lstinline|\section| or \lstinline|\subsection| , if you wish to add footnote
This is a disadvantage brought about by the underline decoration of the title.
-% \clearpage
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
index 2e8d62530d..16dc2c0b41 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
index 33fa9c30c1..126ad83f68 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,7 +95,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{\einfart{}, écrivez vos articles de manière simple et claire}
\author{Jinwen XU}
@@ -366,7 +365,6 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\end{itemize}
\end{itemize}
-% \clearpage
\LevelOneTitle{Instructions par sujet}
\LevelTwoTitle{Configurer la langue}
@@ -500,7 +498,6 @@ Les informations sur l'auteur peuvent contenir plusieurs groupes, écrits comme
Parmi eux, l'ordre mutuel de \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| n'est pas important.
-% \clearpage
\LevelTwoTitle{Divers}
\LevelThreeTitle{Les numéros de ligne}
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index 1700e3a245..c56165e6b9 100644
--- a/macros/unicodetex/latex/einfart/einfart.cls
+++ b/macros/unicodetex/latex/einfart/einfart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{einfart}
- {2022/03/19} {}
+ {2022/03/28} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -568,51 +568,39 @@
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
\unimathsetup { math-style = ISO, partial = upright, nabla = upright }
- \setmathfont { Asana-Math.otf }
+ \setmathfont { KpMath-Regular.otf }
+ \setmathfont { KpMath-Sans.otf }
+ [
+ range = { \sum, \prod, \coprod }
+ ]
\__minimclass_if_font_exist:nnn { Neo~Euler }
{
\setmathfont { Neo~Euler }
[
range = { up / { Latin, latin, Greek, greek },
bfup / { Latin, latin, Greek, greek },
- cal, bfcal, frak, bffrak,
- `(, `), `[, `], `\{, `\}, `:, `=, \ne, \equiv, `/, \backslash,
- \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq,
- \rightarrow, \leftarrow, \leftrightarrow,
- \longleftarrow, \longrightarrow, \longleftrightarrow,
- \Leftarrow, \Rightarrow, \Leftrightarrow,
- \Longleftarrow, \Longrightarrow, \Longleftrightarrow,
- \nrightarrow, \nleftarrow, \nleftrightarrow,
- \nLeftarrow, \nRightarrow, \nLeftrightarrow,
- \mapsto, \hookrightarrow, \hookleftarrow,
- \leftharpoonup, \rightharpoonup, \leftharpoondown, \rightharpoondown,
- \rightleftharpoons, \leftrightharpoons,
- \sum, \prod, \coprod,
- \sqrt, \int, \iint, \iiint, \oint
+ `(, `), `[, `], `\{, `\}
},
- script-features = {},
- sscript-features = {},
Scale = 1.05,
]
}{}
\setmathfont { latinmodern-math.otf }
[
- range = { \leq, \geq, \ll, \gg, \lll, \ggg, \leqslant, \geqslant },
- Scale = 0.95,
+ range = { cal, bfcal, frak, bffrak }
]
\setmathfont { texgyrepagella-math.otf }
[
- range = { up / num, bfup / num }
+ range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
\hook_gput_code:nnn { begindocument } { minimclass }
{
\NewCommandCopy \minimclass_backup_mid: \mid
\RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.15em} \minimclass_backup_mid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \minimclass_backup_mid: \skip_horizontal:n {-.1em} }
\NewCommandCopy \minimclass_backup_nmid: \nmid
\RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.15em} \minimclass_backup_nmid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \minimclass_backup_nmid: \skip_horizontal:n {-.1em} }
}
\RequirePackage { tikz-cd }
@@ -627,10 +615,10 @@
\hbox_set:Nn \l__minimclass_xarrows_below_box { \ensuremath { \scriptstyle #1 } }
\hbox_set:Nn \l__minimclass_xarrows_above_box { \ensuremath { \scriptstyle #2 } }
\dim_set:Nn \l__minimclass_xarrows_length_dim
- { \dim_eval:n { \dim_max:nn { \box_wd:N \l__minimclass_xarrows_below_box } { \box_wd:N \l__minimclass_xarrows_above_box } + .8em } }
+ { \dim_eval:n { \dim_max:nn { \box_wd:N \l__minimclass_xarrows_below_box } { \box_wd:N \l__minimclass_xarrows_above_box } + 1em } }
\mathrel
{
- \tikz [ #3, baseline = -.55ex, every~node/.style = { inner~sep = 0pt } ]
+ \tikz [ #3, line~width = .6pt, baseline = -.5ex, every~node/.style = { inner~sep = 0pt }, >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} ]
\draw (0,0) #4
node [ below = 3pt ] { \box_use:N \l__minimclass_xarrows_below_box }
node [ above = 2pt ] { \box_use:N \l__minimclass_xarrows_above_box }
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
index 004a24d9c4..fb99a6d618 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index 48c6aef26f..9b80d1283e 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -1,6 +1,5 @@
\documentclass[English,Chinese,French,use boldface,simple name]{lebhart}
-
%%================================
%% Import toolkit
%%================================
@@ -92,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\以多彩的方式排版你的文章}
\author{许锦文}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index e00a100d4a..41a71f9dea 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index d0f713ce91..540f300b0c 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -1,6 +1,5 @@
\documentclass[English,Chinese,French,use boldface,simple name]{lebhart}
-
%%================================
%% Import toolkit
%%================================
@@ -92,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\write your articles in a colorful way}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
index 2a8fc86453..8f5006b150 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
index ffb3295012..402d05b32c 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
@@ -1,6 +1,5 @@
\documentclass[English,Chinese,French,use boldface,simple name]{lebhart}
-
%%================================
%% Import toolkit
%%================================
@@ -92,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\écrivez vos articles de manière colorée}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index 4c033e6512..956a4a9c43 100644
--- a/macros/unicodetex/latex/lebhart/lebhart.cls
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{lebhart}
- {2022/03/19} {}
+ {2022/03/28} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -548,51 +548,39 @@
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
\unimathsetup { math-style = ISO, partial = upright, nabla = upright }
- \setmathfont { Asana-Math.otf }
+ \setmathfont { KpMath-Regular.otf }
+ \setmathfont { KpMath-Sans.otf }
+ [
+ range = { \sum, \prod, \coprod }
+ ]
\__colorclass_if_font_exist:nnn { Neo~Euler }
{
\setmathfont { Neo~Euler }
[
range = { up / { Latin, latin, Greek, greek },
bfup / { Latin, latin, Greek, greek },
- cal, bfcal, frak, bffrak,
- `(, `), `[, `], `\{, `\}, `:, `=, \ne, \equiv, `/, \backslash,
- \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq,
- \rightarrow, \leftarrow, \leftrightarrow,
- \longleftarrow, \longrightarrow, \longleftrightarrow,
- \Leftarrow, \Rightarrow, \Leftrightarrow,
- \Longleftarrow, \Longrightarrow, \Longleftrightarrow,
- \nrightarrow, \nleftarrow, \nleftrightarrow,
- \nLeftarrow, \nRightarrow, \nLeftrightarrow,
- \mapsto, \hookrightarrow, \hookleftarrow,
- \leftharpoonup, \rightharpoonup, \leftharpoondown, \rightharpoondown,
- \rightleftharpoons, \leftrightharpoons,
- \sum, \prod, \coprod,
- \sqrt, \int, \iint, \iiint, \oint
+ `(, `), `[, `], `\{, `\}
},
- script-features = {},
- sscript-features = {},
Scale = 1.05,
]
}{}
\setmathfont { latinmodern-math.otf }
[
- range = { \leq, \geq, \ll, \gg, \lll, \ggg, \leqslant, \geqslant },
- Scale = 0.95,
+ range = { cal, bfcal, frak, bffrak }
]
\setmathfont { texgyrepagella-math.otf }
[
- range = { up / num, bfup / num }
+ range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
\hook_gput_code:nnn { begindocument } { colorclass }
{
\NewCommandCopy \colorclass_backup_mid: \mid
\RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.15em} \colorclass_backup_mid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \colorclass_backup_mid: \skip_horizontal:n {-.1em} }
\NewCommandCopy \colorclass_backup_nmid: \nmid
\RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.15em} \colorclass_backup_nmid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \colorclass_backup_nmid: \skip_horizontal:n {-.1em} }
}
\RequirePackage { tikz-cd }
@@ -607,10 +595,10 @@
\hbox_set:Nn \l__colorclass_xarrows_below_box { \ensuremath { \scriptstyle #1 } }
\hbox_set:Nn \l__colorclass_xarrows_above_box { \ensuremath { \scriptstyle #2 } }
\dim_set:Nn \l__colorclass_xarrows_length_dim
- { \dim_eval:n { \dim_max:nn { \box_wd:N \l__colorclass_xarrows_below_box } { \box_wd:N \l__colorclass_xarrows_above_box } + .8em } }
+ { \dim_eval:n { \dim_max:nn { \box_wd:N \l__colorclass_xarrows_below_box } { \box_wd:N \l__colorclass_xarrows_above_box } + 1em } }
\mathrel
{
- \tikz [ #3, baseline = -.55ex, every~node/.style = { inner~sep = 0pt } ]
+ \tikz [ #3, line~width = .6pt, baseline = -.5ex, every~node/.style = { inner~sep = 0pt }, >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} ]
\draw (0,0) #4
node [ below = 3pt ] { \box_use:N \l__colorclass_xarrows_below_box }
node [ above = 2pt ] { \box_use:N \l__colorclass_xarrows_above_box }
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
index da3b855706..0ffa265fed 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
index ae245f756c..c3fece3e59 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,21 +95,21 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\frontmatter
\LocallyStopLineNumbers
-\begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
-\begin{tikzpicture}[overlay,remember picture]
- \fill [blue!50!cyan!50!black] ($(current page.south west)$) rectangle ($(current page.north west)+(21,-7)$);
- \node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} \PackageVersion}}};
- \node[text width=15em] at ($(current page.south)+(3.5,3)$) {\color{white}\hfill\fontsize{16pt}{0pt}\selectfont{许锦文}\\[1em]\hfill\fontsize{12pt}{0pt}\selectfont\TheDate{\PackageVersion}[only-year-month],巴黎};
-\end{tikzpicture}%
-\end{titlepage}%
-
-\setcounter{page}{0}
+\TitlePage [ style = simple ]
+ {
+ , title = \simplivre{}
+ , subtitle = {
+ \textsc{以极简主义风格排版你的图书}\\[10pt]
+ \tiny 对应版本. \texttt{\simplivre{} \PackageVersion}
+ }
+ , author = 许锦文
+ , date = {\TheDate{\PackageVersion}[only-year-month],巴黎}
+ }
\ResumeLineNumbers
@@ -313,7 +312,6 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 采用段首缩进而不是段间间距。
\end{itemize}
-% \clearpage
\item \texttt{runin}
\begin{itemize}
\item \lstinline|\subsubsection| 采用 ``runin'' 风格。
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index 63f4596643..ff4ee07f77 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
index f46490fde7..997cdc3e54 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,22 +95,22 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\LocallyStopLineNumbers
\frontmatter
-\begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
-\begin{tikzpicture}[overlay,remember picture]
- \fill [blue!50!cyan!50!black] ($(current page.south west)$) rectangle ($(current page.north west)+(21,-7)$);
- \node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} \PackageVersion}}};
- \node[text width=15em] at ($(current page.south)+(3.5,3)$) {\color{white}\hfill\fontsize{16pt}{0pt}\selectfont{\scshape Jinwen XU}\\[1em]\hfill\fontsize{12pt}{0pt}\selectfont\TheDate{\PackageVersion}[only-year-month], in Paris};
-\end{tikzpicture}%
-\end{titlepage}%
-
-\setcounter{page}{0}
+\TitlePage [ style = simple ]
+ {
+ , title = \simplivre{}
+ , subtitle = {
+ \textsc{Write your books in \\a simple and clear way}\\[10pt]
+ \tiny Corresponding to: \texttt{\simplivre{} \PackageVersion}
+ }
+ , author = Jinwen XU
+ , date = {\TheDate{\PackageVersion}[only-year-month], in Paris}
+ }
\ResumeLineNumbers
@@ -319,7 +318,6 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute
\begin{itemize}
\item Use the ``runin'' style for \lstinline|\subsubsection|
\end{itemize}
-% \clearpage
\item \texttt{nothms}
\begin{itemize}
\item Pure text mode. Do not load theorem-like environments.
@@ -415,7 +413,6 @@ By default, when referenced, the name of the theorem matches the current context
Please refer to the documentation of the package \textsf{create-theorem} to see how to declare new theorem-like environments.
\end{tip}
-% \clearpage
\LevelTwoTitle{Draft mark}
You can use \lstinline|\dnf| to mark the unfinished part. For example:
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
index 082fae5283..c0cb64b901 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
index d61803acde..94407ff1fa 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
@@ -8,7 +8,6 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
-\usetikzlibrary{calc}
\usepackage{blindtext}
@@ -96,21 +95,21 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/03/19}
+\def\PackageVersion{2022/03/28}
\frontmatter
\LocallyStopLineNumbers
-\begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
-\begin{tikzpicture}[overlay,remember picture]
- \fill [blue!50!cyan!50!black] ($(current page.south west)$) rectangle ($(current page.north west)+(21,-7)$);
- \node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière simple et claire}\\[10pt]\tiny Correspondant à : \texttt{\simplivre{} \PackageVersion}}};
- \node[text width=15em] at ($(current page.south)+(3.5,3)$) {\color{white}\hfill\fontsize{16pt}{0pt}\selectfont{\scshape Jinwen XU}\\[1em]\hfill\fontsize{12pt}{0pt}\selectfont\TheDate{\PackageVersion}[only-year-month], à Paris};
-\end{tikzpicture}%
-\end{titlepage}%
-
-\setcounter{page}{0}
+\TitlePage [ style = simple ]
+ {
+ , title = \simplivre{}
+ , subtitle = {
+ \textsc{Écrivez vos livres \\de manière simple et claire}\\[10pt]
+ \tiny Correspondant à : \texttt{\simplivre{} \PackageVersion}
+ }
+ , author = Jinwen XU
+ , date = {\TheDate{\PackageVersion}[only-year-month], à Paris}
+ }
\ResumeLineNumbers
@@ -313,7 +312,6 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\begin{itemize}
\item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes.
\end{itemize}
-% \clearpage
\item \texttt{runin}
\begin{itemize}
\item Utilisez le style «~runin~» pour \lstinline|\subsubsection|
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index ad95aba1e0..7056e45b17 100644
--- a/macros/unicodetex/latex/simplivre/simplivre.cls
+++ b/macros/unicodetex/latex/simplivre/simplivre.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{simplivre}
- {2022/03/19} {}
+ {2022/03/28} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -568,51 +568,39 @@
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
\unimathsetup { math-style = ISO, partial = upright, nabla = upright }
- \setmathfont { Asana-Math.otf }
+ \setmathfont { KpMath-Regular.otf }
+ \setmathfont { KpMath-Sans.otf }
+ [
+ range = { \sum, \prod, \coprod }
+ ]
\__minimclass_if_font_exist:nnn { Neo~Euler }
{
\setmathfont { Neo~Euler }
[
range = { up / { Latin, latin, Greek, greek },
bfup / { Latin, latin, Greek, greek },
- cal, bfcal, frak, bffrak,
- `(, `), `[, `], `\{, `\}, `:, `=, \ne, \equiv, `/, \backslash,
- \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq,
- \rightarrow, \leftarrow, \leftrightarrow,
- \longleftarrow, \longrightarrow, \longleftrightarrow,
- \Leftarrow, \Rightarrow, \Leftrightarrow,
- \Longleftarrow, \Longrightarrow, \Longleftrightarrow,
- \nrightarrow, \nleftarrow, \nleftrightarrow,
- \nLeftarrow, \nRightarrow, \nLeftrightarrow,
- \mapsto, \hookrightarrow, \hookleftarrow,
- \leftharpoonup, \rightharpoonup, \leftharpoondown, \rightharpoondown,
- \rightleftharpoons, \leftrightharpoons,
- \sum, \prod, \coprod,
- \sqrt, \int, \iint, \iiint, \oint
+ `(, `), `[, `], `\{, `\}
},
- script-features = {},
- sscript-features = {},
Scale = 1.05,
]
}{}
\setmathfont { latinmodern-math.otf }
[
- range = { \leq, \geq, \ll, \gg, \lll, \ggg, \leqslant, \geqslant },
- Scale = 0.95,
+ range = { cal, bfcal, frak, bffrak }
]
\setmathfont { texgyrepagella-math.otf }
[
- range = { up / num, bfup / num }
+ range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
\hook_gput_code:nnn { begindocument } { minimclass }
{
\NewCommandCopy \minimclass_backup_mid: \mid
\RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.15em} \minimclass_backup_mid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \minimclass_backup_mid: \skip_horizontal:n {-.1em} }
\NewCommandCopy \minimclass_backup_nmid: \nmid
\RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.15em} \minimclass_backup_nmid: \skip_horizontal:n {-.15em} }
+ { \skip_horizontal:n {-.1em} \minimclass_backup_nmid: \skip_horizontal:n {-.1em} }
}
\RequirePackage { tikz-cd }
@@ -627,10 +615,10 @@
\hbox_set:Nn \l__minimclass_xarrows_below_box { \ensuremath { \scriptstyle #1 } }
\hbox_set:Nn \l__minimclass_xarrows_above_box { \ensuremath { \scriptstyle #2 } }
\dim_set:Nn \l__minimclass_xarrows_length_dim
- { \dim_eval:n { \dim_max:nn { \box_wd:N \l__minimclass_xarrows_below_box } { \box_wd:N \l__minimclass_xarrows_above_box } + .8em } }
+ { \dim_eval:n { \dim_max:nn { \box_wd:N \l__minimclass_xarrows_below_box } { \box_wd:N \l__minimclass_xarrows_above_box } + 1em } }
\mathrel
{
- \tikz [ #3, baseline = -.55ex, every~node/.style = { inner~sep = 0pt } ]
+ \tikz [ #3, line~width = .6pt, baseline = -.5ex, every~node/.style = { inner~sep = 0pt }, >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} ]
\draw (0,0) #4
node [ below = 3pt ] { \box_use:N \l__minimclass_xarrows_below_box }
node [ above = 2pt ] { \box_use:N \l__minimclass_xarrows_above_box }