From 5f0d648973cab5784f4bdb361bbe261b60493432 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 24 May 2021 03:01:24 +0000
Subject: CTAN sync 202105240301

---
 macros/latex/contrib/colorist/colorist.sty | 909 +++++++++++++++++++++--------
 1 file changed, 656 insertions(+), 253 deletions(-)

(limited to 'macros/latex/contrib/colorist/colorist.sty')

diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index 0aebdb922f..aaf8a32829 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -17,22 +17,28 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesPackage{colorist}
-    [2021/03/15 A colorful style for articles and books]
-\RequirePackage{etoolbox}
+    [2021/05/24 A colorful style for articles and books]
 \RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
 \SetupKeyvalOptions{%
     family = @colorist,
     prefix = @colorist@
 }
 \DeclareBoolOption[false]{draft}
 \DeclareBoolOption[false]{fast}
-\DeclareBoolOption[false]{polyglossia}
+\DeclareBoolOption[false]{allowbf}
 \ProcessKeyvalOptions*\relax
 
 \if@colorist@draft
   \@colorist@fasttrue
 \fi
 
+\if@colorist@allowbf
+    \newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!90!paper}}
+\else
+    \newcommand{\conditionalbfseries}{}
+\fi
+
 \newif\ifIsBook
 \ifdefined\chapter\IsBooktrue\else\IsBookfalse\fi
 
@@ -40,22 +46,23 @@
 %% Title fonts
 %%================================
 \RequirePackage{anyfontsize}
-\newcommand{\partfont}{\sffamily}
-\newcommand{\chapfont}{\sffamily}
-\newcommand{\secfont}{\sffamily}
-\newcommand{\subsecfont}{}
-\newcommand{\subsubsecfont}{}
+\newcommand{\partfont}{\conditionalbfseries\sffamily}
+\newcommand{\chapfont}{\conditionalbfseries\sffamily}
+\newcommand{\secfont}{\conditionalbfseries\sffamily}
+\newcommand{\subsecfont}{\conditionalbfseries\sffamily}
+\newcommand{\subsubsecfont}{\conditionalbfseries\sffamily}
+
+%%================================
+%% Paper configuration
+%%================================
+\RequirePackage{PJLpaper}
 
 %%================================
 %% Color
 %%================================
-\RequirePackage{xcolor}
-\definecolor{paper}{RGB}{255,255,255}
-\definecolor{skyblue}{RGB}{60,120,234}
-\definecolor{steelblue}{RGB}{70,130,180}
+\definecolor{maintheme}{RGB}{70,130,180}
 \definecolor{forestgreen}{RGB}{21,122,81}
 \definecolor{lightorange}{RGB}{255,185,88}
-\definecolor{lightskyblue}{RGB}{35,198,255}
 
 %%================================
 %% Footer
@@ -63,6 +70,7 @@
 \RequirePackage{geometry}
 \RequirePackage{fancyhdr}
 \RequirePackage{extramarks}
+\AtEndPreamble{\fancyhfoffset{0pt}}
 \fancypagestyle{fancy}{
     \fancyhf{}
     \if@twoside
@@ -109,8 +117,9 @@
 %%================================
 %% Line spacing
 %%================================
-\RequirePackage{setspace}
-\setstretch{1.07}
+\RequirePackage{PJLlang}
+\PJLsetlinespacing{\setstretch{1.07}}
+\PJLsetCJKlinespacing{\onehalfspacing}
 \raggedbottom
 
 %%================================
@@ -120,12 +129,26 @@
 \PassOptionsToPackage{normalem}{ulem}
 \RequirePackage{ulem}
 
+\newcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}
+\gappto{\PJLlang@langconfig@common}{%
+\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}%
+}
+\gappto{\PJLlang@langconfig@chinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang@langconfig@tchinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang@langconfig@japanese}{%
+\renewcommand{\partstring}{第~\thepart~部}%
+}
+
 \ifbool{IsBook}{
     %% Part
     \titleclass{\part}{top} % make part like a chapter
     \titleformat{\part}[display]
         {\partfont\filleft}
-        {\MakeUppercase{\partname~\protect\thepart}}
+        {\partstring}
         {1em}
         {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
     \titleformat{name=\part,numberless}[display]
@@ -148,28 +171,78 @@
     }
 
     %% Chapter
-    \titleformat{\chapter}
-        {\thispagestyle{fancy}%
-        \color{black!80!paper}\chapfont\fontsize{16}{0}\selectfont}{}{0em}
-        {\rlap{\hspace*{-.5em}{\color{gray!25!paper}%
-            \fontsize{80}{0}\selectfont\raisebox{-7pt}{\thechapter}}}#1}
-    \titleformat{name=\chapter,numberless}
-        {\thispagestyle{fancy}% \phantomsection\addcontentsline{toc}{chapter}{#1}%
-        \color{black!80!paper}\chapfont\fontsize{16}{0}\selectfont}{}{0em}
-        {\rlap{\hspace*{-.5em}{\color{gray!25!paper}%
-            \fontsize{80}{0}\selectfont\normalfont\raisebox{-7pt}{*}}}#1}
+    \newlength{\colorist@chapboxwidth}
+
+    \newcommand{\MakeChapBox}[2]{%
+        \settowidth{\colorist@chapboxwidth}{#1}
+        \begin{tcolorbox}[
+            enhanced,
+            skin = bicolor,
+            frame engine = path,
+            sharp corners = all,
+            width = 0.9\textwidth,
+            top = 4mm, bottom = 4mm,
+            sidebyside,
+            frame hidden,
+            boxrule = 0mm,
+            lefthand width = 1.5\colorist@chapboxwidth,
+            colupper = white,
+            colback = maintheme!80!paper,
+            colbacklower = maintheme!20!paper,
+            sidebyside align=center,
+            halign=center]
+            \Huge #1%
+            \tcblower%
+            #2%
+        \end{tcolorbox}%
+    }
+
+    \newcommand{\MakeChapBoxSingle}[1]{%
+        \begin{tcolorbox}[
+            enhanced,
+            width = 0.7\textwidth,
+            sharp corners = all,
+            top = 4mm, bottom = 4mm,
+            frame hidden,
+            boxrule = 0mm,
+            colback = maintheme!20!paper,
+            halign=center]
+            #1
+        \end{tcolorbox}
+    }
+
+    \titleformat{name=\chapter}
+        {\filright\chapfont\huge} % Format
+        {} % Label
+        {0mm} % Sep
+        {\MakeChapBox{\thechapter}{#1}} % Before-code
+    \titlespacing*{name=\chapter}
+        {0em}{*2}{0em} % {left}{before-sep}{after-sep}
+
+    \titleformat{name=\chapter, numberless}
+        {\filcenter\chapfont\huge} % Format
+        {} % Label
+        {0mm} % Sep
+        {\MakeChapBoxSingle{#1}} % Before-code
+    \titlespacing*{name=\chapter, numberless}
+        {0em}{*2}{0em} % {left}{before-sep}{after-sep}
 
     %% Section
     \titleformat{\section}
-    {\secfont\large\color{steelblue}}
+    {\color{maintheme}\secfont\large}
     {\thesection}{.75em}{#1}
-    [{\titlerule[.75pt]}]
+    % [{\titlerule[.75pt]}]
+
+    %% Subsection
+    \titleformat{\subsection}
+    {\subsecfont}{\thesubsection}{.75em}
+    {#1}
 }{
     %% Part
     \titleformat{\part}[display]
         {%
         \partfont\filleft}
-        {\MakeUppercase{\partname~\protect\thepart}}
+        {\partstring}
         {.3em}
         {\fontsize{16}{0}\selectfont\MakeUppercase{#1}}
     \titleformat{name=\part,numberless}[display]
@@ -189,24 +262,24 @@
 
     %% Section
     \titleformat{\section}
-    {\secfont\large\color{steelblue}}
+    {\color{maintheme}\secfont\large}
     {\thesection}{.75em}{\scshape #1}
-    [{\titlerule[.75pt]}]
-}
+    % [{\titlerule[.75pt]}]
 
-%% Subsection
-\titleformat{\subsection}
-    {\subsecfont}{}{0em}
-    {\textsf{\thesubsection}~~\textcolor{gray!55!paper}{$|$}~~#1}
-\titleformat{name=\subsection,numberless}
-    {\subsecfont}{}{0em}
-    {#1}
+    %% Subsection
+    \titleformat{\subsection}
+    {\subsecfont}{\thesubsection}{.75em}
+    {\scshape #1}
+}
 
 %% Subsubsection
 \titleformat{\subsubsection}
-    {\subsubsecfont}{\sffamily\thesubsubsection}{.5em}
+    {\color{paper!30!-paper}\subsubsecfont}{\thesubsubsection}{.5em}
     {#1}
-\titlespacing{\subsubsection}{0pt}{.8\baselineskip}{.5\baselineskip}
+
+\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
+\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
+\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.2\baselineskip}
 
 %%================================
 %% TOC format
@@ -214,7 +287,7 @@
 \RequirePackage{titletoc}
 \titlecontents{part}
     [0em]
-    {\addvspace{1.5pc}\filcenter\partfont}
+    {\addvspace{1.5pc}\filcenter\sffamily}
     {\thecontentslabel\\\uppercase}
     {}
     {} % without page number
@@ -222,35 +295,35 @@
 \ifbool{IsBook}{
     \titlecontents{chapter}
         [2em] % i.e., 0em (part) + 2em
-        {\addvspace{.5pc}\chapfont}
+        {\addvspace{1pc}\normalfont\color{maintheme}\sffamily\conditionalbfseries}
         {\contentslabel{2em}}
         {\hspace*{-2em}}
-        {\normalfont\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
     \titlecontents{section}
         [4em] % i.e., 2em (chapter) + 2em
-        {\secfont}
+        {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily}
         {\contentslabel{1.75em}}
         {\hspace*{-1.75em}}
-        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
     \titlecontents{subsection}
         [7em] % i.e., 4em (section) + 3em
-        {\subsecfont}
+        {\addvspace{.15pc}\normalfont\sffamily}
         {\contentslabel{2.75em}}
         {\hspace*{-2.75em}}
-        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{paper!55!-paper}\contentspage}
 }{
     \titlecontents{section}
         [2em] % i.e., 0em (part) + 2em
-        {\secfont}
+        {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily}
         {\contentslabel{1.75em}}
         {\hspace*{-1.75em}}
-        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
     \titlecontents{subsection}
         [5em] % i.e., 2em (section) + 3em
-        {\subsecfont}
+        {\addvspace{.15pc}\normalfont\sffamily}
         {\contentslabel{2.75em}}
         {\hspace*{-2.75em}}
-        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+        {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{paper!55!-paper}\contentspage}
 }
 
 %%================================
@@ -259,6 +332,8 @@
 \RequirePackage{enumitem}
 \setlist{noitemsep,leftmargin=2em}
 \renewcommand\labelitemi{\color{gray!50}$\bullet$}
+\renewcommand\labelitemii{\color{gray!55}--}
+\renewcommand\labelitemiii{\color{gray!55}\texttt{*}}
 
 %%================================
 %% Blank page
@@ -274,6 +349,11 @@
        \makebox[0pt]{\large\color{gray!20!paper}\blinkpagetext}}}
     \null\newpage\fi\fi}
 
+%%================================
+%% Draft mark
+%%================================
+\RequirePackage{PJLdraft}
+
 %%================================
 %% Icons
 %%================================
@@ -317,7 +397,7 @@
     {\normalfont}{}%
     {\normalfont}{}%
     {0pt}%
-    {\thmname{\textsc{#1}}\thmnumber{ #2}\hspace{.4em}%
+    {\conditionalbfseries\thmname{#1}\thmnumber{ #2}\hspace{.4em}%
         \textcolor{gray!55!paper}{$|$}\hspace{.4em}%
         \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}}
 \def\@endtheorem{\popQED\endtrivlist\@endpefalse }
@@ -328,127 +408,177 @@
 \newtheoremstyle{basic}
     {0pt}{0pt}{\normalfont}{0pt}
     {}{\;}{0.25em}
-    {\thmname{#1}~\thmnumber{\textup{#2}}
+    {{\thmname{#1}~\thmnumber{\textup{#2}}}
     \thmnote{\normalfont\sffamily\color{black}~(#3)}}
 
 \newtheoremstyle{emphasis}
     {0pt}{0pt}{\itshape}{0pt}{}{}{0pt}
-    {\thmnote{\normalfont\sffamily\color{black}#3\hspace*{0.25em}}}
+    {\thmnote{\normalfont\sffamily\color{black}#3\hspace*{0.5em}}}
 
-\if@colorist@fast\else
+\if@colorist@fast
+    \providecommand{\phantomsection}{}
+    \RequirePackage{url}
+    \newcommand{\href}[2]{#2}
+\else
     \PassOptionsToPackage{hidelinks,linktoc=all}{hyperref}
     \RequirePackage{bookmark}
     \RequirePackage{hyperref}
 \fi
-\RequirePackage{aliascnt}
-\PassOptionsToPackage{nameinlink}{cleveref}
-\RequirePackage{cleveref}
-
-\newcommand\englishABBR{EN}
-\newcommand\frenchABBR{FR}
-\newcommand\chineseABBR{CN}
-
-\RequirePackage{xstring}
-\newcommand\PassFirstToSecond[2]{#2{#1}}%
-\NewDocumentCommand{\CreateTheorem}{sm}{%
-    \begingroup
-    \protected@edef\temp{#2}%
-    \expandafter\IfEndWith\expandafter{\temp}{*}{%
-        \expandafter\StrGobbleRight\expandafter{\temp}{1}[\temp]%
-        \PassFirstToSecond{*}%
-    }{%
-        \PassFirstToSecond{}%
-    }%
-    {\expandafter\PassFirstToSecond%
-        \expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}%
-}%
-\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>}{%
-    \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.}%
-        {}%
-    }{%
-        \IfBooleanTF{#1}{%
-            \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}
-            \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}
-            \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}
-        }{%
-            \IfValueTF{#5}{%
-                \newcounter{#2#3}[{#5}]%
-                \expandafter\renewcommand\expandafter*%
-                    \csname the#2#3\expandafter\endcsname%
-                    \expandafter{\csname the#5\endcsname.\arabic{#2#3}}%
-            }{%
-                \IfValueTF{#4}
-                    {\newaliascnt{#2#3}{#4}}
-                    {\newcounter{#2#3}}%
-            }%
-            %-------------------------------------------------------------------
-            \CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}%
-            \CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}%
-            \CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}%
-            %-------------------------------------------------------------------
-        }%
-        \NewDocumentEnvironment{#2#3}{}
-            {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
-            {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
-    }%
-}%
-\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
-    \newaliascnt{#1#2#3}{#1#3}%
-    \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
-    \aliascntresetthe{#1#2#3}%
-    \crefname{#1#2#3}%
-        {\csname#1name#2\endcsname}%
-        {\csname#1name#2\endcsname}%
-}%
-
-%% English theorems names
-\def\theoremnameEN{\sffamily\color{orange}\textsc{Theorem}}
-\def\lemmanameEN{\sffamily\color{orange}\textsc{Lemma}}
-\def\propositionnameEN{\sffamily\color{orange}\textsc{Proposition}}
-\def\corollarynameEN{\sffamily\color{orange}\textsc{Corollary}}
-\def\factnameEN{\sffamily\color{black}\textsc{Fact}}
-\def\conjecturenameEN{\sffamily\color{purple}\textsc{Conjecture}}
-\def\definitionnameEN{\sffamily\color{forestgreen}\textsc{Definition}}
-\def\examplenameEN{\sffamily\color{black}\textsc{Example}}
-\def\problemnameEN{\sffamily\color{black}\textsc{Problem}}
-\def\remarknameEN{\sffamily\color{black}\textsc{Remark}}
-
-%% French theorems names
-\def\theoremnameFR{\sffamily\color{orange}\textsc{Théorème}}
-\def\lemmanameFR{\sffamily\color{orange}\textsc{Lemme}}
-\def\propositionnameFR{\sffamily\color{orange}\textsc{Proposition}}
-\def\corollarynameFR{\sffamily\color{orange}\textsc{Corollaire}}
-\def\factnameFR{\sffamily\color{black}\textsc{Fait}}
-\def\conjecturenameFR{\sffamily\color{purple}\textsc{Conjecture}}
-\def\definitionnameFR{\sffamily\color{forestgreen}\textsc{Définition}}
-\def\examplenameFR{\sffamily\color{black}\textsc{Exemple}}
-\def\problemnameFR{\sffamily\color{black}\textsc{Problème}}
-\def\remarknameFR{\sffamily\color{black}\textsc{Remarque}}
-
-%% Chinese theorems names
-\def\theoremnameCN{\sffamily\color{orange}定理}
-\def\lemmanameCN{\sffamily\color{orange}引理}
-\def\propositionnameCN{\sffamily\color{orange}命题}
-\def\corollarynameCN{\sffamily\color{orange}推论}
-\def\factnameCN{\sffamily\color{black}事实}
-\def\conjecturenameCN{\sffamily\color{purple}猜想}
-\def\definitionnameCN{\sffamily\color{forestgreen}定义}
-\def\examplenameCN{\sffamily\color{black}例}
-\def\problemnameCN{\sffamily\color{black}问题}
-\def\remarknameCN{\sffamily\color{black}备注}
+
+\RequirePackage[nothms]{PJLthm}
+
+%% Redefine English theorems names
+\def\theoremnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Theorem}}
+\def\lemmanameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemma}}
+\def\propositionnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
+\def\corollarynameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Corollary}}
+\def\propertynameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Property}}
+\def\factnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fact}}
+\def\conjecturenameEN{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Conjecture}}
+\def\definitionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Definition}}
+\def\axiomnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiom}}
+\def\assumptionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Assumption}}
+\def\conventionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Convention}}
+\def\hypothesisnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothesis}}
+\def\notationnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
+\def\examplenameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Example}}
+\def\problemnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problem}}
+\def\questionnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Question}}
+\def\exercisenameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exercise}}
+\def\remarknameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Remark}}
+\expandafter\def\csname definition-propositionnameEN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\propositionnameEN}
+\expandafter\def\csname definition-theoremnameEN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\theoremnameEN}
+
+%% Redefine French theorems names
+\def\theoremnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Théorème}}
+\def\lemmanameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemme}}
+\def\propositionnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
+\def\corollarynameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Corollaire}}
+\def\propertynameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Propriété}}
+\def\factnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fait}}
+\def\conjecturenameFR{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Conjecture}}
+\def\definitionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Définition}}
+\def\axiomnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiome}}
+\def\assumptionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Supposition}}
+\def\conventionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Convention}}
+\def\hypothesisnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothèse}}
+\def\notationnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
+\def\examplenameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exemple}}
+\def\problemnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problème}}
+\def\questionnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Question}}
+\def\exercisenameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exercice}}
+\def\remarknameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Remarque}}
+\expandafter\def\csname definition-propositionnameFR\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Définition}-\propositionnameFR}
+\expandafter\def\csname definition-theoremnameFR\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Définition}-\theoremnameFR}
+
+%% Redefine German theorems names
+\def\theoremnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Satz}}
+\def\lemmanameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemma}}
+\def\propositionnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
+\def\corollarynameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Korollar}}
+\def\propertynameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Eigenschaft}}
+\def\factnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fakt}}
+\def\conjecturenameDE{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Vermutung}}
+\def\definitionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Definition}}
+\def\axiomnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiom}}
+\def\assumptionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Annahme}}
+\def\conventionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Konvention}}
+\def\hypothesisnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothese}}
+\def\notationnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
+\def\examplenameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Beispiel}}
+\def\problemnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problem}}
+\def\questionnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Frage}}
+\def\exercisenameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Übung}}
+\def\remarknameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Bemerkung}}
+\expandafter\def\csname definition-propositionnameDE\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\propositionnameDE}
+\expandafter\def\csname definition-theoremnameDE\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\theoremnameDE}
+
+%% Redefine Chinese theorems names
+\def\theoremnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
+\def\lemmanameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 引理}
+\def\propositionnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 命题}
+\def\corollarynameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 推论}
+\def\propertynameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 性质}
+\def\factnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 事实}
+\def\conjecturenameCN{\normalfont\sffamily\color{purple}\conditionalbfseries 猜想}
+\def\definitionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定义}
+\def\axiomnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
+\def\assumptionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假设}
+\def\conventionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 约定}
+\def\hypothesisnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假设}
+\def\notationnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 记号}
+\def\examplenameCN{\normalfont\sffamily\color{black}\conditionalbfseries 例}
+\def\problemnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 问题}
+\def\questionnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 问题}
+\def\exercisenameCN{\normalfont\sffamily\color{black}\conditionalbfseries 练习}
+\def\remarknameCN{\normalfont\sffamily\color{black}\conditionalbfseries 备注}
+\expandafter\def\csname definition-propositionnameCN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定义-\propositionnameCN}
+\expandafter\def\csname definition-theoremnameCN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定义-\theoremnameCN}
+
+\def\theoremnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
+\def\lemmanameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 引理}
+\def\propositionnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 命題}
+\def\corollarynameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 推論}
+\def\propertynameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 性質}
+\def\factnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 事實}
+\def\conjecturenameTC{\normalfont\sffamily\color{purple}\conditionalbfseries 猜想}
+\def\definitionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定義}
+\def\axiomnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
+\def\assumptionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假設}
+\def\conventionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 約定}
+\def\hypothesisnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假設}
+\def\notationnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 記號}
+\def\examplenameTC{\normalfont\sffamily\color{black}\conditionalbfseries 例}
+\def\problemnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\questionnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\exercisenameTC{\normalfont\sffamily\color{black}\conditionalbfseries 練習}
+\def\remarknameTC{\normalfont\sffamily\color{black}\conditionalbfseries 備註}
+\expandafter\def\csname definition-propositionnameTC\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\propositionnameTC}
+\expandafter\def\csname definition-theoremnameTC\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\theoremnameTC}
+
+%% Redefine Japanese theorems names
+\def\theoremnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
+\def\lemmanameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 補題}
+\def\propositionnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 命題}
+\def\corollarynameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 系}
+\def\propertynameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 性質}
+\def\factnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 事実}
+\def\conjecturenameJP{\normalfont\sffamily\color{purple}\conditionalbfseries 予想}
+\def\definitionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定義}
+\def\axiomnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
+\def\assumptionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 仮定}
+\def\conventionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 慣例}
+\def\hypothesisnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 仮設}
+\def\notationnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 記法}
+\def\examplenameJP{\normalfont\sffamily\color{black}\conditionalbfseries 例}
+\def\problemnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\questionnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\exercisenameJP{\normalfont\sffamily\color{black}\conditionalbfseries 練習}
+\def\remarknameJP{\normalfont\sffamily\color{black}\conditionalbfseries 注釈}
+\expandafter\def\csname definition-propositionnameJP\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\propositionnameJP}
+\expandafter\def\csname definition-theoremnameJP\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\theoremnameJP}
+
+%% Redefine Russian theorems names
+\def\theoremnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Теорема}
+\def\lemmanameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Лемма}
+\def\propositionnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Предложение}
+\def\corollarynameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Следствие}
+\def\propertynameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Имущество}
+\def\factnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Факт}
+\def\conjecturenameRU{\normalfont\sffamily\color{purple}\conditionalbfseries Гипотеза}
+\def\definitionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Определение}
+\def\axiomnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Аксиома}
+\def\assumptionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Предположение}
+\def\conventionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Конвенция}
+\def\hypothesisnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Гипотеза}
+\def\notationnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Нотация}
+\def\examplenameRU{\normalfont\sffamily\color{black}\conditionalbfseries Пример}
+\def\problemnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Проблема}
+\def\questionnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Вопрос}
+\def\exercisenameRU{\normalfont\sffamily\color{black}\conditionalbfseries Упражнение}
+\def\remarknameRU{\normalfont\sffamily\color{black}\conditionalbfseries Замечание}
+\expandafter\def\csname definition-propositionnameRU\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries Определение-\propositionnameRU}
+\expandafter\def\csname definition-theoremnameRU\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries Определение-\theoremnameRU}
 
 %% Theorem environments
 \theoremstyle{basic}
@@ -461,29 +591,222 @@
 \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}<highest>
+\CreateTheorem{conjecture}[theorem]
 \CreateTheorem*{theorem*}
 \CreateTheorem*{lemma*}
 \CreateTheorem*{proposition*}
 \CreateTheorem*{corollary*}
+\CreateTheorem*{definition-proposition*}
+\CreateTheorem*{definition-theorem*}
+\CreateTheorem*{property*}
 \CreateTheorem*{fact*}
 \CreateTheorem*{conjecture*}
 \CreateTheorem{definition}[theorem]
-\CreateTheorem{example}<highest>
-\CreateTheorem{problem}<highest>
+\CreateTheorem{axiom}[theorem]
+\CreateTheorem{assumption}[theorem]
+\CreateTheorem{convention}[theorem]
+\CreateTheorem{hypothesis}[theorem]
+\CreateTheorem{notation}[theorem]
+\CreateTheorem{example}[theorem]
+\CreateTheorem{problem}[theorem]
+\CreateTheorem{question}[theorem]
+\CreateTheorem{exercise}[theorem]
 \CreateTheorem*{definition*}
+\CreateTheorem*{axiom*}
+\CreateTheorem*{assumption*}
+\CreateTheorem*{convention*}
+\CreateTheorem*{hypothesis*}
+\CreateTheorem*{notation*}
 \CreateTheorem*{example*}
 \CreateTheorem*{problem*}
+\CreateTheorem*{question*}
+\CreateTheorem*{exercise*}
 
 \theoremstyle{emphasis}
 \CreateTheorem{remark}<highest>
 \CreateTheorem*{remark*}
 
+\numberwithin{equation}{highest}
+
+%% Cref label format
+\creflabelformat{theoremEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureEN}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureFR}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureDE}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureCN}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureTC}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureJP}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureRU}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+%% Icons on the margin
 \RequirePackage{marginnote}
+\RequirePackage{ifoddpage}
 \newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}}
-\apptocmd{\remark}{\reversemarginpar\mparadjust{-.25em}\marginnote{\ideabulb[0.3]{orange}\hspace*{-.5em}}\normalmarginpar}{}{\FAIL}
-\apptocmd{\conjecture}{\reversemarginpar\mparadjust{-.25em}\marginnote{\questionmark[0.3]{purple}\hspace*{-.5em}}\normalmarginpar}{}{\FAIL}
+\pretocmd{\remark}{%
+    \if@twoside\checkoddpage%
+        \ifoddpage\reversemarginpar\fi%
+    \else%
+        \reversemarginpar%
+    \fi%
+    \mparadjust{-.25em}%
+    \marginnote{\ideabulb[0.3]{orange}%
+        \ifIsBook%
+            \hspace*{-.2em}%
+        \else%
+            \hspace*{-.5em}%
+        \fi%
+    }\normalmarginpar%
+}{}{\FAIL}
+\pretocmd{\conjecture}{%
+    \if@twoside\checkoddpage%
+        \ifoddpage\reversemarginpar\fi%
+    \else%
+        \reversemarginpar%
+    \fi%
+    \mparadjust{-.25em}%
+    \marginnote{\questionmark[0.3]{purple}%
+        \ifIsBook%
+            \hspace*{-.2em}%
+        \else%
+            \hspace*{-.5em}%
+        \fi%
+    }\normalmarginpar%
+}{}{\FAIL}
 
 \RequirePackage{iftex}
 \ifXeTeX
@@ -519,15 +842,20 @@
 
 \theoremstyle{simple}% as the default style for user-defined environments
 
-\let\proof\relax
-\let\endproof\relax
-\def\proofnameCN{\proofname}
-\def\proofnameEN{\proofname}
-\def\proofnameFR{\proofname}
-\CreateTheorem*{proof}
+\renewenvironment{proof}[1][\proofname]{\par
+  \pushQED{\qed}%
+  \normalfont \topsep6\p@\@plus6\p@\relax
+  \trivlist
+  \item[\hskip\labelsep
+        \itshape
+    #1\hspace{.4em}%
+    \textcolor{gray!55!paper}{$|$}]\ignorespaces
+}{%
+  \popQED\endtrivlist\@endpefalse
+}
 
 \RequirePackage[many]{tcolorbox}
-\if@colorclass@fast
+\if@colorist@fast
     \tcbstartdraftmode
 \fi
 \tcolorboxenvironment{theorem}
@@ -562,6 +890,38 @@
     {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
     left=3.5mm,right=3.5mm,
     opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{property}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{property*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{axiom}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{axiom*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-proposition}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-proposition*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-theorem}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-theorem*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+    left=3.5mm,right=3.5mm,
+    opacityframe=0.9,colframe=orange,arc=.7mm}
 
 \tcolorboxenvironment{fact}
     {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
@@ -589,13 +949,53 @@
     left=4mm,right=4mm,top=1mm,bottom=1mm,
     colback=lightorange!10!paper,boxrule=0pt,frame hidden,
     borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{assumption}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{assumption*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{convention}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{convention*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{hypothesis}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{hypothesis*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{notation}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{notation*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,
+    left=4mm,right=4mm,top=1mm,bottom=1mm,
+    colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+    borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
 
 \tcolorboxenvironment{example}
     {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
-    boxrule=0pt,frame hidden,arc=.7mm}
+    boxrule=0pt,frame hidden,arc=.7mm,lines before break=3}
 \tcolorboxenvironment{example*}
     {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
-    boxrule=0pt,frame hidden,arc=.7mm}
+    boxrule=0pt,frame hidden,arc=.7mm,lines before break=3}
 
 \tcolorboxenvironment{problem}
     {enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,
@@ -604,6 +1004,13 @@
     {enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,
     boxrule=0pt,frame hidden,arc=.7mm}
 
+\tcolorboxenvironment{remark}
+    {enhanced jigsaw,pad at break*=1mm,breakable,oversize,
+    opacityframe=0,opacityback=0,lines before break=3}
+\tcolorboxenvironment{remark*}
+    {enhanced jigsaw,pad at break*=1mm,breakable,oversize,
+    opacityframe=0,opacityback=0,lines before break=3}
+
 \ExplSyntaxOn
 \NewDocumentCommand \AfterEnvEnd { +m }
   { \colorist_after_env_end:nw {#1} }
@@ -665,88 +1072,63 @@
       {\ScanEnv*{definition*}%
         {\vspace{-1.05\baselineskip}}%
         {}}}}
-
 \AddToHook{env/definition/end}{\scandefinitionenv}%
 \AddToHook{env/definition*/end}{\scandefinitionenv}%
 
-%%================================
-%% Language configuration
-%%================================
-\if@colorist@polyglossia
-    \RequirePackage{polyglossia}
-    \setdefaultlanguage{english}
-    \setotherlanguage[frenchpart=false]{french}
-\else
-    \PassOptionsToPackage{french,english}{babel}
-    \RequirePackage{babel}
-    \frenchsetup{PartNameFull=false}
-\fi
-\newcommand{\colorist@langconfig@chinese}{%
-    \def\abstractname{摘要}%
-    \def\proofname{证明}%
-    \def\contentsname{目录}%
-    \def\listfigurename{插图}%
-    \def\listtablename{表格}%
-    \def\figurename{图}%
-    \def\tablename{表}%
-    \def\indexname{索引}%
-    \def\appendixname{附录}%
-    \def\bibname{参考文献}%
-    \renewcommand{\languagename}{chinese}%
-}
-\newcommand{\colorist@langconfig@english}{%
-    \selectlanguage{english}%
-}
-\newcommand{\colorist@langconfig@french}{%
-    \selectlanguage{french}%
-    \def\frenchpartname{Partie}%
-}
-\newcommand{\UseLanguageCORE}[1]{%
-    \ifstrequal{#1}{chinese}{\onehalfspacing\colorist@langconfig@chinese}{}%
-    \ifstrequal{#1}{Chinese}{\onehalfspacing\colorist@langconfig@chinese}{}%
-    \ifstrequal{#1}{english}{\setstretch{1.07}\colorist@langconfig@english}{}%
-    \ifstrequal{#1}{English}{\setstretch{1.07}\colorist@langconfig@english}{}%
-    \ifstrequal{#1}{french}{\setstretch{1.07}\colorist@langconfig@french}{}%
-    \ifstrequal{#1}{French}{\setstretch{1.07}\colorist@langconfig@french}{}%
-}
-\newcommand{\UseLanguage}[1]{%
-    \ifx\@onlypreamble\@notprerr%
-        \UseLanguageCORE{#1}%
-    \else%
-        \AfterEndPreamble{\UseLanguageCORE{#1}}%
-    \fi%
-}
-\newcommand{\UseOtherLanguage}[2]{%
-\begingroup%
-    \ifstrequal{#1}{chinese}{\colorist@langconfig@chinese}{}%
-    \ifstrequal{#1}{Chinese}{\colorist@langconfig@chinese}{}%
-    \ifstrequal{#1}{english}{\colorist@langconfig@english}{}%
-    \ifstrequal{#1}{English}{\colorist@langconfig@english}{}%
-    \ifstrequal{#1}{french}{\colorist@langconfig@french}{}%
-    \ifstrequal{#1}{French}{\colorist@langconfig@french}{}%
-    #2%
-\endgroup%
-}
+\def\scanassumptionenv{%
+  \AfterEnvEnd{%
+    \ScanEnv*{assumption}%
+      {\vspace{-1.05\baselineskip}}%
+      {\ScanEnv*{assumption*}%
+        {\vspace{-1.05\baselineskip}}%
+        {}}}}
+\AddToHook{env/assumption/end}{\scanassumptionenv}%
+\AddToHook{env/assumption*/end}{\scanassumptionenv}%
 
-\ifbool{IsBook}{}{
+\def\scanconventionenv{%
+  \AfterEnvEnd{%
+    \ScanEnv*{convention}%
+      {\vspace{-1.05\baselineskip}}%
+      {\ScanEnv*{convention*}%
+        {\vspace{-1.05\baselineskip}}%
+        {}}}}
+\AddToHook{env/convention/end}{\scanconventionenv}%
+\AddToHook{env/convention*/end}{\scanconventionenv}%
+
+\def\scanhypothesisenv{%
+  \AfterEnvEnd{%
+    \ScanEnv*{hypothesis}%
+      {\vspace{-1.05\baselineskip}}%
+      {\ScanEnv*{hypothesis*}%
+        {\vspace{-1.05\baselineskip}}%
+        {}}}}
+\AddToHook{env/hypothesis/end}{\scanhypothesisenv}%
+\AddToHook{env/hypothesis*/end}{\scanhypothesisenv}%
+
+\def\scannotationenv{%
+  \AfterEnvEnd{%
+    \ScanEnv*{notation}%
+      {\vspace{-1.05\baselineskip}}%
+      {\ScanEnv*{notation*}%
+        {\vspace{-1.05\baselineskip}}%
+        {}}}}
+\AddToHook{env/notation/end}{\scannotationenv}%
+\AddToHook{env/notation*/end}{\scannotationenv}%
+
+\ifbool{IsBook}{}{%
 
 %%================================
 %% Title block style
 %%================================
 \renewcommand{\@maketitle}{%
-    \noindent%
-    {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}}%
-    \vspace{-\parskip}%
-    \begin{center}%
-        {\large\@title}\\\medskip%
-        \color{black!80!paper}%
-        {\scshape\@author}\\\smallskip%
-        {\@date}%
-    \end{center}%
-    \vspace{-\parskip}%
-    \vspace{-.5\baselineskip}%
-    {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}\par}%
-    \medskip%
+\begin{center}%
+    \color{maintheme}%
+    {\Large\sffamily\scshape\conditionalbfseries\@title}\\\bigskip%
+    \color{black!80!paper}%
+    {\scshape\@author}\\\smallskip%
+    {\@date}%
+\end{center}%
+\medskip%
 }
 \apptocmd{\maketitle}{\thispagestyle{fancy}}{}{\FAIL}
 
@@ -754,10 +1136,31 @@
 %% Abstract style
 %%================================
 \renewenvironment{abstract}
-{\small\centerline{\textsc{\abstractname}\vspace{-0.3\baselineskip}}
+{\small{\centerline{\textsc{\conditionalbfseries\abstractname}}\vspace{-0.3\baselineskip}}
     \color{black!80!paper}\begin{quotation}}
 {\end{quotation}\medskip}
 
+%%================================
+%% Keyword
+%%================================
+\def\keywordnameEN{\textsc{Keywords}}
+\def\keywordnameFR{\textsc{Mots clés}}
+\def\keywordnameDE{\textsc{Schlüsselwörter}}
+\def\keywordnameCN{关键词}
+\def\keywordnameTC{關鍵詞}
+\def\keywordnameJP{キーワード}
+\def\keywordnameRU{Ключевые слова}
+
+\newenvironment{keyword}
+{\small{\centerline{{\conditionalbfseries\csname keywordname\csname\languagename ABBR\endcsname\endcsname}}\vspace{-0.3\baselineskip}}
+    \color{black!80!paper}\begin{center}}
+{\end{center}\medskip}
+
+%%================================
+%% Simulate features of amsart
+%%================================
+\RequirePackage{PJLamssim}
+
 }
 
 \endinput
-- 
cgit v1.2.3

