summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-07 03:02:21 +0000
committerNorbert Preining <norbert@preining.info>2021-06-07 03:02:21 +0000
commit1ba2ae020aea220436899cf65f5a85c1686940cd (patch)
tree1a212dbc995aba6b72a39941cad6b3ded5d2516e /macros/latex
parent4338972cc175be565a3441c4ae8a6aa0dfcbe9f9 (diff)
CTAN sync 202106070302
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/bjfuthesis/README.md2
-rw-r--r--macros/latex/contrib/bjfuthesis/bjfuthesis.cls19
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdfbin145720 -> 132184 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/bibliography.bib5
-rw-r--r--macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex9
-rw-r--r--macros/latex/contrib/bjfuthesis/example/thesis.pdfbin4830593 -> 4831821 bytes
-rw-r--r--macros/latex/contrib/colorist/README.md10
-rw-r--r--macros/latex/contrib/colorist/colorart.cls76
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls76
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.pdfbin81144 -> 82025 bytes
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex120
-rw-r--r--macros/latex/contrib/colorist/colorist.sty858
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx137
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin315305 -> 314709 bytes
-rw-r--r--macros/latex/contrib/minimalist/README.md10
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin79955 -> 81352 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex129
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty226
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls71
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls71
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.pdfbin223464 -> 226031 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.tex83
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.pdfbin143184 -> 142661 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.tex92
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx574
-rw-r--r--macros/latex/contrib/projlib/README.md19
-rw-r--r--macros/latex/contrib/ran_toks/README.md26
-rw-r--r--macros/latex/contrib/ran_toks/docs/ran_toks.pdfbin284544 -> 302970 bytes
-rw-r--r--macros/latex/contrib/ran_toks/docs/rantoks_man.pdfbin255885 -> 261526 bytes
-rw-r--r--macros/latex/contrib/ran_toks/docs/rantoks_man.tex151
-rw-r--r--macros/latex/contrib/ran_toks/examples/nested-matching.tex150
-rw-r--r--macros/latex/contrib/ran_toks/ran_toks.dtx55
32 files changed, 2088 insertions, 881 deletions
diff --git a/macros/latex/contrib/bjfuthesis/README.md b/macros/latex/contrib/bjfuthesis/README.md
index a05d7929a8..9b2d6ad1cd 100644
--- a/macros/latex/contrib/bjfuthesis/README.md
+++ b/macros/latex/contrib/bjfuthesis/README.md
@@ -1,7 +1,7 @@
# 北京林业大学 (BJFU) 毕业论文模板 (LaTeX)
Copyright (C) 2021 Liu Changxin
-Version 1.0.2 (2021-06-05)
+Version 1.0.3 (2021-06-06)
## Abstract
This is a class file for producing dissertations and theses according to the Beijing Forestry University (BJFU) Guidelines for Undergraduate Theses and Dissertations.
diff --git a/macros/latex/contrib/bjfuthesis/bjfuthesis.cls b/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
index ef1690a7b2..641a6e8d4e 100644
--- a/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
+++ b/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
@@ -23,12 +23,14 @@
\def\keywords@label@zh{关键词:}
\def\keywords@label@en{Keywords: }
\def\chartnote@label{注:}
-\ProvidesClass{bjfuthesis}[2021/06/05 A thesis class for Beijing Forestry University]
+\ProvidesClass{bjfuthesis}[2021/06/06 A thesis class for Beijing Forestry University]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
\ProcessOptions*
\LoadClass[a4paper,oneside,fontset=none]{ctexbook}
\RequirePackage{pdfpages,graphicx}
\graphicspath{{figures/}}
+\RequirePackage[style=gb7714-2015]{biblatex}
+\addbibresource{bibliography.bib}
\RequirePackage{silence,bicaption}
\DeclareCaptionFormat{bjfucaption}{\textbf{\fontsize{9}{21}\selectfont#1#2#3}}
\captionsetup{format=bjfucaption,skip=0pt,labelsep=space}
@@ -41,12 +43,14 @@
\setlength\footskip{10mm}
\setlength\textwidth{155mm}
\setlength\oddsidemargin{4.6mm}
+\setlength\bibitemsep{0pt}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{1pt}
\setmainfont{Times New Roman}
\setCJKmainfont[AutoFakeBold]{SimSun}
\setCJKmonofont{SimSun}
\newCJKfontfamily\kaiti{KaiTi}
+\renewcommand*{\bibfont}{\fontsize{10.5}{21}\selectfont}
\linespread{1}
\emergencystretch=1em
\RequirePackage{amssymb}
@@ -69,8 +73,6 @@
\renewcommand\headrulewidth{.5pt}
\fancypagestyle{plain}{\fancyhead[C]{\fontsize{9}{12}\selectfont\header@text}\renewcommand\headrulewidth{.5pt}}
\renewcommand\floatpagefraction{1}
-\RequirePackage[style=gb7714-2015]{biblatex}
-\addbibresource{bibliography.bib}
\RequirePackage{titlesec}
\titleformat{\chapter}{\centering\fontsize{16}{30}\bfseries}{\thechapter}{.5em}{}
\titleformat{\section}{\fontsize{14}{37}\bfseries}{\thesection}{.5em}{}
@@ -87,7 +89,6 @@
\renewcommand\topfraction{1}
\renewcommand\bottomfraction{1}
\renewcommand\textfraction{0}
-\RequirePackage{xpatch}
\RequirePackage[hidelinks]{hyperref}
\letbibmacro{oldtitle}{title}
@@ -111,10 +112,10 @@
}
{}
{\printtext[booktitle]{\bibtitlefont%
- \printfield[titlecase]{booktitle}\printtext{[C]}%
+ \printfield[titlecase]{booktitle}\printtext{[C]} %
\setunit{\subtitlepunct}%
\printfield[titlecase]{booksubtitle}}%
- \newunit%标点换成下一句
+ \newunit
\setunit{\subtitlepunct}}%
\printfield{booktitleaddon}}{\usebibmacro{oldbooktitle}}}
\DeclareBibliographyDriver{inproceedings}{%
@@ -124,8 +125,6 @@
\setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{title}\printtext{[A]}
\unspace
-% \nobreak
-% \setunit{[A]}
\usebibmacro{in:}%
\usebibmacro{editor}%
\newunit\newblock
@@ -133,10 +132,6 @@
\newunit\newblock
\usebibmacro{event+venue+date}%
\newunit\newblock
-% \iffieldundef{maintitle}
- % {\printfield{volume}%
- % \printfield{part}}
- % {}%
\newunit
\printfield{volumes}%
\newunit\newblock
diff --git a/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf b/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
index c246213cae..f912884e87 100644
--- a/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
+++ b/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/bibliography.bib b/macros/latex/contrib/bjfuthesis/example/bibliography.bib
index 58cb349066..80789c8d5e 100644
--- a/macros/latex/contrib/bjfuthesis/example/bibliography.bib
+++ b/macros/latex/contrib/bjfuthesis/example/bibliography.bib
@@ -132,7 +132,7 @@
year = {2000},
publisher = {University of California, Irvine Irvine},
pages = {1--4},
- location = {Berkeley},
+ location = {Berkeley}
}
@inproceedings{koren2008factorization,
@@ -257,7 +257,7 @@ International World Wide Web Conferences Steering Committee},
title = {知识图谱技术综述},
author = {徐增林,盛泳潘,贺丽荣,王雅芳},
journal = {电子科技大学学报},
- volume = {1},
+ volume = {1},
number = {4},
pages = {589-606}
}
@@ -361,6 +361,7 @@ International World Wide Web Conferences Steering Committee},
title = {基于知识图谱的推荐系统研究综述},
author = {秦川 and 祝恒书 and 庄福振 and 郭庆宇 and 张琦 and 张乐 and 王超 and 陈恩红 and 熊辉},
journal = {中国科学:信息科学},
+ volume = {50},
number = {7},
pages = {937-956},
year = {2020}
diff --git a/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex b/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
index 54bbd920ca..a05306da0a 100644
--- a/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
+++ b/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
@@ -176,6 +176,7 @@ Neo4j是一个具有高性能的图数据库,它将结构化的数据信息储
\chapter{基于涟漪网络知识图谱的推荐算法}
\label{ch:offline-recommendation}
\section{涟漪网络}
+本算法基于文献\parencite{wang2018ripplenet}实现,并在其基础上进行了一定的改进:文献\parencite{wang2018ripplenet}中计算用户偏好时并未考虑用户收藏,本文在计算用户偏好时,将用户收藏考虑在内,这在一定程度上缓解了数据稀缺性问题和冷启动问题并改进了推荐性能。
\subsection{架构}
涟漪网络的总体架构如图\ref{fig:ripplenet-framework}所示,图上方的知识图谱中展示了由用户交互产生的涟漪。涟漪网络以一个用户$u$和一个电影$v$作为输入,并输出用户$u$与电影$v$之间产生交互的概率。对输入用户$u$而言,其历史交互记录$V_u$是知识图谱中的种子集,而后沿着知识图谱中的关系边形成多个涟漪集$S_u^{k}\ (k=1, 2, \dots, H)$。第k个涟漪集是种子集$V_u$经过$k$跳得到的知识三元组。然后迭代地利用这些涟漪集与电影$v$的嵌入表示(黄色的块)计算出用户$u$对电影$v$的的响应(绿色的块),最后结合得到用户的最终嵌入表示(灰色的块)。最终,利用用户$u$与电影$v$的嵌入表示计算出用户$u$对电影$v$感兴趣的预测概率$y_{uv}$。
\begin{figure}
@@ -189,13 +190,13 @@ Neo4j是一个具有高性能的图数据库,它将结构化的数据信息储
\end{figure}
知识图谱常常含有丰富的事实信息与实体间的联系。比如,图\ref{fig:illustration-of-ripple-sets}(图中不同颜色的圆圈表示不同跳数的涟漪集,越浅的蓝色代表种子集与该区域内实体的关联程度越低)中电影“阿甘正传”与“罗伯特·泽米吉斯”相连,它们之间的联系为“罗伯特·泽米吉斯”是电影“阿甘正传”的导演。而“回到未来”也与“罗伯特·泽米吉斯”相连。因此,如果一个用户与电影“阿甘正传”交互过,则他很有可能也对“回到未来”感兴趣。为了描述用户在知识图谱中分层次的潜在偏好集,递归定义用户$u$的$k$跳相关实体如下:
-\textbf{定义1(相关实体集) } 给定交互矩阵$\Upsilon$与知识图谱$G$,则用户$u$的$k$跳相关实体集的定义为式\eqref{relevant-entities}。
+\textbf{定义1(相关实体集)} 给定交互矩阵$\Upsilon$与知识图谱$G$,则用户$u$的$k$跳相关实体集的定义为式\eqref{relevant-entities}。
\begin{equation}
E_u^k=\{t|(h, r, t)\in G \text{且} h\in E^{k-1}_u\}, k = 1, 2, \dots, H\label{relevant-entities}
\end{equation}
-式\eqref{relevant-entities}中,$E_u^0=V_u=\{v | y_{uv}=1\}$是用户的历史偏好集,可以看作是用户$u$在知识图谱中的种子集。
+式\eqref{relevant-entities}中,$E_u^0=V_u=\{v | y_{uv}=1\}$是用户的历史偏好集(历史偏好集是指用户在最高为5的评分中给出的评分$\geqslant$4的物品以及用户已加入收藏的物品),可以看作是用户$u$在知识图谱中的种子集。
相关实体集可以看作是用户的历史偏好集在知识图谱中的自然扩展。给定相关实体集的定义,以下定义用户$u$的$k$跳涟漪集:
@@ -298,7 +299,7 @@ Neo4j是一个具有高性能的图数据库,它将结构化的数据信息储
在涟漪网络中,一个可能的问题是涟漪集中的电影非常多,从而在偏好传递的过程中不可避免地导致用户的真实潜在偏好信息被稀释。然而,用户点击记录中不同的电影常常高度重叠(从种子集出发到达一部电影常常有不止一条路径),这在很大程度上避免了真实潜在偏好信息被稀释的问题。比如,在图\ref{fig:illustration-of-ripple-sets}中,如果一个用户喜欢“阿甘正传”,则他也可能喜欢“荒岛余生”。在该知识图谱中,从“阿甘正传”到“荒岛余生”有两条路径:“阿甘正传-U.S.-荒岛余生”与“阿甘正传-汤姆·汉克斯-荒岛余生”,这正是涟漪重叠的表现。
\section{测试}
\subsection{数据集}
-本测试使用“MovieLens 1M Dataset”数据集。该数据集由电影信息、用户信息以及用户对电影的评分三部分组成。其中,含有电影数据3883条、用户数据6040条以及1000209条用户对电影的评分数据。因该数据集数据量适中,数据准确可靠,因此在推荐系统的性能测试中被广泛使用。
+本测试使用“MovieLens 1M Dataset”数据集。该数据集由电影信息、用户信息以及用户对电影的评价三部分组成。其中,含有电影数据3883条、用户数据6040条以及1000209条用户对电影的评价数据。因该数据集数据量适中,数据准确可靠,因此在推荐系统的性能测试中被广泛使用。
本测试使用的知识图谱来自Microsoft Satori,是依据“MovieLens 1M Dataset”中的电影名称从Microsoft Satori中提取相关的节点的与关系数据得到的。
\subsection{基线}
@@ -353,7 +354,7 @@ Wide\&Deep\cite{cheng2016wide}是一个结合线性路径的推荐模型。类
本系统在MongoDB数据库中建立4个集合,分别用于存储用户、管理员、体裁与电影数据。因其中的数据为非结构化数据,因此无法用表格的形式给出,目前习惯上以JSON形式给出数据的逻辑结构,以下以JSON形式来表示存储结构:
-以下为普通用户集合的数据结构,用户集合中的文档存储用户ID、哈希处理后的密码、其评价过的电影(包括电影ID、评分及时间)以及由推荐算法服务器写入的推荐列表、已购买电影及心愿单:
+以下为普通用户集合的数据结构,用户集合中的文档存储用户ID、哈希处理后的密码、其进行过评分的电影(包括电影ID、评分及时间)以及由推荐算法服务器写入的推荐列表、已购买电影及心愿单:
\begin{verbatim}
{
_id: Integer,
diff --git a/macros/latex/contrib/bjfuthesis/example/thesis.pdf b/macros/latex/contrib/bjfuthesis/example/thesis.pdf
index cb1aabbe44..4bbb60245a 100644
--- a/macros/latex/contrib/bjfuthesis/example/thesis.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/README.md b/macros/latex/contrib/colorist/README.md
index 28ca41cf52..05164cf1d0 100644
--- a/macros/latex/contrib/colorist/README.md
+++ b/macros/latex/contrib/colorist/README.md
@@ -11,8 +11,8 @@ with a colorful design. It mainly consists of two parts.
- `colorbook.cls` : class for typesetting books
They can be used with any major TeX engine. Currently they have native
- support to English, French and German typesetting (more language to be
- added).
+ support to English, French, German, Italian, Portuguese
+ (European and Brazilian) and Spanish typesetting.
- Derivative part (they have separate pages on CTAN):
@@ -21,9 +21,9 @@ with a colorful design. It mainly consists of two parts.
They are similar to the main classes, but have unicode support, thus can
only be used with either XeLaTeX or LuaLaTeX. Currently they have native
- support to Chinese (both simplified and traditional), English, French,
- German, Japanese and Russian typesetting (more language to be added), and
- also use more beautiful fonts.
+ support to Chinese (simplified and traditional), English, French, German,
+ Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish
+ typesetting, and also use more beautiful fonts.
# License
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index 304a002614..8e6fd2d020 100644
--- a/macros/latex/contrib/colorist/colorart.cls
+++ b/macros/latex/contrib/colorist/colorart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{colorart}
- [2021/05/24 A colorful article style]
+ [2021/06/07 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,11 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
@@ -39,6 +44,18 @@
\if@colorclass@draft
\@colorclass@fasttrue
\fi
+\if@colorclass@palatino
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@times
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@garamond
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@biolinum
+ \@colorclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -89,13 +106,68 @@
\RequirePackage[T1]{fontenc}
\RequirePackage{inputenc}
\fi
+\if@colorclass@customfont\else
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\fi
\RequirePackage{amssymb}
+\let\colorist@sffamily\sffamily
+\let\colorist@textsc\textsc
+
+\if@colorclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@colorclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@textsc\relax
+\fi
+
+\if@colorclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@textsc\relax
+\fi
+
+\if@colorclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
+
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index da8b6e75b8..8f24678596 100644
--- a/macros/latex/contrib/colorist/colorbook.cls
+++ b/macros/latex/contrib/colorist/colorbook.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{colorbook}
- [2021/05/24 A colorful book style]
+ [2021/06/07 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,11 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
@@ -39,6 +44,18 @@
\if@colorclass@draft
\@colorclass@fasttrue
\fi
+\if@colorclass@palatino
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@times
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@garamond
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@biolinum
+ \@colorclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -89,13 +106,68 @@
\RequirePackage[T1]{fontenc}
\RequirePackage{inputenc}
\fi
+\if@colorclass@customfont\else
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\fi
\RequirePackage{amssymb}
+\let\colorist@sffamily\sffamily
+\let\colorist@textsc\textsc
+
+\if@colorclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@colorclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@textsc\relax
+\fi
+
+\if@colorclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@textsc\relax
+\fi
+
+\if@colorclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
+
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/latex/contrib/colorist/colorist-doc.pdf b/macros/latex/contrib/colorist/colorist-doc.pdf
index faacf8b77a..47c828dc1e 100644
--- a/macros/latex/contrib/colorist/colorist-doc.pdf
+++ b/macros/latex/contrib/colorist/colorist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorist-doc.tex b/macros/latex/contrib/colorist/colorist-doc.tex
index 14dc39da0d..c3ffef02e7 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -1,5 +1,17 @@
%! TEX program = xelatex
-\documentclass[allowbf]{colorart}
+\documentclass[allowbf,puretext]{colorart}
+
+\theoremstyle{basic}
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
+\CreateTheorem{conjecture}<highest>
+\CreateTheorem*{example*}
+\CreateTheorem{problem}<highest>
+
+\theoremstyle{emphasis}
+\CreateTheorem{remark}<highest>
+
+\theoremstyle{simple}
%%================================
%% Import toolkit
@@ -32,32 +44,31 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,
- color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {linenumbers,nolinenumbers,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
%%================================
-%% remind
+%% tip
%%================================
-\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ 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,
- title={\sffamily #1}]%
+ title={\scshape\sffamily #1}]%
}{\end{tcolorbox}}
%%================================
@@ -77,15 +88,15 @@
\title{{\normalfont\textbf{\textsf{colorist}}}, write your articles or books in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\colorist{} 2021/05/24}}
-\date{May 2021, Beijing}
+\thanks{Corresponding to: \texttt{\colorist{} 2021/06/07}}
+\date{June 2021, Beijing}
\maketitle
\begin{abstract}
\colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
- The entire collection includes \verb|colorist.sty|, which is the main style shared by all of the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+ The entire collection includes \verb|colorist.sty|, which is the main style shared by all of the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French, German, Italian, Portuguese (European and Brazilian) and Spanish typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
You can also found \lebhart{} and \beaulivre{} on CTAN. They are the enhanced version of \colorart{} and \colorbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
@@ -95,9 +106,9 @@
\tableofcontents
\bigskip\bigskip
-\begin{remind}
+\begin{tip}
Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{remind}
+\end{tip}
\clearpage
\section{Initialization}
@@ -134,11 +145,11 @@ And of course, you can also use the default classes \textsf{article} or \textsf{
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
\item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
\end{itemize}
-\end{remind}
+\end{tip}
\bigskip
Additionally, \colorart{} and \colorbook{} offers the following options:
@@ -147,6 +158,10 @@ Additionally, \colorart{} and \colorbook{} offers the following options:
\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{biolinum}
+ \begin{itemize}
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \end{itemize}
\end{itemize}
@@ -156,23 +171,26 @@ Many of the features described next are provided by the \ProjLib{} toolkit. Only
\subsection{Language configuration}
-\colorist{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\colorist{} has multi-language support, including English, French, German, Italian, Portuguese (European and Brazilian) and Spanish. The language can be selected by the following macros:
\begin{itemize}
- \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+ \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English'' is selected by default.
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
\end{itemize}
-\clearpage
-\meta{language name} can be:
+\meta{language name} can be (it is not case sensitive, for example, \texttt{French} and \texttt{french} have the same effect):
\begin{itemize}
- \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
- \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
- \item English: \texttt{English} or \texttt{english}
- \item French: \texttt{French} or \texttt{french}
- \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
- \item Japanese: \texttt{Japanese} or \texttt{japanese}
- \item Russian: \texttt{Russian} or \texttt{russian}
+ \item Simplified Chinese: \texttt{CN}, \texttt{Chinese}, \texttt{SChinese} or \texttt{SimplifiedChinese}
+ \item Traditional Chinese: \texttt{TC}, \texttt{TChinese} or \texttt{TraditionalChinese}
+ \item English: \texttt{EN} or \texttt{English}
+ \item French: \texttt{FR} or \texttt{French}
+ \item German: \texttt{DE}, \texttt{German} or \texttt{ngerman}
+ \item Italian: \texttt{IT} or \texttt{Italian}
+ \item Portuguese: \texttt{PT} or \texttt{Portuguese}
+ \item Portuguese (Brazilian): \texttt{BR} or \texttt{Brazilian}
+ \item Spanish: \texttt{ES} or \texttt{Spanish}
+ \item Japanese: \texttt{JP} or \texttt{Japanese}
+ \item Russian: \texttt{RU} or \texttt{Russian}
\end{itemize}
\medskip
@@ -192,15 +210,15 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly.
+Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly.
More specifically, preset environments include:
-\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
\medskip
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
-\begin{remind}[Example]
+\begin{tip}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
@@ -221,10 +239,10 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
-\clearpage %\bigskip
+\bigskip
The following are the main styles of theorem-like environments:
\begin{theorem}
Theorem style: theorem, proposition, lemma, corollary, ...
@@ -265,20 +283,13 @@ For aesthetics, adjacent definitions will be connected together automatically:
% \clearpage
\subsection{Define a new theorem-like environment}
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
-% \vspace{-.5\baselineskip}
-\begin{longtable}{ll|ll}
- \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
- \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
- \texttt{EN} & English & \texttt{RU} & Russian\\
- \texttt{FR} & French & &\\
-\end{longtable}
-
-\vspace{-.5\baselineskip}
-\begin{remind}
- If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+ \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
+\medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -297,6 +308,7 @@ And then define this environment in one of following five ways:
\begin{itemize}
\item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within}
\end{itemize}
+ \clearpage
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\
\lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|
\begin{itemize}
@@ -310,18 +322,19 @@ And then define this environment in one of following five ways:
\end{itemize}
\medskip
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\bigskip
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
@@ -357,7 +370,7 @@ Therefore, the title part can either be written in the usual way, in accordance
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -373,6 +386,7 @@ or written in the way of \AmS{} classes:
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
@@ -404,7 +418,7 @@ Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \ls
\begin{itemize}[itemsep=.6em]
\item The font settings are still not perfect.
- \item Since many features are based on the \ProjLib{} toolkit, \colorist{} inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation.
+ \item Since many features are based on the \ProjLib{} toolkit, \colorist{} inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
\item There are still many things that can be optimized in the code.
\end{itemize}
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index aaf8a32829..af8050fe4d 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesPackage{colorist}
- [2021/05/24 A colorful style for articles and books]
+ [2021/06/07 A colorful style for articles and books]
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
@@ -26,12 +26,17 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{puretext}
+\DeclareBoolOption[false]{nothms}
\DeclareBoolOption[false]{allowbf}
\ProcessKeyvalOptions*\relax
\if@colorist@draft
\@colorist@fasttrue
\fi
+\if@colorist@puretext
+ \@colorist@nothmstrue
+\fi
\if@colorist@allowbf
\newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!90!paper}}
@@ -40,17 +45,17 @@
\fi
\newif\ifIsBook
-\ifdefined\chapter\IsBooktrue\else\IsBookfalse\fi
+\ifdefined\c@chapter\IsBooktrue\else\IsBookfalse\fi
%%================================
%% Title fonts
%%================================
\RequirePackage{anyfontsize}
-\newcommand{\partfont}{\conditionalbfseries\sffamily}
-\newcommand{\chapfont}{\conditionalbfseries\sffamily}
-\newcommand{\secfont}{\conditionalbfseries\sffamily}
-\newcommand{\subsecfont}{\conditionalbfseries\sffamily}
-\newcommand{\subsubsecfont}{\conditionalbfseries\sffamily}
+\newcommand{\partfont}{\conditionalbfseries\colorist@sffamily}
+\newcommand{\chapfont}{\conditionalbfseries\colorist@sffamily}
+\newcommand{\secfont}{\conditionalbfseries\colorist@sffamily}
+\newcommand{\subsecfont}{\conditionalbfseries\colorist@sffamily}
+\newcommand{\subsubsecfont}{\conditionalbfseries\colorist@sffamily}
%%================================
%% Paper configuration
@@ -179,9 +184,10 @@
enhanced,
skin = bicolor,
frame engine = path,
- sharp corners = all,
+ % sharp corners = all,
width = 0.9\textwidth,
top = 4mm, bottom = 4mm,
+ arc = .5mm,
sidebyside,
frame hidden,
boxrule = 0mm,
@@ -201,8 +207,9 @@
\begin{tcolorbox}[
enhanced,
width = 0.7\textwidth,
- sharp corners = all,
+ % sharp corners = all,
top = 4mm, bottom = 4mm,
+ arc = .5mm,
frame hidden,
boxrule = 0mm,
colback = maintheme!20!paper,
@@ -287,7 +294,7 @@
\RequirePackage{titletoc}
\titlecontents{part}
[0em]
- {\addvspace{1.5pc}\filcenter\sffamily}
+ {\addvspace{1.5pc}\filcenter\colorist@sffamily}
{\thecontentslabel\\\uppercase}
{}
{} % without page number
@@ -295,32 +302,32 @@
\ifbool{IsBook}{
\titlecontents{chapter}
[2em] % i.e., 0em (part) + 2em
- {\addvspace{1pc}\normalfont\color{maintheme}\sffamily\conditionalbfseries}
+ {\addvspace{1pc}\normalfont\color{maintheme}\colorist@sffamily\conditionalbfseries}
{\contentslabel{2em}}
{\hspace*{-2em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
\titlecontents{section}
[4em] % i.e., 2em (chapter) + 2em
- {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily}
+ {\addvspace{.3pc}\normalfont\color{maintheme}\colorist@sffamily}
{\contentslabel{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
\titlecontents{subsection}
[7em] % i.e., 4em (section) + 3em
- {\addvspace{.15pc}\normalfont\sffamily}
+ {\addvspace{.15pc}\normalfont\colorist@sffamily}
{\contentslabel{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{paper!55!-paper}\contentspage}
}{
\titlecontents{section}
[2em] % i.e., 0em (part) + 2em
- {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily}
+ {\addvspace{.3pc}\normalfont\color{maintheme}\colorist@sffamily}
{\contentslabel{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
\titlecontents{subsection}
[5em] % i.e., 2em (section) + 3em
- {\addvspace{.15pc}\normalfont\sffamily}
+ {\addvspace{.15pc}\normalfont\colorist@sffamily}
{\contentslabel{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{paper!55!-paper}\contentspage}
@@ -392,6 +399,7 @@
%%================================
\RequirePackage{mathtools}
\RequirePackage{amsthm}
+\def\simpleqed{\hfill\makebox[1em]{\rlap{\textcolor{gray!25!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
\newtheoremstyle{simple}%
{}{}%
{\normalfont}{}%
@@ -399,7 +407,7 @@
{0pt}%
{\conditionalbfseries\thmname{#1}\thmnumber{ #2}\hspace{.4em}%
\textcolor{gray!55!paper}{$|$}\hspace{.4em}%
- \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}}
+ \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\simpleqed}}
\def\@endtheorem{\popQED\endtrivlist\@endpefalse }
\renewcommand{\qedsymbol}{%
@@ -409,11 +417,11 @@
{0pt}{0pt}{\normalfont}{0pt}
{}{\;}{0.25em}
{{\thmname{#1}~\thmnumber{\textup{#2}}}
- \thmnote{\normalfont\sffamily\color{black}~(#3)}}
+ \thmnote{\normalfont\colorist@sffamily\color{black}~(#3)}}
\newtheoremstyle{emphasis}
{0pt}{0pt}{\itshape}{0pt}{}{}{0pt}
- {\thmnote{\normalfont\sffamily\color{black}#3\hspace*{0.5em}}}
+ {\thmnote{\normalfont\colorist@sffamily\color{black}#3\hspace*{0.5em}}}
\if@colorist@fast
\providecommand{\phantomsection}{}
@@ -425,160 +433,260 @@
\RequirePackage{hyperref}
\fi
-\RequirePackage[nothms]{PJLthm}
-
-%% Redefine English theorems names
-\def\theoremnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Theorem}}
-\def\lemmanameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemma}}
-\def\propositionnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
-\def\corollarynameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Corollary}}
-\def\propertynameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Property}}
-\def\factnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fact}}
-\def\conjecturenameEN{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Conjecture}}
-\def\definitionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Definition}}
-\def\axiomnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiom}}
-\def\assumptionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Assumption}}
-\def\conventionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Convention}}
-\def\hypothesisnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothesis}}
-\def\notationnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
-\def\examplenameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Example}}
-\def\problemnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problem}}
-\def\questionnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Question}}
-\def\exercisenameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exercise}}
-\def\remarknameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Remark}}
-\expandafter\def\csname definition-propositionnameEN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\propositionnameEN}
-\expandafter\def\csname definition-theoremnameEN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\theoremnameEN}
-
-%% Redefine French theorems names
-\def\theoremnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Théorème}}
-\def\lemmanameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemme}}
-\def\propositionnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
-\def\corollarynameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Corollaire}}
-\def\propertynameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Propriété}}
-\def\factnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fait}}
-\def\conjecturenameFR{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Conjecture}}
-\def\definitionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Définition}}
-\def\axiomnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiome}}
-\def\assumptionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Supposition}}
-\def\conventionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Convention}}
-\def\hypothesisnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothèse}}
-\def\notationnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
-\def\examplenameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exemple}}
-\def\problemnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problème}}
-\def\questionnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Question}}
-\def\exercisenameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exercice}}
-\def\remarknameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Remarque}}
-\expandafter\def\csname definition-propositionnameFR\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Définition}-\propositionnameFR}
-\expandafter\def\csname definition-theoremnameFR\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Définition}-\theoremnameFR}
-
-%% Redefine German theorems names
-\def\theoremnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Satz}}
-\def\lemmanameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemma}}
-\def\propositionnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
-\def\corollarynameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Korollar}}
-\def\propertynameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Eigenschaft}}
-\def\factnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fakt}}
-\def\conjecturenameDE{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Vermutung}}
-\def\definitionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Definition}}
-\def\axiomnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiom}}
-\def\assumptionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Annahme}}
-\def\conventionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Konvention}}
-\def\hypothesisnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothese}}
-\def\notationnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
-\def\examplenameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Beispiel}}
-\def\problemnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problem}}
-\def\questionnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Frage}}
-\def\exercisenameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Übung}}
-\def\remarknameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Bemerkung}}
-\expandafter\def\csname definition-propositionnameDE\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\propositionnameDE}
-\expandafter\def\csname definition-theoremnameDE\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\theoremnameDE}
-
-%% Redefine Chinese theorems names
-\def\theoremnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
-\def\lemmanameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 引理}
-\def\propositionnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 命题}
-\def\corollarynameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 推论}
-\def\propertynameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 性质}
-\def\factnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 事实}
-\def\conjecturenameCN{\normalfont\sffamily\color{purple}\conditionalbfseries 猜想}
-\def\definitionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定义}
-\def\axiomnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
-\def\assumptionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假设}
-\def\conventionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 约定}
-\def\hypothesisnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假设}
-\def\notationnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 记号}
-\def\examplenameCN{\normalfont\sffamily\color{black}\conditionalbfseries 例}
-\def\problemnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 问题}
-\def\questionnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 问题}
-\def\exercisenameCN{\normalfont\sffamily\color{black}\conditionalbfseries 练习}
-\def\remarknameCN{\normalfont\sffamily\color{black}\conditionalbfseries 备注}
-\expandafter\def\csname definition-propositionnameCN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定义-\propositionnameCN}
-\expandafter\def\csname definition-theoremnameCN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定义-\theoremnameCN}
-
-\def\theoremnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
-\def\lemmanameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 引理}
-\def\propositionnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 命題}
-\def\corollarynameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 推論}
-\def\propertynameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 性質}
-\def\factnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 事實}
-\def\conjecturenameTC{\normalfont\sffamily\color{purple}\conditionalbfseries 猜想}
-\def\definitionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定義}
-\def\axiomnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
-\def\assumptionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假設}
-\def\conventionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 約定}
-\def\hypothesisnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假設}
-\def\notationnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 記號}
-\def\examplenameTC{\normalfont\sffamily\color{black}\conditionalbfseries 例}
-\def\problemnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
-\def\questionnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
-\def\exercisenameTC{\normalfont\sffamily\color{black}\conditionalbfseries 練習}
-\def\remarknameTC{\normalfont\sffamily\color{black}\conditionalbfseries 備註}
-\expandafter\def\csname definition-propositionnameTC\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\propositionnameTC}
-\expandafter\def\csname definition-theoremnameTC\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\theoremnameTC}
-
-%% Redefine Japanese theorems names
-\def\theoremnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
-\def\lemmanameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 補題}
-\def\propositionnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 命題}
-\def\corollarynameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 系}
-\def\propertynameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 性質}
-\def\factnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 事実}
-\def\conjecturenameJP{\normalfont\sffamily\color{purple}\conditionalbfseries 予想}
-\def\definitionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定義}
-\def\axiomnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
-\def\assumptionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 仮定}
-\def\conventionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 慣例}
-\def\hypothesisnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 仮設}
-\def\notationnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 記法}
-\def\examplenameJP{\normalfont\sffamily\color{black}\conditionalbfseries 例}
-\def\problemnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
-\def\questionnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
-\def\exercisenameJP{\normalfont\sffamily\color{black}\conditionalbfseries 練習}
-\def\remarknameJP{\normalfont\sffamily\color{black}\conditionalbfseries 注釈}
-\expandafter\def\csname definition-propositionnameJP\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\propositionnameJP}
-\expandafter\def\csname definition-theoremnameJP\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\theoremnameJP}
-
-%% Redefine Russian theorems names
-\def\theoremnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Теорема}
-\def\lemmanameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Лемма}
-\def\propositionnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Предложение}
-\def\corollarynameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Следствие}
-\def\propertynameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Имущество}
-\def\factnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Факт}
-\def\conjecturenameRU{\normalfont\sffamily\color{purple}\conditionalbfseries Гипотеза}
-\def\definitionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Определение}
-\def\axiomnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Аксиома}
-\def\assumptionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Предположение}
-\def\conventionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Конвенция}
-\def\hypothesisnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Гипотеза}
-\def\notationnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Нотация}
-\def\examplenameRU{\normalfont\sffamily\color{black}\conditionalbfseries Пример}
-\def\problemnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Проблема}
-\def\questionnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Вопрос}
-\def\exercisenameRU{\normalfont\sffamily\color{black}\conditionalbfseries Упражнение}
-\def\remarknameRU{\normalfont\sffamily\color{black}\conditionalbfseries Замечание}
-\expandafter\def\csname definition-propositionnameRU\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries Определение-\propositionnameRU}
-\expandafter\def\csname definition-theoremnameRU\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries Определение-\theoremnameRU}
+\PassOptionsToPackage{nothms}{PJLthm}
+\RequirePackage{PJLthm}
+
+%% Adjust English theorems names
+\pretocmd{\theoremnameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenameEN}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnameEN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameEN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\propositionnameEN}
+\expandafter\def\csname definition-theoremnameEN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\theoremnameEN}
+
+%% Adjust French theorems names
+\pretocmd{\theoremnameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenameFR}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnameFR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameFR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Définition}-\propositionnameFR}
+\expandafter\def\csname definition-theoremnameFR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Définition}-\theoremnameFR}
+
+%% Adjust German theorems names
+\pretocmd{\theoremnameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenameDE}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnameDE}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameDE\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\propositionnameDE}
+\expandafter\def\csname definition-theoremnameDE\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\theoremnameDE}
+
+%% Adjust Italian theorems names
+\pretocmd{\theoremnameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenameIT}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnameIT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameIT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definizione}-\propositionnameIT}
+\expandafter\def\csname definition-theoremnameIT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definizione}-\theoremnameIT}
+
+%% Adjust Portuguese theorems names
+\pretocmd{\theoremnamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenamePT}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnamePT}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnamePT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\propositionnamePT}
+\expandafter\def\csname definition-theoremnamePT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\theoremnamePT}
+
+%% Adjust Brazilian theorems names
+\pretocmd{\theoremnameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenameBR}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnameBR}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameBR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\propositionnameBR}
+\expandafter\def\csname definition-theoremnameBR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\theoremnameBR}
+
+%% Adjust Spanish theorems names
+\pretocmd{\theoremnameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\lemmanameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propositionnameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\corollarynameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\propertynameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\factnameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conjecturenameES}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\definitionnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\axiomnameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\assumptionnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\conventionnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\notationnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\examplenameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\problemnameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\questionnameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\exercisenameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\remarknameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\pretocmd{\observationnameES}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries\colorist@textsc}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameES\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\propositionnameES}
+\expandafter\def\csname definition-theoremnameES\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\theoremnameES}
+
+%% Adjust Chinese theorems names
+\pretocmd{\theoremnameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\lemmanameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propositionnameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\corollarynameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propertynameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\factnameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conjecturenameCN}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\definitionnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\axiomnameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\assumptionnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conventionnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\hypothesisnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\notationnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\examplenameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\problemnameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\questionnameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\exercisenameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\remarknameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\observationnameCN}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameCN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定义}-\propositionnameCN}
+\expandafter\def\csname definition-theoremnameCN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定义}-\theoremnameCN}
+
+\pretocmd{\theoremnameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\lemmanameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propositionnameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\corollarynameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propertynameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\factnameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conjecturenameTC}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\definitionnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\axiomnameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\assumptionnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conventionnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\hypothesisnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\notationnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\examplenameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\problemnameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\questionnameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\exercisenameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\remarknameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\observationnameTC}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameTC\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\propositionnameTC}
+\expandafter\def\csname definition-theoremnameTC\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\theoremnameTC}
+
+%% Adjust Japanese theorems names
+\pretocmd{\theoremnameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\lemmanameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propositionnameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\corollarynameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propertynameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\factnameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conjecturenameJP}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\definitionnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\axiomnameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\assumptionnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conventionnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\hypothesisnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\notationnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\examplenameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\problemnameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\questionnameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\exercisenameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\remarknameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\observationnameJP}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameJP\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\propositionnameJP}
+\expandafter\def\csname definition-theoremnameJP\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\theoremnameJP}
+
+%% Adjust Russian theorems names
+\pretocmd{\theoremnameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\lemmanameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propositionnameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\corollarynameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\propertynameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\factnameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conjecturenameRU}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\definitionnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\axiomnameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\assumptionnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\conventionnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\hypothesisnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\notationnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\examplenameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\problemnameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\questionnameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\exercisenameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\remarknameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\pretocmd{\observationnameRU}{\normalfont\colorist@sffamily\color{black}\conditionalbfseries}{}{\FAIL}
+\expandafter\def\csname definition-propositionnameRU\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{Определение}-\propositionnameRU}
+\expandafter\def\csname definition-theoremnameRU\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{Определение}-\theoremnameRU}
%% Theorem environments
\theoremstyle{basic}
@@ -587,6 +695,7 @@
}{
\newaliascnt{highest}{section}
}
+\if@colorist@nothms\else
\CreateTheorem{theorem}<highest>
\CreateTheorem{lemma}[theorem]
\CreateTheorem{proposition}[theorem]
@@ -629,154 +738,258 @@
\theoremstyle{emphasis}
\CreateTheorem{remark}<highest>
\CreateTheorem*{remark*}
+\CreateTheorem{observation}<highest>
+\CreateTheorem*{observation*}
+\fi
\numberwithin{equation}{highest}
%% Cref label format
-\creflabelformat{theoremEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureEN}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-
-\creflabelformat{theoremFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureFR}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-
-\creflabelformat{theoremDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureDE}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-
-\creflabelformat{theoremCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureCN}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-
-\creflabelformat{theoremTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureTC}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-
-\creflabelformat{theoremJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureJP}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-
-\creflabelformat{theoremRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{lemmaRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propositionRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{corollaryRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{propertyRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{factRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{conjectureRU}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
-\creflabelformat{definitionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{axiomRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{assumptionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{conventionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{hypothesisRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{notationRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
-\creflabelformat{exampleRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{problemRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{questionRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{exerciseRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
-\creflabelformat{definition-theoremRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
-\creflabelformat{definition-propositionRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLtheorem}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLlemma}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLproposition}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLcorollary}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLproperty}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLfact}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{PJLconjecture}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{PJLdefinition}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{PJLaxiom}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLassumption}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{PJLconvention}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{PJLhypothesis}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{PJLnotation}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{PJLexample}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{PJLproblem}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{PJLquestion}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{PJLexercise}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{PJLdefinition-theorem}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{PJLdefinition-proposition}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factEN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureEN}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleEN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemEN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionEN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseEN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factFR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureFR}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleFR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemFR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionFR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseFR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factDE}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureDE}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleDE}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemDE}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionDE}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseDE}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factIT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureIT}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleIT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemIT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionIT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseIT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factPT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjecturePT}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{examplePT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemPT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionPT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exercisePT}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factBR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureBR}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleBR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemBR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionBR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseBR}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factES}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureES}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleES}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemES}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionES}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseES}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factCN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureCN}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleCN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemCN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionCN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseCN}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factTC}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureTC}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleTC}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemTC}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionTC}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseTC}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factJP}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureJP}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleJP}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemJP}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionJP}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseJP}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factRU}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureRU}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleRU}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemRU}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionRU}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseRU}{#2{\normalfont\colorist@sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
%% Icons on the margin
\RequirePackage{marginnote}
\RequirePackage{ifoddpage}
\newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}}
+\AtEndPreamble{ % For puretext mode
\pretocmd{\remark}{%
\if@twoside\checkoddpage%
\ifoddpage\reversemarginpar\fi%
@@ -807,6 +1020,7 @@
\fi%
}\normalmarginpar%
}{}{\FAIL}
+}
\RequirePackage{iftex}
\ifXeTeX
@@ -943,52 +1157,52 @@
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{definition*}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{assumption}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{assumption*}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{convention}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{convention*}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{hypothesis}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{hypothesis*}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{notation}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{notation*}
{enhanced jigsaw,pad at break*=1mm,breakable,
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+ borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{example}
{enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
@@ -1123,7 +1337,7 @@
\renewcommand{\@maketitle}{%
\begin{center}%
\color{maintheme}%
- {\Large\sffamily\scshape\conditionalbfseries\@title}\\\bigskip%
+ {\Large\colorist@sffamily\scshape\conditionalbfseries\@title}\\\bigskip%
\color{black!80!paper}%
{\scshape\@author}\\\smallskip%
{\@date}%
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index f1143d2b36..30042d55b4 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -23,12 +23,12 @@
%
% \changes{v1.20}{2021/01/09}{修改和完善用户文档。}
% \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。}
-% \changes{v1.25t}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
-% \changes{v1.25t}{2021/06/02}{将模块的代码独立出来为 \pkg{easybase} 宏包,适用于 \CTeX 文档类。}
+% \changes{v1.25u}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
+% \changes{v1.25u}{2021/06/02}{将模块的代码独立出来为 \pkg{easybase} 宏包,适用于 \CTeX 文档类。}
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/06/05\hskip\ccwd\relax v1.25t\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/06/06\hskip\ccwd\relax v1.25u\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -134,7 +134,7 @@
% \end{syntax}
% 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。
% \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,不再是自定义字体。}
-% \changes{v1.25t}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
+% \changes{v1.25u}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -157,7 +157,7 @@
% \begin{syntax}
% class = <(book)|article>
% \end{syntax}
-% 设置文类风格,默认为 \opt{book} 文档类。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时设置双栏目录的 \opt{style/multoc} 选项、小节 \ref{subsec:document command} 中打印目录命令的 \opt{multoc} 及 \opt{book} 选项均会失效,会以 \opt{section} 标题级别输出目录。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则 \opt{book} 宏包选项会失效。
+% 设置文类风格,默认为 \cls{book} 文档类。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时设置双栏目录的 \opt{style/multoc} 选项、小节 \ref{subsec:document command} 中打印目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则 \opt{book} 宏包选项会失效。
% \changes{v1.23}{2021/03/16}{增加 article 文章模式,可用于短篇幅的文章。}
% \end{function}
%
@@ -176,7 +176,7 @@
% \end{function}
%
% \subsubsection{目录命令}
-% \begin{function}[added = 2021-02-20,updated = 2021-06-03]{\tableofcontents,\listoffigures,\listoftables,\listoflstlistings}
+% \begin{function}[added = 2021-02-20,updated = 2021-06-06]{\tableofcontents,\listoffigures,\listoftables,\listoflstlistings}
% \begin{syntax}
% \tn{tableofcontents+}\oarg{键值列表}\parg{附加代码}
% \tn{listoffigures*+}\oarg{键值列表}
@@ -184,10 +184,10 @@
% \tn{listoflstlistings*+}\oarg{键值列表}
% \end{syntax}
% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflstlistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入文本和换页命令等。目录的键值列表选项如下
-% \changes{v1.25t}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
+% \changes{v1.25u}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
% \end{function}
%
-% \begin{function}{multoc,columns,title,format,aftertitle,pagestyle,book,article}
+% \begin{function}{multoc,columns,title,format,aftertitle,pagestyle,chapter,section}
% \begin{syntax}
% multoc = <true|(false)>
% columns = <目录栏数|(2)>
@@ -198,10 +198,10 @@
% \end{syntax}
% \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否多栏排版,默认为双栏,可使用 \opt{columns} 更改。\opt{title} 选项用于更改目录的标题,标题之间用一个半角逗号分开,也可以只有一部分,表示中文目录的标题。当设置了英文目录标题时,英文目录标题将会自动加入主文档目录,与 \tn{tableofcontents+} 配合输出。
%
-% 在书籍模式且 \opt{book} 选项开启或者文章模式的情况下,\opt{format} 用于设置目录标题的格式,\opt{aftertitle} 选项的代码将被插入到目录标题内容之后,\opt{pagestyle} 是目录标题所在页的页面格式,除此之外还支持 \opt{ctexset/chapter} 或 \opt{ctexset/section} 所有的章节标题样式选项。\opt{book} 选项使目录标题按照 chapter 级别输出,\opt{article} 选项使目录标题按照 section 级别输出,默认为 chapter 级别。
+% 在书籍模式且 \opt{chapter} 选项开启或者文章模式的情况下,\opt{format} 用于设置目录标题的格式,\opt{aftertitle} 选项的代码将被插入到目录标题内容之后,\opt{pagestyle} 是目录标题所在页的页面格式,除此之外还支持 \opt{ctexset/chapter} 或 \opt{ctexset/section} 所有的章节标题样式选项。\opt{chapter} 选项使目录标题按照 chapter 级别输出,\opt{section} 选项使目录标题按照 section 级别输出,默认为 chapter 级别。
% \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。}
% \changes{v1.24}{2021/04/04}{目录命令的可选参数增加标题键值。}
-% \changes{v1.25t}{2021/06/02}{目录可设置多栏,并在 article 模式仍然生效。}
+% \changes{v1.25u}{2021/06/02}{目录可设置多栏,并在 article 模式仍然生效。}
% \end{function}
%
% \subsubsection{标题命令}
@@ -217,7 +217,7 @@
% 双语目录的标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录,这个功能是为国内一些大学的学位论文模板的要求设计,在一般情况和英文模式下不需要使用。
%
% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下
-% \changes{v1.25t}{2021/05/05}{增加与双语目录配合的标题命令。}
+% \changes{v1.25u}{2021/05/05}{增加与双语目录配合的标题命令。}
% \end{function}
%
% \begin{function}{biname,binmuber}
@@ -317,7 +317,7 @@
% \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
% \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。}
% \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
-% \changes{v1.25t}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。}
+% \changes{v1.25u}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。}
% \end{function}
%
% \begin{optdesc}
@@ -374,7 +374,7 @@
% \ding{229} 以上选项路径为 \opt{subfont/...}
% \changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。}
% \changes{v1.23}{2021/02/08}{修复使用 \tn{zihao} 命令设置字体失效的问题。}
-% \changes{v1.25t}{2021/05/31}{其它字体模块名由 \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
+% \changes{v1.25u}{2021/05/31}{其它字体模块名由 \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
% \end{function}
%
% \begin{optdesc}
@@ -399,7 +399,7 @@
% \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
% \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。}
% \changes{v1.24}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
-% \changes{v1.25t}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。}
+% \changes{v1.25u}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。}
% \end{function}
%
% \begin{optdesc}
@@ -551,7 +551,7 @@
% footnoterule = <脚注横线格式>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{hdrset/...} \\
-% \opt{hdrset} 设置的命令由 \pkg{fancyhdr} 宏包提供支持。设置章节标志选项 \opt{chap-mark}、\opt{sec-mark} 和 \opt{subsec-mark} 时已做了情形考虑,不需要使用 \tn{markboth} 或 \tn{markright} 命令,其中参数 \#1 代表当前章、节或小节的标题。\opt{chap-mark} 和 \opt{sec-mark} 选项在 \opt{book} 模式时有意义,\opt{sec-mark} 和 \opt{subsec-mark} 选项在 \opt{article} 模式时有意义,这与标准文档类的行为一致。也可以直接重新定义这些标志命令,但此时 \opt{style/uppercase} 选项失效,这时可以用例如 \tn{MakeUppercase} 命令来设置标志内容的大小写。
+% \opt{hdrset} 设置的命令由 \pkg{fancyhdr} 宏包提供支持。设置章节标志选项 \opt{chap-mark}、\opt{sec-mark} 和 \opt{subsec-mark} 时已做了情形考虑,不需要使用 \tn{markboth} 或 \tn{markright} 命令,其中参数 \#1 代表当前章、节或小节的标题。\opt{chap-mark} 和 \opt{sec-mark} 选项在 book 模式时有意义,\opt{sec-mark} 和 \opt{subsec-mark} 选项在 article 模式时有意义,这与标准文档类的行为一致。也可以直接重新定义这些标志命令,但此时 \opt{style/uppercase} 选项失效,这时可以用例如 \tn{MakeUppercase} 命令来设置标志内容的大小写。
%
% 标签选项 \opt{chap-label}、\opt{sec-label} 和 \opt{subsec-label} 用于设置标志命令中的标签,包括标题编号和与标题内容之间的距离,它们比标志命令内容的选项更常用,可选参数是编号,必选参数是距离命令
%
@@ -564,7 +564,7 @@
% \changes{v1.21}{2021/01/13}{增加配置页眉页脚的选项。}
% \changes{v1.23}{2021/03/08}{优化页眉页脚设置,增加 \opt{chap-mark} 和 \opt{sec-mark} 标志选项。}
% \changes{v1.23}{2021/03/14}{可以手动绘制页眉、页脚和脚注的横线。}
-% \changes{v1.24}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
+% \changes{v1.24}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 article 模式生效。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot}
@@ -605,7 +605,7 @@
% 上面几个选项用于设置脚注格式,\opt{fnparskip} 和 \opt{fnparindent} 选项仅在 \opt{fnhang = true} 时有效。\opt{fnhang} 用于将脚注设置为悬挂缩进的格式,\opt{fnmark-pos} 选项设置脚注编号的位置,正常文本或是上标形式。\opt{fnmark-num} 选项设置脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括1-10。
%
% \opt{fnmark-form} 是脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。
-% \changes{v1.25t}{2021/05/12}{增加脚注样式设置选项。}
+% \changes{v1.25u}{2021/05/12}{增加脚注样式设置选项。}
% \end{function}
%
% \subsection{目录样式}
@@ -624,7 +624,7 @@
% \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令,带有加号的 \opt{format+} 选项用于在已有的格式命令后附加内容。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
% \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
-% \changes{v1.25t}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
+% \changes{v1.25u}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberLine}
@@ -671,7 +671,7 @@
% \end{function}
%
% \begin{optdesc}
-% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 \opt{article} 模式中此选项失效。
+% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 article 模式中此选项失效。
% \item[belowoffset] \opt{belowoffset} 选项为主文档目录标题下方的间距补偿,一般为负值,用于抵消 \opt{format} 中额外的垂直间距。\opt{(level)} 中的 \opt{belowoffset} 与之意义类似,代表 figure、table 和 lstlisting 三个级别,也可以使用 \opt{list} 统一设置,一般为正值。
% \item[tocline] 目录标签整体使用 \opt{tocline} 设置,在图表标签的参数中 \#1 代表编号,代码标签中则是 \tn{thelstlisting} 代表编号,标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子
% \begin{ctexexam}
@@ -709,7 +709,7 @@
% \tn{end}\marg{环境名}
% \end{syntax}
% \pkg{tabularray} 是一个较新的宏包,不仅提供了 \pkg{tabularx}、\pkg{multirow}、和 \pkg{booktabs} 宏包的功能,并且不依赖其它宏包与它们同时使用不会产生冲突,还实现了用简便的键值列表方式设置表格样式。目前除了表头斜线以及跨页功能存在不足,其它方面已满足对表格绝大多数格式的需求,具体用法可见宏包的说明文档。
-% \changes{v1.25t}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。}
+% \changes{v1.25u}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。}
% \end{function}
%
% \subsection{列表}
@@ -774,20 +774,29 @@
%
% \subsection{习题}
% \label{subsec:exercise}
-% \begin{function}[added = 2021-01-05,updated = 2021-05-21]{exercise}
+% \begin{function}[added = 2021-01-05,updated = 2021-06-06]{exercise}
% \begin{syntax}
-% \tn{begin}\marg{exercise}*+\oarg{颜色名|(LightSkyBlue)}\oarg{编号|(1.)}\parg{标题|(习题)}\oarg{配置选项}\oarg{序言}
+% \tn{begin}\marg{exercise}*+\oarg{键值列表}\parg{键值列表}\oarg{键值列表}
% \ \tn{item} <习题内容>
% \tn{end}\marg{exercise}
% \end{syntax}
-% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题。\meta{颜色名} 选项在使用+号参数时有效,其中颜色为自定义或 \pkg{xcolor} 包含的颜色名称。题目编号格式与小节 \ref{subsec:sort list} 排序列表相同,标题名默认为习题。
-%
-% 配置选项在是否使用+号参数时用法不同,使用+号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用+号参数时相当于设置 \tn{ctexset}\{section = {\#1}\} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。\meta{序言} 选项用于在习题环境开始前插入一段内容,可以是文本或者代码。注意,环境具有相同定界符的可选参数只能\textbf{从右往左}省略,省略的参数使用默认值。
+% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题,并使 \opt{color} 生效。第二个键值列表的选项与小节 \ref{subsec:sort list} 排序列表相同,\opt{number} 的编号格式也是如此。第一个键值列表中包含的选项如下
% \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。}
% \end{function}
%
+% \begin{function}{color,title,number,numsep}
+% \begin{syntax}
+% color = <标题背景颜色名|(LightSkyBlue)>
+% title = <环境标题>
+% number = <习题编号格式|(1.)>
+% numsep = <编号与标题的间距|(0.5\tn{ccwd})>
+% \end{syntax}
+% 第三个键值列表选项在是否使用+号参数时用法不同,使用+号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用+号参数时相当于设置 \tn{ctexset}\{section = {\#1}\} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。另外还可以使用 \tn{exerprologue} 命令在习题环境开始前插入一段内容,可以是文本或者代码,需要在每一个习题环境前使用。
+% \end{function}
+%
% \begin{ctexexam}
-% \begin{exercise}+[LightSkyBlue][1.](习题)
+% \exerprologue{习题前的一段文本}
+% \begin{exercise}+[color = LightSkyBlue][itemsep = 1ex]
% \item 习题内容
% \item 习题内容
% \end{exercise}
@@ -873,7 +882,7 @@
% \tn{qtyrange}\oarg{键值列表}\marg{数字1}\marg{数字2}\marg{单位}
% \end{syntax}
% \pkg{siunitx} 宏包的 \tn{num} 命令可以输出以科学计数法表示的数值,单位格式化命令 \tn{unit} 包含文字项目(例如字母或数字)时,使用 . 和 \~{} 放置在单元乘积中间,并使用 \_ 和 \^{} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。而 \tn{qty} 命令可用来输出带有单位的量,\tn{qtyrange} 可以输出带有范围和单位的量。
-% \changes{v1.25t}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。}
+% \changes{v1.25u}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。}
% \end{function}
%
% \begin{ctexexam}
@@ -1011,7 +1020,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/06/05}{1.25t}{beta}
+\ProvidesExplClass{easybook}{2021/06/06}{1.25u}{beta}
\bool_set_false:N \l__eb_compile_draft_bool
\bool_set_false:N \l__eb_title_newline_bool
@@ -1255,7 +1264,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2021/06/05}{1.25t}{beta}
+\ProvidesExplPackage{easybase}{2021/06/06}{1.25u}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -2036,12 +2045,14 @@
}
\tl_set:Nx \l__eb_toc_type_tl
- { \bool_if:NTF \l__eb_class_book_bool { book } { article } }
+ { \bool_if:NTF \l__eb_class_book_bool { chapter } { section } }
\tl_new:N \eb@bitoc@title
\keys_define:nn { eb/listoc }
{
- article .code:n = \tl_set:Nn \l__eb_toc_type_tl { article },
- book .code:n = { },
+ section .code:n = \tl_set:Nn \l__eb_toc_type_tl { section },
+ chapter .code:n = { },
+ article .meta:n = section,
+ book .meta:n = chapter,
multoc .bool_set:N = \l__eb_multoc_bool,
multoc .default:n = true,
multoc .initial:n = false,
@@ -2083,7 +2094,7 @@
\cs_new_protected:Npn \eb_title_mark_intoc:n #1
{
- \tl_if_eq:NnTF \l__eb_toc_type_tl { book }
+ \tl_if_eq:NnTF \l__eb_toc_type_tl { chapter }
{
\bichapter*{#1}{\eb@bitoc@title}
\eb@nonumber@markdouble{#1}
@@ -2097,7 +2108,7 @@
}
\cs_new_protected:Npn \eb_title_mark_notoc:n #1
{
- \tl_if_eq:NnTF \l__eb_toc_type_tl { book }
+ \tl_if_eq:NnTF \l__eb_toc_type_tl { chapter }
{
\chapter*{\phantomsection #1}
\eb@nonumber@markdouble{#1}
@@ -2113,7 +2124,7 @@
{
\IfBooleanTF{#1}
{
- \tl_if_eq:NnTF \l__eb_toc_type_tl { book }
+ \tl_if_eq:NnTF \l__eb_toc_type_tl { chapter }
{ \bichapter{\eb@toc@title}{\eb@bitoc@title} }
{ \bisection{\eb@toc@title}{\eb@bitoc@title} }
}{
@@ -2201,8 +2212,6 @@
\cs_set_eq:NN \imki@indexlevel \use_none:n
\setkeys{imki}{intoc = false}
\IfValueT{#4}{\keys_set:nn { eb/listoc } {#4}}
- \bool_if:NF \l__eb_class_book_bool
- { \tl_set:Nn \l__eb_toc_type_tl { article } }
\tl_set:Nn \imki@indexheaders
{
\eb_title_number_intoc_bool:nn {#2} {#1}
@@ -2642,6 +2651,17 @@
\ctex_at_end_package:nn { unicode-math }
{ \msg_redirect_module:nnn { unicode-math } { warning } { none } }
+\keys_define:nn { eb/exercise }
+ {
+ color .tl_set:N = \eb@tc@background@color,
+ color .initial:n = LightSkyBlue,
+ number .tl_set:N = \eb@tc@list@number,
+ number .initial:n = { 1. },
+ title .tl_set:N = \eb@tc@exercise@title,
+ title .initial:n = \c__eb_name_exercise_tl,
+ numsep .dim_set:N = \eb@tc@exercise@numsep,
+ numsep .initial:n = 0.5\ccwd
+ }
\ctex_at_end_package:nn { tcolorbox }
{
\eb_package_later_bool:nn { tcolorbox } { 2020/10/09 }
@@ -2680,6 +2700,8 @@
boxrule = \eb@rule@width@dim
}
\newtcbox[auto~counter]{\eb@exercise@box}[1]{tc-exercise,#1}
+ \tl_new:N \eb@list@prologue
+ \cs_new:Npn \exerprologue #1 { \tl_set:Nn \eb@list@prologue {#1} }
\NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b}
{
\begin{tcolorbox}[tc-outline,title = #2,IfValueT = {#3}{#3}]
@@ -2688,34 +2710,49 @@
\end{eb@outline@list}
\end{tcolorbox}
}{}
- \NewDocumentEnvironment{exercise}
- {st+O{LightSkyBlue}O{1.}D(){\c__eb_name_exercise_tl}o+O{}+b}
+ \NewDocumentEnvironment{exercise}{st+od()O{}+b}
{
+ \IfValueT{#3}{ \keys_set:nn { eb/exercise } {#3} }
\IfBooleanTF{#2}
{
\eb@exercise@box
{
- fuzzy~halo = 5pt~with~#3,
- IfValueT = {#6}{#6},
+ fuzzy~halo = 5pt~with~\eb@tc@background@color,
+ IfValueT = {#4}{#4},
phantom =
\IfBooleanF{#1}
{
- \markright{\thetcbcounter\hspace{0.5\ccwd}#5}
+ \markright
+ {
+ \thetcbcounter
+ \hspace{\eb@tc@exercise@numsep}
+ \eb@tc@exercise@title
+ }
\addcontentsline{toc}{section}
- {\thetcbcounter\hspace{\eb@toc@section@numsep}#5}
+ {
+ \thetcbcounter
+ \hspace{\eb@toc@section@numsep}
+ \eb@tc@exercise@title
+ }
}
+ }{
+ \IfBooleanF{#1}{\thetcbcounter\hspace{\eb@tc@exercise@numsep}}
+ \eb@tc@exercise@title
}
- {\IfBooleanF{#1}{\thetcbcounter\hspace{0.5\ccwd}}#5}
}{
\group_begin:
\ctex_set:nn { section } { format += \centering }
- \IfValueT{#6}{\ctex_set:nn { section } {#6}}
- \IfBooleanTF{#1}{\section*{#5}}{\section{#5}}
+ \IfValueT{#4}{\ctex_set:nn { section } {#4}}
+ \IfBooleanTF{#1}
+ {\section*{\eb@tc@exercise@title}}
+ {\section{\eb@tc@exercise@title}}
\group_end:
- }#7
- \begin{enumerate}[#4,labelsep = 0.5\ccwd]
- #8
+ }
+ \tl_if_empty:NF \eb@list@prologue { \eb@list@prologue }
+ \begin{enumerate}[\eb@tc@list@number,labelsep = 0.5\ccwd,#5]
+ #6
\end{enumerate}
+ \tl_gclear:N \eb@list@prologue
}{}
\DeclareTColorBox{easybox}{sO{DarkCyan}d()O{}}
{
@@ -2764,7 +2801,7 @@
{
standard~jigsaw,
nobeforeafter,tcbox~raise~base,
- top = 1.25tt,bottom = 1.25tt,left = 1.25tt,right = 1.25tt,
+ top = 1.25ut,bottom = 1.25ut,left = 1.25ut,right = 1.25ut,
boxrule = 0.75pt,arc = 1pt,
colback = #1,opacityback = 0.12,colframe = #1,#3
}{#2}
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 35cf9e4b5a..599c35aff2 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/README.md b/macros/latex/contrib/minimalist/README.md
index 05a62e0477..7ff27be22e 100644
--- a/macros/latex/contrib/minimalist/README.md
+++ b/macros/latex/contrib/minimalist/README.md
@@ -11,8 +11,8 @@ with a simple and clear design. It mainly consists of two parts.
- `minimbook.cls` : class for typesetting books
They can be used with any major TeX engine. Currently they have native
- support to English, French and German typesetting (more language to be
- added).
+ support to English, French, German, Italian, Portuguese
+ (European and Brazilian) and Spanish typesetting.
- Derivative part (they have separate pages on CTAN):
@@ -21,9 +21,9 @@ with a simple and clear design. It mainly consists of two parts.
They are similar to the main classes, but have unicode support, thus can
only be used with either XeLaTeX or LuaLaTeX. Currently they have native
- support to Chinese (both simplified and traditional), English, French,
- German, Japanese and Russian typesetting (more language to be added), and
- also use more beautiful fonts.
+ support to Chinese (simplified and traditional), English, French, German,
+ Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish
+ typesetting, and also use more beautiful fonts.
# License
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index c89d0a2595..969688dff0 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.pdf
+++ b/macros/latex/contrib/minimalist/minimalist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.tex b/macros/latex/contrib/minimalist/minimalist-doc.tex
index 0b1b537bc8..1ba08ae37f 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -1,5 +1,8 @@
%! TEX program = xelatex
-\documentclass{minimart}
+\documentclass[puretext]{minimart}
+
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
\linenumbers % Enable line numbers
@@ -34,8 +37,8 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,
- color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {linenumbers,nolinenumbers,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -45,25 +48,25 @@
{\ResumeLineNumbers}
%%================================
-%% remind
+%% tip
%%================================
\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
\LocallyStopLineNumbers%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ 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,
- title={\sffamily #1}]%
+ title={\scshape\sffamily #1}]%
}{\end{tcolorbox}\ResumeLineNumbers}
%%================================
@@ -82,15 +85,15 @@
\title{\minimalist{}, write your articles or books in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\minimalist{} 2021/05/23}}
-\date{May 2021, Beijing}
+\thanks{Corresponding to: \texttt{\minimalist{} 2021/06/07}}
+\date{June 2021, Beijing}
\maketitle
\begin{abstract}
\minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. My original intention in designing this series was to write drafts and notes that look simple yet not shabby.
- The entire collection includes \verb|minimalist.sty|, which is the main style shared by all of the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+ The entire collection includes \verb|minimalist.sty|, which is the main style shared by all of the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French, German, Italian, Portuguese (European and Brazilian) and Spanish typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
@@ -100,10 +103,10 @@
\tableofcontents
-\bigskip
-\begin{remind}
+\medskip
+\begin{tip}
Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{remind}
+\end{tip}
\clearpage
\section{Initialization}
@@ -145,12 +148,12 @@ And of course, you can also use the default classes \textsf{article} or \textsf{
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+ \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
\item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
\end{itemize}
-\end{remind}
+\end{tip}
\bigskip
Additionally, \minimart{} and \minimbook{} offers the following options:
@@ -159,41 +162,39 @@ Additionally, \minimart{} and \minimbook{} offers the following options:
\begin{itemize}
\item Optional paper size. The default paper size is 7in $\times$ 10in.
\end{itemize}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+ \begin{itemize}
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \end{itemize}
\end{itemize}
-% \section{On the fonts}
-% By default, \minimart{} and \minimbook{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
-
-% % \begin{itemize}
-% % \item English main font. \textsf{English sans serif font}.
-% % \item 中文主要字体, \textsf{中文无衬线字体}
-% % \item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
-% % \end{itemize}
-% When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
-
-\section{Some instructions}
+\section{Instructions}
Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
\subsection{Language configuration}
-\minimart{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\minimart{} has multi-language support, including English, French, German, Italian, Portuguese (European and Brazilian) and Spanish. The language can be selected by the following macros:
\begin{itemize}
- \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+ \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English'' is selected by default.
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
\end{itemize}
-\meta{language name} can be:
+\meta{language name} can be (it is not case sensitive, for example, \texttt{French} and \texttt{french} have the same effect):
\begin{itemize}
- \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
- \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
- \item English: \texttt{English} or \texttt{english}
- \item French: \texttt{French} or \texttt{french}
- \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
- \item Japanese: \texttt{Japanese} or \texttt{japanese}
- \item Russian: \texttt{Russian} or \texttt{russian}
+ \item Simplified Chinese: \texttt{CN}, \texttt{Chinese}, \texttt{SChinese} or \texttt{SimplifiedChinese}
+ \item Traditional Chinese: \texttt{TC}, \texttt{TChinese} or \texttt{TraditionalChinese}
+ \item English: \texttt{EN} or \texttt{English}
+ \item French: \texttt{FR} or \texttt{French}
+ \item German: \texttt{DE}, \texttt{German} or \texttt{ngerman}
+ \item Italian: \texttt{IT} or \texttt{Italian}
+ \item Portuguese: \texttt{PT} or \texttt{Portuguese}
+ \item Portuguese (Brazilian): \texttt{BR} or \texttt{Brazilian}
+ \item Spanish: \texttt{ES} or \texttt{Spanish}
+ \item Japanese: \texttt{JP} or \texttt{Japanese}
+ \item Russian: \texttt{RU} or \texttt{Russian}
\end{itemize}
\medskip
@@ -213,14 +214,14 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly.
+Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly.
More specifically, preset environments include:
-\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
-\begin{remind}[Example]
+\begin{tip}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
@@ -240,27 +241,20 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
\UseLanguage{English}
\subsection{Define a new theorem-like environment}
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
-% \vspace{-.5\baselineskip}
-\begin{longtable}{ll|ll}
- \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
- \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
- \texttt{EN} & English & \texttt{RU} & Russian\\
- \texttt{FR} & French & &\\
-\end{longtable}
-
-\vspace{-.5\baselineskip}
-\begin{remind}
- If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+ \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
+\medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -275,9 +269,10 @@ And then define this environment in one of following five ways:
\begin{itemize}
\item Define a numbered environment \meta{name of environment}, which shares the counter \meta{numbered like}
\end{itemize}
+ \clearpage
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
- \item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within}
+ \item Define a numbered environment \meta{name of environment}, numbered within the counter \meta{numbered within}
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\
\lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|
@@ -285,17 +280,18 @@ And then define this environment in one of following five ways:
\item Identify \meta{name of environment} with \meta{existed environment} or \meta{existed environment}\lstinline|*|.
\item This method is usually useful in the following two situations:
\begin{enumerate}
- \item To use a more concise name. For example, with \lstinline|\CreateTheorem{thm}|\\\lstinline|(theorem)|, one can then use the name \texttt{thm} to write theorem.
- \item To remove the numbering. For example, one can remove the numbering of the \texttt{remark} environment with \lstinline|\CreateTheorem{remark}(remark*)|.
+ \item To use a more concise name. For example, with \lstinline|\CreateTheorem{thm}(theorem)|, one can then use the name \texttt{thm} to write theorem.
+ \item To remove the numbering of some environments. For example, one can remove the numbering of the \texttt{remark} environment with \lstinline|\CreateTheorem{remark}(remark*)|.
\end{enumerate}
\end{itemize}
\end{itemize}
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
@@ -303,7 +299,7 @@ And then define this environment in one of following five ways:
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
@@ -338,7 +334,7 @@ Therefore, the title part can either be written in the usual way, in accordance
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -354,6 +350,7 @@ or written in the way of \AmS{} classes:
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
@@ -397,7 +394,7 @@ This is a disadvantage brought about by the underline decoration of the title.
\begin{itemize}[itemsep=.6em]
\item The font settings are still not perfect.
- \item Since many features are based on the \ProjLib{} toolkit, \minimalist{} (and hence \minimart{} and \minimbook{}) inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation.
+ \item Since many features are based on the \ProjLib{} toolkit, \minimalist{} (and hence \minimart{} and \minimbook{}) inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
\item There are still many things that can be optimized in the code.
\end{itemize}
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 12a4b33407..11d2e62035 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesPackage{minimalist}
- [2021/05/23 A simple and clear style for articles and books]
+ [2021/06/07 A simple and clear style for articles and books]
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
@@ -26,6 +26,8 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{puretext}
+\DeclareBoolOption[false]{nothms}
\DeclareBoolOption[false]{allowbf}
\DeclareBoolOption[false]{classical}
\ProcessKeyvalOptions*\relax
@@ -33,6 +35,9 @@
\if@minimalist@draft
\@minimalist@fasttrue
\fi
+\if@minimalist@puretext
+ \@minimalist@nothmstrue
+\fi
\if@minimalist@allowbf
\newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!83!paper}}
@@ -41,7 +46,7 @@
\fi
\newif\ifIsBook
-\ifdefined\chapter\IsBooktrue\else\IsBookfalse\fi
+\ifdefined\c@chapter\IsBooktrue\else\IsBookfalse\fi
%%================================
%% Title fonts
@@ -471,6 +476,7 @@
{\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}}}
\fi
\else
+\def\simpleqed{\hfill\makebox[1em]{\rlap{\textcolor{gray!25!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
\newtheoremstyle{simple}%
{}{}%
{\normalfont}{}%
@@ -478,7 +484,7 @@
{0pt}%
{{\conditionalbfseries\thmname{#1}\thmnumber{ #2}}\hspace{.4em}%
\textcolor{gray!55!paper}{$|$}\hspace{.4em}%
- \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}}
+ \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\simpleqed}}
\def\@endtheorem{\popQED\endtrivlist\@endpefalse }
\fi
@@ -495,67 +501,155 @@
\RequirePackage{hyperref}
\fi
-\RequirePackage[nothms]{PJLthm}
-
-%% Redefine English theorems names
-\def\theoremnameEN{\textsc{Theorem}}
-\def\lemmanameEN{\textsc{Lemma}}
-\def\propositionnameEN{\textsc{Proposition}}
-\def\corollarynameEN{\textsc{Corollary}}
-\def\propertynameEN{\textsc{Property}}
-\def\factnameEN{\textsc{Fact}}
-\def\conjecturenameEN{\textsc{Conjecture}}
-\def\definitionnameEN{\textsc{Definition}}
-\def\axiomnameEN{\textsc{Axiom}}
-\def\assumptionnameEN{\textsc{Assumption}}
-\def\conventionnameEN{\textsc{Convention}}
-\def\hypothesisnameEN{\textsc{Hypothesis}}
-\def\notationnameEN{\textsc{Notation}}
-\def\examplenameEN{\textsc{Example}}
-\def\problemnameEN{\textsc{Problem}}
-\def\questionnameEN{\textsc{Question}}
-\def\exercisenameEN{\textsc{Exercise}}
-\def\remarknameEN{\textsc{Remark}}
-
-%% Redefine French theorems names
-\def\theoremnameFR{\textsc{Théorème}}
-\def\lemmanameFR{\textsc{Lemme}}
-\def\propositionnameFR{\textsc{Proposition}}
-\def\corollarynameFR{\textsc{Corollaire}}
-\def\propertynameFR{\textsc{Propriété}}
-\def\factnameFR{\textsc{Fait}}
-\def\conjecturenameFR{\textsc{Conjecture}}
-\def\definitionnameFR{\textsc{Définition}}
-\def\axiomnameFR{\textsc{Axiome}}
-\def\assumptionnameFR{\textsc{Supposition}}
-\def\conventionnameFR{\textsc{Convention}}
-\def\hypothesisnameFR{\textsc{Hypothèse}}
-\def\notationnameFR{\textsc{Notation}}
-\def\examplenameFR{\textsc{Exemple}}
-\def\problemnameFR{\textsc{Problème}}
-\def\questionnameFR{\textsc{Question}}
-\def\exercisenameFR{\textsc{Exercice}}
-\def\remarknameFR{\textsc{Remarque}}
-
-%% Redefine German theorems names
-\def\theoremnameDE{\textsc{Satz}}
-\def\lemmanameDE{\textsc{Lemma}}
-\def\propositionnameDE{\textsc{Proposition}}
-\def\corollarynameDE{\textsc{Korollar}}
-\def\propertynameDE{\textsc{Eigenschaft}}
-\def\factnameDE{\textsc{Fakt}}
-\def\conjecturenameDE{\textsc{Vermutung}}
-\def\definitionnameDE{\textsc{Definition}}
-\def\axiomnameDE{\textsc{Axiom}}
-\def\assumptionnameDE{\textsc{Annahme}}
-\def\conventionnameDE{\textsc{Konvention}}
-\def\hypothesisnameDE{\textsc{Hypothese}}
-\def\notationnameDE{\textsc{Notation}}
-\def\examplenameDE{\textsc{Beispiel}}
-\def\problemnameDE{\textsc{Problem}}
-\def\questionnameDE{\textsc{Frage}}
-\def\exercisenameDE{\textsc{Übung}}
-\def\remarknameDE{\textsc{Bemerkung}}
+\PassOptionsToPackage{nothms}{PJLthm}
+\RequirePackage{PJLthm}
+
+%% Adjust English theorems names
+\pretocmd{\theoremnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanameEN}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynameEN}{\textsc}{}{\FAIL}
+\pretocmd{\propertynameEN}{\textsc}{}{\FAIL}
+\pretocmd{\factnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenameEN}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\notationnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\examplenameEN}{\textsc}{}{\FAIL}
+\pretocmd{\problemnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\questionnameEN}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenameEN}{\textsc}{}{\FAIL}
+\pretocmd{\remarknameEN}{\textsc}{}{\FAIL}
+\pretocmd{\observationnameEN}{\textsc}{}{\FAIL}
+
+%% Adjust French theorems names
+\pretocmd{\theoremnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanameFR}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynameFR}{\textsc}{}{\FAIL}
+\pretocmd{\propertynameFR}{\textsc}{}{\FAIL}
+\pretocmd{\factnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenameFR}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\notationnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\examplenameFR}{\textsc}{}{\FAIL}
+\pretocmd{\problemnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\questionnameFR}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenameFR}{\textsc}{}{\FAIL}
+\pretocmd{\remarknameFR}{\textsc}{}{\FAIL}
+\pretocmd{\observationnameFR}{\textsc}{}{\FAIL}
+
+%% Adjust German theorems names
+\pretocmd{\theoremnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanameDE}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynameDE}{\textsc}{}{\FAIL}
+\pretocmd{\propertynameDE}{\textsc}{}{\FAIL}
+\pretocmd{\factnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenameDE}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\notationnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\examplenameDE}{\textsc}{}{\FAIL}
+\pretocmd{\problemnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\questionnameDE}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenameDE}{\textsc}{}{\FAIL}
+\pretocmd{\remarknameDE}{\textsc}{}{\FAIL}
+\pretocmd{\observationnameDE}{\textsc}{}{\FAIL}
+
+%% Adjust Italian theorems names
+\pretocmd{\theoremnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanameIT}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynameIT}{\textsc}{}{\FAIL}
+\pretocmd{\propertynameIT}{\textsc}{}{\FAIL}
+\pretocmd{\factnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenameIT}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\notationnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\examplenameIT}{\textsc}{}{\FAIL}
+\pretocmd{\problemnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\questionnameIT}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenameIT}{\textsc}{}{\FAIL}
+\pretocmd{\remarknameIT}{\textsc}{}{\FAIL}
+\pretocmd{\observationnameIT}{\textsc}{}{\FAIL}
+
+%% Adjust Portuguese theorems names
+\pretocmd{\theoremnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanamePT}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynamePT}{\textsc}{}{\FAIL}
+\pretocmd{\propertynamePT}{\textsc}{}{\FAIL}
+\pretocmd{\factnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenamePT}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\notationnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\examplenamePT}{\textsc}{}{\FAIL}
+\pretocmd{\problemnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\questionnamePT}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenamePT}{\textsc}{}{\FAIL}
+\pretocmd{\remarknamePT}{\textsc}{}{\FAIL}
+\pretocmd{\observationnamePT}{\textsc}{}{\FAIL}
+
+%% Adjust Brazilian theorems names
+\pretocmd{\theoremnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanameBR}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynameBR}{\textsc}{}{\FAIL}
+\pretocmd{\propertynameBR}{\textsc}{}{\FAIL}
+\pretocmd{\factnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenameBR}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\notationnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\examplenameBR}{\textsc}{}{\FAIL}
+\pretocmd{\problemnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\questionnameBR}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenameBR}{\textsc}{}{\FAIL}
+\pretocmd{\remarknameBR}{\textsc}{}{\FAIL}
+\pretocmd{\observationnameBR}{\textsc}{}{\FAIL}
+
+%% Adjust Spanish theorems names
+\pretocmd{\theoremnameES}{\textsc}{}{\FAIL}
+\pretocmd{\lemmanameES}{\textsc}{}{\FAIL}
+\pretocmd{\propositionnameES}{\textsc}{}{\FAIL}
+\pretocmd{\corollarynameES}{\textsc}{}{\FAIL}
+\pretocmd{\propertynameES}{\textsc}{}{\FAIL}
+\pretocmd{\factnameES}{\textsc}{}{\FAIL}
+\pretocmd{\conjecturenameES}{\textsc}{}{\FAIL}
+\pretocmd{\definitionnameES}{\textsc}{}{\FAIL}
+\pretocmd{\axiomnameES}{\textsc}{}{\FAIL}
+\pretocmd{\assumptionnameES}{\textsc}{}{\FAIL}
+\pretocmd{\conventionnameES}{\textsc}{}{\FAIL}
+\pretocmd{\hypothesisnameES}{\textsc}{}{\FAIL}
+\pretocmd{\notationnameES}{\textsc}{}{\FAIL}
+\pretocmd{\examplenameES}{\textsc}{}{\FAIL}
+\pretocmd{\problemnameES}{\textsc}{}{\FAIL}
+\pretocmd{\questionnameES}{\textsc}{}{\FAIL}
+\pretocmd{\exercisenameES}{\textsc}{}{\FAIL}
+\pretocmd{\remarknameES}{\textsc}{}{\FAIL}
+\pretocmd{\observationnameES}{\textsc}{}{\FAIL}
%% Theorem environments
\theoremstyle{simple}
@@ -564,6 +658,7 @@
}{
\newaliascnt{highest}{section}
}
+\if@minimalist@nothms\else
\CreateTheorem{theorem}<highest>
\CreateTheorem{lemma}[theorem]
\CreateTheorem{proposition}[theorem]
@@ -604,6 +699,9 @@
\CreateTheorem*{exercise*}
\CreateTheorem{remark}<highest>
\CreateTheorem*{remark*}
+\CreateTheorem{observation}<highest>
+\CreateTheorem*{observation*}
+\fi
\setlength{\parindent}{2em}
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index 9b19f187b1..cf4f084590 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{minimart}
- [2021/05/23 A simple and clear article style]
+ [2021/06/07 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -28,6 +28,11 @@
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{classical}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
@@ -40,6 +45,18 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
+\if@minimclass@palatino
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@times
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@garamond
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@biolinum
+ \@minimclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -93,13 +110,63 @@
\RequirePackage[T1]{fontenc}
\RequirePackage{inputenc}
\fi
+\if@minimclass@customfont\else
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\fi
\RequirePackage{amssymb}
+\if@minimclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@minimclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
+
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index b998e53dd7..ec1c656a15 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{minimbook}
- [2021/05/23 A simple and clear book style]
+ [2021/06/07 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -28,6 +28,11 @@
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{classical}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
@@ -40,6 +45,18 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
+\if@minimclass@palatino
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@times
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@garamond
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@biolinum
+ \@minimclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -93,13 +110,63 @@
\RequirePackage[T1]{fontenc}
\RequirePackage{inputenc}
\fi
+\if@minimclass@customfont\else
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\fi
\RequirePackage{amssymb}
+\if@minimclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@minimclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
+
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
index 5de46fbd21..0e513e7abd 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.tex b/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
index 32adbf5a85..dfc162bea3 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
+++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[allowbf]{lebhart}
+\documentclass[allowbf,regionalref]{lebhart}
%%================================
%% 引入工具集
@@ -39,23 +39,23 @@
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
%%================================
-%% remind
+%% tip
%%================================
-\newenvironment{remind}[1][提示]{%
+\newenvironment{tip}[1][提示]{%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ 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,
- title={\sffamily #1}]%
+ title={\scshape\sffamily #1}]%
}{\end{tcolorbox}}
%%================================
@@ -78,8 +78,8 @@
\title{\ProjLib{} 工具集\\[.3\baselineskip]\normalsize 使用指南}
\author{许锦文}
-\thanks{对应版本.~~\texttt{\ProjLib{}~2021/05/25}}
-\date{2021年5月,北京}
+\thanks{对应版本.~~\texttt{\ProjLib{}~2021/06/07}}
+\date{2021年6月,北京}
\maketitle
@@ -99,9 +99,9 @@
\usepackage{PJLtoolkit}
\end{code}
-\begin{remind}[注意事项]
+\begin{tip}[注意事项]
由于其内部使用了 \textsf{cleveref},\PJLtoolkit{} 需要放在 \textsf{varioref}、\textsf{hyperref} 的后面。
-\end{remind}
+\end{tip}
\medskip
\subsection{选项}
@@ -162,14 +162,14 @@
\subsection{PJLdate}
-\PJLdatestr{} 提供了 \lstinline|\PJLdate|\meta{yyyy-mm-dd} 命令,以将 \meta{yyyy-mm-dd} 转换为对应语言的日期格式显示。例如,在当前的中文语境下,\lstinline|\PJLdate{2022-04-01}| 会被显示为:\PJLdate{2022-04-01}。
+\PJLdatestr{} 提供了 \lstinline|\PJLdate|\meta{yyyy-mm-dd} 命令,以将 \meta{yyyy-mm-dd} 转换为当前语言的日期格式显示。例如,在当前的中文语境下,\lstinline|\PJLdate{2022-04-01}| 会被显示为“\PJLdate{2022-04-01}”,而在英文语境下则会被显示为“\UseOtherLanguage{English}{\PJLdate{2022-04-01}}”。
关于如何选定语言,请参阅关于 \PJLlang{} 的小节。
\subsection{PJLdraft}
\PJLdraft{} 提供了下列命令:
-\begin{itemize}
+\begin{itemize}\setstretch{1.15}
\item \lstinline|\dnf| 或 \lstinline|\dnf<...>|。效果为:\dnf~或 \dnf<...>。\\其提示文字与当前语言相对应,例如,在法语模式下将会显示为 \UseOtherLanguage{French}{\dnf}。
\item \lstinline|\needgraph| 或 \lstinline|\needgraph<...>|。效果为:\needgraph~或 \needgraph<...>其提示文字与当前语言相对应,例如,在法语模式下将会显示为 \UseOtherLanguage{French}{\needgraph}
\end{itemize}
@@ -191,14 +191,18 @@
\end{itemize}
\meta{language name} 有下列选择 (不区分大小写,如 \texttt{French} 或 \texttt{french} 均可):
-\begin{itemize}
+\begin{itemize}\setstretch{1.15}
\item 简体中文:\texttt{CN}、\texttt{Chinese}、\texttt{SChinese} 或 \texttt{SimplifiedChinese}
\item 繁体中文:\texttt{TC}、\texttt{TChinese} 或 \texttt{TraditionalChinese}
- \item 英文:\texttt{EN} 或 \texttt{English}
- \item 法文:\texttt{FR} 或 \texttt{French}
- \item 德文:\texttt{DE}、\texttt{German} 或 \texttt{ngerman}
- \item 日文:\texttt{JP} 或 \texttt{Japanese}
- \item 俄文:\texttt{RU} 或 \texttt{Russian}
+ \item 英语:\texttt{EN} 或 \texttt{English}
+ \item 法语:\texttt{FR} 或 \texttt{French}
+ \item 德语:\texttt{DE}、\texttt{German} 或 \texttt{ngerman}
+ \item 意大利语:\texttt{IT} 或 \texttt{Italian}
+ \item 葡萄牙语:\texttt{PT} 或 \texttt{Portuguese}
+ \item 巴西葡萄牙语:\texttt{BR} 或 \texttt{Brazilian}
+ \item 西班牙语:\texttt{ES} 或 \texttt{Spanish}
+ \item 日语:\texttt{JP} 或 \texttt{Japanese}
+ \item 俄语:\texttt{RU} 或 \texttt{Russian}
\end{itemize}
另外,还可以通过下面的方式来填加相应语言的设置:
@@ -229,18 +233,23 @@
% \item \lstinline|\huge|:\quad {\huge\ProjLib}
% \item \lstinline|\Huge|:\quad {\Huge\ProjLib}
% \end{itemize}
-% \vspace{-0.5\baselineskip}
-\begin{longtable}{ll}
- \lstinline|\tiny|:& {\tiny\ProjLib}\\
- \lstinline|\scriptsize|:& {\scriptsize\ProjLib}\\
- \lstinline|\footnotesize|:& {\footnotesize\ProjLib}\\
- \lstinline|\normalsize|:& {\normalsize\ProjLib}\\
- \lstinline|\large|:& {\large\ProjLib}\\
- \lstinline|\Large|:& {\Large\ProjLib}\\
- \lstinline|\LARGE|:& {\LARGE\ProjLib}\\
- \lstinline|\huge|:& {\huge\ProjLib}\\
- \lstinline|\Huge|:& {\Huge\ProjLib}
-\end{longtable}
+
+\vspace{-0.5\baselineskip}
+% \begin{longtable}{ll}
+\begin{center}
+ \begin{tabular}{ll}
+ \lstinline|\tiny|:& {\tiny\ProjLib}\\
+ \lstinline|\scriptsize|:& {\scriptsize\ProjLib}\\
+ \lstinline|\footnotesize|:& {\footnotesize\ProjLib}\\
+ \lstinline|\normalsize|:& {\normalsize\ProjLib}\\
+ \lstinline|\large|:& {\large\ProjLib}\\
+ \lstinline|\Large|:& {\Large\ProjLib}\\
+ \lstinline|\LARGE|:& {\LARGE\ProjLib}\\
+ \lstinline|\huge|:& {\huge\ProjLib}\\
+ \lstinline|\Huge|:& {\Huge\ProjLib}
+ \end{tabular}
+\end{center}
+% \end{longtable}
\subsection{PJLpaper}
@@ -277,11 +286,11 @@
\end{itemize}
\end{itemize}
-预设的定理类环境包括:\texttt{assumption}、\texttt{axiom}、\texttt{conjecture}、\texttt{convention}、\texttt{corollary}、\texttt{definition}、\texttt{definition-proposition}、\texttt{definition-theorem}、\texttt{example}、\texttt{exercise}、\texttt{fact}、\texttt{hypothesis}、\texttt{lemma}、\texttt{notation}、\texttt{problem}、\texttt{property}、\texttt{proposition}、\texttt{question}、\texttt{remark}、\texttt{theorem},以及相应的带有星号 \lstinline|*| 的无编号版本。这些定理类环境在显示时会依据当前语言而相应变化,例如在中文模式下 \texttt{theorem} 会显示为“定理”,而在英文模式下则会显示为“Theorem”。关于如何选定语言,请参阅关于 \PJLlang{} 的小节。
+预设的定理类环境包括:\texttt{assumption}、\texttt{axiom}、\texttt{conjecture}、\texttt{convention}、\texttt{corollary}、\texttt{definition}、\texttt{definition-proposition}、\texttt{definition-theorem}、\texttt{example}、\texttt{exercise}、\texttt{fact}、\texttt{hypothesis}、\texttt{lemma}、\texttt{notation}、\texttt{observation}、\texttt{problem}、\texttt{property}、\texttt{proposition}、\texttt{question}、\texttt{remark}、\texttt{theorem},以及相应带有星号 \lstinline|*| 的无编号版本。它们在显示时会依据当前语言而变化,例如在中文语境下 \texttt{theorem} 会显示为“定理”,而在英文语境下则会显示为“Theorem”。关于如何选定语言,请参阅关于 \PJLlang{} 的小节。
-\begin{remind}
+\begin{tip}
在引用定理类环境时,建议使用智能引用 \lstinline|\cref{|\meta{label}\lstinline|}|。这样就不必每次都写上相应环境的名称了。
-\end{remind}
+\end{tip}
\medskip
% 若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称 \lstinline|\|\meta{name of environment}\meta{language abbr},其中 \meta{language abbr} 是语言的简写,分别为:
@@ -292,9 +301,9 @@
% \texttt{FR} & 法文 & &\\
% \end{longtable}
-% \begin{remind}
+% \begin{tip}
% 如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。
-% \end{remind}
+% \end{tip}
若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
\vspace{-.15\baselineskip}%
\begin{itemize}
@@ -334,9 +343,9 @@
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
其内部使用了 \textsf{amsthm},因此传统的 \texttt{theoremstyle} 对其也是适用的,只需在相关定义前标明即可。
-\end{remind}
+\end{tip}
% \def\proofideanameCN{思路}
\NameTheorem[CN]{proofidea}{思路}
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
index d040c9b903..cce553440a 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-en.tex b/macros/latex/contrib/projlib/ProjLib-doc-en.tex
index dd1cff3759..4cbffde7fa 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-en.tex
+++ b/macros/latex/contrib/projlib/ProjLib-doc-en.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[allowbf]{lebhart}
+\documentclass[allowbf,regionalref]{lebhart}
%%================================
%% Import toolkit
@@ -37,17 +37,17 @@
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
%%================================
-%% remind
+%% tip
%%================================
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ 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,
@@ -74,10 +74,10 @@
%%================================
\begin{document}
-\title{\ProjLib{}~~Toolkit\\[.3\baselineskip]\normalsize User Manual}
+\title{\ProjLib{}~\,Toolkit\\[.3\baselineskip]\normalsize User Manual}
\author{Jinwen Xu}
-\thanks{Corresponding to: \texttt{\ProjLib{}~2021/05/25}}
-\date{May 2021, Beijing}
+\thanks{Corresponding to: \texttt{\ProjLib{}~2021/06/07}}
+\date{June 2021, Beijing}
\maketitle
@@ -97,9 +97,9 @@ Just add the following line to your preamble:
\usepackage{PJLtoolkit}
\end{code}
-\begin{remind}[Attention]
+\begin{tip}[Attention]
Since \textsf{cleveref} is used internally, \PJLtoolkit{} needs to be placed after \textsf{varioref} and \textsf{hyperref}.
-\end{remind}
+\end{tip}
\medskip
\subsection{Options}
@@ -160,7 +160,7 @@ The mutual order of \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\
\subsection{PJLdate}
-\PJLdatestr{} offers the \lstinline|\PJLdate|\meta{yyyy-mm-dd} macro to convert \meta{yyyy-mm-dd} into the date format of the currently selected language. For example, in current English context, \lstinline|\PJLdate{2022-04-01}| would become: \PJLdate{2022-04-01}.
+\PJLdatestr{} offers the \lstinline|\PJLdate|\meta{yyyy-mm-dd} macro to convert \meta{yyyy-mm-dd} into the date format of the currently selected language. For example, in current English context, \lstinline|\PJLdate{2022-04-01}| would become ``\PJLdate{2022-04-01}'', while in French context as ``\UseOtherLanguage{French}{\PJLdate{2022-04-01}}''.
For details on how to select a language, please refer to the section on \PJLlang{}.
@@ -190,11 +190,15 @@ For details on how to select a language, please refer to the section on \PJLlang
\item English: \texttt{EN} or \texttt{English}
\item French: \texttt{FR} or \texttt{French}
\item German: \texttt{DE}, \texttt{German} or \texttt{ngerman}
+ \item Italian: \texttt{IT} or \texttt{Italian}
+ \item Portuguese: \texttt{PT} or \texttt{Portuguese}
+ \item Portuguese (Brazilian): \texttt{BR} or \texttt{Brazilian}
+ \item Spanish: \texttt{ES} or \texttt{Spanish}
\item Japanese: \texttt{JP} or \texttt{Japanese}
\item Russian: \texttt{RU} or \texttt{Russian}
\end{itemize}
-\medskip
+% \medskip
In addition, you can also add new settings to selected language:
\begin{itemize}
\item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}|
@@ -223,24 +227,30 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
% \item \lstinline|\huge|:\quad {\huge\ProjLib}
% \item \lstinline|\Huge|:\quad {\Huge\ProjLib}
% \end{itemize}
-\bigskip
-\begin{longtable}{ll}
- \lstinline|\tiny|:& {\tiny\ProjLib}\\
- \lstinline|\scriptsize|:& {\scriptsize\ProjLib}\\
- \lstinline|\footnotesize|:& {\footnotesize\ProjLib}\\
- \lstinline|\normalsize|:& {\normalsize\ProjLib}\\
- \lstinline|\large|:& {\large\ProjLib}\\
- \lstinline|\Large|:& {\Large\ProjLib}\\
- \lstinline|\LARGE|:& {\LARGE\ProjLib}\\
- \lstinline|\huge|:& {\huge\ProjLib}\\
- \lstinline|\Huge|:& {\Huge\ProjLib}
-\end{longtable}
+% \bigskip
+
+% \begin{longtable}{ll}
+\begin{center}
+ \begin{tabular}{ll}
+ \lstinline|\tiny|:& {\tiny\ProjLib}\\
+ \lstinline|\scriptsize|:& {\scriptsize\ProjLib}\\
+ \lstinline|\footnotesize|:& {\footnotesize\ProjLib}\\
+ \lstinline|\normalsize|:& {\normalsize\ProjLib}\\
+ \lstinline|\large|:& {\large\ProjLib}\\
+ \lstinline|\Large|:& {\Large\ProjLib}\\
+ \lstinline|\LARGE|:& {\LARGE\ProjLib}\\
+ \lstinline|\huge|:& {\huge\ProjLib}\\
+ \lstinline|\Huge|:& {\Huge\ProjLib}
+ \end{tabular}
+\end{center}
+% \end{longtable}
\clearpage
\subsection{PJLpaper}
\PJLpaper{} is mainly used to adjust the paper color. It has the following options:
+\vspace{-.3\baselineskip}
\begin{itemize}
\item \texttt{paperstyle = \meta{paper style name}}
\begin{itemize}
@@ -248,20 +258,22 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\end{itemize}
\item \texttt{yellowpaper}, \texttt{darkpaper}, \texttt{nordpaper}
\begin{itemize}
- \item Set the paper color style. The effect is the same as \texttt{paperstyle} with the corresponding \meta{paper style name} specified.
+ \item Same as \texttt{paperstyle} with the corresponding \meta{paper style name} specified.
\end{itemize}
\item \texttt{preview}
\begin{itemize}
\item Preview mode. Crop the white edges of pdf file for the convenience of reading.
\end{itemize}
\end{itemize}
+\vspace{-.3\baselineskip}
-It is recommended to pass these options as global options of the document class. In this way, the paper settings would be clear at a glance.
+It is recommended to use them as global options of the document class. In this way, the paper settings would be clear at a glance.
\subsection{PJLthm}
\PJLthm{} offers the configuration of theorem-like environments. It has the following option:
+\vspace{-.3\baselineskip}
\begin{itemize}
\item \texttt{nothms}
\begin{itemize}
@@ -273,11 +285,11 @@ It is recommended to pass these options as global options of the document class.
\end{itemize}
\end{itemize}
-Preset environments include: \texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, ~~\texttt{definition-theorem}, ~~\texttt{example}, ~~\texttt{exercise}, ~~\texttt{fact}, ~~\texttt{hypothesis}, ~~\texttt{lemma}, \\\texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode. For details on how to select a language, please refer to the section on \PJLlang{}.
+Preset environments include: \texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, ~~\texttt{definition-theorem}, ~~\texttt{example}, ~~\texttt{exercise}, ~~\texttt{fact}, ~~\texttt{hypothesis}, ~~\texttt{lemma}, \\\texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode. For details on how to select a language, please refer to the section on \PJLlang{}.
-\begin{remind}
- When referencing a theorem-like environment, it is recommended to use smart reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
-\end{remind}
+\begin{tip}
+ When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+\end{tip}
\medskip
% If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
@@ -289,18 +301,18 @@ Preset environments include: \texttt{assumption}, \texttt{axiom}, \texttt{conjec
% \texttt{FR} & French & &\\
% \end{longtable}
-% \begin{remind}
+% \begin{tip}
% If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-% \end{remind}
+% \end{tip}
If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
\begin{itemize}
\item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
\end{itemize}
For \meta{language name}, please refer to the section on \PJLlang{}. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
-
-\clearpage% \medskip
+\medskip
And then define this environment in one of following five ways:
+\vspace{-.3\baselineskip}
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
\begin{itemize}
@@ -330,9 +342,9 @@ And then define this environment in one of following five ways:
\end{itemize}
\end{itemize}
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
% \def\proofideanameEN{Idea}
\NameTheorem[EN]{proofidea}{Idea}
@@ -361,13 +373,13 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
\section{Known issues}
\begin{itemize}[itemsep=.6em]
- \item \PJLauthor{} is still in its preliminary stage, and thus its effect is still not as good as the relatively mature \textsf{authblk} in some aspects.
+ \item \PJLauthor{} is still in its preliminary stage, its effect is not as good as the relatively mature \textsf{authblk}.
\item \PJLlang{}: It is still quite problematic with the configuration of \textsf{polyglossia}, so main features are implemented through \textsf{babel} for now.
\item \PJLpaper{}: the \texttt{preview} option is mainly implemented with the help of package \textsf{geometry}, so it does not work quite as well in the \textsc{\textsf{Koma}} document classes.
\item \PJLthm{}: The numbering and theorem-style settings of the theorem-like environments cannot be accessed by the user at present.
\item \PJLthm{}: The localization of \textsf{cleveref} is not yet complete for all supported languages of \PJLlang{}, especially for Chinese, Japanese and Russian.
- \item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
- \item There are still many things that can be optimized in the code. Some takes too long to run, especially the definition of theorem-like environments in \PJLthm{}.
+ \item Error handling mechanism is incomplete: no corresponding error prompt when some problems occur.
+ \item There are still many things that can be optimized in the code. Some takes too long to run, especially the setup of theorem-like environments in \PJLthm{}.
\end{itemize}
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index de0b0f23b7..5abd7bf8b5 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -18,47 +18,47 @@
%
%<*PJLamssim>
\ProvidesPackage{PJLamssim}
- [2021/05/25 Simulate some features of amsart]
+ [2021/06/07 Simulate some features of amsart]
%</PJLamssim>
%
%<*PJLauthor>
\ProvidesPackage{PJLauthor}
- [2021/05/25 Enhanced author information block]
+ [2021/06/07 Enhanced author information block]
%</PJLauthor>
%
%<*PJLdate>
\ProvidesPackage{PJLdate}
- [2021/05/25 Convert yyyy-mm-dd to normal datetime format]
+ [2021/06/07 Convert yyyy-mm-dd to normal datetime format]
%</PJLdate>
%
%<*PJLdraft>
\ProvidesPackage{PJLdraft}
- [2021/05/25 Some useful macros for the draft stage]
+ [2021/06/07 Some useful macros for the draft stage]
%</PJLdraft>
%
%<*PJLlang>
\ProvidesPackage{PJLlang}
- [2021/05/25 Multi-language configuration]
+ [2021/06/07 Multi-language configuration]
%</PJLlang>
%
%<*PJLlogo>
\ProvidesPackage{PJLlogo}
- [2021/05/25 The ProjLib logo]
+ [2021/06/07 The ProjLib logo]
%</PJLlogo>
%
%<*PJLpaper>
\ProvidesPackage{PJLpaper}
- [2021/05/25 Paper style configuration]
+ [2021/06/07 Paper style configuration]
%</PJLpaper>
%
%<*PJLthm>
\ProvidesPackage{PJLthm}
- [2021/05/25 Theorem setup and configuration]
+ [2021/06/07 Theorem setup and configuration]
%</PJLthm>
%
%<*PJLtoolkit>
\ProvidesPackage{PJLtoolkit}
- [2021/05/25 Collective interface of ProjLib Toolkit]
+ [2021/06/07 Collective interface of ProjLib Toolkit]
%</PJLtoolkit>
%
\RequirePackage{kvoptions}
@@ -76,6 +76,10 @@
\def\keywordsnameEN{\textsc{Key words and phrases}}
\def\keywordsnameFR{\textsc{Mots et phrases clés}}
\def\keywordsnameDE{\textsc{Schlüsselwörter und Phrasen}}
+\def\keywordsnameIT{\textsc{Parole e frasi chiave}}
+\def\keywordsnamePT{\textsc{Palavras e frases chave}}
+\def\keywordsnameBR{\textsc{Palavras e frases chave}}
+\def\keywordsnameES{\textsc{Palabras y frases clave}}
\def\keywordsnameCN{关键词}
\def\keywordsnameTC{關鍵詞}
\def\keywordsnameJP{キーワード}
@@ -374,6 +378,14 @@
\def\needgraphTextFR{Il manque une image ici}
\def\dnfTextDE{Nicht beendet}
\def\needgraphTextDE{Benötigen Sie ein Bild}
+\def\dnfTextIT{Per essere finito}
+\def\needgraphTextIT{Manca un'immagine qui}
+\def\dnfTextPT{Não terminou}
+\def\needgraphTextPT{Precisa de uma foto aqui}
+\def\dnfTextBR{Não terminou}
+\def\needgraphTextBR{Precisa de uma foto aqui}
+\def\dnfTextES{Estar terminado}
+\def\needgraphTextES{Falta una imagen aquí}
\def\dnfTextCN{这里尚未完成}
\def\needgraphTextCN{这里需要一张图片}
\def\dnfTextTC{這裡尚未完成}
@@ -434,6 +446,10 @@
\newcommand\englishABBR{EN}
\newcommand\frenchABBR{FR}
\newcommand\ngermanABBR{DE}
+\newcommand\italianABBR{IT}
+\newcommand\portugueseABBR{PT}
+\newcommand\brazilianABBR{BR}
+\newcommand\spanishABBR{ES}
\newcommand\chineseABBR{CN}
\newcommand\tchineseABBR{TC}
\newcommand\japaneseABBR{JP}
@@ -452,6 +468,7 @@
\setotherlanguage{ngerman}
\setotherlanguage{spanish}
\setotherlanguage{portuguese}
+ \setotherlanguage[variant=brazilian]{portuguese}
\setotherlanguage{italian}
\ifPDFTeX\else
\setotherlanguage{russian}
@@ -463,7 +480,7 @@
\ifPDFTeX\else
\PassOptionsToPackage{japanese,russian}{babel}
\fi
- \PassOptionsToPackage{italian,portuguese,brazilian,spanish.noquoting,ngerman,french,english,shorthands=off}{babel}
+ \PassOptionsToPackage{italian,portuguese,brazilian,spanish,es-notilde,es-noquoting,ngerman,french,english,shorthands=off}{babel}
\PassOptionsToPackage{italian,brazilian,spanish,ngerman,french,english}{cleveref}
\RequirePackage{babel}
\frenchsetup{PartNameFull=false}
@@ -521,6 +538,18 @@
\newcommand{\PJLlang@langconfig@german}{%
\selectlanguage{ngerman}%
}
+\newcommand{\PJLlang@langconfig@italian}{%
+ \selectlanguage{italian}%
+}
+\newcommand{\PJLlang@langconfig@portuguese}{%
+ \selectlanguage{portuguese}%
+}
+\newcommand{\PJLlang@langconfig@brazilian}{%
+ \selectlanguage{brazilian}%
+}
+\newcommand{\PJLlang@langconfig@spanish}{%
+ \selectlanguage{spanish}%
+}
\newcommand{\PJLlang@langconfig@russian}{%
\selectlanguage{russian}%
}
@@ -546,6 +575,14 @@
{french}{\gappto{\PJLlang@langconfig@french}{#2}}%
{de}{\gappto{\PJLlang@langconfig@german}{#2}}%
{ngerman}{\gappto{\PJLlang@langconfig@german}{#2}}%
+ {it}{\gappto{\PJLlang@langconfig@italian}{#2}}%
+ {italian}{\gappto{\PJLlang@langconfig@italian}{#2}}%
+ {pt}{\gappto{\PJLlang@langconfig@portuguese}{#2}}%
+ {portuguese}{\gappto{\PJLlang@langconfig@portuguese}{#2}}%
+ {br}{\gappto{\PJLlang@langconfig@brazilian}{#2}}%
+ {brazilian}{\gappto{\PJLlang@langconfig@brazilian}{#2}}%
+ {es}{\gappto{\PJLlang@langconfig@spanish}{#2}}%
+ {spanish}{\gappto{\PJLlang@langconfig@spanish}{#2}}%
{german}{\gappto{\PJLlang@langconfig@german}{#2}}%
{ru}{\gappto{\PJLlang@langconfig@russian}{#2}}%
{russian}{\gappto{\PJLlang@langconfig@russian}{#2}}%
@@ -579,6 +616,14 @@
{de}{\PJL@config@linespacing\PJLlang@langconfig@german}%
{ngerman}{\PJL@config@linespacing\PJLlang@langconfig@german}%
{german}{\PJL@config@linespacing\PJLlang@langconfig@german}%
+ {it}{\PJL@config@linespacing\PJLlang@langconfig@italian}%
+ {italian}{\PJL@config@linespacing\PJLlang@langconfig@italian}%
+ {pt}{\PJL@config@linespacing\PJLlang@langconfig@portuguese}%
+ {portuguese}{\PJL@config@linespacing\PJLlang@langconfig@portuguese}%
+ {br}{\PJL@config@linespacing\PJLlang@langconfig@brazilian}%
+ {brazilian}{\PJL@config@linespacing\PJLlang@langconfig@brazilian}%
+ {es}{\PJL@config@linespacing\PJLlang@langconfig@spanish}%
+ {spanish}{\PJL@config@linespacing\PJLlang@langconfig@spanish}%
{ru}{\PJL@config@linespacing\PJLlang@langconfig@russian}%
{russian}{\PJL@config@linespacing\PJLlang@langconfig@russian}%
}%
@@ -610,6 +655,14 @@
{de}{\PJLlang@langconfig@german}%
{ngerman}{\PJLlang@langconfig@german}%
{german}{\PJLlang@langconfig@german}%
+ {it}{\PJLlang@langconfig@italian}%
+ {italian}{\PJLlang@langconfig@italian}%
+ {pt}{\PJLlang@langconfig@portuguese}%
+ {portuguese}{\PJLlang@langconfig@portuguese}%
+ {br}{\PJLlang@langconfig@brazilian}%
+ {brazilian}{\PJLlang@langconfig@brazilian}%
+ {es}{\PJLlang@langconfig@spanish}%
+ {spanish}{\PJLlang@langconfig@spanish}%
{ru}{\PJLlang@langconfig@russian}%
{russian}{\PJLlang@langconfig@russian}%
}%
@@ -747,9 +800,13 @@
prefix = @PJLthm@
}
\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{regionalref}
\ProcessKeyvalOptions*\relax
+\if@PJLthm@draft
+ \@PJLthm@fasttrue
+\fi
\if@PJLthm@fast
\@PJLthm@regionalreftrue
\fi
@@ -784,6 +841,14 @@
{de}{\def\PJL@temp@abbr{DE}}%
{ngerman}{\def\PJL@temp@abbr{DE}}%
{german}{\def\PJL@temp@abbr{DE}}%
+ {it}{\def\PJL@temp@abbr{IT}}%
+ {italian}{\def\PJL@temp@abbr{IT}}%
+ {pt}{\def\PJL@temp@abbr{PT}}%
+ {portuguese}{\def\PJL@temp@abbr{PT}}%
+ {br}{\def\PJL@temp@abbr{BR}}%
+ {brazilian}{\def\PJL@temp@abbr{BR}}%
+ {es}{\def\PJL@temp@abbr{ES}}%
+ {spanish}{\def\PJL@temp@abbr{ES}}%
{ru}{\def\PJL@temp@abbr{RU}}%
{russian}{\def\PJL@temp@abbr{RU}}%
}%
@@ -792,6 +857,10 @@
\expandafter\def\csname\PJLthm@temp nameEN\endcsname{#3}%
\expandafter\def\csname\PJLthm@temp nameFR\endcsname{#3}%
\expandafter\def\csname\PJLthm@temp nameDE\endcsname{#3}%
+ \expandafter\def\csname\PJLthm@temp nameIT\endcsname{#3}%
+ \expandafter\def\csname\PJLthm@temp namePT\endcsname{#3}%
+ \expandafter\def\csname\PJLthm@temp nameBR\endcsname{#3}%
+ \expandafter\def\csname\PJLthm@temp nameES\endcsname{#3}%
\expandafter\def\csname\PJLthm@temp nameCN\endcsname{#3}%
\expandafter\def\csname\PJLthm@temp nameTC\endcsname{#3}%
\expandafter\def\csname\PJLthm@temp nameJP\endcsname{#3}%
@@ -878,12 +947,25 @@
}%
\else
\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()}{%
-% #1 = star or no star
-% #2 = name of environment
-% #3 = emptiness or star to append to name of environment
-% #4 = numbered like
-% #5 = numbered within
-% #6 = existed environment
+% #1 = Tokens denoting an xparse-boolean value;
+% value "true" -> the call was \CreateTheorem*{...}...
+% value "false" -> the call was \CreateTheorem{...}...
+% This indicates whether the "starred" variant or the
+% "unstarred" variant of \CreateTheorem was called.
+% #2 = Name of environment to define. One trailing
+% star is removed from the environment-name provided
+% to \CreateTheorem if that environment-name has
+% trailing stars.
+% #3 = If the environment-name provided to \CreateTheorem has
+% trailing stars: A star (*).
+% If the environment-name provided to \CreateTheorem has
+% no trailing stars: Empty/no tokens at all.
+% #4 = numbered like=name of counter like which the environment
+% shall be numbered.
+% #5 = numbered within=name of counter which is superordinate
+% to the environment's counter and whose stepping resets
+% the environment's counter.
+% #6 = existed environment name (the environment to copy)
\IfBooleanTF{#1}{%
\IfValueTF{#4}
{\@firstoftwo}
@@ -898,7 +980,14 @@
{\string\CreateTheorem\space syntax error\on@line}{%
You cannot call the starred variant with optional argument,\MessageBreak
nor call the unstarred variant with several optional arguments.}%
- {}%
+ {%
+ Allowed usage:\MessageBreak\MessageBreak
+ \CreateTheorem*{(name of environment)}\MessageBreak
+ \CreateTheorem{(name of environment)}\MessageBreak
+ \CreateTheorem{(name of environment)}[(numbered like)]\MessageBreak
+ \CreateTheorem{(name of environment)}<(numbered within)>\MessageBreak
+ \CreateTheorem{(name of environment)}((existed environment))\MessageBreak
+ }%
}{%
\IfValueTF{#6}{%
\IfBooleanTF{#1}{%
@@ -912,13 +1001,28 @@
}
}{%
\IfBooleanTF{#1}{%
- \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}
- \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}
- \newtheorem*{#2DE#3}{\csname#2nameDE\endcsname}
- \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}
- \newtheorem*{#2TC#3}{\csname#2nameTC\endcsname}
- \newtheorem*{#2JP#3}{\csname#2nameJP\endcsname}
- \newtheorem*{#2RU#3}{\csname#2nameRU\endcsname}
+% \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}%
+% \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}%
+% \newtheorem*{#2DE#3}{\csname#2nameDE\endcsname}%
+% \newtheorem*{#2IT#3}{\csname#2nameIT\endcsname}%
+% \newtheorem*{#2PT#3}{\csname#2namePT\endcsname}%
+% \newtheorem*{#2BR#3}{\csname#2nameBR\endcsname}%
+% \newtheorem*{#2ES#3}{\csname#2nameES\endcsname}%
+% \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}%
+% \newtheorem*{#2TC#3}{\csname#2nameTC\endcsname}%
+% \newtheorem*{#2JP#3}{\csname#2nameJP\endcsname}%
+% \newtheorem*{#2RU#3}{\csname#2nameRU\endcsname}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameEN\endcsname}{\newtheorem*{#2EN#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameFR\endcsname}{\newtheorem*{#2FR#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameDE\endcsname}{\newtheorem*{#2DE#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameIT\endcsname}{\newtheorem*{#2IT#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2namePT\endcsname}{\newtheorem*{#2PT#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameBR\endcsname}{\newtheorem*{#2BR#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameES\endcsname}{\newtheorem*{#2ES#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameCN\endcsname}{\newtheorem*{#2CN#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameTC\endcsname}{\newtheorem*{#2TC#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameJP\endcsname}{\newtheorem*{#2JP#3}}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#2nameRU\endcsname}{\newtheorem*{#2RU#3}}%
}{%
\IfValueTF{#5}{%
\newcounter{#2#3}[{#5}]%
@@ -934,6 +1038,10 @@
\CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}%
\CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}%
\CreateTheoremNumberedLikeAliasCounter{#2}{DE}{#3}%
+ \CreateTheoremNumberedLikeAliasCounter{#2}{IT}{#3}%
+ \CreateTheoremNumberedLikeAliasCounter{#2}{PT}{#3}%
+ \CreateTheoremNumberedLikeAliasCounter{#2}{BR}{#3}%
+ \CreateTheoremNumberedLikeAliasCounter{#2}{ES}{#3}%
\CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}%
\CreateTheoremNumberedLikeAliasCounter{#2}{TC}{#3}%
\CreateTheoremNumberedLikeAliasCounter{#2}{JP}{#3}%
@@ -948,180 +1056,290 @@
}%
\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
\newaliascnt{#1#2#3}{#1#3}%
- \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
+% \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}{\newtheorem{#1#2#3}[{#1#2#3}]}%
\aliascntresetthe{#1#2#3}%
- \crefname{#1#2#3}%
- {\csname#1name#2\endcsname}%
- {\csname#1name#2\endcsname}%
- \Crefname{#1#2#3}%
- {\csname#1name#2\endcsname}%
- {\csname#1name#2\endcsname}%
+% \crefname{#1#2#3}%
+% {\csname#1name#2\endcsname}%
+% {\csname#1name#2\endcsname}%
+% \Crefname{#1#2#3}%
+% {\csname#1name#2\endcsname}%
+% {\csname#1name#2\endcsname}%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {\crefname{#1#2#3}}%
+ }%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {%
+ \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
+ {\Crefname{#1#2#3}}%
+ }%
}%
\fi
%% English theorems names
-\def\theoremnameEN{Theorem}
-\def\lemmanameEN{Lemma}
-\def\propositionnameEN{Proposition}
-\def\corollarynameEN{Corollary}
-\def\propertynameEN{Property}
-\def\factnameEN{Fact}
-\def\conjecturenameEN{Conjecture}
-\def\definitionnameEN{Definition}
-\def\axiomnameEN{Axiom}
-\def\assumptionnameEN{Assumption}
-\def\conventionnameEN{Convention}
-\def\hypothesisnameEN{Hypothesis}
-\def\notationnameEN{Notation}
-\def\examplenameEN{Example}
-\def\problemnameEN{Problem}
-\def\questionnameEN{Question}
-\def\exercisenameEN{Exercise}
-\def\remarknameEN{Remark}
+\def\theoremnameEN{{Theorem}}
+\def\lemmanameEN{{Lemma}}
+\def\propositionnameEN{{Proposition}}
+\def\corollarynameEN{{Corollary}}
+\def\propertynameEN{{Property}}
+\def\factnameEN{{Fact}}
+\def\conjecturenameEN{{Conjecture}}
+\def\definitionnameEN{{Definition}}
+\def\axiomnameEN{{Axiom}}
+\def\assumptionnameEN{{Assumption}}
+\def\conventionnameEN{{Convention}}
+\def\hypothesisnameEN{{Hypothesis}}
+\def\notationnameEN{{Notation}}
+\def\examplenameEN{{Example}}
+\def\problemnameEN{{Problem}}
+\def\questionnameEN{{Question}}
+\def\exercisenameEN{{Exercise}}
+\def\remarknameEN{{Remark}}
+\def\observationnameEN{{Observation}}
\expandafter\def\csname definition-propositionnameEN\endcsname{\definitionnameEN-\propositionnameEN}
\expandafter\def\csname definition-theoremnameEN\endcsname{\definitionnameEN-\theoremnameEN}
%% French theorems names
-\def\theoremnameFR{Théorème}
-\def\lemmanameFR{Lemme}
-\def\propositionnameFR{Proposition}
-\def\corollarynameFR{Corollaire}
-\def\propertynameFR{Propriété}
-\def\factnameFR{Fait}
-\def\conjecturenameFR{Conjecture}
-\def\definitionnameFR{Définition}
-\def\axiomnameFR{Axiome}
-\def\assumptionnameFR{Supposition}
-\def\conventionnameFR{Convention}
-\def\hypothesisnameFR{Hypothèse}
-\def\notationnameFR{Notation}
-\def\examplenameFR{Exemple}
-\def\problemnameFR{Problème}
-\def\questionnameFR{Question}
-\def\exercisenameFR{Exercice}
-\def\remarknameFR{Remarque}
+\def\theoremnameFR{{Théorème}}
+\def\lemmanameFR{{Lemme}}
+\def\propositionnameFR{{Proposition}}
+\def\corollarynameFR{{Corollaire}}
+\def\propertynameFR{{Propriété}}
+\def\factnameFR{{Fait}}
+\def\conjecturenameFR{{Conjecture}}
+\def\definitionnameFR{{Définition}}
+\def\axiomnameFR{{Axiome}}
+\def\assumptionnameFR{{Supposition}}
+\def\conventionnameFR{{Convention}}
+\def\hypothesisnameFR{{Hypothèse}}
+\def\notationnameFR{{Notation}}
+\def\examplenameFR{{Exemple}}
+\def\problemnameFR{{Problème}}
+\def\questionnameFR{{Question}}
+\def\exercisenameFR{{Exercice}}
+\def\remarknameFR{{Remarque}}
+\def\observationnameFR{{Observation}}
\expandafter\def\csname definition-propositionnameFR\endcsname{\definitionnameFR-\propositionnameFR}
\expandafter\def\csname definition-theoremnameFR\endcsname{\definitionnameFR-\theoremnameFR}
%% German theorems names
-\def\theoremnameDE{Satz}
-\def\lemmanameDE{Lemma}
-\def\propositionnameDE{Proposition}
-\def\corollarynameDE{Korollar}
-\def\propertynameDE{Eigenschaft}
-\def\factnameDE{Fakt}
-\def\conjecturenameDE{Vermutung}
-\def\definitionnameDE{Definition}
-\def\axiomnameDE{Axiom}
-\def\assumptionnameDE{Annahme}
-\def\conventionnameDE{Konvention}
-\def\hypothesisnameDE{Hypothese}
-\def\notationnameDE{Notation}
-\def\examplenameDE{Beispiel}
-\def\problemnameDE{Problem}
-\def\questionnameDE{Frage}
-\def\exercisenameDE{Übung}
-\def\remarknameDE{Bemerkung}
+\def\theoremnameDE{{Satz}}
+\def\lemmanameDE{{Lemma}}
+\def\propositionnameDE{{Proposition}}
+\def\corollarynameDE{{Korollar}}
+\def\propertynameDE{{Eigenschaft}}
+\def\factnameDE{{Fakt}}
+\def\conjecturenameDE{{Vermutung}}
+\def\definitionnameDE{{Definition}}
+\def\axiomnameDE{{Axiom}}
+\def\assumptionnameDE{{Annahme}}
+\def\conventionnameDE{{Konvention}}
+\def\hypothesisnameDE{{Hypothese}}
+\def\notationnameDE{{Notation}}
+\def\examplenameDE{{Beispiel}}
+\def\problemnameDE{{Problem}}
+\def\questionnameDE{{Frage}}
+\def\exercisenameDE{{Übung}}
+\def\remarknameDE{{Bemerkung}}
+\def\observationnameDE{{Beobachtung}}
\expandafter\def\csname definition-propositionnameDE\endcsname{\definitionnameDE-\propositionnameDE}
\expandafter\def\csname definition-theoremnameDE\endcsname{\definitionnameDE-\theoremnameDE}
+%% Italian theorems names
+\def\theoremnameIT{{Teorema}}
+\def\lemmanameIT{{Lemma}}
+\def\propositionnameIT{{Proposizione}}
+\def\corollarynameIT{{Corollario}}
+\def\propertynameIT{{Proprietà}}
+\def\factnameIT{{Fatto}}
+\def\conjecturenameIT{{Congettura}}
+\def\definitionnameIT{{Definizione}}
+\def\axiomnameIT{{Assioma}}
+\def\assumptionnameIT{{Supposizione}}
+\def\conventionnameIT{{Convenzione}}
+\def\hypothesisnameIT{{Ipotesi}}
+\def\notationnameIT{{Notazione}}
+\def\examplenameIT{{Esempio}}
+\def\problemnameIT{{Problema}}
+\def\questionnameIT{{Domanda}}
+\def\exercisenameIT{{Esercizio}}
+\def\remarknameIT{{Nota}}
+\def\observationnameIT{{Osservazione}}
+\expandafter\def\csname definition-propositionnameIT\endcsname{\definitionnameIT-\propositionnameIT}
+\expandafter\def\csname definition-theoremnameIT\endcsname{\definitionnameIT-\theoremnameIT}
+
+%% Portuguese theorems names
+\def\theoremnamePT{{Teorema}}
+\def\lemmanamePT{{Lema}}
+\def\propositionnamePT{{Proposição}}
+\def\corollarynamePT{{Corolário}}
+\def\propertynamePT{{Propriedade}}
+\def\factnamePT{{Facto}}
+\def\conjecturenamePT{{Conjetura}}
+\def\definitionnamePT{{Definição}}
+\def\axiomnamePT{{Axioma}}
+\def\assumptionnamePT{{Suposição}}
+\def\conventionnamePT{{Convenção}}
+\def\hypothesisnamePT{{Hipótese}}
+\def\notationnamePT{{Notação}}
+\def\examplenamePT{{Exemplo}}
+\def\problemnamePT{{Problema}}
+\def\questionnamePT{{Pergunta}}
+\def\exercisenamePT{{Exercício}}
+\def\remarknamePT{{Comentário}}
+\def\observationnamePT{{Observação}}
+\expandafter\def\csname definition-propositionnamePT\endcsname{\definitionnamePT-\propositionnamePT}
+\expandafter\def\csname definition-theoremnamePT\endcsname{\definitionnamePT-\theoremnamePT}
+
+%% Brazilian theorems names
+\def\theoremnameBR{{Teorema}}
+\def\lemmanameBR{{Lema}}
+\def\propositionnameBR{{Proposição}}
+\def\corollarynameBR{{Corolário}}
+\def\propertynameBR{{Propriedade}}
+\def\factnameBR{{Facto}}
+\def\conjecturenameBR{{Conjetura}}
+\def\definitionnameBR{{Definição}}
+\def\axiomnameBR{{Axioma}}
+\def\assumptionnameBR{{Suposição}}
+\def\conventionnameBR{{Convenção}}
+\def\hypothesisnameBR{{Hipótese}}
+\def\notationnameBR{{Notação}}
+\def\examplenameBR{{Exemplo}}
+\def\problemnameBR{{Problema}}
+\def\questionnameBR{{Pergunta}}
+\def\exercisenameBR{{Exercício}}
+\def\remarknameBR{{Comentário}}
+\def\observationnameBR{{Observação}}
+\expandafter\def\csname definition-propositionnameBR\endcsname{\definitionnameBR-\propositionnameBR}
+\expandafter\def\csname definition-theoremnameBR\endcsname{\definitionnameBR-\theoremnameBR}
+
+%% Spanish theorems names
+\def\theoremnameES{{Teorema}}
+\def\lemmanameES{{Lema}}
+\def\propositionnameES{{Proposición}}
+\def\corollarynameES{{Corolario}}
+\def\propertynameES{{Propiedad}}
+\def\factnameES{{Hecho}}
+\def\conjecturenameES{{Conjetura}}
+\def\definitionnameES{{Definición}}
+\def\axiomnameES{{Axioma}}
+\def\assumptionnameES{{Suposición}}
+\def\conventionnameES{{Convención}}
+\def\hypothesisnameES{{Hipótesis}}
+\def\notationnameES{{Notación}}
+\def\examplenameES{{Ejemplo}}
+\def\problemnameES{{Problema}}
+\def\questionnameES{{Pregunta}}
+\def\exercisenameES{{Ejercicio}}
+\def\remarknameES{{Comentario}}
+\def\observationnameES{{Observación}}
+\expandafter\def\csname definition-propositionnameES\endcsname{\definitionnameES-\propositionnameES}
+\expandafter\def\csname definition-theoremnameES\endcsname{\definitionnameES-\theoremnameES}
+
%% Chinese theorems names
-\def\theoremnameCN{定理}
-\def\lemmanameCN{引理}
-\def\propositionnameCN{命题}
-\def\corollarynameCN{推论}
-\def\propertynameCN{性质}
-\def\factnameCN{事实}
-\def\conjecturenameCN{猜想}
-\def\definitionnameCN{定义}
-\def\axiomnameCN{公理}
-\def\assumptionnameCN{假设}
-\def\conventionnameCN{约定}
-\def\hypothesisnameCN{假设}
-\def\notationnameCN{记号}
-\def\examplenameCN{例}
-\def\problemnameCN{问题}
-\def\questionnameCN{问题}
-\def\exercisenameCN{练习}
-\def\remarknameCN{备注}
+\def\theoremnameCN{{定理}}
+\def\lemmanameCN{{引理}}
+\def\propositionnameCN{{命题}}
+\def\corollarynameCN{{推论}}
+\def\propertynameCN{{性质}}
+\def\factnameCN{{事实}}
+\def\conjecturenameCN{{猜想}}
+\def\definitionnameCN{{定义}}
+\def\axiomnameCN{{公理}}
+\def\assumptionnameCN{{假设}}
+\def\conventionnameCN{{约定}}
+\def\hypothesisnameCN{{假设}}
+\def\notationnameCN{{记号}}
+\def\examplenameCN{{例}}
+\def\problemnameCN{{问题}}
+\def\questionnameCN{{问题}}
+\def\exercisenameCN{{练习}}
+\def\remarknameCN{{备注}}
+\def\observationnameCN{{观察}}
\expandafter\def\csname definition-propositionnameCN\endcsname{\definitionnameCN-\propositionnameCN}
\expandafter\def\csname definition-theoremnameCN\endcsname{\definitionnameCN-\theoremnameCN}
-\def\theoremnameTC{定理}
-\def\lemmanameTC{引理}
-\def\propositionnameTC{命題}
-\def\corollarynameTC{推論}
-\def\propertynameTC{性質}
-\def\factnameTC{事實}
-\def\conjecturenameTC{猜想}
-\def\definitionnameTC{定義}
-\def\axiomnameTC{公理}
-\def\assumptionnameTC{假設}
-\def\conventionnameTC{約定}
-\def\hypothesisnameTC{假設}
-\def\notationnameTC{記號}
-\def\examplenameTC{例}
-\def\problemnameTC{問題}
-\def\questionnameTC{問題}
-\def\exercisenameTC{練習}
-\def\remarknameTC{備註}
+\def\theoremnameTC{{定理}}
+\def\lemmanameTC{{引理}}
+\def\propositionnameTC{{命題}}
+\def\corollarynameTC{{推論}}
+\def\propertynameTC{{性質}}
+\def\factnameTC{{事實}}
+\def\conjecturenameTC{{猜想}}
+\def\definitionnameTC{{定義}}
+\def\axiomnameTC{{公理}}
+\def\assumptionnameTC{{假設}}
+\def\conventionnameTC{{約定}}
+\def\hypothesisnameTC{{假設}}
+\def\notationnameTC{{記號}}
+\def\examplenameTC{{例}}
+\def\problemnameTC{{問題}}
+\def\questionnameTC{{問題}}
+\def\exercisenameTC{{練習}}
+\def\remarknameTC{{備註}}
+\def\observationnameTC{{觀察}}
\expandafter\def\csname definition-propositionnameTC\endcsname{\definitionnameTC-\propositionnameTC}
\expandafter\def\csname definition-theoremnameTC\endcsname{\definitionnameTC-\theoremnameTC}
%% Japanese theorems names
-\def\theoremnameJP{定理}
-\def\lemmanameJP{補題}
-\def\propositionnameJP{命題}
-\def\corollarynameJP{系}
-\def\propertynameJP{性質}
-\def\factnameJP{事実}
-\def\conjecturenameJP{予想}
-\def\definitionnameJP{定義}
-\def\axiomnameJP{公理}
-\def\assumptionnameJP{仮定}
-\def\conventionnameJP{慣例}
-\def\hypothesisnameJP{仮設}
-\def\notationnameJP{記法}
-\def\examplenameJP{例}
-\def\problemnameJP{問題}
-\def\questionnameJP{問題}
-\def\exercisenameJP{練習}
-\def\remarknameJP{注釈}
+\def\theoremnameJP{{定理}}
+\def\lemmanameJP{{補題}}
+\def\propositionnameJP{{命題}}
+\def\corollarynameJP{{系}}
+\def\propertynameJP{{性質}}
+\def\factnameJP{{事実}}
+\def\conjecturenameJP{{予想}}
+\def\definitionnameJP{{定義}}
+\def\axiomnameJP{{公理}}
+\def\assumptionnameJP{{仮定}}
+\def\conventionnameJP{{慣例}}
+\def\hypothesisnameJP{{仮設}}
+\def\notationnameJP{{記法}}
+\def\examplenameJP{{例}}
+\def\problemnameJP{{問題}}
+\def\questionnameJP{{問題}}
+\def\exercisenameJP{{練習}}
+\def\remarknameJP{{注釈}}
+\def\observationnameJP{{観察}}
\expandafter\def\csname definition-propositionnameJP\endcsname{\definitionnameJP-\propositionnameJP}
\expandafter\def\csname definition-theoremnameJP\endcsname{\definitionnameJP-\theoremnameJP}
%% Russian theorems names
-\def\theoremnameRU{Теорема} % Теоре́ма
-\def\lemmanameRU{Лемма} % Ле́мма
-\def\propositionnameRU{Предложение} % Предложе́ние
-\def\corollarynameRU{Следствие} % Сле́дствие
-\def\propertynameRU{Имущество} % Иму́щество
-\def\factnameRU{Факт}
-\def\conjecturenameRU{Гипотеза} % Гипо́теза
-\def\definitionnameRU{Определение} % Определе́ние
-\def\axiomnameRU{Аксиома} % Аксио́ма
-\def\assumptionnameRU{Предположение} % Предположе́ние
-\def\conventionnameRU{Конвенция} % Конве́нция
-\def\hypothesisnameRU{Гипотеза} % Гипо́теза
-\def\notationnameRU{Нотация} % Нота́ция
-\def\examplenameRU{Пример} % Приме́р
-\def\problemnameRU{Проблема} % Пробле́ма
-\def\questionnameRU{Вопрос} % Вопро́с
-\def\exercisenameRU{Упражнение} % Упражне́ние
-\def\remarknameRU{Замечание} % Замеча́ние
+\def\theoremnameRU{{Теорема}} % Теоре́ма
+\def\lemmanameRU{{Лемма}} % Ле́мма
+\def\propositionnameRU{{Предложение}} % Предложе́ние
+\def\corollarynameRU{{Следствие}} % Сле́дствие
+\def\propertynameRU{{Имущество}} % Иму́щество
+\def\factnameRU{{Факт}}
+\def\conjecturenameRU{{Гипотеза}} % Гипо́теза
+\def\definitionnameRU{{Определение}} % Определе́ние
+\def\axiomnameRU{{Аксиома}} % Аксио́ма
+\def\assumptionnameRU{{Предположение}} % Предположе́ние
+\def\conventionnameRU{{Конвенция}} % Конве́нция
+\def\hypothesisnameRU{{Гипотеза}} % Гипо́теза
+\def\notationnameRU{{Нотация}} % Нота́ция
+\def\examplenameRU{{Пример}} % Приме́р
+\def\problemnameRU{{Проблема}} % Пробле́ма
+\def\questionnameRU{{Вопрос}} % Вопро́с
+\def\exercisenameRU{{Упражнение}} % Упражне́ние
+\def\remarknameRU{{Замечание}} % Замеча́ние
+\def\observationnameRU{{Наблюдение}} % Наблюде́ние
\expandafter\def\csname definition-propositionnameRU\endcsname{\definitionnameRU-\propositionnameRU}
\expandafter\def\csname definition-theoremnameRU\endcsname{\definitionnameRU-\theoremnameRU}
\newif\ifPJLthm@IsBook
-\ifdefined\chapter\PJLthm@IsBooktrue\else\PJLthm@IsBookfalse\fi
-\if@PJLthm@nothms\else
+\ifdefined\c@chapter\PJLthm@IsBooktrue\else\PJLthm@IsBookfalse\fi
%% Theorem environments
\ifbool{PJLthm@IsBook}{
- \newaliascnt{highest}{chapter}
+ \newaliascnt{PJLthm@highest}{chapter}
}{
- \newaliascnt{highest}{section}
+ \newaliascnt{PJLthm@highest}{section}
}
-\CreateTheorem{theorem}<highest>
+\if@PJLthm@nothms\else
+\CreateTheorem{theorem}<PJLthm@highest>
\CreateTheorem{lemma}[theorem]
\CreateTheorem{proposition}[theorem]
\CreateTheorem{corollary}[theorem]
@@ -1163,11 +1381,14 @@
\CreateTheorem*{exercise*}
\theoremstyle{remark}
-\CreateTheorem{remark}<highest>
+\CreateTheorem{remark}<PJLthm@highest>
\CreateTheorem*{remark*}
-\numberwithin{equation}{highest}
+\CreateTheorem{observation}<PJLthm@highest>
+\CreateTheorem*{observation*}
\fi
+\numberwithin{equation}{PJLthm@highest}
+
% Some localization of cref
\gappto{\PJLlang@langconfig@chinese}{%
\crefname{equation}{式}{式}%
@@ -1178,7 +1399,7 @@
\Crefname{figure}{图}{图}%
\Crefname{table}{表}{表}%
\Crefname{appendix}{附录}{附录}%
- \def\crefpairconjunction{~和~}%
+ \def\crefpairconjunction{、}%
\def\crefmiddleconjunction{、}%
\def\creflastconjunction{~和~}%
\def\crefpairgroupconjunction{~和~}%
@@ -1195,7 +1416,7 @@
\Crefname{figure}{圖}{圖}%
\Crefname{table}{表}{表}%
\Crefname{appendix}{附錄}{附錄}%
- \def\crefpairconjunction{~與~}%
+ \def\crefpairconjunction{、}%
\def\crefmiddleconjunction{、}%
\def\creflastconjunction{~與~}%
\def\crefpairgroupconjunction{~與~}%
@@ -1237,6 +1458,23 @@
\def\creflastgroupconjunction{~и~}%
\def\crefrangeconjunction{~\textasciitilde~}%
}
+\gappto{\PJLlang@langconfig@portuguese}{%
+ \crefname{equation}{eq.}{eqs.}%
+ \crefname{figure}{fig.}{figs.}%
+ \crefname{table}{tabela}{tabelas}%
+ \crefname{appendix}{apêndice}{apêndices}%
+ \Crefname{equation}{Eq.}{Eqs.}%
+ \Crefname{figure}{Fig.}{Figs.}%
+ \Crefname{table}{Tabela}{Tabelas}%
+ \Crefname{appendix}{Apêndice}{Apêndices}%
+ \def\crefpairconjunction{ e\nobreakspace}%
+ \def\crefmiddleconjunction{, }%
+ \def\creflastconjunction{ e\nobreakspace}%
+ \def\crefpairgroupconjunction{ e\nobreakspace}%
+ \def\crefmiddlegroupconjunction{, }%
+ \def\creflastgroupconjunction{ e\nobreakspace}%
+ \def\crefrangeconjunction{ a\nobreakspace}%
+}
%</PJLthm>
%
%<*PJLtoolkit>
@@ -1316,6 +1554,7 @@
\if@PJLtoolkit@garamond
\RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
\RequirePackage{ebgaramond-maths}
\RequirePackage{ebgaramond}
% \RequirePackage{garamondlibre}
@@ -1324,7 +1563,7 @@
\if@PJLtoolkit@biolinum
\RequirePackage{amssymb}
- \RequirePackage{mathpazo}
+ % \RequirePackage{mathpazo}
% \RequirePackage[sansmath]{libertinust1math}
\ifPDFTeX
\RequirePackage{biolinum}
@@ -1338,6 +1577,7 @@
BoldItalicFont = LinBiolinum_RBO.otf ]
\fi
\PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
\fi
\fi
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index d88d15a875..59d887b3be 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -2,8 +2,13 @@
# ProjLib Toolkit
-A collection of tools that help you write LaTeX document. With `PJLtoolkit` loaded, you no longer need to set up the theorem-like environments nor to manually configure the appropriate multilingual settings. In addition, a series of auxiliary functionalities are introduced.
+> **ProjLib** can be interpreted as "***Proj**ect **Lib**rary*" in English, but I prefer the French interpretation "***Proj**et **Lib**re*".
+## Introduction
+
+`ProjLib` is a collection of tools that help you write LaTeX document. With `PJLtoolkit` loaded, you no longer need to set up the theorem-like environments nor to manually configure the appropriate multilingual settings. In addition, a series of auxiliary functionalities are introduced.
+
+The collection includes:
1. `PJLamssim.sty`
- Simulate some features of `amsart` in the standard classes
1. `PJLauthor.sty`
@@ -16,7 +21,7 @@ A collection of tools that help you write LaTeX document. With `PJLtoolkit` load
1. `PJLlang.sty`
- Multi-language configuration based on `babel` or `polyglossia`
- Offers `\UseLanguage`, `\UseOtherLanguage` and `\AddLanguageSetting`
- - Currently support Chinese (simplified and traditional), English, French, German, Japanese and Russian, *more to be added*
+ - Currently support Chinese (simplified and traditional), English, French, German, Italien, Japanese, Portuguese (European and Brazilian), Russian and Spanish
1. `PJLlogo.sty`
- Draw the ProjLib logo
1. `PJLpaper.sty`
@@ -24,14 +29,20 @@ A collection of tools that help you write LaTeX document. With `PJLtoolkit` load
1. `PJLthm.sty`
- Theorem setup and configuration
- Offers a macro `\CreateTheorem` for creating theorem-like environments with multi-language support
- - Preset environments include: `assumption`, `axiom`, `conjecture`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `problem`, `property`, `proposition`, `question`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
+ - Preset environments include: `assumption`, `axiom`, `conjecture`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `observation`, `problem`, `property`, `proposition`, `question`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
1. `PJLtoolkit.sty`, *the all-in-one solution*
- A collective interface of ProjLib Toolkit, loading all the packages above
- Provide some pre-defined font configuration
> Since `PJLthm.sty` (and thus `PJLtoolkit.sty`) uses `cleveref`, it should be loaded after `varioref` and `hyperref`.
-Demonstration:
+## How to get these files
+You can get the `.sty` files mentioned above simply by compiling `ProjLib.ins`:
+```
+latex ProjLib.ins
+```
+
+## An example
```latex
\documentclass{amsart}
\usepackage[a4paper,margin=.75in]{geometry}
diff --git a/macros/latex/contrib/ran_toks/README.md b/macros/latex/contrib/ran_toks/README.md
index 8c3b618c71..d2de6b319c 100644
--- a/macros/latex/contrib/ran_toks/README.md
+++ b/macros/latex/contrib/ran_toks/README.md
@@ -1,6 +1,6 @@
The ran_toks Package
Author: D. P. Story
-Dated: 2021-01-19
+Dated: 2021-06-06
This short package, with minimal requirements, defines macros for
randomizing a list of tokens. There are two approaches:
@@ -40,20 +40,22 @@ tokens in the myList list.
For users of AeB or eqexam, the latter structure can be used to randomize
the order of the questions on a quiz or exam.
-What's New (2021-01-19) A new option, usedbapp, was added to
-support a DB application. Extensive work was done on the DB
-application. Added \uniqueXDBChoicesOn, which if expanded, tries
-to choose a random token that has not already been chosen,
-across versions of a multi-version eqexam document. Changes are
-discussed in the documentation and in the new examples in the
-distribution.
+What's New (2021-06-06) Added support for nested \bRTVToks/\eRTVToks command
+ pairs. Demo files: ran_toks.tex and nested-matching.tex.
+
+What's New (2021-01-19) A new option, usedbapp, was added to support a DB
+ application. Extensive work was done on the DB application. Added
+ \uniqueXDBChoicesOn, which if expanded, tries to choose a random token that
+ has not already been chosen, across versions of a multi-version eqexam
+ document. Changes are discussed in the documentation and in the new
+ examples in the distribution.
What's New (2019-12-28) Defined \rtVWHook to insert at the top of the
-rtVW environment. Also created an alternate package name of ran-toks.
+ rtVW environment. Also created an alternate package name of ran-toks.
-What's new in v1.1: Added the convenience command \useTheseDBs to input files for
-an application to constructing exams (using eqexam) from a series of DB files. Refer to the
-new demo file mc-db.tex.
+What's new in v1.1: Added the convenience command \useTheseDBs to input files
+ for an application to constructing exams (using eqexam) from a series of DB
+ files. Refer to the new demo file mc-db.tex.
Enjoy!
diff --git a/macros/latex/contrib/ran_toks/docs/ran_toks.pdf b/macros/latex/contrib/ran_toks/docs/ran_toks.pdf
index bfc8e7bc9b..815095a955 100644
--- a/macros/latex/contrib/ran_toks/docs/ran_toks.pdf
+++ b/macros/latex/contrib/ran_toks/docs/ran_toks.pdf
Binary files differ
diff --git a/macros/latex/contrib/ran_toks/docs/rantoks_man.pdf b/macros/latex/contrib/ran_toks/docs/rantoks_man.pdf
index 62ee68da81..16146c1f6f 100644
--- a/macros/latex/contrib/ran_toks/docs/rantoks_man.pdf
+++ b/macros/latex/contrib/ran_toks/docs/rantoks_man.pdf
Binary files differ
diff --git a/macros/latex/contrib/ran_toks/docs/rantoks_man.tex b/macros/latex/contrib/ran_toks/docs/rantoks_man.tex
index 8f8b0c6246..232c1980ca 100644
--- a/macros/latex/contrib/ran_toks/docs/rantoks_man.tex
+++ b/macros/latex/contrib/ran_toks/docs/rantoks_man.tex
@@ -8,7 +8,8 @@
]{aeb_pro}
\usepackage{ran_toks}
-\useThisSeed{1441984427}
+\useThisSeed{227819015}
+%\useThisSeed{1441984427}
%\useLastAsSeed
%\useThisSeed{2001383846}
@@ -30,6 +31,7 @@
%\usepackage{makeidx}
%\makeindex
\usepackage{acroman}
+\usepackage[active]{srcltx}
\makeatletter
\def\eq@fititin#1{\noindent\unskip\nobreak\hfill\penalty50
@@ -77,17 +79,19 @@
\urlstyle{rm}
+\let\tops\texorpdfstring
+
\DeclareDocInfo
{
university={\AcroTeX.Net},
- title={\texorpdfstring{The \textsf{ran\_toks}}{The manual for the ran\_toks}
- Package\texorpdfstring{\\[6pt]\large}{: }
+ title={\tops{The \textsf{ran\_toks}}{The manual for the ran\_toks}
+ Package\tops{\\[6pt]\large}{: }
Randomizing the order of tokens},
author={D. P. Story},
email={dpstory@acrotex.net},
subject=Documentation for the ran\_toks package,
talksite={\url{www.acrotex.net}},
- version={1.3.1, 2021/01/19},
+ version={1.4, 2021/06/06},
Keywords={LaTeX, PDF, random, tokens, JavaScript, Adobe Acrobat},
copyrightStatus=True,
copyrightNotice={Copyright (C) \the\year, D. P. Story},
@@ -106,7 +110,7 @@
\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
\subsectionLayout{indent=-31.25pt,color=aeb}
\subsubsectionLayout{indent=0pt,color=aeb}
-\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}
+\subsubDefaultDing{\tops{$\bullet$}{\textrm\textbullet}}
\def\exSrc{\makebox[0pt][r]{\large{\Pisymbol{webd}{157}}\enspace}}
@@ -241,7 +245,7 @@ There are two styles for defining a series of tokens to be randomized,
using either the \cs{ranToks} command or the \cs{bRTVToks}/\cs{eRTVToks}
pair. Each of these is discussed in the next two subsections.
-\subsection{The \texorpdfstring{\protect\cs{ranToks}}{\CMD{ranToks}} command}\label{s:ranToks}
+\subsection{The \tops{\protect\cs{ranToks}}{\CMD{ranToks}} command}\label{s:ranToks}
The \cs{ranToks} command was the original concept; declare a series of
tokens to be randomized.
@@ -334,13 +338,13 @@ An alternative to re-executing \cs{ranToks} is to use the \cs{reorderRanToks} co
\reorderRanToks{!ameta(name)}
\end{Verbatim}
\end{minipage}\eVerb Now, executing \verb~\reorderRanToks{myPals}~ and compiling the sentence again yields,
-``I have {\nToksFor{myPals}} pals, they are
+``I~have {\nToksFor{myPals}} pals, they are
\useRanTok{1}, \useRanTok{2}, \useRanTok{3}, \useRanTok{4},
{\useRanTok{5}} and \useRanTok{6}.'' For most applications, re-randomizing
the same token list in the same document is not very likely something you
need to do.
-The \cs{reorderRanToks\darg{\ameta{name}}} rearranges the list of tokens
+The \cs{reorderRanToks\darg{\ameta{name}}} command rearranges the list of tokens
associated with \ameta{name}, which may not be what you want; the
\cs{copyRanToks} command, on the other hand, makes a (randomized) copy of its
first required argument \ameta{name\SUB1} and saves it as \ameta{name\SUB2}, without
@@ -364,7 +368,7 @@ argument of a macro; this would exclude verbatim text created by \cs{verb}
and verbatim environments.
\subsection{The
-\texorpdfstring{\protect\cs{bRTVToks}/\protect\cs{eRTVToks}}
+\tops{\protect\cs{bRTVToks}/\protect\cs{eRTVToks}}
{\CMD{bRTVToks}/\CMD{eRTVToks}} pair of commands}\label{ss:RTVToks}
Sometimes the content to be randomized is quite large or contains verbatim
@@ -495,7 +499,6 @@ If we say \cs{reorderRanToks\darg{myThoughts}} and reissue the above list, we ob
The command \cs{copyRanToks} works for list created by
\cs{bRTVToks}/\penalty0\cs{bRTVToks} as well.
-
\paragraph*{On the \cs{displayListRandomly} command.}\label{para:DLR}
In the enumerate example immediately above, the items in the list are
explicitly listed as \cs{item \cs{useRanTok\darg{1}}} and so on; an
@@ -549,7 +552,131 @@ you modify the optional argument to get the same listing without the Oxford
comma? (\displayListRandomly[\ifnum\i=\last and \fi][\ifnum\i=\last.\else\ifnum\i=\lessone\relax\space\else, \fi\fi]{myPals})
Hint: a solution involves the other command \cs{lessone}.
+\subsubsection{Nested
+\tops{\protect\cs{bRTVToks}/\protect\cs{eRTVToks}}
+ {\CMD{bRTVToks}/\CMD{eRTVToks}} command pairs}\label{ss:NestedRTVToks}
+
+These is at least one example of using nested
+\cs{bRTVToks}/\allowbreak\cs{eRTVToks}. When nested
+\cs{bRTVToks}/\allowbreak\cs{eRTVToks} command pairs, use the \env{rtVWi}
+environment instead of the \env{rtVW} environment. The nested
+\cs{bRTVToks}/\allowbreak\cs{eRTVToks} pair is placed\FmtMP{placement} within
+a \env{rtWV} environment; in this way the contents of that \env{rtWV}
+environment, itself can be randomized. The \cs{displayListRandomly} (or
+\cs{useRanTok}) command is used to list out the nested items. See the next
+page for an example.
+
+\newpage
+
+\bRTVToks{Depth0}
+ \begin{rtVW}
+ Depth0: Item 1
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 2:
+ \bRTVToks{Depth1}
+ \begin{rtVWi}
+ Depth1: Item 1
+\end{rtVWi}
+ \begin{rtVWi}
+ Depth1: Item 2
+ \bRTVToks{Depth2}
+ \begin{rtVWii}
+ Depth2: Item 1
+\end{rtVWii}
+ \begin{rtVWii}
+ Depth2: Item 2
+\end{rtVWii}
+ \begin{rtVWii}
+ Depth2: Item 3
+\end{rtVWii}
+ \eRTVToks
+\begin{itemize}
+ \displayListRandomly[\item]{Depth2}
+\end{itemize}
+\end{rtVWi}
+ \begin{rtVWi}
+ Depth1: Item 3
+\end{rtVWi}
+\eRTVToks
+\begin{itemize}
+\displayListRandomly[\item]{Depth1}
+\end{itemize}
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 3
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 4
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 5
+\end{rtVW}
+\eRTVToks
+ \begin{enumerate}\small
+\displayListRandomly[\item]{Depth0}
+\end{enumerate}
+The verbatim listing for this example follows.
+\begin{Verbatim}[commandchars=!(),fontsize=\small]
+\bRTVToks{Depth0}
+ \begin{rtVW}
+ Depth0: Item 1
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 2:
+ \bRTVToks{Depth1} % !textsf(begin Depth2 within an rtVW env.)
+ \begin{rtVWi}
+ Depth1: Item 1
+\end{rtVWi}
+ \begin{rtVWi}
+ Depth1: Item 2
+ \bRTVToks{Depth2} % !textsf(begin Depth1 within an rtVWi env.)
+ \begin{rtVWii}
+ Depth2: Item 1
+\end{rtVWii}
+ \begin{rtVWii}
+ Depth2: Item 2
+\end{rtVWii}
+ \begin{rtVWii}
+ Depth2: Item 3
+\end{rtVWii}
+ \eRTVToks
+\begin{itemize}
+ \displayListRandomly[\item]{Depth2} % !textsf(display Depth2 toks)
+\end{itemize}
+\end{rtVWi}
+ \begin{rtVWi}
+ Depth1: Item 3
+\end{rtVWi}
+\eRTVToks
+\begin{itemize}
+\displayListRandomly[\item]{Depth1} % !textsf(display Depth1 toks)
+\end{itemize}
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 3
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 4
+\end{rtVW}
+ \begin{rtVW}
+ Depth0: Item 5
+\end{rtVW}
+\eRTVToks
+\begin{enumerate}
+\displayListRandomly[\item]{Depth0} % !textsf(display Depth0 toks)
+\end{enumerate}
+\end{Verbatim}
+Oops. Did I forget to mention that \pkg{ran\_toks} supports nested to a depth of two.
+
+Some authors like to indent nested things, but to avoid spurious spaces
+appearing, \cs{end\darg{rtVW}} (and \cs{end\darg{rtVWi}}) should be placed in
+the far left margin, as shown above. Recall the \env{rtVW} is a verbatim
+environment.
+The above example is reproduced in the \texttt{ran\_toks.tex} sample file found in the
+\texttt{examples} folder. Also found in that folder is \texttt{nested-matching.tex}, a \pkg{exerquiz}
+quiz that motivated creating nested \cs{bRTVToks}/\allowbreak\cs{eRTVToks} command pairs.
\section{Additional arguments and commands}\label{AddCmds}
@@ -633,7 +760,7 @@ The original list for \texttt{myPals} remains unchanged:
\displayListRandomly[\ifnum\i=\last\space and \fi(\the\i)~][\ifnum\i=\last.\else,\fi\space]{myPals}
The \cs{useRanTok} command---whether it operates on a randomized token list
-or not---behaves similarly to an array. Thus, if we wanted the extract
+or not---behaves similarly to an array. Thus, if we wanted to extract
the third entry of the non-randomized token list (array)
\texttt{myOriginalPals}, we do so by expanding the command
\verb!\useRanTok[myOriginalPals]{3}! to produce
@@ -752,7 +879,7 @@ The next step is to input your DB files. To do this, execute either of the comma
or perhaps in the preamble. The syntax is,
\bVerb\takeMeasure{\string\useTheseDBs\darg{\ameta{db\SUB{1}},\ameta{db\SUB{2}},...,\ameta{db\SUB{n}}}}%
\setlength\eflength{\bxSize}%
-\begin{minipage}{\bxSize}\kern0pt\def\1{\rlap{\sffamily\hskip\eflength(An alias for \cs{useTheseDBs})}}\relax
+\begin{minipage}{\bxSize}\def\1{\rlap{\sffamily\hskip\eflength(An alias for \cs{useTheseDBs})}}\kern0pt
\begin{Verbatim}[frame=single,commandchars=!()]
\useTheseDBs{!ameta(db!SUB(1)),!ameta(db!SUB(2)),...,!ameta(db!SUB(n))}
!1\useProbDBs{!ameta(db!SUB(1)),!ameta(db!SUB(2)),...,!ameta(db!SUB(n))}
diff --git a/macros/latex/contrib/ran_toks/examples/nested-matching.tex b/macros/latex/contrib/ran_toks/examples/nested-matching.tex
new file mode 100644
index 0000000000..c6886e2def
--- /dev/null
+++ b/macros/latex/contrib/ran_toks/examples/nested-matching.tex
@@ -0,0 +1,150 @@
+\documentclass{article}
+\usepackage{amstext}
+\usepackage[forcolorpaper]{web}
+\usepackage[usesumrytbls,allowrandomize]{exerquiz}[2021/05/29]
+\usepackage{ran_toks}[2021/05/29]
+\usepackage{multicol}
+
+\DeclareQuiz{Qz1}
+
+\useRandomSeed{1294278923}
+%\useLastAsSeed
+
+\hypersetup{pdfpagemode=UseNone} % don't need to see bookmarks
+\hypersetup{pdfpagelayout=OneColumn}
+\reversemarginpar
+\showCreditMarkup
+
+%\previewOn\pmpvOn
+
+\useBeginQuizButton[\CA{Begin}]
+\useEndQuizButton[\CA{End}]
+\PTsHook{($\eqPTs^{\text{pts}}$)}
+\useMCCircles
+
+\newcommand{\presetMatch}{\Q{1}\AddAAKeystroke{event.change=event.change.toUpperCase();}\rectW{\widthof{AA}}}
+
+\begin{document}
+
+\bRTVToks{\currQuiz}
+
+\begin{quiz*}{\currQuiz}
+Solve each of these problems, passing is 100\%.
+\begin{questions}
+ \begin{rtVW}
+ \item\PTs{2} $9+8=\RespBoxMath{17}*{1}{.0001}{[0,1]}\cgBdry[1bp]
+ \CorrAnsButton{17}$
+ \begin{solution}
+ Blimey! Everyone knows that $ 9 + 8 = 17$, why don't you ? BTW, $17$ is my formerly favorite number.
+\end{solution}
+\end{rtVW}
+
+ \begin{rtVW}
+ \item\PTs{3} Which of the following are numbers?
+ \begin{manswers}*{6}
+ \bChoices[random=true]
+ \Ans[-1]{0}D\eAns
+ \Ans[1]{1}17\eAns
+ \Ans[-1]{0}P\eAns
+ \Ans[1]{1}88\eAns
+ \Ans[-1]{0}S\eAns
+ \Ans[1]{1}105\eAns
+ \eChoices
+ \end{manswers}
+ \begin{solution}
+ Which are numbers? 17, 88, and 105, silly
+\end{solution}
+\end{rtVW}
+
+ \begin{rtVW}
+ \item\PTs{3} $ \cos(\pi) = \RespBoxMath{-1}*{1}{.0001}{[0,1]}\cgBdry[1bp]
+ \CorrAnsButton{-1} $
+\begin{solution}
+$ \cos(\pi) = -1 $
+\end{solution}
+\end{rtVW}
+
+ \begin{rtVW}
+\item\PTs{4} $\displaystyle\frac{d}{dx}{\sin(x)}=\RespBoxMath{cos(x)}*{4}{.0001}{[0,1]}\cgBdry[1bp]
+ \CorrAnsButton{cos(x)} $
+\begin{solution}
+ $\displaystyle\frac{d}{dx}{\sin(x)}= \cos(x) $
+\end{solution}
+\end{rtVW}
+
+ \begin{rtVW}
+\hideCreditMarkup
+ \item\PTs{3} Match the last name of the U.S. President with his first
+ name in the right most two columns. Each problem is worth 1 point.
+
+\bRTVToks{RandomQzQuesB}
+\begin{rtVWi}
+ \PTs*{1}\RespBoxTxt[\presets{\presetMatch}\rectW{5mm}\MaxLen{1}]{0}{0}*{1}{\txtRef{willy}} Brandt
+ \begin{solution}
+ \underbar{Willy} Brandt
+\end{solution}
+\end{rtVWi}
+\begin{rtVWi}
+ \PTs*{1}\RespBoxTxt[\presets{\presetMatch}\rectW{5mm}\MaxLen{1}]{0}{0}*{1}{\txtRef{roman}} Herzog
+ \begin{solution}
+ \underbar{Roman} Herzog
+\end{solution}
+\end{rtVWi}
+\begin{rtVWi}
+ \PTs*{1}\RespBoxTxt[\presets{\presetMatch}\rectW{5mm}\MaxLen{1}]{0}{0}*{1}{\txtRef{konrad}} Adenauer
+ \begin{solution}
+ \underbar{Konrad} Adenauer
+\end{solution}
+\end{rtVWi}
+\eRTVToks
+\bRTVToks{RandomQzAltsB}
+\begin{rtVWi}
+ Gustav
+\end{rtVWi}
+\begin{rtVWi}
+ \label{konrad} Konrad
+\end{rtVWi}
+\begin{rtVWi}
+ \label{willy} Willy
+\end{rtVWi}
+\begin{rtVWi}
+ \label{roman} Roman
+\end{rtVWi}
+\begin{rtVWi}
+ Ludwig
+\end{rtVWi}
+\begin{rtVWi}
+ Hermann
+\end{rtVWi}
+\begin{rtVWi}
+ Karl
+\end{rtVWi}
+\begin{rtVWi}
+ J\"{u}rgen
+\end{rtVWi}
+\eRTVToks
+ \begin{multicols}{4}
+ \begin{questions}[labelwidthTo={\textbf{A}}]
+ \hideCreditMarkup
+ \renewcommand{\theeqquestionnoii}{\Alph{eqquestionnoii}}
+ \displayListRandomly[\item]{RandomQzAltsB}
+ \showCreditMarkup
+ \end{questions}
+ \end{multicols}
+ \begin{questions}
+ \showCreditMarkup
+ \displayListRandomly[\item]{RandomQzQuesB}
+ \end{questions}
+\end{rtVW}
+ \eRTVToks
+ \displayListRandomly{\thisQuiz}
+\end{questions}
+%\writeProListAux
+\end{quiz*}\cgBdry[1em]\ScoreField{\currQuiz}\olBdry\CorrButton{\currQuiz}\vcgBdry[6pt]
+
+Answers: \AnswerField\currQuiz
+
+\begin{center}
+\displaySumryTbl[showmarkup]{\currQuiz}
+\end{center}
+\end{document}
diff --git a/macros/latex/contrib/ran_toks/ran_toks.dtx b/macros/latex/contrib/ran_toks/ran_toks.dtx
index 5549bbc01c..7b247d20ce 100644
--- a/macros/latex/contrib/ran_toks/ran_toks.dtx
+++ b/macros/latex/contrib/ran_toks/ran_toks.dtx
@@ -16,7 +16,7 @@
%</copyright>
%<package>\NeedsTeXFormat{LaTeX2e}[1997/12/01]
%<package>\ProvidesPackage{ran_toks}
-%<package> [2021/01/19 v1.3.1 Randomizing tokens (dps)]
+%<package> [2021/06/06 v1.4 Randomizing tokens (dps)]
%<*driver>
\documentclass{ltxdoc}
\usepackage[colorlinks,hyperindex=false]{hyperref}
@@ -113,7 +113,7 @@
%\useRanTok{1}, \useRanTok{2},..., \useRanTok{n}
%\end{Verbatim}
% Other details are left to the readers' imagination.
-%
+% \changes{v1.4}{2021/06/06}{Rounded up v1.3.3 to v1.4 for publication}
% \paragraph{Requirements.} As of this writing, we require only the \texttt{verbatim} package
% and \texttt{random.tex}, the package was written by Donald Arseneau.
% \begin{macrocode}
@@ -437,15 +437,15 @@
% access to the contents of the \texttt{rtVW} environments, this done by
% \cs{r@nVToks}.
% \begin{macrocode}
-\newcommand{\eRTVToks}{\global
- \rt@nameedef{\rt@BaseName Cnt}{\the\rt@nCnt}\expandafter
+\newcommand{\eRTVToks}{%
+ \global\rt@nameedef{\rt@BaseName Cnt}{\the\rt@nCnt}\expandafter
\r@nVToks\expandafter{\rt@BaseName}}
% \end{macrocode}
% \end{macro}
% \begin{environment}{rtVW}
% \cs{rtVW} is a verbatim write environment. It saves its contents to the file
% \verb!\jobname_\rt@BaseName-\the\rt@nCnt.cut!. The file is later input back into
-% the source file in a random way. % J14
+% the source file in a random way.
% \begin{macrocode}
\def\reVerbEnd{\ifhmode\unskip\fi}
% \end{macrocode}
@@ -464,6 +464,8 @@
\def\rtVWId#1{\ifviewIDs\noindent#1\fi
\ifxDBUnique\ifrt@InputUsedIDs\wrtProbIds{#1}\fi\fi
}
+% \end{macrocode}
+% \begin{macrocode}
\newenvironment{rtVW}{\global\advance\rt@nCnt\@ne
\immediate\openout\rt@Verb@write
\jobname_\rt@BaseName-\the\rt@nCnt.cut
@@ -478,6 +480,15 @@
\immediate\closeout\rt@Verb@write
}
% \end{macrocode}
+% (2021/05/29) In support of nested |\bRTVToks/\eRTVToks| constructs, we \cs{let}
+% \cs{rtVWi} and \cs{rtVWii} to \cs{rtVW}, and \cs{endrtVWi} and \cs{endrtVWii} to \cs{endrtVW}.
+% \changes{v1.3.3}{2021/05/29}{Assign \string\cs{rtVWi} and \string\cs{endrtVWi}}
+% \begin{macrocode}
+\let\rtVWi\rtVW % dps5-29
+\let\endrtVWi\endrtVW
+\let\rtVWii\rtVW % dps5-29
+\let\endrtVWii\endrtVW
+% \end{macrocode}
% \end{environment}
% \DescribeMacro{\r@nVToks} randomizes the contents of the \texttt{rtVW}
% environment.
@@ -699,12 +710,14 @@
%\changes{v1.0b}{2013/07/29}{Added \string\cs{displayListRandomly}}
%\changes{v1.0e}{2016/02/06}{Added optional argument to \string\cs{displayListRandomly}}
%\changes{v1.1}{2017/05/04}{Added second optional argument to \string\cs{displayListRandomly}}
+%\changes{v1.3.3}{2021/05/29}{In support of nested \string\cs{bRTVToks}/\string\cs{eRTVToks}\space
+% constructs, replace the counter \string\cs{rt@nCnt} with \string\cs{@tempcntb}}
% \begin{macrocode}
-\newcommand{\displayListRandomly}[1][]{\bgroup
+\newcommand{\displayListRandomly}[1][]{\begingroup
\def\rt@prior{#1}\displ@yListRandomly
}
-\newcommand{\displ@yListRandomly}[2][]{\rt@nCnt\z@\expandafter
- \ifx\csname nMax4#2\endcsname\relax
+\newcommand{\displ@yListRandomly}[2][]{\@tempcntb\z@ % dps5-29
+ \expandafter\ifx\csname nMax4#2\endcsname\relax
\rt@rgi\space\textbf{??}\rt@badTokName{#2}#1%
\else
\rt@recordingfalse
@@ -715,14 +728,21 @@
% These four macro are defined locally and not available outside the command
% \cs{displayListRandomly}.
% \begin{macrocode}
- \def\rt@post{#1}\useRTName{#2}\let\i\rt@nCnt
+ \def\rt@post{#1}\useRTName{#2}\let\i\@tempcntb
\def\first{1}\edef\last{\@nameuse{nMax4#2}}\@tempcnta\last
\advance\@tempcnta\m@ne
- \edef\lessone{\the\@tempcnta}\@whilenum\rt@nCnt<\last
- \advance\rt@nCnt\@ne
- \do{\rt@prior\useRanTok{\the\rt@nCnt}\rt@post
+ \edef\lessone{\the\@tempcnta}\@whilenum\@tempcntb<\last
+ \advance\@tempcntb\@ne
+% \end{macrocode}
+% There is one example of this command getting confused and printing the wrong
+% number of items. Here, we pass the optional argument of \cs{useRanTok} and that
+% cleared up the problem.
+% \changes{v1.3.2}{2021/05/25}{Insert optional argument for \string\cs{useRanTok}
+% within \string\cs{displ@yListRandomly}}
+% \begin{macrocode}
+ \do{\rt@prior\useRanTok[#2]{\the\@tempcntb}\rt@post
}\fi
- \egroup
+ \endgroup
}
%</package>
%<*dbapp>
@@ -866,10 +886,11 @@
\def\rt@STOP{\relax}%
% \end{macrocode}
%We use the randomized list for the \ameta{name}
-%\begin{verbatim}
-% \@nameuse{#1-List} is the randomized list: eg,
-% \\{3}\\{2}\\{4}\\{5}\\{1}
-%\end{verbatim}
+\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small,
+%commandchars={!()},codes={\catcode`\%=9}]
+%\@nameuse{#1-List} is the randomized list: eg,
+%\\{3}\\{2}\\{4}\\{5}\\{1}
+%\end{Verbatim}
% \begin{macrocode}
\let\\\relax\edef\x{\@nameuse{#1-List}}%
\toks@=\expandafter{\x}\let\\\getR@nIndx