texlive[59316] Master/texmf-dist: colorist (23may21)

commits+karl at tug.org commits+karl at tug.org
Sun May 23 22:34:49 CEST 2021


Revision: 59316
          http://tug.org/svn/texlive?view=revision&revision=59316
Author:   karl
Date:     2021-05-23 22:34:49 +0200 (Sun, 23 May 2021)
Log Message:
-----------
colorist (23may21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/colorist/README.md
    trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.pdf
    trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.tex
    trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls
    trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls
    trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty

Modified: trunk/Master/texmf-dist/doc/latex/colorist/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/colorist/README.md	2021-05-23 20:34:36 UTC (rev 59315)
+++ trunk/Master/texmf-dist/doc/latex/colorist/README.md	2021-05-23 20:34:49 UTC (rev 59316)
@@ -2,27 +2,28 @@
 
 # `colorist` bundle: write you documents in a colorful way
 
-This is collection of styles and classes for typesetting articles and books in a
-colorful design. It mainly consists of two parts.
+A collection of styles and classes that helps you typesetting articles and books
+with a colorful design. It mainly consists of two parts.
 
 - Main part:
-    - colorist.sty : the main style
-    - colorart.cls : class for typesetting articles
-    - colorbook.cls : class for typesetting books
+    - `colorist.sty` : the main style
+    - `colorart.cls` : class for typesetting articles
+    - `colorbook.cls` : class for typesetting books
 
     They can be used with any major TeX engine. Currently they have native
-    support to English and French typesetting. (I have planed to add more
-    language support)
+    support to English, French and German typesetting (more language to be
+    added).
 
 
 - Derivative part (they have separate pages on CTAN):
-    - lebhart.cls : more advanced class for typesetting articles
-    - beaulivre.cls : more advanced class for typesetting books
+    - `lebhart.cls` : enhanced version of `colorart`
+    - `beaulivre.cls` : enhanced version of `colorbook`
 
     They are similar to the main classes, but have unicode support, thus can
     only be used with either XeLaTeX or LuaLaTeX. Currently they have native
-    support to English, French and Chinese typesetting, and also use more
-    beautiful fonts. (I have planed to add more language support)
+    support to Chinese (both simplified and traditional), English, French,
+    German, Japanese and Russian typesetting (more language to be added), and
+    also use more beautiful fonts.
 
 # License
 

Modified: trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.tex	2021-05-23 20:34:36 UTC (rev 59315)
+++ trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.tex	2021-05-23 20:34:49 UTC (rev 59316)
@@ -1,22 +1,24 @@
 %! TEX program = xelatex
-\PassOptionsToPackage{dvipsnames}{xcolor}
-\documentclass{colorart}
+\documentclass[allowbf]{colorart}
 
 %%================================
-%% TeX logo and URL
+%% Import toolkit
 %%================================
-\usepackage{hologo}
-\usepackage{url}
+\usepackage{PJLtoolkit}
+\usepackage{longtable}  % breakable tables
+\usepackage{hologo}     % more TeX logo
 
 %%================================
 %% For typestting code
 %%================================
 \usepackage{listings}
+\definecolor{maintheme}{RGB}{70,130,180}
+\definecolor{forestgreen}{RGB}{21,122,81}
 \definecolor{lightergray}{gray}{0.99}
 \lstset{language=[LaTeX]TeX,
-    keywordstyle=\color{RoyalBlue},
+    keywordstyle=\color{maintheme},
     basicstyle=\ttfamily,
-    commentstyle=\color{ForestGreen}\ttfamily,
+    commentstyle=\color{forestgreen}\ttfamily,
     stringstyle=\rmfamily,
     showstringspaces=false,
     breaklines=true,
@@ -29,48 +31,78 @@
     firstnumber=last,
 } 
 \providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{morekeywords=%
-    {CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,
-    linenumbers,nolinenumbers,subsection,maketitle
+\lstset{moretexcs=%
+    {linenumbers,nolinenumbers,subsection,
+    color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
     }
 }
 \lstnewenvironment{code}% 
 {\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
 
-\providecommand{\colorist}{\textsf{colorist}}
-\providecommand{\colorart}{\textsf{colorart}}
-\providecommand{\colorbook}{\textsf{colorbook}}
-\providecommand{\lebhart}{\textsf{lebhart}}
-\providecommand{\beaulivre}{\textsf{beaulivre}}
+%%================================
+%% remind
+%%================================
+\usepackage[many]{tcolorbox}
+\newenvironment{remind}[1][Remind]{%
+    \begin{tcolorbox}[breakable,
+        enhanced,
+        width = \textwidth,
+        colback = white, colbacktitle = paper,
+        colframe = gray!50, boxrule=0.2mm,
+        coltitle = black,
+        fonttitle = \sffamily,
+        attach boxed title to top left = {yshift=-\tcboxedtitleheight/2,  xshift=\tcboxedtitlewidth/4},
+        boxed title style = {boxrule=0pt, colframe=paper},
+        before skip = 0.3cm,
+        after skip = 0.3cm,
+        top = 3mm,
+        bottom = 3mm,
+        title={\sffamily #1}]%
+}{\end{tcolorbox}}
 
 %%================================
+%% Names
+%%================================
+\providecommand{\colorist}{{\normalfont\textsf{colorist}}}
+\providecommand{\colorart}{{\normalfont\textsf{colorart}}}
+\providecommand{\colorbook}{{\normalfont\textsf{colorbook}}}
+\providecommand{\lebhart}{{\normalfont\textsf{lebhart}}}
+\providecommand{\beaulivre}{{\normalfont\textsf{beaulivre}}}
+
+
+%%================================
 %% Main text
 %%================================
 \begin{document}
 
-\title{\colorist{}, write your articles or books in a colorful way\thanks{Corresponding to: \texttt{\colorist{} 2021/03/15}}}
-\author{Jinwen}
-\date{March 2021, Beijing}
+\title{{\normalfont\textbf{\textsf{colorist}}}, write your articles or books in a colorful way}
+\author{Jinwen XU}
+\thanks{Corresponding to: \texttt{\colorist{} 2021/05/24}}
+\date{May 2021, Beijing}
 
 \maketitle
 
 \begin{abstract}
-    The \colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
+    \colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
 
-    The entire collection includes \verb|colorist.sty|, which is the main style shared by all the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English and French typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+    The entire collection includes \verb|colorist.sty|, which is the main style shared by all of the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
 
-    You can also found \lebhart{} and \beaulivre{} on CTAN. They are the enhanced version of \colorart{} and \colorbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
+    You can also found \lebhart{} and \beaulivre{} on CTAN. They are the enhanced version of \colorart{} and \colorbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
     
-    This documentation is typeset using \colorart{}. You can think of it as a short introduction and demonstration.
+    This documentation is typeset using \colorart{} (with the option \texttt{allowbf}). You can think of it as a short introduction and demonstration.
 \end{abstract}
 
-\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,boxrule=0pt,frame hidden]
-    Since the main body of \colorist{} is modified from the \textsf{minimalist} series, some elements have not been completely redesigned yet, especially the TOC, part and chapter style. These will be added gradually in the future versions.
-\end{tcolorbox}
-
 \tableofcontents
 
-\section{How to load it}
+\bigskip\bigskip
+\begin{remind}
+    Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
+\end{remind}
+
+\clearpage
+\section{Initialization}
+
+\subsection{How to load it}
 You can directly use \colorart{} or \colorbook{} as your document class. In this way, you can directly begin writing your document, without having to worry about the configurations.
 
 \begin{code}
@@ -77,44 +109,125 @@
   \documentclass{colorart} (*{\normalfont or}*) \documentclass{colorbook}
 \end{code}
 
-And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \colorist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article (except for draft marks) are provided.
+And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \colorist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article are provided.
 \begin{code}
   \usepackage{colorist}
 \end{code}
 
-\subsection{A useful switch: the option \textsf{fast} or \textsf{draft}}
-You can use the option \verb|fast| or \verb|draft| to typeset in a fast but slightly rough manner. The main differences are:
+\subsection{Options}
+
+\colorist{} offers the following options: 
+
 \begin{itemize}
-    \item Do not use hyperref; 
-    \item Use draft mode for all tcolorboxes.
+    \item \texttt{draft} or \texttt{fast}
+        \begin{itemize}
+            \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
+            \begin{itemize}
+                \item Use simpler math font configuration; 
+                \item Do not use hyperref; 
+                \item Enable the fast mode of \ProjLib{} toolkit.
+            \end{itemize}
+        \end{itemize}
+    \item \texttt{allowbf}
+        \begin{itemize}
+            \item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
+        \end{itemize}
 \end{itemize}
 
-During the writing stage of your document, it is recommended to use the \verb|fast| option to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version.
+\begin{remind}
+    \begin{itemize}
+        \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+    \end{itemize}
+\end{remind}
 
+\bigskip
+Additionally, \colorart{} and \colorbook{} offers the following options: 
+\begin{itemize}
+    \item \texttt{a4paper} or \texttt{b5paper}
+        \begin{itemize}
+            \item Optional paper size. The default paper size is 8.5in $\times$ 11in.
+        \end{itemize}
+\end{itemize}
+
+
 \section{Some instructions}
 
+Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
+
+\subsection{Language configuration}
+
+\colorist{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+
+\begin{itemize}
+    \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+    \item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
+\end{itemize}
+
+\clearpage
+\meta{language name} can be:
+\begin{itemize}
+    \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
+    \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
+    \item English: \texttt{English} or \texttt{english}
+    \item French: \texttt{French} or \texttt{french}
+    \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
+    \item Japanese: \texttt{Japanese} or \texttt{japanese}
+    \item Russian: \texttt{Russian} or \texttt{russian}
+\end{itemize}
+
+\medskip
+In addition, you can also add new settings to selected language:
+\begin{itemize}
+    \item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}|
+    \begin{itemize}
+        \item Add \meta{settings} to all supported languages.
+    \end{itemize}
+    \item \lstinline|\AddLanguageSetting(|\meta{language name}\lstinline|){|\meta{settings}\lstinline|}|
+    \begin{itemize}
+        \item Add \meta{settings} to the selected language \meta{language name}.
+    \end{itemize}
+\end{itemize}
+For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages).
+
+
 \subsection{Theorems and how to reference them}
 
-Environments such as definitions and theorems have been pre-defined and can be used directly, for example:
+Environments such as definitions and theorems have been pre-defined and can be used directly. 
+
+More specifically, preset environments include: 
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+
+\medskip
+When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+
+\begin{remind}[Example]
 \begin{code}
   \begin{definition}[Strange things] \label{def: strange} ...
 \end{code}
+
 will produce
 \begin{definition}[Strange things]\label{def: strange}
     This is the definition of some strange objects.
 \end{definition}
 
-\begin{definition}[Another definition]
-    Different definitions are automatically glued together, and there will be no gaps in between.
-\end{definition}
+\lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
 
-When referencing, you can directly use clever reference \lstinline|\cref{(label name)}|. For example, \lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
+\medskip
+After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
 
-\bigskip
-The following are several other styles of theorem-like environments:
+\UseLanguage{French}
+\begin{theorem}[Inutile]\label{thm}
+    Un théorème en français.
+\end{theorem}
 
+By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
+\end{remind}
+
+
+\clearpage %\bigskip
+The following are the main styles of theorem-like environments:
 \begin{theorem}
-    Theorem style: theorem, proposition, lemma, corollary
+    Theorem style: theorem, proposition, lemma, corollary, ...
 \end{theorem}
 
 \begin{proof}
@@ -130,93 +243,273 @@
 \end{conjecture}
 
 \begin{example*}
-    Example style: example, fact
+    Example style: example, fact, ...
 \end{example*}
 
 \begin{problem}
-    Problem style
+    Problem style: problem, question, ...
 \end{problem}
 
+\medskip
+For aesthetics, adjacent definitions will be connected together automatically:
+\begin{definition}
+    First definition.
+\end{definition}
+
+\begin{definition}
+    Second definition.
+\end{definition}
+
+\UseLanguage{English}
+
+% \clearpage
 \subsection{Define a new theorem-like environment}
 
-First define the name of this environment in the language used: \lstinline|\(name of environment)(language name)|. Where \lstinline|(language name)| can be \lstinline|EN|, \lstinline|FR|, \lstinline|CN|, etc., and then define this environment in one of the following four ways:
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
+% \vspace{-.5\baselineskip}
+\begin{longtable}{ll|ll}
+    \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
+    \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
+    \texttt{EN} & English & \texttt{RU} & Russian\\
+    \texttt{FR} & French & &\\
+\end{longtable}
+
+\vspace{-.5\baselineskip}
+\begin{remind}
+    If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
+\end{remind}
+
+And then define this environment in one of following five ways:
 \begin{itemize}
-    \item \lstinline|\CreateTheorem*{(name of environment)}|
-    \item \lstinline|\CreateTheorem{(name of environment)}[(numbered like)]|
-    \item \lstinline|\CreateTheorem{(name of environment)}<(numbered within)>|
-    \item \lstinline|\CreateTheorem{(name of environment)}|
+    \item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
+        \begin{itemize}
+            \item Define an unnumbered environment \meta{name of environment}
+        \end{itemize}
+    \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
+        \begin{itemize}
+            \item Define a numbered environment \meta{name of environment}, numbered in order 1,2,3,\dots
+        \end{itemize}
+    \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
+        \begin{itemize}
+            \item Define a numbered environment \meta{name of environment}, which shares the counter \meta{numbered like}
+        \end{itemize}
+    \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
+        \begin{itemize}
+            \item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within}
+        \end{itemize}
+    \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\
+    \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|
+        \begin{itemize}
+            \item Identify \meta{name of environment} with \meta{existed environment} or \meta{existed environment}\lstinline|*|.
+            \item This method is usually useful in the following two situations:
+                \begin{enumerate}
+                    \item To use a more concise name. For example, with \lstinline|\CreateTheorem{thm}|\\\lstinline|(theorem)|, one can then use the name \texttt{thm} to write theorem.
+                    \item To remove the numbering. For example, one can remove the numbering of the \texttt{remark} environment with \lstinline|\CreateTheorem{remark}(remark*)|.
+                \end{enumerate}
+        \end{itemize}
 \end{itemize}
 
+\medskip
+\begin{remind}
+    It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{remind}
+
 \def\proofideanameEN{Idea}
-\CreateTheorem*{proofidea}
+\CreateTheorem*{proofidea*}
+\CreateTheorem{proofidea}<subsection>
 
-For example,
+\bigskip
+Here is an example. The following code:
 \begin{code}
   \def\proofideanameEN{Idea}
-  \CreateTheorem*{proofidea}
+  \CreateTheorem*{proofidea*}
+  \CreateTheorem{proofidea}<subsection>
 \end{code}
-defines an unnumbered environment \lstinline|proofidea|, which supports using in the English context, and the effect is as follows:
+defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context. The effect is as follows:
 
+\begin{proofidea*}
+    The \lstinline|proofidea*| environment.
+\end{proofidea*}
+
 \begin{proofidea}
-    ...
+    The \lstinline|proofidea| environment.
 \end{proofidea}
 
+\bigskip
 \subsection{Draft mark}
 
 You can use \lstinline|\dnf| to mark the unfinished part. For example:
 \begin{itemize}
-    \item \lstinline|\dnf|: \quad \dnf
-    \item \lstinline|\dnf<Still need ...>|: \quad \dnf<Still need ...>
+    \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}
 
-Similarly, there is \lstinline|\needgraph| :
+Similarly, there is \lstinline|\needgraph| : 
 \begin{itemize}
-    \item \lstinline|\needgraph|: \needgraph
-    \item \lstinline|\needgraph<About ...>|: \needgraph<About ...>
+    \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
 \end{itemize}
 
-\subsection{Language configuration}
-You can use \lstinline|\UseLanguage{(name of language))}| at any time to change the language, Language names include Chinese, English, French (the case of the first letter is arbitrary, for example, ``chinese'' is also acceptable). With this, the effects of various commands and environments will also change accordingly.
+\clearpage
+\subsection{On the title, abstract and keywords}
 
-For example, after using \lstinline|\UseLanguage{French}|, the theorem and the draft mark will be displayed as:
+\colorart{} has both the features of standard classes and that of the \AmS{} classes.
 
-\UseLanguage{French}
-\begin{theorem}[Inutile]\label{thm}
-    Un théorème en français. \dnf
+Therefore, the title part can either be written in the usual way, in accordance with the standard class \textsf{article}:
+
+\begin{code}
+  \title{(*\meta{title}*)}
+  \author{(*\meta{author}*)}
+  \date{(*\meta{date}*)}
+  \maketitle
+  \begin{abstract}
+      (*\meta{abstract}*)
+  \end{abstract}
+  \begin{keyword}
+      (*\meta{keywords}*)
+  \end{keyword}
+\end{code}
+
+or written in the way of \AmS{} classes:
+
+\begin{code}
+  \title{(*\meta{title}*)}
+  \author{(*\meta{author}*)}
+  \address{(*\meta{address}*)}
+  \email{(*\meta{email}*)}
+  \date{(*\meta{date}*)}
+  \keywords{(*\meta{keywords}*)}
+  \subjclass{(*\meta{subjclass}*)}
+  \begin{abstract}
+      (*\meta{abstract}*)
+  \end{abstract}
+  \maketitle
+\end{code}
+
+\medskip
+The author information can contain multiple groups, written as:
+
+\begin{code}
+  \author{(*\meta{author 1}*)}
+  \address{(*\meta{address 1}*)}
+  \email{(*\meta{email 1}*)}
+  \author{(*\meta{author 2}*)}
+  \address{(*\meta{address 2}*)}
+  \email{(*\meta{email 2}*)}
+  ...
+\end{code}
+
+Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
+
+
+\section{Known issues}
+
+\begin{itemize}[itemsep=.6em]
+    \item The font settings are still not perfect.
+    \item Since many features are based on the \ProjLib{} toolkit, \colorist{} inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation.
+    \item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
+    \item There are still many things that can be optimized in the code.
+\end{itemize}
+
+\clearpage
+\section{Document templates}
+
+\subsection{The standard way}
+
+If you want to write in the standard way, you can refer to the following example:
+
+\begin{code}
+\documentclass{colorart}
+\usepackage{PJLtoolkit} % Load ProjLib toolkit
+
+\UseLanguage{French} % Use French from here
+
+\begin{document}
+
+\title{Le Titre}
+\author{Auteur}
+\date{\PJLdate{2022-04-01}}
+
+\maketitle
+
+\begin{abstract}
+    Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
+\begin{keyword}
+    AAA, BBB, CCC, DDD, EEE
+\end{keyword}
+
+\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}
 
-When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}。
+Référence du théorème: \cref{thm:abc} 
+    % It is recommended to use clever reference
 
-\UseLanguage{English}
+\end{document}
+\end{code}
 
+If you wish to switch to the standard class later, just replace the first two lines with:
+
+\begin{code}
+\documentclass{article}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\end{code}
+
+
 \clearpage
+\subsection{The \texorpdfstring{\AmS{}}{AMS} way}
 
-\section{Document templates}
+If you intend to switch to the journal template in the future and thus want to use the writing style as in the \AmS{} classes, you can refer to the following example:
 
-\begin{center}
-\begin{minipage}{0.4\textwidth}
 \begin{code}
-%! TEX program = xelatex
-\documentclass{lebhartfast}
+\documentclass{colorart}
+\usepackage{PJLtoolkit} % Load ProjLib toolkit
 
-\UseLanguage{French}
+\UseLanguage{French} % Use French from here
 
 \begin{document}
 
-\title{Titre}
-\author{Nom}
-\date{03 / 2021, Lieu}
+\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{\PJLdate{2022-04-01}}
+\subjclass{*****}
+\keywords{...}
 
+\begin{abstract}
+    Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
+
 \maketitle
 
-%% Texte ici
+\section{Première section}
 
+%% 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}
 \end{code}
-\end{minipage} 
-\end{center}
 
-\bigskip
-(\lstinline|\UseLanguage| can be placed either in the preamble or in the body part, and can be used repeatedly as needed)
+In this way, if you wish to switch to \AmS{} class later, just replace the first two lines with:
 
+\begin{code}
+\documentclass{amsart}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\end{code}
+
 \end{document}

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls	2021-05-23 20:34:36 UTC (rev 59315)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls	2021-05-23 20:34:49 UTC (rev 59316)
@@ -17,7 +17,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesClass{colorart}
-    [2021/03/15 A colorful article style]
+    [2021/05/24 A colorful article style]
 \def\colorclass at baseclass{article}
 \RequirePackage{kvoptions}
 \RequirePackage{etoolbox}
@@ -27,6 +27,12 @@
 }
 \DeclareBoolOption[false]{draft}
 \DeclareBoolOption[false]{fast}
+
+\newif\if at colorclass@bfivepaper\@colorclass at bfivepaperfalse
+\DeclareVoidOption{b5paper}{\@colorclass at bfivepapertrue}
+\newif\if at colorclass@afourpaper\@colorclass at afourpaperfalse
+\DeclareVoidOption{a4paper}{\@colorclass at afourpapertrue}
+
 \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass at baseclass}}
 \ProcessKeyvalOptions*\relax
 \LoadClass{\colorclass at baseclass}
@@ -37,9 +43,27 @@
 %%================================
 %% Page layout
 %%================================
+\RequirePackage{silence}
+\WarningFilter{geometry}{Over-specification in}
 \RequirePackage[heightrounded]{geometry}
 \geometry{
-    % papersize={8in,11in},
+    papersize={8.5in,11in},
+    total={47em,66em},
+    hmarginratio=1:1,
+    vmarginratio=1:1,
+    footnotesep=2em plus 2pt minus 2pt,
+}
+\if at colorclass@bfivepaper
+\geometry{
+    b5paper,
+    total={40em,59em},
+    hmarginratio=1:1,
+    vmarginratio=1:1,
+    footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
+\if at colorclass@afourpaper
+\geometry{
     a4paper,
     total={47em,70em},
     hmarginratio=1:1,
@@ -46,11 +70,14 @@
     vmarginratio=1:1,
     footnotesep=2em plus 2pt minus 2pt,
 }
+\fi
 
 \RequirePackage{indentfirst}
 
 \if at colorclass@fast
     \PassOptionsToPackage{fast}{colorist}
+    \RequirePackage{draftwatermark}
+    \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
 \fi
 \RequirePackage{colorist}
 
@@ -64,7 +91,10 @@
 \fi
 \RequirePackage{mathpazo}
 \RequirePackage{newpxtext}
+\RequirePackage{amssymb}
 
+\def\PJL at font@alreadyset{}
+
 \RequirePackage[verbose=silent]{microtype}
 
 %%================================
@@ -73,7 +103,9 @@
 \RequirePackage{graphicx}
 \graphicspath{{images/}}
 \RequirePackage{wrapfig}
+\RequirePackage{float}
 \RequirePackage{caption}
+\captionsetup{font=small}
 
 %%================================
 %% Index
@@ -80,53 +112,6 @@
 %%================================
 \RequirePackage{imakeidx}
 
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if at colorclass@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
-
-\NewDocumentCommand{\dnf}{d<>}{%
-    \noindent\plainBox[dnfColor]%
-    {\normalfont\dnfFont\bfseries\small%
-    \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
-    \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
-    \par%
-    \centerline{\plainBox[needgraphColor]%
-    {\normalfont\needgraphFont\bfseries\small%
-    \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
-    \IfNoValueF{#1}{ : #1}}}%
-    \par%
-}
-
 \endinput
 %%
 %% End of file `colorist/colorart.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls	2021-05-23 20:34:36 UTC (rev 59315)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls	2021-05-23 20:34:49 UTC (rev 59316)
@@ -17,7 +17,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesClass{colorbook}
-    [2021/03/15 A colorful book style]
+    [2021/05/24 A colorful book style]
 \def\colorclass at baseclass{book}
 \RequirePackage{kvoptions}
 \RequirePackage{etoolbox}
@@ -27,6 +27,12 @@
 }
 \DeclareBoolOption[false]{draft}
 \DeclareBoolOption[false]{fast}
+
+\newif\if at colorclass@bfivepaper\@colorclass at bfivepaperfalse
+\DeclareVoidOption{b5paper}{\@colorclass at bfivepapertrue}
+\newif\if at colorclass@afourpaper\@colorclass at afourpaperfalse
+\DeclareVoidOption{a4paper}{\@colorclass at afourpapertrue}
+
 \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass at baseclass}}
 \ProcessKeyvalOptions*\relax
 \LoadClass{\colorclass at baseclass}
@@ -37,9 +43,27 @@
 %%================================
 %% Page layout
 %%================================
+\RequirePackage{silence}
+\WarningFilter{geometry}{Over-specification in}
 \RequirePackage[heightrounded]{geometry}
 \geometry{
-    % papersize={8in,11in},
+    papersize={8.5in,11in},
+    total={47em,66em},
+    hmarginratio=1:1,
+    vmarginratio=1:1,
+    footnotesep=2em plus 2pt minus 2pt,
+}
+\if at colorclass@bfivepaper
+\geometry{
+    b5paper,
+    total={40em,59em},
+    hmarginratio=1:1,
+    vmarginratio=1:1,
+    footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
+\if at colorclass@afourpaper
+\geometry{
     a4paper,
     total={47em,70em},
     hmarginratio=1:1,
@@ -46,11 +70,14 @@
     vmarginratio=1:1,
     footnotesep=2em plus 2pt minus 2pt,
 }
+\fi
 
 \RequirePackage{indentfirst}
 
 \if at colorclass@fast
     \PassOptionsToPackage{fast}{colorist}
+    \RequirePackage{draftwatermark}
+    \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
 \fi
 \RequirePackage{colorist}
 
@@ -64,7 +91,10 @@
 \fi
 \RequirePackage{mathpazo}
 \RequirePackage{newpxtext}
+\RequirePackage{amssymb}
 
+\def\PJL at font@alreadyset{}
+
 \RequirePackage[verbose=silent]{microtype}
 
 %%================================
@@ -73,7 +103,9 @@
 \RequirePackage{graphicx}
 \graphicspath{{images/}}
 \RequirePackage{wrapfig}
+\RequirePackage{float}
 \RequirePackage{caption}
+\captionsetup{font=small}
 
 %%================================
 %% Index
@@ -80,53 +112,6 @@
 %%================================
 \RequirePackage{imakeidx}
 
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if at colorclass@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
-
-\NewDocumentCommand{\dnf}{d<>}{%
-    \noindent\plainBox[dnfColor]%
-    {\normalfont\dnfFont\bfseries\small%
-    \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
-    \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
-    \par%
-    \centerline{\plainBox[needgraphColor]%
-    {\normalfont\needgraphFont\bfseries\small%
-    \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
-    \IfNoValueF{#1}{ : #1}}}%
-    \par%
-}
-
 \endinput
 %%
 %% End of file `colorist/colorbook.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty	2021-05-23 20:34:36 UTC (rev 59315)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty	2021-05-23 20:34:49 UTC (rev 59316)
@@ -17,9 +17,9 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesPackage{colorist}
-    [2021/03/15 A colorful style for articles and books]
+    [2021/05/24 A colorful style for articles and books]
+\RequirePackage{kvoptions}
 \RequirePackage{etoolbox}
-\RequirePackage{kvoptions}
 \SetupKeyvalOptions{%
     family = @colorist,
     prefix = @colorist@
@@ -26,7 +26,7 @@
 }
 \DeclareBoolOption[false]{draft}
 \DeclareBoolOption[false]{fast}
-\DeclareBoolOption[false]{polyglossia}
+\DeclareBoolOption[false]{allowbf}
 \ProcessKeyvalOptions*\relax
 
 \if at colorist@draft
@@ -33,6 +33,12 @@
   \@colorist at fasttrue
 \fi
 
+\if at 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 at 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 at langconfig@common}{%
+\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}%
+}
+\gappto{\PJLlang at langconfig@chinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang at langconfig@tchinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang at 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 at chapboxwidth}
 
+    \newcommand{\MakeChapBox}[2]{%
+        \settowidth{\colorist at 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 at 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,25 +262,25 @@
 
     %% Section
     \titleformat{\section}
-    {\secfont\large\color{steelblue}}
+    {\color{maintheme}\secfont\large}
     {\thesection}{.75em}{\scshape #1}
-    [{\titlerule[.75pt]}]
+    % [{\titlerule[.75pt]}]
+
+    %% Subsection
+    \titleformat{\subsection}
+    {\subsecfont}{\thesubsection}{.75em}
+    {\scshape #1}
 }
 
-%% Subsection
-\titleformat{\subsection}
-    {\subsecfont}{}{0em}
-    {\textsf{\thesubsection}~~\textcolor{gray!55!paper}{$|$}~~#1}
-\titleformat{name=\subsection,numberless}
-    {\subsecfont}{}{0em}
-    {#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
@@ -275,6 +350,11 @@
     \null\newpage\fi\fi}
 
 %%================================
+%% Draft mark
+%%================================
+\RequirePackage{PJLdraft}
+
+%%================================
 %% Icons
 %%================================
 \RequirePackage{tikz}
@@ -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,128 +408,178 @@
 \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 at colorist@fast\else
+\if at 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[nothms]{PJLthm}
 
-\RequirePackage{xstring}
-\newcommand\PassFirstToSecond[2]{#2{#1}}%
-\NewDocumentCommand{\CreateTheorem}{sm}{%
-    \begingroup
-    \protected at 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 at 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}%
-}%
+%% 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}
 
-%% 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}}
+%% 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}
 
-%% 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}}
+%% 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}
 
-%% 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}备注}
+%% 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}
 \ifbool{IsBook}{
@@ -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 at 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 at 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 at colorclass@fast
+\if at 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 at colorist@polyglossia
-    \RequirePackage{polyglossia}
-    \setdefaultlanguage{english}
-    \setotherlanguage[frenchpart=false]{french}
-\else
-    \PassOptionsToPackage{french,english}{babel}
-    \RequirePackage{babel}
-    \frenchsetup{PartNameFull=false}
-\fi
-\newcommand{\colorist at 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 at langconfig@english}{%
-    \selectlanguage{english}%
-}
-\newcommand{\colorist at langconfig@french}{%
-    \selectlanguage{french}%
-    \def\frenchpartname{Partie}%
-}
-\newcommand{\UseLanguageCORE}[1]{%
-    \ifstrequal{#1}{chinese}{\onehalfspacing\colorist at langconfig@chinese}{}%
-    \ifstrequal{#1}{Chinese}{\onehalfspacing\colorist at langconfig@chinese}{}%
-    \ifstrequal{#1}{english}{\setstretch{1.07}\colorist at langconfig@english}{}%
-    \ifstrequal{#1}{English}{\setstretch{1.07}\colorist at langconfig@english}{}%
-    \ifstrequal{#1}{french}{\setstretch{1.07}\colorist at langconfig@french}{}%
-    \ifstrequal{#1}{French}{\setstretch{1.07}\colorist at langconfig@french}{}%
-}
-\newcommand{\UseLanguage}[1]{%
-    \ifx\@onlypreamble\@notprerr%
-        \UseLanguageCORE{#1}%
-    \else%
-        \AfterEndPreamble{\UseLanguageCORE{#1}}%
-    \fi%
-}
-\newcommand{\UseOtherLanguage}[2]{%
-\begingroup%
-    \ifstrequal{#1}{chinese}{\colorist at langconfig@chinese}{}%
-    \ifstrequal{#1}{Chinese}{\colorist at langconfig@chinese}{}%
-    \ifstrequal{#1}{english}{\colorist at langconfig@english}{}%
-    \ifstrequal{#1}{English}{\colorist at langconfig@english}{}%
-    \ifstrequal{#1}{french}{\colorist at langconfig@french}{}%
-    \ifstrequal{#1}{French}{\colorist at 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



More information about the tex-live-commits mailing list.