texlive[64280] Master/texmf-dist: jxu (3sep22)

commits+karl at tug.org commits+karl at tug.org
Sat Sep 3 21:50:43 CEST 2022


Revision: 64280
          http://tug.org/svn/texlive?view=revision&revision=64280
Author:   karl
Date:     2022-09-03 21:50:42 +0200 (Sat, 03 Sep 2022)
Log Message:
-----------
jxu (3sep22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.pdf
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-fr.tex
    trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.pdf
    trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.tex
    trunk/Master/texmf-dist/doc/latex/crefthe/crefthe-doc.pdf
    trunk/Master/texmf-dist/doc/latex/crefthe/crefthe-doc.tex
    trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.pdf
    trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex
    trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-fr.tex
    trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-cn.pdf
    trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-cn.tex
    trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-fr.tex
    trunk/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.pdf
    trunk/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex
    trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-cn.pdf
    trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-cn.tex
    trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-fr.tex
    trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls
    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-fancy.sty
    trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty
    trunk/Master/texmf-dist/tex/latex/crefthe/crefthe.sty
    trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls
    trunk/Master/texmf-dist/tex/latex/lebhart/lebhart.cls
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty
    trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls
    trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls
    trunk/Master/texmf-dist/tex/latex/simplivre/simplivre.cls

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

Modified: trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \frontmatter
 
@@ -113,7 +141,7 @@
 
 \beaulivre{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
 
-这篇说明文档即是用 \beaulivre{} 排版的 (使用了参数 \texttt{use boldface}),你可以把它看作一份简短的说明与演示。
+这篇说明文档即是用 \beaulivre{} 排版的 (使用了参数 \classoption{use boldface}),你可以把它看作一份简短的说明与演示。
 
 \bigskip
 \begin{tip}
@@ -262,13 +290,13 @@
 
 \beaulivre{} 文档类有下面几个选项:
 
-\begin{itemize}
-    \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等
         \begin{itemize}
             \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
             \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。
         \end{itemize}
-    \item \texttt{draft} 或 \texttt{fast}
+    \item \classoption{draft} 或 \classoption{fast}
         \begin{itemize}
             \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是:
             \begin{itemize}
@@ -280,40 +308,40 @@
     \begin{tip}
         在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
     \end{tip}
-    \item \texttt{a4paper} 或 \texttt{b5paper}
+    \item \classoption{a4paper} 或 \classoption{b5paper}
         \begin{itemize}
             \item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。
         \end{itemize}
-    \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item 字体选项。顾名思义,会加载相应名称的字体。
-            \item \texttt{useosf} 选项用来启用“旧式”数字。
+            \item \classoption{useosf} 选项用来启用“旧式”数字。
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item 纯文本模式,不加载定理类环境。
         \end{itemize}
 % \clearpage
-    \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
         \end{itemize}
-    \item \texttt{regionalref}、\texttt{originalref}
+    \item \classoption{regionalref}、\classoption{originalref}
         \begin{itemize}
-            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
-            \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。
+            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
+            \item 在 \classoption{fast} 模式下,\classoption{originalref} 将不起作用。
         \end{itemize}
 \end{itemize}
 \bigskip
-另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。
+另外,排版图书时常用的 \classoption{oneside}、\classoption{twoside} 选项也是可以使用的。默认采用双页排版。
 
 \LevelOneTitle{具体说明}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \frontmatter
 
@@ -113,7 +141,7 @@
 
 \beaulivre{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \lebhart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
 
-This documentation is typeset using \beaulivre{} (with the option \texttt{use boldface}). You can think of it as a short introduction and demonstration.
+This documentation is typeset using \beaulivre{} (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration.
 
 \bigskip
 \begin{tip}
@@ -263,13 +291,13 @@
 
 \beaulivre{} offers the following options:
 
-\begin{itemize}
-    \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
             \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
         \end{itemize}
-    \item \texttt{draft} or \texttt{fast}
+    \item \classoption{draft} or \classoption{fast}
         \begin{itemize}
             \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
             \begin{itemize}
@@ -281,40 +309,40 @@
     \begin{tip}
         During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{tip}
-    \item \texttt{a4paper} or \texttt{b5paper}
+    \item \classoption{a4paper} or \classoption{b5paper}
         \begin{itemize}
             \item Paper size options. The default paper size is 8.5in $\times$ 11in.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Font options. As the name suggest, font with corresponding name will be loaded.
-            \item The \texttt{useosf} option is used to enable the old-style figures.
+            \item The \classoption{useosf} option is used to enable the old-style figures.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Use the ``runin'' style for \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Pure text mode. Do not load theorem-like environments.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
-            \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect.
+            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
+            \item In \classoption{fast} mode, the option \classoption{originalref} will have no effect.
         \end{itemize}
 \end{itemize}
 
 \bigskip
-In addition, the commonly used \texttt{oneside} and \texttt{twoside} options are also available. Two-page layout is used by default.
+In addition, the commonly used \classoption{oneside} and \classoption{twoside} options are also available. Two-page layout is used by default.
 
 \LevelOneTitle{Instructions by topic}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-fr.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-fr.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \frontmatter
 
@@ -113,7 +141,7 @@
 
 \beaulivre{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \beaulivre{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation.
 
-Cette documentation est composée à l'aide de \beaulivre{} (avec l'option \texttt{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration.
+Cette documentation est composée à l'aide de \beaulivre{} (avec l'option \classoption{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration.
 
 \bigskip
 \begin{tip}
@@ -263,13 +291,13 @@
 
 \beaulivre{} propose les options suivantes :
 
-\begin{itemize}
-    \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut.
             \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent.
         \end{itemize}
-    \item \texttt{draft} ou \texttt{fast}
+    \item \classoption{draft} ou \classoption{fast}
         \begin{itemize}
             \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont :
             \begin{itemize}
@@ -281,39 +309,39 @@
     \begin{tip}
         Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon.
     \end{tip}
-    \item \texttt{a4paper} ou \texttt{b5paper}
+    \item \classoption{a4paper} ou \classoption{b5paper}
         \begin{itemize}
             \item Options de format de papier. Le format de papier par défaut est 8.5 pouces $\times$ 11 pouces.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée.
-            \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne.
+            \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Utilisez le style «~runin~» pour \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Mode texte pur. Ne pas définir les environnements de type théorème.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
-            \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet.
+            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
+            \item En mode \classoption{fast}, l'option \classoption{originalref} n'aura aucun effet.
         \end{itemize}
 \end{itemize}
 \bigskip
-De plus, les options \texttt{oneside} et \texttt{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut.
+De plus, les options \classoption{oneside} et \classoption{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut.
 
 \LevelOneTitle{Instructions par sujet}
 

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	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/colorist/colorist-doc.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{{\normalfont\bfseries\color{main-text}\colorist{}}\\write your articles or books in a colorful way}
 \author{Jinwen XU}
@@ -104,7 +132,7 @@
 \begin{abstract}
     \colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. The original intention in designing this series was to write drafts and notes that look colorful yet not dazzling. With the help of the \ProjLib{} toolkit, also developed by the author, the classes provided here have multi-language support, preset theorem-like environments with clever reference support, and many other functionalities. Notably, using these classes, one can organize the author information in the \AmS{} fashion, makes it easy to switch to journal classes later for publication.
 
-    Finally, this documentation is typeset using the \colorart{} class (with the option \texttt{use boldface}). You can think of it as a short introduction and demonstration.
+    Finally, this documentation is typeset using the \colorart{} class (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration.
 \end{abstract}
 
 
@@ -304,14 +332,7 @@
 
 \end{tip}
 
-\begin{tip}
-If you like the current document class, but want a more ``plain'' style, then you can use the option \texttt{classical}, like this:
 
-\begin{code}
-\documentclass[classical]{colorart}
-\end{code}
-\end{tip}
-
 \vspace{1.5\baselineskip}
 \LevelTwoTitle{Example - \colorbook}
 
@@ -362,13 +383,13 @@
 
 \colorist{} offers the following options:
 
-\begin{itemize}
-    \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
             \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
         \end{itemize}
-    \item \texttt{draft} or \texttt{fast}
+    \item \classoption{draft} or \classoption{fast}
         \begin{itemize}
             \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
             \begin{itemize}
@@ -380,39 +401,39 @@
     \begin{tip}
         During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{tip}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Use the ``runin'' style for \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Pure text mode. Do not load theorem-like environments.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
-            \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect.
+            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
+            \item In \classoption{fast} mode, the option \classoption{originalref} will have no effect.
         \end{itemize}
 \end{itemize}
 
 Additionally, \colorart{} and \colorbook{} offers the following options:
-\begin{itemize}
-    \item \texttt{a4paper} or \texttt{b5paper}
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item \classoption{a4paper} or \classoption{b5paper}
         \begin{itemize}
             \item Optional paper size. The default paper size is 8.5in $\times$ 11in.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Font options. As the name suggest, font with corresponding name will be loaded.
-            \item The \texttt{useosf} option is used to enable the old-style figures.
+            \item The \classoption{useosf} option is used to enable the old-style figures.
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/crefthe/crefthe-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/crefthe/crefthe-doc.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/crefthe/crefthe-doc.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -116,7 +116,7 @@
 
 \begin{document}
 
-\def\PackageVersion{2022/08/28}
+\def\PackageVersion{2022/09/03}
 
 \title{\crefthepackage{}\\\smallskip\itshape Cross referencing with proper definite articles}
 \author{Jinwen XU}

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

Modified: trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{Chinese}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][提示]{%
+\newenvironment{tip}[1][提示]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{\einfart{},以极简主义风格排版你的文章}
 \author{许锦文}
@@ -112,14 +141,10 @@
 
     \einfart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
 
-    这篇说明文档即是用 \einfart{} 排版的 (使用了参数 \texttt{classical}),你可以把它看作一份简短的说明与演示。
+    这篇说明文档即是用 \einfart{} 排版的 (使用了参数 \classoption{classical}),你可以把它看作一份简短的说明与演示。
 \end{abstract}
 
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \setcounter{tocdepth}{2}
 {\setstretch{1.07}\tableofcontents}
 
@@ -309,13 +334,13 @@
 
 \einfart{} 文档类有下面几个选项:
 
-\begin{itemize}
-    \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等
         \begin{itemize}
             \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
             \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。
         \end{itemize}
-    \item \texttt{draft} 或 \texttt{fast}
+    \item \classoption{draft} 或 \classoption{fast}
         \begin{itemize}
             \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是:
             \begin{itemize}
@@ -327,43 +352,43 @@
     \begin{tip}
         在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
     \end{tip}
-    \item \texttt{a4paper} 或 \texttt{b5paper}
+    \item \classoption{a4paper} 或 \classoption{b5paper}
         \begin{itemize}
             \item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。
         \end{itemize}
-    \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item 字体选项。顾名思义,会加载相应名称的字体。
-            \item \texttt{useosf} 选项用来启用“旧式”数字。
+            \item \classoption{useosf} 选项用来启用“旧式”数字。
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item 采用段首缩进而不是段间间距。
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item 纯文本模式,不加载定理类环境。
         \end{itemize}
-    \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
         \end{itemize}
-    \item \texttt{regionalref}、\texttt{originalref}
+    \item \classoption{regionalref}、\classoption{originalref}
         \begin{itemize}
-            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
-            \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。
+            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
+            \item 在 \texttt{fast} 模式下,\classoption{originalref} 将不起作用。
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{English}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][Tip]{%
+\newenvironment{tip}[1][Tip]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{\einfart{}, write your articles in a simple and clear way}
 \author{Jinwen XU}
@@ -112,14 +141,10 @@
 
     \einfart{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
 
-    This documentation is typeset using \einfart{} (with the option \texttt{classical}). You can think of it as a short introduction and demonstration.
+    This documentation is typeset using \einfart{} (with the option \classoption{classical}). You can think of it as a short introduction and demonstration.
 \end{abstract}
 
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \setcounter{tocdepth}{2}
 \tableofcontents
 
@@ -310,13 +335,13 @@
 
 \einfart{} offers the following options:
 
-\begin{itemize}
-    \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
             \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
         \end{itemize}
-    \item \texttt{draft} or \texttt{fast}
+    \item \classoption{draft} or \classoption{fast}
         \begin{itemize}
             \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
             \begin{itemize}
@@ -328,43 +353,43 @@
     \begin{tip}
         During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{tip}
-    \item \texttt{a4paper} or \texttt{b5paper}
+    \item \classoption{a4paper} or \classoption{b5paper}
         \begin{itemize}
             \item Paper size options. The default paper size is 7in $\times$ 10in.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Font options. As the name suggest, font with corresponding name will be loaded.
-            \item The \texttt{useosf} option is used to enable the old-style figures.
+            \item The \classoption{useosf} option is used to enable the old-style figures.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation.
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item Use paragraph indentation instead of inter-paragraph spacing.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Use the ``runin'' style for \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Pure text mode. Do not load theorem-like environments.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
-            \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect.
+            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
+            \item In \texttt{fast} mode, the option \classoption{originalref} will have no effect.
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-fr.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-fr.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{French}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][Astuce]{%
+\newenvironment{tip}[1][Astuce]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{\einfart{}, écrivez vos articles de manière simple et claire}
 \author{Jinwen XU}
@@ -112,14 +141,10 @@
 
     \einfart{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \einfart{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation.
 
-    Cette documentation est composée à l'aide de \einfart{} (avec l'option \texttt{classical}). Vous pouvez le considérer comme une courte introduction et une démonstration.
+    Cette documentation est composée à l'aide de \einfart{} (avec l'option \classoption{classical}). Vous pouvez le considérer comme une courte introduction et une démonstration.
 \end{abstract}
 
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \setcounter{tocdepth}{2}
 \tableofcontents
 
@@ -309,13 +334,13 @@
 \LevelOneTitle{Les options}
 
 
-\begin{itemize}
-    \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut.
             \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent.
         \end{itemize}
-    \item \texttt{draft} ou \texttt{fast}
+    \item \classoption{draft} ou \classoption{fast}
         \begin{itemize}
             \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont :
             \begin{itemize}
@@ -327,43 +352,43 @@
     \begin{tip}
         Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon.
     \end{tip}
-    \item \texttt{a4paper} ou \texttt{b5paper}
+    \item \classoption{a4paper} ou \classoption{b5paper}
         \begin{itemize}
             \item Options de format de papier. Le format de papier par défaut est 7 pouces $\times$ 10 pouces.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée.
-            \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne.
+            \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item Mode classique. Un style antique sera utilisé lorsque cette option est activée, comme dans la documentation actuelle.
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Utilisez le style «~runin~» pour \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Mode texte pur. Ne pas définir les environnements de type théorème.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
-            \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet.
+            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
+            \item En mode \texttt{fast}, l'option \classoption{originalref} n'aura aucun effet.
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-cn.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-cn.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\以多彩的方式排版你的文章}
 \author{许锦文}
@@ -106,7 +134,7 @@
 
     \lebhart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
 
-    这篇说明文档即是用 \lebhart{} 排版的 (使用了参数 \texttt{use boldface}),你可以把它看作一份简短的说明与演示。
+    这篇说明文档即是用 \lebhart{} 排版的 (使用了参数 \classoption{use boldface}),你可以把它看作一份简短的说明与演示。
 \end{abstract}
 
 
@@ -286,15 +314,8 @@
 
 \end{tip}
 
-\begin{tip}
-如果你喜欢这个文档类,但又希望使用一种更加中规中矩的样式,那么不妨使用 \texttt{classical} 选项,就像这样:
 
-\begin{code}
-\documentclass[classical]{lebhart}
-\end{code}
-\end{tip}
 
-
 \bigskip
 \LevelOneTitle{关于默认字体}
 本文档类中默认使用 Palatino Linotype 作为英文主字体,思源宋体、思源黑体、思源等宽作为中文主字体、无衬线字体以及等宽字体,并部分使用了 Neo Euler 作为数学字体。这些字体需要用户自行下载安装。其中,思源字体系列可在 \url{https://github.com/adobe-fonts} 下载 (推荐下载 Super-OTC 版本,这样下载的体积较小)。Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
@@ -308,13 +329,13 @@
 
 \lebhart{} 文档类有下面几个选项:
 
-\begin{itemize}
-    \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等
         \begin{itemize}
             \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
             \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。
         \end{itemize}
-    \item \texttt{draft} 或 \texttt{fast}
+    \item \classoption{draft} 或 \classoption{fast}
         \begin{itemize}
             \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是:
             \begin{itemize}
@@ -326,35 +347,35 @@
     \begin{tip}
         在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
     \end{tip}
-    \item \texttt{a4paper} 或 \texttt{b5paper}
+    \item \classoption{a4paper} 或 \classoption{b5paper}
         \begin{itemize}
             \item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。
         \end{itemize}
-    \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item 字体选项。顾名思义,会加载相应名称的字体。
-            \item \texttt{useosf} 选项用来启用“旧式”数字。
+            \item \classoption{useosf} 选项用来启用“旧式”数字。
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item 纯文本模式,不加载定理类环境。
         \end{itemize}
-    \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
         \end{itemize}
-    \item \texttt{regionalref}、\texttt{originalref}
+    \item \classoption{regionalref}、\classoption{originalref}
         \begin{itemize}
-            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
-            \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。
+            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
+            \item 在 \classoption{fast} 模式下,\classoption{originalref} 将不起作用。
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-en.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-en.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\write your articles in a colorful way}
 \author{Jinwen XU}
@@ -106,7 +134,7 @@
 
     \lebhart{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \lebhart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
 
-    This documentation is typeset using \lebhart{} (with the option \texttt{use boldface}). You can think of it as a short introduction and demonstration.
+    This documentation is typeset using \lebhart{} (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration.
 \end{abstract}
 
 
@@ -287,15 +315,8 @@
 
 \end{tip}
 
-\begin{tip}
-If you like the current document class, but want a more ``plain'' style, then you can use the option \texttt{classical}, like this:
 
-\begin{code}
-\documentclass[classical]{lebhart}
-\end{code}
-\end{tip}
 
-
 % \clearpage
 \LevelOneTitle{On the default fonts}
 By default, this document class uses Palatino Linotype as the English main font; Source Han Serif, Source Han Sans and Source Han Mono as the Chinese main font, sans serif font and typewriter font; and partially uses Neo Euler as the math font. You need to download and install these fonts by yourself. The Source Han font series can be downloaded at \url{https://github.com/adobe-fonts} (It is recommended to download the Super-OTC version, so that the download size is smaller). Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the effect may be discounted.
@@ -307,13 +328,13 @@
 
 \lebhart{} offers the following options:
 
-\begin{itemize}
-    \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
             \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
         \end{itemize}
-    \item \texttt{draft} or \texttt{fast}
+    \item \classoption{draft} or \classoption{fast}
         \begin{itemize}
             \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
             \begin{itemize}
@@ -325,36 +346,36 @@
     \begin{tip}
         During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{tip}
-    \item \texttt{a4paper} or \texttt{b5paper}
+    \item \classoption{a4paper} or \classoption{b5paper}
         \begin{itemize}
             \item Paper size options. The default paper size is 8.5in $\times$ 11in.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Font options. As the name suggest, font with corresponding name will be loaded.
-            \item The \texttt{useosf} option is used to enable the old-style figures.
+            \item The \classoption{useosf} option is used to enable the old-style figures.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Use the ``runin'' style for \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Pure text mode. Do not load theorem-like environments.
         \end{itemize}
 % \clearpage
-    \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
-            \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect.
+            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
+            \item In \classoption{fast} mode, the option \classoption{originalref} will have no effect.
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-fr.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/lebhart/lebhart-doc-fr.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -16,39 +16,67 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
-}{}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}{}
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
+}
+\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
@@ -91,7 +119,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\écrivez vos articles de manière colorée}
 \author{Jinwen XU}
@@ -106,7 +134,7 @@
 
     \lebhart{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \lebhart{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation.
 
-    Cette documentation est composée à l'aide de \lebhart{} (avec l'option \texttt{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration.
+    Cette documentation est composée à l'aide de \lebhart{} (avec l'option \classoption{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration.
 \end{abstract}
 
 
@@ -287,16 +315,8 @@
 \vspace{-.5\baselineskip}
 \end{tip}
 
-\begin{tip}
-Si vous aimez la classe de document actuelle, mais que vous souhaitez un style plus «~simple~», vous pouvez utiliser l'option \texttt{classical}, comme ceci :
 
-\begin{code}
-\documentclass[classical]{lebhart}
-\end{code}
-\vspace{-.5\baselineskip}
-\end{tip}
 
-
 \LevelOneTitle{À propos des polices par défaut}
 Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise principale; Source Han Serif, Source Han Sans et Source Han Mono comme police chinoise principale, sans empattement et monospace; et utilise partiellement Neo Euler comme police mathématique. Vous devez télécharger et installer ces polices vous-même. La série de polices Source Han peut être téléchargée sur \url{https://github.com/adobe-fonts} (il est recommandé de télécharger la version Super-OTC, afin que la taille de téléchargement soit plus petite). Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Lorsque la police correspondante n'est pas installée, la police fournie avec TeX Live sera utilisée à la place et l'effet peut être réduit.
 
@@ -308,13 +328,13 @@
 
 \lebhart{} propose les options suivantes :
 
-\begin{itemize}
-    \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut.
             \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent.
         \end{itemize}
-    \item \texttt{draft} ou \texttt{fast}
+    \item \classoption{draft} ou \classoption{fast}
         \begin{itemize}
             \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont :
             \begin{itemize}
@@ -326,35 +346,35 @@
     \begin{tip}
         Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon.
     \end{tip}
-    \item \texttt{a4paper} ou \texttt{b5paper}
+    \item \classoption{a4paper} ou \classoption{b5paper}
         \begin{itemize}
             \item Options de format de papier. Le format de papier par défaut est 8.5 pouces $\times$ 11 pouces.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée.
-            \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne.
+            \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Utilisez le style «~runin~» pour \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Mode texte pur. Ne pas définir les environnements de type théorème.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
-            \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet.
+            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
+            \item En mode \classoption{fast}, l'option \classoption{originalref} n'aura aucun effet.
         \end{itemize}
 \end{itemize}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{English}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][Tip]{%
+\newenvironment{tip}[1][Tip]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \title{\minimalist{}, write your articles or books in a simple and clear way}
 \author{Jinwen XU}
@@ -110,14 +139,10 @@
 \begin{abstract}
     \minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. The original intention in designing this series was to write drafts and notes that look simple yet not shabby. With the help of the \ProjLib{} toolkit, also developed by the author, the classes provided here have multi-language support, preset theorem-like environments with clever reference support, and many other functionalities. Notably, using these classes, one can organize the author information in the \AmS{} fashion, makes it easy to switch to journal classes later for publication.
 
-    Finally, this documentation is typeset using the \minimart{} class (with the option \texttt{classical}). You can think of it as a short introduction and demonstration.
+    Finally, this documentation is typeset using the \minimart{} class (with the option \classoption{classical}). You can think of it as a short introduction and demonstration.
 \end{abstract}
 
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \setcounter{tocdepth}{2}
 \tableofcontents
 
@@ -365,13 +390,13 @@
 
 \minimalist{} offers the following options:
 
-\begin{itemize}
-    \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
             \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
         \end{itemize}
-    \item \texttt{draft} or \texttt{fast}
+    \item \classoption{draft} or \classoption{fast}
         \begin{itemize}
             \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
             \begin{itemize}
@@ -383,30 +408,30 @@
     \begin{tip}
         During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{tip}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Use the ``runin'' style for \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Pure text mode. Do not load theorem-like environments.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
-            \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect.
+            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
+            \item In \texttt{fast} mode, the option \classoption{originalref} will have no effect.
         \end{itemize}
 \end{itemize}
 
@@ -413,16 +438,16 @@
 \bigskip
 Additionally, \minimart{} and \minimbook{} offers the following options:
 \begin{itemize}
-    \item \texttt{a4paper} or \texttt{b5paper}
+    \item \classoption{a4paper} or \classoption{b5paper}
         \begin{itemize}
             \item Optional paper size. The default paper size is 7in $\times$ 10in.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Font options. As the name suggest, font with corresponding name will be loaded.
-            \item The \texttt{useosf} option is used to enable the old-style figures.
+            \item The \classoption{useosf} option is used to enable the old-style figures.
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item Use paragraph indentation instead of inter-paragraph spacing.
         \end{itemize}

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

Modified: trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-cn.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-cn.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{Chinese}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][提示]{%
+\newenvironment{tip}[1][提示]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \frontmatter
 \LocallyStopLineNumbers
@@ -122,7 +151,7 @@
 
 \simplivre{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
 
-这篇说明文档即是用 \simplivre{} 排版的 (使用了参数 \texttt{use boldface}),你可以把它看作一份简短的说明与演示。
+这篇说明文档即是用 \simplivre{} 排版的 (使用了参数 \classoption{use boldface}),你可以把它看作一份简短的说明与演示。
 
 \bigskip
 \begin{tip}
@@ -129,10 +158,6 @@
     多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。
 \end{tip}
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \tableofcontents
 
 \mainmatter
@@ -275,13 +300,13 @@
 
 \simplivre{} 文档类有下面几个选项:
 
-\begin{itemize}
-    \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等
         \begin{itemize}
             \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
             \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。
         \end{itemize}
-    \item \texttt{draft} 或 \texttt{fast}
+    \item \classoption{draft} 或 \classoption{fast}
         \begin{itemize}
             \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是:
             \begin{itemize}
@@ -293,47 +318,47 @@
     \begin{tip}
         在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
     \end{tip}
-    \item \texttt{a4paper} 或 \texttt{b5paper}
+    \item \classoption{a4paper} 或 \classoption{b5paper}
         \begin{itemize}
             \item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。
         \end{itemize}
-    \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item 字体选项。顾名思义,会加载相应名称的字体。
-            \item \texttt{useosf} 选项用来启用“旧式”数字。
+            \item \classoption{useosf} 选项用来启用“旧式”数字。
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item 采用段首缩进而不是段间间距。
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item 纯文本模式,不加载定理类环境。
         \end{itemize}
-    \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
         \end{itemize}
-    \item \texttt{regionalref}、\texttt{originalref}
+    \item \classoption{regionalref}、\classoption{originalref}
         \begin{itemize}
-            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
-            \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。
+            \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。
+            \item 在 \texttt{fast} 模式下,\classoption{originalref} 将不起作用。
         \end{itemize}
 \end{itemize}
 \bigskip
-另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。
+另外,排版图书时常用的 \classoption{oneside}、\classoption{twoside} 选项也是可以使用的。默认采用双页排版。
 
 \LevelOneTitle{具体说明}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-en.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-en.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{English}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][Tip]{%
+\newenvironment{tip}[1][Tip]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \LocallyStopLineNumbers
 
@@ -123,7 +152,7 @@
 
 \simplivre{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
 
-This documentation is typeset using \simplivre{} (with the option \texttt{use boldface}). You can think of it as a short introduction and demonstration.
+This documentation is typeset using \simplivre{} (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration.
 
 \bigskip
 \begin{tip}
@@ -130,10 +159,6 @@
     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{tip}
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \tableofcontents
 
 \mainmatter
@@ -277,13 +302,13 @@
 
 \simplivre{} offers the following options:
 
-\begin{itemize}
-    \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
             \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
         \end{itemize}
-    \item \texttt{draft} or \texttt{fast}
+    \item \classoption{draft} or \classoption{fast}
         \begin{itemize}
             \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
             \begin{itemize}
@@ -295,48 +320,48 @@
     \begin{tip}
         During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{tip}
-    \item \texttt{a4paper} or \texttt{b5paper}
+    \item \classoption{a4paper} or \classoption{b5paper}
         \begin{itemize}
             \item Paper size options. The default paper size is 7in $\times$ 10in.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Font options. As the name suggest, font with corresponding name will be loaded.
-            \item The \texttt{useosf} option is used to enable the old-style figures.
+            \item The \classoption{useosf} option is used to enable the old-style figures.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation.
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item Use paragraph indentation instead of inter-paragraph spacing.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Use the ``runin'' style for \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Pure text mode. Do not load theorem-like environments.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
-            \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect.
+            \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
+            \item In \texttt{fast} mode, the option \classoption{originalref} will have no effect.
         \end{itemize}
 \end{itemize}
 
 \bigskip
-In addition, the commonly used \texttt{oneside} and \texttt{twoside} options are also available. Two-page layout is used by default.
+In addition, the commonly used \classoption{oneside} and \classoption{twoside} options are also available. Two-page layout is used by default.
 
 \LevelOneTitle{Instructions by topic}
 

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

Modified: trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-fr.tex	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/doc/latex/simplivre/simplivre-doc-fr.tex	2022-09-03 19:50:42 UTC (rev 64280)
@@ -9,8 +9,6 @@
 \usepackage{longtable}  % breakable tables
 \usepackage{hologo}     % more TeX logo
 
-\usepackage{relsize}
-
 \usepackage{blindtext}
 
 \UseLanguage{French}
@@ -19,46 +17,73 @@
 %% For typesetting 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{maintheme},
-    basicstyle=\ttfamily,
-    commentstyle=\color{forestgreen}\ttfamily,
-    stringstyle=\rmfamily,
-    showstringspaces=false,
-    breaklines=true,
-    frame=lines,
-    backgroundcolor=\color{lightergray},
-    flexiblecolumns=true,
-    escapeinside={(*}{*)},
-    % numbers=left,
-    numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
-    % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+    language = [LaTeX]TeX,
+    basicstyle = \ttfamily,
+    keywordstyle = \color{code-main},
+    commentstyle = \color{code-comment},
+    showstringspaces = false,
+    breaklines = true,
+    frame = lines,
+    backgroundcolor = \color{code-background},
+    flexiblecolumns = true,
+    escapeinside = {(*}{*)},
+    alsoletter = {_,:},
+    % numbers = left,
+    % firstnumber = last,
+    numberstyle = \scriptsize\ttfamily,
+    stepnumber = 1,
+    numbersep = 5pt,
 }
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
-    {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
-    color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere
-    }
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+    classoffset = 0,
+    texcsstyle =* \color{code-main},
+    moretexcs =
+      {
+        linenumbers,nolinenumbers,
+        part,parttext,chapter,section,subsection,subsubsection,
+        frontmatter,mainmatter,backmatter,
+        tableofcontents,
+        href,
+        color,
+        NameTheorem,CreateTheorem,
+        cref,
+        ProjLib,
+        DNF,
+        UseLanguage,UseOtherLanguage,AddLanguageSetting,
+        maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,
+        qedhere,
+      }
 }
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+    classoffset = 1,
+    texcsstyle =* \color{code-expl3},
+    moretexcs =
+      {
+      }
 }
-{\ResumeLineNumbers}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
 
+\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+
 %%================================
 %% tip
 %%================================
 \usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][Astuce]{%
+\newenvironment{tip}[1][Astuce]
+  {%
     \LocallyStopLineNumbers%
     \begin{tcolorbox}[breakable,
         enhanced,
@@ -69,12 +94,16 @@
         fonttitle = \sffamily,
         attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
-        before skip = 0.3cm,
-        after skip = 0.3cm,
-        top = 3mm,
-        bottom = 3mm,
+        before skip = 3mm,
+        after skip = 3mm,
+        top = 2.5mm,
+        bottom = 1.5mm,
         title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+  }
+  {%
+    \end{tcolorbox}%
+    \ResumeLineNumbers%
+  }
 
 %%================================
 %% Names
@@ -97,7 +126,7 @@
 %%================================
 \begin{document}
 
-\def\PackageVersion{2022/06/16}
+\def\PackageVersion{2022/09/03}
 
 \frontmatter
 \LocallyStopLineNumbers
@@ -122,7 +151,7 @@
 
 \simplivre{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \simplivre{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation.
 
-Cette documentation est composée à l'aide de \simplivre{} (avec l'option \texttt{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration.
+Cette documentation est composée à l'aide de \simplivre{} (avec l'option \classoption{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration.
 
 \bigskip
 \begin{tip}
@@ -129,10 +158,6 @@
     La prise en charge multilingue, les environnements de type théorème, les marques de brouillon et quelques autres fonctionnalités sont fournis par la boîte à outils \ProjLib{}. Ici, nous ne discutons que brièvement de la façon de l'utiliser avec cette classe de document. Pour plus d'informations, veuillez vous référer à la documentation de \ProjLib{}.
 \end{tip}
 
-\begin{tip}
-    This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete.
-\end{tip}
-
 \tableofcontents
 
 \mainmatter
@@ -275,13 +300,13 @@
 \LevelOneTitle{Les options}
 
 
-\begin{itemize}
-    \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
+    \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc.
         \begin{itemize}
             \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut.
             \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent.
         \end{itemize}
-    \item \texttt{draft} ou \texttt{fast}
+    \item \classoption{draft} ou \classoption{fast}
         \begin{itemize}
             \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont :
             \begin{itemize}
@@ -293,47 +318,47 @@
     \begin{tip}
         Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon.
     \end{tip}
-    \item \texttt{a4paper} ou \texttt{b5paper}
+    \item \classoption{a4paper} ou \classoption{b5paper}
         \begin{itemize}
             \item Options de format de papier. Le format de papier par défaut est 7 pouces $\times$ 10 pouces.
         \end{itemize}
-    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf}
+    \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf}
         \begin{itemize}
             \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée.
-            \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne.
+            \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne.
         \end{itemize}
-    \item \texttt{use boldface}
+    \item \classoption{use boldface}
         \begin{itemize}
             \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
         \end{itemize}
-    \item \texttt{classical}
+    \item \classoption{classical}
         \begin{itemize}
             \item Mode classique. Un style antique sera utilisé lorsque cette option est activée, comme dans la documentation actuelle.
         \end{itemize}
-    \item \texttt{useindent}
+    \item \classoption{useindent}
         \begin{itemize}
             \item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes.
         \end{itemize}
-    \item \texttt{runin}
+    \item \classoption{runin}
         \begin{itemize}
             \item Utilisez le style «~runin~» pour \lstinline|\subsubsection|
         \end{itemize}
-    \item \texttt{nothms}
+    \item \classoption{nothms}
         \begin{itemize}
             \item Mode texte pur. Ne pas définir les environnements de type théorème.
         \end{itemize}
-    \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
+    \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter}
         \begin{itemize}
             \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
         \end{itemize}
-    \item \texttt{regionalref}, \texttt{originalref}
+    \item \classoption{regionalref}, \classoption{originalref}
         \begin{itemize}
-            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
-            \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet.
+            \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~».
+            \item En mode \texttt{fast}, l'option \classoption{originalref} n'aura aucun effet.
         \end{itemize}
 \end{itemize}
 \bigskip
-De plus, les options \texttt{oneside} et \texttt{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut.
+De plus, les options \classoption{oneside} et \classoption{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut.
 
 \LevelOneTitle{Instructions par sujet}
 

Modified: trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {beaulivre}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A colorful book style}
 
 \tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -126,7 +125,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { colorist }
                                                     }
   }
-\ProcessKeysOptions { colorclass }
+\ProcessKeyOptions [ colorclass ]
 
 \LoadClass{\l__colorclass_base_class_tl}
 
@@ -183,9 +182,6 @@
 
 \RequirePackage { colorist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -193,6 +189,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -231,46 +236,62 @@
           {
             \bool_if:NTF \l__projlib_font_useosf_bool
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                     Numbers        = OldStyle ,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                     Numbers        = OldStyle ,
                   ]
               }
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                   ]
               }
-            \setmonofont { NewCMMono10-Regular.otf }
+            \setmonofont { NewCMMono10 }
               [
                 Scale          = 1.05 ,
-                BoldFont       = NewCMMono10-Bold.otf ,
-                ItalicFont     = NewCMMono10-Italic.otf ,
-                BoldItalicFont = NewCMMono10-BoldOblique.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Italic,
+                BoldItalicFont = *-BoldOblique,
               ]
 
             \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } }
+
+            \hook_gput_code:nnn { begindocument/before } { colorclass }
+              {
+                \RenewEmph{[}{]}
+                \RenewEmph{(}{)}
+              }
           }
       }
 
@@ -281,19 +302,22 @@
       {
         \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
           {
-            \setCJKmainfont { SourceHanSerifSC-Regular }
+            \setCJKmainfont { SourceHanSerifSC }
               [
-                BoldFont       = SourceHanSerifSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSerifSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKmainfont { FandolSong-Regular.otf }
+            \setCJKmainfont { FandolSong }
               [
-                BoldFont       = FandolSong-Bold.otf ,
-                ItalicFont     = FandolKai-Regular.otf ,
-                BoldItalicFont = FandolKai-Regular.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = FandolKai-Regular ,
+                BoldItalicFont = FandolKai-Regular ,
                 BoldItalicFeatures = { FakeBold = 4 } ,
               ]
           }
@@ -300,29 +324,33 @@
 
         \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular }
           {
-            \setCJKsansfont{SourceHanSansSC-Regular}
+            \setCJKsansfont { SourceHanSansSC }
               [
-                BoldFont       = SourceHanSansSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSansSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKsansfont { FandolHei-Regular.otf }
+            \setCJKsansfont { FandolHei }
               [
-                BoldFont       = FandolHei-Bold.otf ,
-                ItalicFont     = * ,
-                BoldItalicFont = FandolHei-Bold.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
 
         \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
           {
-            \setCJKmonofont { SourceHanMonoSC-Regular }
+            \setCJKmonofont { SourceHanMonoSC }
               [
-                BoldFont       = SourceHanMonoSC-Medium ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanMonoSC-Medium ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Medium,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Medium,
               ]
           }
           {
@@ -340,46 +368,53 @@
           {
             \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
               {
-                \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular }
+                \setCJKfamilyfont { SCmain } { SourceHanSerifSC }
                   [
-                    BoldFont       = SourceHanSerifSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { SCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular }
               {
-                \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular }
+                \setCJKfamilyfont { SCsans } { SourceHanSansSC }
                   [
-                    BoldFont       = SourceHanSansSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { SCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
               {
-                \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular }
+                \setCJKfamilyfont { SCmono } { SourceHanMonoSC }
                   [
-                    BoldFont       = SourceHanMonoSC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoSC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -398,46 +433,53 @@
           {
             \__colorclass_if_font_exist:nnn { SourceHanSerifTC-Regular }
               {
-                \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular }
+                \setCJKfamilyfont { TCmain } { SourceHanSerifTC }
                   [
-                    BoldFont       = SourceHanSerifTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { TCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanSansTC-Regular }
               {
-                \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular }
+                \setCJKfamilyfont { TCsans } { SourceHanSansTC }
                   [
-                    BoldFont       = SourceHanSansTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { TCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanMonoTC-Regular }
               {
-                \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular }
+                \setCJKfamilyfont { TCmono } { SourceHanMonoTC }
                   [
-                    BoldFont       = SourceHanMonoTC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoTC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -456,46 +498,53 @@
           {
             \__colorclass_if_font_exist:nnn { SourceHanSerif-Regular }
               {
-                \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular }
+                \setCJKfamilyfont { JPmain } { SourceHanSerif }
                   [
-                    BoldFont       = SourceHanSerif-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerif-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { JPmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanSans-Regular }
               {
-                \setCJKfamilyfont { JPsans } { SourceHanSans-Regular }
+                \setCJKfamilyfont { JPsans } { SourceHanSans }
                   [
-                    BoldFont       = SourceHanSans-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSans-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { JPsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanMono-Regular }
               {
-                \setCJKfamilyfont { JPmono } { SourceHanMono-Regular }
+                \setCJKfamilyfont { JPmono } { SourceHanMono }
                   [
-                    BoldFont       = SourceHanMono-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMono-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -547,9 +596,14 @@
                 \RequirePackage { unicode-math }
                 \unimathsetup { math-style = ISO, partial = upright, nabla = upright }
                 \setmathfont { KpMath-Regular.otf }
+                \setmathfont { KpMath-Regular.otf }
+                  [
+                    range = \amalg ,
+                    Scale = 0.84625
+                  ]
                 \setmathfont { KpMath-Sans.otf }
                   [
-                    range = { \sum, \prod, \coprod }
+                    range = { \sum }
                   ]
                 \setmathfont { latinmodern-math.otf }
                   [
@@ -583,8 +637,8 @@
                     \cs_gset_eq:NN \square \mdwhtsquare
                   }
 
-                % A temporary hack proposed in https://tex.stackexchange.com/a/647789
-                \hook_gput_code:nnn { begindocument } { minimclass }
+                % https://tex.stackexchange.com/a/647789
+                \hook_gput_code:nnn { begindocument } { colorclass }
                   {
                     \NewCommandCopy\unicodevdots\vdots
                     \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}}
@@ -669,9 +723,31 @@
 \char_set_catcode_active:n { `\· }
 \cs_new_protected:Npn · { \ensuremath\cdot }
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__colorclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -684,25 +760,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { colorclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `beaulivre/beaulivre.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorart.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {colorart}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A colorful article style}
 
 \tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -65,7 +64,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { colorist }
                                                     }
   }
-\ProcessKeysOptions { colorclass }
+\ProcessKeyOptions [ colorclass ]
 
 \LoadClass{\l__colorclass_base_class_tl}
 
@@ -122,9 +121,6 @@
 
 \RequirePackage { colorist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -132,6 +128,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -154,6 +159,7 @@
       {
         \RequirePackage { mathpazo }
         \RequirePackage { newpxtext }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
         \RequirePackage { amssymb }
         \sys_if_engine_pdftex:F
           {
@@ -166,13 +172,41 @@
                 BoldItalicFont = *-bolditalic ,
               ]
           }
+        % Adjusting the kerning of 'embrac' for 'newpxtext'
+        \hook_gput_code:nnn { begindocument/before } { colorclass }
+          {
+            \RenewEmph{[}{]}
+            \RenewEmph{(}{)}
+          }
       }
   }
 
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__colorclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -185,25 +219,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { colorclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \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	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorbook.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {colorbook}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A colorful book style}
 
 \tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -65,7 +64,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { colorist }
                                                     }
   }
-\ProcessKeysOptions { colorclass }
+\ProcessKeyOptions [ colorclass ]
 
 \LoadClass{\l__colorclass_base_class_tl}
 
@@ -122,9 +121,6 @@
 
 \RequirePackage { colorist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -132,6 +128,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -154,6 +159,7 @@
       {
         \RequirePackage { mathpazo }
         \RequirePackage { newpxtext }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
         \RequirePackage { amssymb }
         \sys_if_engine_pdftex:F
           {
@@ -166,13 +172,41 @@
                 BoldItalicFont = *-bolditalic ,
               ]
           }
+        % Adjusting the kerning of 'embrac' for 'newpxtext'
+        \hook_gput_code:nnn { begindocument/before } { colorclass }
+          {
+            \RenewEmph{[}{]}
+            \RenewEmph{(}{)}
+          }
       }
   }
 
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__colorclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -185,25 +219,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { colorclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `colorist/colorbook.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {colorist-fancy}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {The fancy style of colorist}
 
 \IfPackageLoadedTF { colorist } {}
@@ -405,9 +404,15 @@
 \titleformat{\paragraph}[runin]
   {\color{main-text!50!paper} \g_colorist_title_font_paragraph_tl }{\theparagraph}{1em}{#1}
 
-\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
-\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
-\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.3\baselineskip}
+\titlespacing{\section}{0pt}{1\baselineskip plus .5\baselineskip minus .2\baselineskip}{.6\baselineskip plus .3\baselineskip minus .2\baselineskip}
+\titlespacing{\subsection}{0pt}{.75\baselineskip plus .3\baselineskip minus .2\baselineskip}{.4\baselineskip plus .2\baselineskip minus .1\baselineskip}
+\bool_if:NTF \l__colorist_runin_bool
+  {
+    \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{0pt}
+  }
+  {
+    \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{.3\baselineskip plus .2\baselineskip minus .1\baselineskip}
+  }
 
 %%================================
 %%  ToC format
@@ -476,21 +481,21 @@
 \setlistdepth{10}
 \setlist{noitemsep, topsep=.33\topsep-.5\parskip}
 \setlist[enumerate]{labelsep=*, leftmargin=*}
-\setlist[enumerate,1]{label=\arabic*$)$,
-    ref = \arabic*$)$}
-\setlist[enumerate,2]{label=\emph{\roman*}$)$,
-    ref = \arabic{enumi}.\emph{\roman*}$)$}
-\setlist[enumerate,3]{label=\emph{\alph*}$)$,
-    ref = \arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$)$}
+\setlist[enumerate,1]{label = \normalfont\arabic*$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic*$\mskip-.5mu\big)$}
+\setlist[enumerate,2]{label = \normalfont\emph{\roman*}$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic{enumi}.\emph{\roman*}$\mskip-.5mu\big)$}
+\setlist[enumerate,3]{label = \normalfont\emph{\alph*}$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$\mskip-.5mu\big)$}
 \setlist[description]{font=\normalfont\colorist_bfseries:}
 
 \renewlist{itemize}{itemize}{10}
-\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
-\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.8em}{.75pt}}} }
-\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.5em}{.75pt}}}
-\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
-\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
+\setlist[itemize]{leftmargin=*,label=\textcolor{.!27!paper}{$\cdot$}}
+\AddLanguageSetting { \setlist[itemize,1]{label=\textcolor{.!27!paper}{$\bullet$},leftmargin=\maxof{\parindent}{1.5em}} }
+\AddLanguageSetting [french] { \setlist[itemize,1]{label=\textcolor{.!39!paper}{\rule[.2\baselineskip]{.8em}{.75pt}},leftmargin=\maxof{\parindent}{1.5em}} }
+\setlist[itemize,2]{label=\textcolor{.!27!paper}{\rule[.2\baselineskip]{.55em}{.75pt}}}
+\setlist[itemize,3]{label=\textcolor{.!27!paper}{$\circ$}}
+\setlist[itemize,4]{label=\textcolor{.!27!paper}{$\ast$}}
 
 %%================================
 %%  Blank page
@@ -557,8 +562,17 @@
 
 \newcommand*{\IndexDotfill}
   {
-    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hfill
+    \null\nobreak
+    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hskip1em plus1fill
   }
+\newcommand*{\IndexLinebreak}
+  {
+    \nobreakspace\textcolor{main-text!45!paper}{\raisebox{.4ex}{.}\raisebox{.2ex}{.}}
+    \item\hspace*{\hangindent}
+    \textcolor{main-text!45!paper}{\raisebox{.45ex}{.}\raisebox{.25ex}{.}}\:
+    \unskip
+  }
+
 \newcommand*{\IndexHeading}[1]
   {
     \str_if_eq:nnTF { #1 } { Symbols }
@@ -582,7 +596,7 @@
 \renewcommand*{\indexspace}
   {
     \par
-    \vspace{2pc ~ plus ~ .5pc ~ minus ~ .3pc}
+    \vspace{2pc plus .5pc minus .3pc}
   }
 
 \bool_new:N \l__colorist_if_first_subitem_bool
@@ -654,6 +668,10 @@
 \RequirePackage { mathtools }
 \RequirePackage { amsthm }
 
+\def\tagform@#1{\maketag@@@{\textcolor{main-text!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
+
+\PassOptionsToPackage { nopatch = eqnum } { microtype }
+
 \bool_if:NTF \l__colorist_theorem_in_new_line_bool
   {
     \newtheoremstyle{simple}
@@ -678,9 +696,9 @@
         {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
   }
 
-\renewcommand{\qedsymbol}{
+\newcommand{\customqedsymbol}{
   \makebox[1em]{\color{main-text!27!paper}\rule[-0.1em]{.95em}{.95em}}}
-\let\qedsymbolOriginal\qedsymbol
+\let\qedsymbol\customqedsymbol
 
 \bool_if:NTF \l__colorist_theorem_in_new_line_bool
   {
@@ -735,6 +753,13 @@
     \hypersetup{ hidelinks, linktoc = all }
     \bookmarksetup{ numbered }
     \renewcommand\Hy at numberline[1]{#1.~}
+    % https://tex.stackexchange.com/a/1821
+    % Add the bookmark of ToC
+    \hook_gput_code:nnn { cmd/tableofcontents/before } { colorist }
+      {
+        \if at openright\cleardoublepage\else\clearpage\fi
+        \pdfbookmark[0]{\contentsname}{toc}
+      }
   }
 
 
@@ -751,7 +776,9 @@
 
 \tl_gset:Nn \g_crthm_combined_name_sep_tl { \textcolor{main-text}{-} }
 
-\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition, theorem-with-name }
+\SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } }
+
+\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, theorem-with-name }
   {
     name style = {
       heading style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -781,7 +808,7 @@
 
 \bool_if:NF \l__projlib_theorem_complexname_bool
   {
-    \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition, theorem-with-name }
+    \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, theorem-with-name }
       {
         name style = {
           , crefname style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -923,7 +950,7 @@
     \tcolorboxenvironment { #1 } { #2 }
   }
 
-\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, construction, definition-proposition, definition-theorem, theorem-with-name }
+\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, construction, definition-corollary, definition-proposition, definition-theorem, theorem-with-name }
   {
     enhanced~jigsaw, breakable, lines~before~break=3,
     left=3.5mm, right=3.5mm,
@@ -931,7 +958,7 @@
     opacityframe=0.9, colframe=orange, arc=.7mm
   }
 
-  \colorist_add_colorbox:nn { definition, assumption, convention, hypothesis, notation, proposition-definition, theorem-definition }
+  \colorist_add_colorbox:nn { definition, assumption, convention, hypothesis, notation, corollary-definition, proposition-definition, theorem-definition }
   {
     enhanced~jigsaw, breakable, lines~before~break=3,
     left=4mm, right=4mm, top=1mm, bottom=1mm,
@@ -1030,21 +1057,21 @@
   }
 \cs_new_protected:Nn \__colorist_add_scan_env_do:n
   {
-    \tl_const:cn { l__colorist_scan_env_ #1 }
+    \tl_const:cn { l__colorist_scan_env_ #1 _tl }
       {
         \AfterEnvEnd
           {
             \ScanEnv* { #1 }
-              { \skip_vertical:n { -0.9\baselineskip } }
+              { \vspace { -1.15\baselineskip } }
               {
                 \ScanEnv* { #1* }
-                  { \skip_vertical:n { -0.9\baselineskip } }
+                  { \vspace { -1.15\baselineskip } }
                   {}
               }
           }
       }
-    \hook_gput_code:nnn { env/#1/end } { colorist } { \tl_use:c { l__colorist_scan_env_ #1 } }
-    \hook_gput_code:nnn { env/#1*/end } { colorist } { \tl_use:c { l__colorist_scan_env_ #1 } }
+    \hook_gput_code:nnn { env/#1/end } { colorist } { \tl_use:c { l__colorist_scan_env_ #1 _tl } }
+    \hook_gput_code:nnn { env/#1*/end } { colorist } { \tl_use:c { l__colorist_scan_env_ #1 _tl } }
   }
 
 \colorist_add_scan_env:n { definition, assumption, convention, hypothesis, notation }

Modified: trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/colorist/colorist.sty	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {colorist}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A colorful style for articles and books}
 
 \keys_define:nn { colorist }
@@ -74,7 +73,7 @@
                                                 \PassOptionsToPackage { \CurrentOption } { projlib-theorem }
                                               }
   }
-\ProcessKeysOptions { colorist }
+\ProcessKeyOptions [ colorist ]
 
 \bool_new:N \l__colorist_is_book_bool
 \cs_if_exist:cTF { c at chapter }

Modified: trunk/Master/texmf-dist/tex/latex/crefthe/crefthe.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/crefthe/crefthe.sty	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/crefthe/crefthe.sty	2022-09-03 19:50:42 UTC (rev 64280)
@@ -12,7 +12,7 @@
 \NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {crefthe}
-  {2022/08/28} {}
+  {2022/09/03} {}
   {Cross referencing with proper definite articles}
 
 \keys_define:nn { crefthe }
@@ -141,7 +141,7 @@
     \__crefthe_name_general:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { C }
   }
 
-\cs_new:Npn \crefthe_width_of_space_dim { \tex_fontdimen:D 2 \tex_font:D }
+\cs_new:Npn \crefthe_width_of_space_dim { \tex_fontdimen:D 2 \tex_font:D~plus -\tex_fontdimen:D 3 \tex_font:D~minus -\tex_fontdimen:D 4 \tex_font:D }
 
 \cs_new:Nn \crefthe_empty_adjust:n
   {

Modified: trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {einfart}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A simple and clear article style}
 
 \tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -133,7 +132,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { minimalist }
                                                     }
   }
-\ProcessKeysOptions { minimclass }
+\ProcessKeyOptions [ minimclass ]
 
 \LoadClass{\l__minimclass_base_class_tl}
 
@@ -204,9 +203,6 @@
 
 \RequirePackage { minimalist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -214,6 +210,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__minimclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -252,46 +257,62 @@
           {
             \bool_if:NTF \l__projlib_font_useosf_bool
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                     Numbers        = OldStyle ,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                     Numbers        = OldStyle ,
                   ]
               }
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                   ]
               }
-            \setmonofont { NewCMMono10-Regular.otf }
+            \setmonofont { NewCMMono10 }
               [
                 Scale          = 1.05 ,
-                BoldFont       = NewCMMono10-Bold.otf ,
-                ItalicFont     = NewCMMono10-Italic.otf ,
-                BoldItalicFont = NewCMMono10-BoldOblique.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Italic,
+                BoldItalicFont = *-BoldOblique,
               ]
 
             \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } }
+
+            \hook_gput_code:nnn { begindocument/before } { minimclass }
+              {
+                \RenewEmph{[}{]}
+                \RenewEmph{(}{)}
+              }
           }
       }
 
@@ -302,19 +323,22 @@
       {
         \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
           {
-            \setCJKmainfont { SourceHanSerifSC-Regular }
+            \setCJKmainfont { SourceHanSerifSC }
               [
-                BoldFont       = SourceHanSerifSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSerifSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKmainfont { FandolSong-Regular.otf }
+            \setCJKmainfont { FandolSong }
               [
-                BoldFont       = FandolSong-Bold.otf ,
-                ItalicFont     = FandolKai-Regular.otf ,
-                BoldItalicFont = FandolKai-Regular.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = FandolKai-Regular ,
+                BoldItalicFont = FandolKai-Regular ,
                 BoldItalicFeatures = { FakeBold = 4 } ,
               ]
           }
@@ -321,29 +345,33 @@
 
         \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular }
           {
-            \setCJKsansfont{SourceHanSansSC-Regular}
+            \setCJKsansfont { SourceHanSansSC }
               [
-                BoldFont       = SourceHanSansSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSansSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKsansfont { FandolHei-Regular.otf }
+            \setCJKsansfont { FandolHei }
               [
-                BoldFont       = FandolHei-Bold.otf ,
-                ItalicFont     = * ,
-                BoldItalicFont = FandolHei-Bold.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
 
         \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
           {
-            \setCJKmonofont { SourceHanMonoSC-Regular }
+            \setCJKmonofont { SourceHanMonoSC }
               [
-                BoldFont       = SourceHanMonoSC-Medium ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanMonoSC-Medium ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Medium,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Medium,
               ]
           }
           {
@@ -361,46 +389,53 @@
           {
             \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
               {
-                \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular }
+                \setCJKfamilyfont { SCmain } { SourceHanSerifSC }
                   [
-                    BoldFont       = SourceHanSerifSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { SCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular }
               {
-                \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular }
+                \setCJKfamilyfont { SCsans } { SourceHanSansSC }
                   [
-                    BoldFont       = SourceHanSansSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { SCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
               {
-                \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular }
+                \setCJKfamilyfont { SCmono } { SourceHanMonoSC }
                   [
-                    BoldFont       = SourceHanMonoSC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoSC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -419,46 +454,53 @@
           {
             \__minimclass_if_font_exist:nnn { SourceHanSerifTC-Regular }
               {
-                \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular }
+                \setCJKfamilyfont { TCmain } { SourceHanSerifTC }
                   [
-                    BoldFont       = SourceHanSerifTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { TCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanSansTC-Regular }
               {
-                \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular }
+                \setCJKfamilyfont { TCsans } { SourceHanSansTC }
                   [
-                    BoldFont       = SourceHanSansTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { TCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanMonoTC-Regular }
               {
-                \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular }
+                \setCJKfamilyfont { TCmono } { SourceHanMonoTC }
                   [
-                    BoldFont       = SourceHanMonoTC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoTC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -477,46 +519,53 @@
           {
             \__minimclass_if_font_exist:nnn { SourceHanSerif-Regular }
               {
-                \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular }
+                \setCJKfamilyfont { JPmain } { SourceHanSerif }
                   [
-                    BoldFont       = SourceHanSerif-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerif-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { JPmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanSans-Regular }
               {
-                \setCJKfamilyfont { JPsans } { SourceHanSans-Regular }
+                \setCJKfamilyfont { JPsans } { SourceHanSans }
                   [
-                    BoldFont       = SourceHanSans-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSans-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { JPsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanMono-Regular }
               {
-                \setCJKfamilyfont { JPmono } { SourceHanMono-Regular }
+                \setCJKfamilyfont { JPmono } { SourceHanMono }
                   [
-                    BoldFont       = SourceHanMono-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMono-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -570,9 +619,14 @@
                 \RequirePackage { unicode-math }
                 \unimathsetup { math-style = ISO, partial = upright, nabla = upright }
                 \setmathfont { KpMath-Regular.otf }
+                \setmathfont { KpMath-Regular.otf }
+                  [
+                    range = \amalg ,
+                    Scale = 0.84625
+                  ]
                 \setmathfont { KpMath-Sans.otf }
                   [
-                    range = { \sum, \prod, \coprod }
+                    range = { \sum }
                   ]
                 \setmathfont { latinmodern-math.otf }
                   [
@@ -606,7 +660,7 @@
                     \cs_gset_eq:NN \square \mdwhtsquare
                   }
 
-                % A temporary hack proposed in https://tex.stackexchange.com/a/647789
+                % https://tex.stackexchange.com/a/647789
                 \hook_gput_code:nnn { begindocument } { minimclass }
                   {
                     \NewCommandCopy\unicodevdots\vdots
@@ -692,9 +746,31 @@
 \char_set_catcode_active:n { `\· }
 \cs_new_protected:Npn · { \ensuremath\cdot }
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__minimclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -707,25 +783,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { minimclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `einfart/einfart.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/lebhart/lebhart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lebhart/lebhart.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/lebhart/lebhart.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {lebhart}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A colorful article style}
 
 \tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -126,7 +125,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { colorist }
                                                     }
   }
-\ProcessKeysOptions { colorclass }
+\ProcessKeyOptions [ colorclass ]
 
 \LoadClass{\l__colorclass_base_class_tl}
 
@@ -183,9 +182,6 @@
 
 \RequirePackage { colorist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -193,6 +189,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -231,46 +236,62 @@
           {
             \bool_if:NTF \l__projlib_font_useosf_bool
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                     Numbers        = OldStyle ,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                     Numbers        = OldStyle ,
                   ]
               }
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                   ]
               }
-            \setmonofont { NewCMMono10-Regular.otf }
+            \setmonofont { NewCMMono10 }
               [
                 Scale          = 1.05 ,
-                BoldFont       = NewCMMono10-Bold.otf ,
-                ItalicFont     = NewCMMono10-Italic.otf ,
-                BoldItalicFont = NewCMMono10-BoldOblique.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Italic,
+                BoldItalicFont = *-BoldOblique,
               ]
 
             \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } }
+
+            \hook_gput_code:nnn { begindocument/before } { colorclass }
+              {
+                \RenewEmph{[}{]}
+                \RenewEmph{(}{)}
+              }
           }
       }
 
@@ -281,19 +302,22 @@
       {
         \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
           {
-            \setCJKmainfont { SourceHanSerifSC-Regular }
+            \setCJKmainfont { SourceHanSerifSC }
               [
-                BoldFont       = SourceHanSerifSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSerifSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKmainfont { FandolSong-Regular.otf }
+            \setCJKmainfont { FandolSong }
               [
-                BoldFont       = FandolSong-Bold.otf ,
-                ItalicFont     = FandolKai-Regular.otf ,
-                BoldItalicFont = FandolKai-Regular.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = FandolKai-Regular ,
+                BoldItalicFont = FandolKai-Regular ,
                 BoldItalicFeatures = { FakeBold = 4 } ,
               ]
           }
@@ -300,29 +324,33 @@
 
         \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular }
           {
-            \setCJKsansfont{SourceHanSansSC-Regular}
+            \setCJKsansfont { SourceHanSansSC }
               [
-                BoldFont       = SourceHanSansSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSansSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKsansfont { FandolHei-Regular.otf }
+            \setCJKsansfont { FandolHei }
               [
-                BoldFont       = FandolHei-Bold.otf ,
-                ItalicFont     = * ,
-                BoldItalicFont = FandolHei-Bold.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
 
         \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
           {
-            \setCJKmonofont { SourceHanMonoSC-Regular }
+            \setCJKmonofont { SourceHanMonoSC }
               [
-                BoldFont       = SourceHanMonoSC-Medium ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanMonoSC-Medium ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Medium,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Medium,
               ]
           }
           {
@@ -340,46 +368,53 @@
           {
             \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
               {
-                \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular }
+                \setCJKfamilyfont { SCmain } { SourceHanSerifSC }
                   [
-                    BoldFont       = SourceHanSerifSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { SCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular }
               {
-                \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular }
+                \setCJKfamilyfont { SCsans } { SourceHanSansSC }
                   [
-                    BoldFont       = SourceHanSansSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { SCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
               {
-                \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular }
+                \setCJKfamilyfont { SCmono } { SourceHanMonoSC }
                   [
-                    BoldFont       = SourceHanMonoSC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoSC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -398,46 +433,53 @@
           {
             \__colorclass_if_font_exist:nnn { SourceHanSerifTC-Regular }
               {
-                \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular }
+                \setCJKfamilyfont { TCmain } { SourceHanSerifTC }
                   [
-                    BoldFont       = SourceHanSerifTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { TCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanSansTC-Regular }
               {
-                \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular }
+                \setCJKfamilyfont { TCsans } { SourceHanSansTC }
                   [
-                    BoldFont       = SourceHanSansTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { TCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanMonoTC-Regular }
               {
-                \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular }
+                \setCJKfamilyfont { TCmono } { SourceHanMonoTC }
                   [
-                    BoldFont       = SourceHanMonoTC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoTC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -456,46 +498,53 @@
           {
             \__colorclass_if_font_exist:nnn { SourceHanSerif-Regular }
               {
-                \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular }
+                \setCJKfamilyfont { JPmain } { SourceHanSerif }
                   [
-                    BoldFont       = SourceHanSerif-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerif-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { JPmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanSans-Regular }
               {
-                \setCJKfamilyfont { JPsans } { SourceHanSans-Regular }
+                \setCJKfamilyfont { JPsans } { SourceHanSans }
                   [
-                    BoldFont       = SourceHanSans-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSans-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { JPsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__colorclass_if_font_exist:nnn { SourceHanMono-Regular }
               {
-                \setCJKfamilyfont { JPmono } { SourceHanMono-Regular }
+                \setCJKfamilyfont { JPmono } { SourceHanMono }
                   [
-                    BoldFont       = SourceHanMono-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMono-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -547,9 +596,14 @@
                 \RequirePackage { unicode-math }
                 \unimathsetup { math-style = ISO, partial = upright, nabla = upright }
                 \setmathfont { KpMath-Regular.otf }
+                \setmathfont { KpMath-Regular.otf }
+                  [
+                    range = \amalg ,
+                    Scale = 0.84625
+                  ]
                 \setmathfont { KpMath-Sans.otf }
                   [
-                    range = { \sum, \prod, \coprod }
+                    range = { \sum }
                   ]
                 \setmathfont { latinmodern-math.otf }
                   [
@@ -583,8 +637,8 @@
                     \cs_gset_eq:NN \square \mdwhtsquare
                   }
 
-                % A temporary hack proposed in https://tex.stackexchange.com/a/647789
-                \hook_gput_code:nnn { begindocument } { minimclass }
+                % https://tex.stackexchange.com/a/647789
+                \hook_gput_code:nnn { begindocument } { colorclass }
                   {
                     \NewCommandCopy\unicodevdots\vdots
                     \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}}
@@ -669,9 +723,31 @@
 \char_set_catcode_active:n { `\· }
 \cs_new_protected:Npn · { \ensuremath\cdot }
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__colorclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -684,25 +760,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { colorclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `lebhart/lebhart.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-classical}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {The classical style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -469,9 +468,15 @@
 \titleformat{\paragraph}[runin]
   { \g_minimalist_title_font_paragraph_tl }{\theparagraph}{1em}{#1}
 
-\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
-\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
-\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.3\baselineskip}
+\titlespacing{\section}{0pt}{1\baselineskip plus .5\baselineskip minus .2\baselineskip}{.6\baselineskip plus .3\baselineskip minus .2\baselineskip}
+\titlespacing{\subsection}{0pt}{.75\baselineskip plus .3\baselineskip minus .2\baselineskip}{.4\baselineskip plus .2\baselineskip minus .1\baselineskip}
+\bool_if:NTF \l__minimalist_runin_bool
+  {
+    \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{0pt}
+  }
+  {
+    \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{.3\baselineskip plus .2\baselineskip minus .1\baselineskip}
+  }
 
 %%================================
 %%  ToC format
@@ -540,14 +545,14 @@
 \setlistdepth{10}
 \setlist{noitemsep, topsep=.33\topsep-.5\parskip}
 \setlist[enumerate]{labelsep=*, leftmargin=*}
-\setlist[enumerate,1]{label=\arabic*$)$,
-    ref = \arabic*$)$}
-\setlist[enumerate,2]{label=\emph{\roman*}$)$,
-    ref = \arabic{enumi}.\emph{\roman*}$)$}
-\setlist[enumerate,3]{label=\emph{\alph*}$)$,
-    ref = \arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$)$}
+\setlist[enumerate,1]{label = \normalfont\arabic*$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic*$\mskip-.5mu\big)$}
+\setlist[enumerate,2]{label = \normalfont\emph{\roman*}$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic{enumi}.\emph{\roman*}$\mskip-.5mu\big)$}
+\setlist[enumerate,3]{label = \normalfont\emph{\alph*}$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$\mskip-.5mu\big)$}
 \setlist[description]{font=\normalfont\minimalist_bfseries:}
-\newcommand\desculine{\colorlet{currentcolor}{.}\bgroup\markoverwith{\color{currentcolor!55!paper}
+\newcommand\desculine{\bgroup\markoverwith{\color{.!55!paper}
   \rule[-.45ex]{2pt}{.75pt}}\ULon}
 \renewcommand{\descriptionlabel}[1]{
   \hspace{\labelsep}\normalfont\desculine{#1}
@@ -554,12 +559,12 @@
 }
 
 \renewlist{itemize}{itemize}{10}
-\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
-\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.8em}{.75pt}}} }
-\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.5em}{.75pt}}}
-\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
-\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
+\setlist[itemize]{leftmargin=*,label=\textcolor{.!27!paper}{$\cdot$}}
+\AddLanguageSetting { \setlist[itemize,1]{label=\textcolor{.!27!paper}{$\bullet$},leftmargin=\maxof{\parindent}{1.5em}} }
+\AddLanguageSetting [french] { \setlist[itemize,1]{label=\textcolor{.!39!paper}{\rule[.2\baselineskip]{.8em}{.75pt}},leftmargin=\maxof{\parindent}{1.5em}} }
+\setlist[itemize,2]{label=\textcolor{.!27!paper}{\rule[.2\baselineskip]{.55em}{.75pt}}}
+\setlist[itemize,3]{label=\textcolor{.!27!paper}{$\circ$}}
+\setlist[itemize,4]{label=\textcolor{.!27!paper}{$\ast$}}
 
 %%================================
 %%  Blank page
@@ -626,8 +631,17 @@
 
 \newcommand*{\IndexDotfill}
   {
-    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hfill
+    \null\nobreak
+    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hskip1em plus1fill
   }
+\newcommand*{\IndexLinebreak}
+  {
+    \nobreakspace\textcolor{main-text!50!paper}{\raisebox{.25ex}{.}\raisebox{.05ex}{.}}
+    \item\hspace*{\hangindent}
+    \textcolor{main-text!50!paper}{\raisebox{.35ex}{.}\raisebox{.15ex}{.}}\,
+    \unskip
+  }
+
 \newcommand*{\IndexHeading}[1]
   {
     \str_if_eq:nnTF { #1 } { Symbols }
@@ -642,7 +656,7 @@
 \renewcommand*{\indexspace}
   {
     \par
-    \vspace{2pc ~ plus ~ .5pc ~ minus ~ .3pc}
+    \vspace{2pc plus .5pc minus .3pc}
   }
 
 \bool_new:N \l__minimalist_if_first_subitem_bool
@@ -679,6 +693,10 @@
 \RequirePackage { mathtools }
 \RequirePackage { amsthm }
 
+\def\tagform@#1{\maketag@@@{\textcolor{main-text!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
+
+\PassOptionsToPackage { nopatch = eqnum } { microtype }
+
 \def\simpleqedsymbol{
   \makebox[1em]{\rlap{\textcolor{main-text!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
@@ -715,9 +733,9 @@
 
 \theoremstyle{simple}
 
-\renewcommand{\qedsymbol}{
+\newcommand{\customqedsymbol}{
   \makebox[1em]{\color{main-text!27!paper}\rule[-0.1em]{.95em}{.95em}}}
-\let\qedsymbolOriginal\qedsymbol
+\let\qedsymbol\customqedsymbol
 
 \bool_if:NTF \l__minimalist_fast_bool
   {
@@ -732,10 +750,19 @@
     \hypersetup{ hidelinks, linktoc = all }
     \bookmarksetup{ numbered }
     \renewcommand\Hy at numberline[1]{#1.~}
+    % https://tex.stackexchange.com/a/1821
+    % Add the bookmark of ToC
+    \hook_gput_code:nnn { cmd/tableofcontents/before } { minimalist }
+      {
+        \if at openright\cleardoublepage\else\clearpage\fi
+        \pdfbookmark[0]{\contentsname}{toc}
+      }
   }
 
 \RequirePackage { projlib-theorem }
 
+\SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } }
+
 \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
   {
     name style = {

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist-plain}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {The plain style of minimalist}
 
 \IfPackageLoadedTF { minimalist } {}
@@ -443,9 +442,15 @@
 \titleformat{\paragraph}[runin]
   { \g_minimalist_title_font_paragraph_tl }{\theparagraph}{1em}{#1}
 
-\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
-\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
-\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.3\baselineskip}
+\titlespacing{\section}{0pt}{1\baselineskip plus .5\baselineskip minus .2\baselineskip}{.6\baselineskip plus .3\baselineskip minus .2\baselineskip}
+\titlespacing{\subsection}{0pt}{.75\baselineskip plus .3\baselineskip minus .2\baselineskip}{.4\baselineskip plus .2\baselineskip minus .1\baselineskip}
+\bool_if:NTF \l__minimalist_runin_bool
+  {
+    \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{0pt}
+  }
+  {
+    \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{.3\baselineskip plus .2\baselineskip minus .1\baselineskip}
+  }
 
 %%================================
 %%  ToC format
@@ -514,21 +519,21 @@
 \setlistdepth{10}
 \setlist{noitemsep, topsep=.33\topsep-.5\parskip}
 \setlist[enumerate]{labelsep=*, leftmargin=*}
-\setlist[enumerate,1]{label=\arabic*$)$,
-    ref = \arabic*$)$}
-\setlist[enumerate,2]{label=\emph{\roman*}$)$,
-    ref = \arabic{enumi}.\emph{\roman*}$)$}
-\setlist[enumerate,3]{label=\emph{\alph*}$)$,
-    ref = \arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$)$}
+\setlist[enumerate,1]{label = \normalfont\arabic*$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic*$\mskip-.5mu\big)$}
+\setlist[enumerate,2]{label = \normalfont\emph{\roman*}$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic{enumi}.\emph{\roman*}$\mskip-.5mu\big)$}
+\setlist[enumerate,3]{label = \normalfont\emph{\alph*}$\mskip-.5mu\big)$,
+    ref = \normalfont\color{.!45!paper}\arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$\mskip-.5mu\big)$}
 \setlist[description]{font=\normalfont\minimalist_bfseries:}
 
 \renewlist{itemize}{itemize}{10}
-\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
-\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.8em}{.75pt}}} }
-\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.5em}{.75pt}}}
-\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
-\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
+\setlist[itemize]{leftmargin=*,label=\textcolor{.!27!paper}{$\cdot$}}
+\AddLanguageSetting { \setlist[itemize,1]{label=\textcolor{.!27!paper}{$\bullet$},leftmargin=\maxof{\parindent}{1.5em}} }
+\AddLanguageSetting [french] { \setlist[itemize,1]{label=\textcolor{.!39!paper}{\rule[.2\baselineskip]{.8em}{.75pt}},leftmargin=\maxof{\parindent}{1.5em}} }
+\setlist[itemize,2]{label=\textcolor{.!27!paper}{\rule[.2\baselineskip]{.55em}{.75pt}}}
+\setlist[itemize,3]{label=\textcolor{.!27!paper}{$\circ$}}
+\setlist[itemize,4]{label=\textcolor{.!27!paper}{$\ast$}}
 
 %%================================
 %%  Blank page
@@ -595,8 +600,17 @@
 
 \newcommand*{\IndexDotfill}
   {
-    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hfill
+    \null\nobreak
+    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hskip1em plus1fill
   }
+\newcommand*{\IndexLinebreak}
+  {
+    \nobreakspace\textcolor{main-text!50!paper}{\raisebox{.25ex}{.}\raisebox{.05ex}{.}}
+    \item\hspace*{\hangindent}
+    \textcolor{main-text!50!paper}{\raisebox{.35ex}{.}\raisebox{.15ex}{.}}\,
+    \unskip
+  }
+
 \newcommand*{\IndexHeading}[1]
   {
     \str_if_eq:nnTF { #1 } { Symbols }
@@ -611,7 +625,7 @@
 \renewcommand*{\indexspace}
   {
     \par
-    \vspace{2pc ~ plus ~ .5pc ~ minus ~ .3pc}
+    \vspace{2pc plus .5pc minus .3pc}
   }
 
 \bool_new:N \l__minimalist_if_first_subitem_bool
@@ -648,12 +662,20 @@
 \RequirePackage { mathtools }
 \RequirePackage { amsthm }
 
+\def\tagform@#1{\maketag@@@{\textcolor{main-text!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
+
+\PassOptionsToPackage { nopatch = eqnum } { microtype }
+
 \bool_if:NTF \l__minimalist_theorem_in_new_line_bool
   {
     \newtheoremstyle{simple}
       {.75\baselineskip}{}
+      {
+        \normalfont
+        \parindent=0pt
+        \parskip=.3333\baselineskip plus .0667\baselineskip minus .0833\baselineskip
+      }{}
       {\normalfont}{}
-      {\normalfont}{}
       {0pt}
       {
         \rlap{\vbox{\hbox{\parbox{\linewidth}{
@@ -665,8 +687,12 @@
   {
     \newtheoremstyle{simple}
       {}{}
+      {
+        \normalfont
+        \parindent=0pt
+        \parskip=.3333\baselineskip plus .0667\baselineskip minus .0833\baselineskip
+      }{}
       {\normalfont}{}
-      {\normalfont}{}
       {0pt}
       {{\thmname{#1}\thmnumber{\nobreakspace #2}}
         {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
@@ -674,9 +700,9 @@
 
 \theoremstyle{simple}
 
-\renewcommand{\qedsymbol}{
+\newcommand{\customqedsymbol}{
   \makebox[1em]{\color{main-text!27!paper}\rule[-0.1em]{.95em}{.95em}}}
-\let\qedsymbolOriginal\qedsymbol
+\let\qedsymbol\customqedsymbol
 
 \bool_if:NTF \l__minimalist_fast_bool
   {
@@ -691,10 +717,19 @@
     \hypersetup{ hidelinks, linktoc = all }
     \bookmarksetup{ numbered }
     \renewcommand\Hy at numberline[1]{#1.~}
+    % https://tex.stackexchange.com/a/1821
+    % Add the bookmark of ToC
+    \hook_gput_code:nnn { cmd/tableofcontents/before } { minimalist }
+      {
+        \if at openright\cleardoublepage\else\clearpage\fi
+        \pdfbookmark[0]{\contentsname}{toc}
+      }
   }
 
 \RequirePackage { projlib-theorem }
 
+\SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } }
+
 \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
   {
     name style = {

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimalist.sty	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplPackage
   {minimalist}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A simple and clear style for articles and books}
 
 \keys_define:nn { minimalist }
@@ -74,7 +73,7 @@
                                                 \PassOptionsToPackage { \CurrentOption } { projlib-theorem }
                                               }
   }
-\ProcessKeysOptions { minimalist }
+\ProcessKeyOptions [ minimalist ]
 
 \bool_new:N \l__minimalist_is_book_bool
 \cs_if_exist:cTF { c at chapter }

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimart.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {minimart}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A simple and clear article style}
 
 \tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -72,7 +71,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { minimalist }
                                                     }
   }
-\ProcessKeysOptions { minimclass }
+\ProcessKeyOptions [ minimclass ]
 
 \LoadClass{\l__minimclass_base_class_tl}
 
@@ -143,9 +142,6 @@
 
 \RequirePackage { minimalist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -153,6 +149,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__minimclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -175,6 +180,7 @@
       {
         \RequirePackage { mathpazo }
         \RequirePackage { newpxtext }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
         \RequirePackage { amssymb }
         \sys_if_engine_pdftex:F
           {
@@ -187,13 +193,41 @@
                 BoldItalicFont = *-bolditalic ,
               ]
           }
+        % Adjusting the kerning of 'embrac' for 'newpxtext'
+        \hook_gput_code:nnn { begindocument/before } { minimclass }
+          {
+            \RenewEmph{[}{]}
+            \RenewEmph{(}{)}
+          }
       }
   }
 
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__minimclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -206,25 +240,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { minimclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `minimalist/minimart.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/minimalist/minimbook.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {minimbook}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A simple and clear book style}
 
 \tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -72,7 +71,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { minimalist }
                                                     }
   }
-\ProcessKeysOptions { minimclass }
+\ProcessKeyOptions [ minimclass ]
 
 \LoadClass{\l__minimclass_base_class_tl}
 
@@ -143,9 +142,6 @@
 
 \RequirePackage { minimalist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -153,6 +149,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__minimclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -175,6 +180,7 @@
       {
         \RequirePackage { mathpazo }
         \RequirePackage { newpxtext }
+        \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
         \RequirePackage { amssymb }
         \sys_if_engine_pdftex:F
           {
@@ -187,13 +193,41 @@
                 BoldItalicFont = *-bolditalic ,
               ]
           }
+        % Adjusting the kerning of 'embrac' for 'newpxtext'
+        \hook_gput_code:nnn { begindocument/before } { minimclass }
+          {
+            \RenewEmph{[}{]}
+            \RenewEmph{(}{)}
+          }
       }
   }
 
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__minimclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -206,25 +240,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { minimclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `minimalist/minimbook.cls'.

Modified: trunk/Master/texmf-dist/tex/latex/simplivre/simplivre.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/simplivre/simplivre.cls	2022-09-03 19:48:40 UTC (rev 64279)
+++ trunk/Master/texmf-dist/tex/latex/simplivre/simplivre.cls	2022-09-03 19:50:42 UTC (rev 64280)
@@ -15,11 +15,10 @@
 %% and version 1.3c or later is part of all distributions of LaTeX version
 %% 2005/12/01 or later.
 %% 
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
 \ProvidesExplClass
   {simplivre}
-  {2022/06/16} {}
+  {2022/09/03} {}
   {A simple and clear book style}
 
 \tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -133,7 +132,7 @@
                                                       \PassOptionsToPackage { \CurrentOption } { minimalist }
                                                     }
   }
-\ProcessKeysOptions { minimclass }
+\ProcessKeyOptions [ minimclass ]
 
 \LoadClass{\l__minimclass_base_class_tl}
 
@@ -204,9 +203,6 @@
 
 \RequirePackage { minimalist }
 
-\raggedbottom
-\hfuzz=2pt
-\vfuzz=2pt
 
 %%================================
 %%  Fonts
@@ -214,6 +210,15 @@
 \WarningFilter { latexfont } { Font~shape }
 \WarningFilter { latexfont } { Some~font  }
 
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+  {
+    \IfPackageLoadedTF { biblatex }
+      {
+        \PassOptionsToPackage { biblatex } { embrac }
+      } {}
+    \RequirePackage { embrac }
+  }
+
 \cs_new_protected:Nn \__minimclass_load_file_or_config:Nnn
   {
     \bool_if:NT #1
@@ -252,46 +257,62 @@
           {
             \bool_if:NTF \l__projlib_font_useosf_bool
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                     Numbers        = OldStyle ,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                     Numbers        = OldStyle ,
                   ]
               }
               {
-                \setmainfont { TeXGyrePagellaX-Regular.otf }
+                \setmainfont { TeXGyrePagellaX }
                   [
-                    BoldFont       = TeXGyrePagellaX-Bold.otf ,
-                    ItalicFont     = TeXGyrePagellaX-Italic.otf ,
-                    BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Italic,
+                    BoldItalicFont = *-BoldItalic,
                   ]
-                \setsansfont { SourceSansPro-Regular.otf }
+                \setsansfont { SourceSansPro }
                   [
-                    Scale          = 1.05 ,
-                    BoldFont       = SourceSansPro-Semibold.otf ,
-                    ItalicFont     = SourceSansPro-RegularIt.otf ,
-                    BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Semibold,
+                    ItalicFont     = *-RegularIt,
+                    BoldItalicFont = *-SemiboldIt,
+                    WordSpace      = {1.25, 1, 1} ,
                   ]
               }
-            \setmonofont { NewCMMono10-Regular.otf }
+            \setmonofont { NewCMMono10 }
               [
                 Scale          = 1.05 ,
-                BoldFont       = NewCMMono10-Bold.otf ,
-                ItalicFont     = NewCMMono10-Italic.otf ,
-                BoldItalicFont = NewCMMono10-BoldOblique.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Italic,
+                BoldItalicFont = *-BoldOblique,
               ]
 
             \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } }
+
+            \hook_gput_code:nnn { begindocument/before } { minimclass }
+              {
+                \RenewEmph{[}{]}
+                \RenewEmph{(}{)}
+              }
           }
       }
 
@@ -302,19 +323,22 @@
       {
         \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
           {
-            \setCJKmainfont { SourceHanSerifSC-Regular }
+            \setCJKmainfont { SourceHanSerifSC }
               [
-                BoldFont       = SourceHanSerifSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSerifSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKmainfont { FandolSong-Regular.otf }
+            \setCJKmainfont { FandolSong }
               [
-                BoldFont       = FandolSong-Bold.otf ,
-                ItalicFont     = FandolKai-Regular.otf ,
-                BoldItalicFont = FandolKai-Regular.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = FandolKai-Regular ,
+                BoldItalicFont = FandolKai-Regular ,
                 BoldItalicFeatures = { FakeBold = 4 } ,
               ]
           }
@@ -321,29 +345,33 @@
 
         \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular }
           {
-            \setCJKsansfont{SourceHanSansSC-Regular}
+            \setCJKsansfont { SourceHanSansSC }
               [
-                BoldFont       = SourceHanSansSC-Bold ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanSansSC-Bold ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
           {
-            \setCJKsansfont { FandolHei-Regular.otf }
+            \setCJKsansfont { FandolHei }
               [
-                BoldFont       = FandolHei-Bold.otf ,
-                ItalicFont     = * ,
-                BoldItalicFont = FandolHei-Bold.otf ,
+                Extension      = .otf,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Bold,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Bold,
               ]
           }
 
         \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
           {
-            \setCJKmonofont { SourceHanMonoSC-Regular }
+            \setCJKmonofont { SourceHanMonoSC }
               [
-                BoldFont       = SourceHanMonoSC-Medium ,
-                ItalicFont     = * ,
-                BoldItalicFont = SourceHanMonoSC-Medium ,
+                UprightFont    = *-Regular,
+                BoldFont       = *-Medium,
+                ItalicFont     = *-Regular,
+                BoldItalicFont = *-Medium,
               ]
           }
           {
@@ -361,46 +389,53 @@
           {
             \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular }
               {
-                \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular }
+                \setCJKfamilyfont { SCmain } { SourceHanSerifSC }
                   [
-                    BoldFont       = SourceHanSerifSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { SCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular }
               {
-                \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular }
+                \setCJKfamilyfont { SCsans } { SourceHanSansSC }
                   [
-                    BoldFont       = SourceHanSansSC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansSC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { SCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular }
               {
-                \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular }
+                \setCJKfamilyfont { SCmono } { SourceHanMonoSC }
                   [
-                    BoldFont       = SourceHanMonoSC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoSC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -419,46 +454,53 @@
           {
             \__minimclass_if_font_exist:nnn { SourceHanSerifTC-Regular }
               {
-                \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular }
+                \setCJKfamilyfont { TCmain } { SourceHanSerifTC }
                   [
-                    BoldFont       = SourceHanSerifTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerifTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { TCmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanSansTC-Regular }
               {
-                \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular }
+                \setCJKfamilyfont { TCsans } { SourceHanSansTC }
                   [
-                    BoldFont       = SourceHanSansTC-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSansTC-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { TCsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanMonoTC-Regular }
               {
-                \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular }
+                \setCJKfamilyfont { TCmono } { SourceHanMonoTC }
                   [
-                    BoldFont       = SourceHanMonoTC-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMonoTC-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -477,46 +519,53 @@
           {
             \__minimclass_if_font_exist:nnn { SourceHanSerif-Regular }
               {
-                \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular }
+                \setCJKfamilyfont { JPmain } { SourceHanSerif }
                   [
-                    BoldFont       = SourceHanSerif-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSerif-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf }
+                \setCJKfamilyfont { JPmain } { FandolSong }
                   [
-                    BoldFont       = FandolSong-Bold.otf ,
-                    ItalicFont     = FandolKai-Regular.otf ,
-                    BoldItalicFont = FandolKai-Regular.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = FandolKai-Regular ,
+                    BoldItalicFont = FandolKai-Regular ,
                     BoldItalicFeatures = { FakeBold = 4 } ,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanSans-Regular }
               {
-                \setCJKfamilyfont { JPsans } { SourceHanSans-Regular }
+                \setCJKfamilyfont { JPsans } { SourceHanSans }
                   [
-                    BoldFont       = SourceHanSans-Bold ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanSans-Bold ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
               {
-                \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf }
+                \setCJKfamilyfont { JPsans } { FandolHei }
                   [
-                    BoldFont       = FandolHei-Bold.otf ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = FandolHei-Bold.otf ,
+                    Extension      = .otf,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Bold,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Bold,
                   ]
               }
             \__minimclass_if_font_exist:nnn { SourceHanMono-Regular }
               {
-                \setCJKfamilyfont { JPmono } { SourceHanMono-Regular }
+                \setCJKfamilyfont { JPmono } { SourceHanMono }
                   [
-                    BoldFont       = SourceHanMono-Medium ,
-                    ItalicFont     = * ,
-                    BoldItalicFont = SourceHanMono-Medium ,
+                    UprightFont    = *-Regular,
+                    BoldFont       = *-Medium,
+                    ItalicFont     = *-Regular,
+                    BoldItalicFont = *-Medium,
                   ]
               }
               {
@@ -570,9 +619,14 @@
                 \RequirePackage { unicode-math }
                 \unimathsetup { math-style = ISO, partial = upright, nabla = upright }
                 \setmathfont { KpMath-Regular.otf }
+                \setmathfont { KpMath-Regular.otf }
+                  [
+                    range = \amalg ,
+                    Scale = 0.84625
+                  ]
                 \setmathfont { KpMath-Sans.otf }
                   [
-                    range = { \sum, \prod, \coprod }
+                    range = { \sum }
                   ]
                 \setmathfont { latinmodern-math.otf }
                   [
@@ -606,7 +660,7 @@
                     \cs_gset_eq:NN \square \mdwhtsquare
                   }
 
-                % A temporary hack proposed in https://tex.stackexchange.com/a/647789
+                % https://tex.stackexchange.com/a/647789
                 \hook_gput_code:nnn { begindocument } { minimclass }
                   {
                     \NewCommandCopy\unicodevdots\vdots
@@ -692,9 +746,31 @@
 \char_set_catcode_active:n { `\· }
 \cs_new_protected:Npn · { \ensuremath\cdot }
 
-\PassOptionsToPackage { all } { nowidow }
-\RequirePackage { nowidow }
+%%================================
+%%  Graphics
+%%================================
+\RequirePackage { graphicx }
+\graphicspath { { images/ } }
+\RequirePackage { wrapfig }
+\RequirePackage { float }
+\RequirePackage { caption }
+\captionsetup { font = small }
 
+%%================================
+%%  Icing on the cake
+%%================================
+\bool_if:NT \l__minimclass_fast_bool { \endinput }
+
+\sys_if_engine_luatex:TF
+  {
+    \RequirePackage { lua-widow-control }
+    \lwcsetup { balanced }
+  }
+  {
+    \PassOptionsToPackage { all } { nowidow }
+    \RequirePackage { nowidow }
+  }
+
 \sys_if_engine_xetex:T
   {
     \RequirePackage { regexpatch }
@@ -707,25 +783,6 @@
       }
   }
 
-\hook_gput_code:nnn { begindocument/before } { minimclass }
-  {
-    \IfPackageLoadedTF { biblatex }
-      {
-        \PassOptionsToPackage { biblatex } { embrac }
-      } {}
-    \RequirePackage { embrac }
-  }
-
-%%================================
-%%  Graphics
-%%================================
-\RequirePackage { graphicx }
-\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
-\RequirePackage { float }
-\RequirePackage { caption }
-\captionsetup { font = small }
-
 \endinput
 %%
 %% End of file `simplivre/simplivre.cls'.



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