summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-08-12 03:01:55 +0000
committerNorbert Preining <norbert@preining.info>2021-08-12 03:01:55 +0000
commita19bf62ec5fa04167fc9480e22cd235ec53b3e41 (patch)
treec485e2c2ed76a135e970688963b3b2d6cce51083 /macros
parent78510518401cc9b3aced4cf291ecb7730591091d (diff)
CTAN sync 202108120301
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/colorist/colorart.cls3
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls3
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.pdfbin93925 -> 93927 bytes
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex20
-rw-r--r--macros/latex/contrib/colorist/colorist.sty19
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx14
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin584709 -> 584709 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex4
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin97753 -> 98049 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex15
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty25
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls3
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls3
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.pdfbin310187 -> 311756 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.pdfbin190948 -> 191210 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-fr.pdfbin192733 -> 192902 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc.dtx49
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx287
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin330793 -> 331915 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex10
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin215647 -> 215836 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex16
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdfbin219700 -> 219755 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex20
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls9
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin248788 -> 250392 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex12
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin155937 -> 156965 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex13
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.pdfbin162595 -> 162102 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.tex21
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls9
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin278224 -> 279341 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex13
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin156507 -> 156264 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex17
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdfbin159598 -> 159384 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex21
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls9
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin307539 -> 309221 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex11
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin210279 -> 210494 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex12
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdfbin212710 -> 212933 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex18
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls9
-rw-r--r--macros/unicodetex/latex/tipauni/README.txt6
-rw-r--r--macros/unicodetex/latex/tipauni/gfdl-tex.tex513
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni-commands.pdfbin108227 -> 85125 bytes
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni-commands.tex55
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni-example.pdfbin134002 -> 128188 bytes
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni-example.tex4
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni.dtx536
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni.ins10
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni.pdfbin194032 -> 248249 bytes
55 files changed, 782 insertions, 1007 deletions
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index 446fa868ad..e44367a8ca 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/08/09 A colorful article style]
+ [2021/08/11 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -34,6 +34,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index 711916d899..e07b345a91 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/08/09 A colorful book style]
+ [2021/08/11 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -34,6 +34,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
diff --git a/macros/latex/contrib/colorist/colorist-doc.pdf b/macros/latex/contrib/colorist/colorist-doc.pdf
index bf1291a619..b803b85010 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 dfebcdfda3..c6da8832a0 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -91,9 +91,9 @@
%%================================
\begin{document}
-\title{\colorist{}, write your articles or books in a colorful way}
+\title{{\normalfont\bfseries\color{maintext}\colorist{}}\\write your articles or books in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\colorist{} 2021/08/09}}
+\thanks{Corresponding to: \texttt{\colorist{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{August 2021, Beijing}
@@ -384,11 +384,15 @@ In the next section, we will go through the options available.
\end{itemize}
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
- \item Pure text mode. Does not load theorem-like environments.
+ \item Pure text mode. Do not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
\end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -410,7 +414,6 @@ Additionally, \colorart{} and \colorbook{} offers the following options:
\end{itemize}
\end{itemize}
-\clearpage
\LevelOneTitle{Instructions by topic}
\LevelTwoTitle{Language configuration}
@@ -597,10 +600,11 @@ You can use \lstinline|\dnf| to mark the unfinished part. For example:
Similarly, there is \lstinline|\needgraph| :
\begin{itemize}
- \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
+ \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>
+\clearpage
+ The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-\clearpage
\LevelTwoTitle{Title, abstract and keywords}
\colorart{} has both the features of standard classes and that of the \AmS{} classes.
@@ -651,7 +655,7 @@ The author information can contain multiple groups, written as:
Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
-\clearpage
+\bigskip
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index 0374aec614..348f23ee1a 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/08/09 A colorful style for articles and books]
+ [2021/08/11 A colorful style for articles and books]
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
@@ -28,6 +28,7 @@
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{puretext}
\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{delaythms}
\DeclareBoolOption[false]{nothmnum}
\DeclareStringOption{thmnum}[colorist@thmnum@default]
\DeclareBoolOption[true]{regionalref}
@@ -170,13 +171,13 @@
\gappto{\PJLlang@langconfig@common}{%
\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}%
}
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\renewcommand{\partstring}{第~\thepart~部分}%
}
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\renewcommand{\partstring}{第~\thepart~部分}%
}
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\renewcommand{\partstring}{第~\thepart~部}%
}
@@ -400,7 +401,7 @@
\setlist[itemize]{leftmargin=*}
\gappto{\PJLlang@langconfig@common}{\setlist[itemize,1]{label=\textcolor{maintext!25}{$\bullet$}}}
-\gappto{\PJLlang@langconfig@french}{\setlist[itemize,1]{label=\textcolor{maintext!50}{---}}}
+\gappto{\PJLlang@langconfig@FR}{\setlist[itemize,1]{label=\textcolor{maintext!50}{---}}}
\setlist[itemize,2]{label=\textcolor{maintext!27}{--}}
\setlist[itemize,3]{label=\textcolor{maintext!27}{\texttt{*}}}
@@ -747,7 +748,7 @@
\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}
-\AtEndPreamble{
+\def\colorist@definethms{
\if@colorist@nothms\else
\theoremstyle{basic}
\if@colorist@nothmnum
@@ -829,6 +830,12 @@
\fi
}
+\if@colorist@delaythms
+ \AtEndPreamble{\colorist@definethms}
+\else
+ \colorist@definethms
+\fi
+
\theoremstyle{simple}
\creflabelformat{PJLtheorem}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3}
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 9d4005db90..39acbc59f9 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -8,7 +8,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/08/10}{1.28K}
+\ProvidesExplClass{easybook}{2021/08/11}{1.28L}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -292,7 +292,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/08/10}{1.28K}
+\ProvidesExplPackage{easybase}{2021/08/11}{1.28L}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
@@ -619,7 +619,7 @@
\exp_args:Nc \NewDocumentCommand { eb@mark@#1@label@layout }
{O{\use:c { CTEXthe#1 }}m}
{\tl_set:cn { eb@mark@#1@label } {##1##2}}
- \cs_new:cpn { eb_mark_#1_if_name:n } ##1
+ \cs_new:cpn { eb_mark_#1_name_parse:n } ##1
{
\tl_if_in:nnTF {##1} { [ }
{ \use:c { eb@mark@#1@label@layout }##1 }
@@ -664,11 +664,11 @@
subsec-mark .cs_set:Np = \eb_fancyhf_subsection_mark:n #1,
subsec-mark .initial:n =
{ \CTEXifname{\eb@mark@subsection@label}{}#1 },
- chap-label .code:n = \eb_mark_chapter_if_name:n {#1},
+ chap-label .code:n = \eb_mark_chapter_name_parse:n {#1},
chap-label .initial:n = \hspace{1em},
- sec-label .code:n = \eb_mark_section_if_name:n {#1},
+ sec-label .code:n = \eb_mark_section_name_parse:n {#1},
sec-label .initial:n = \hspace{0.5em},
- subsec-label .code:n = \eb_mark_subsection_if_name:n {#1},
+ subsec-label .code:n = \eb_mark_subsection_name_parse:n {#1},
subsec-label .initial:n = \hspace{0.5em},
headrule .tl_gset:N = \headrule,
@@ -2396,7 +2396,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/10}{1.28K}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/11}{1.28L}
{Customization of tcolorbox for easybook}
\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index a9f86a7487..2c45fb8204 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 5266be103c..1bb507066c 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -11,8 +11,8 @@
{
name = easybook,
title = EASYBOOK 使用手册,
- version = v1.28K,
- date = 2021/08/10,
+ version = v1.28L,
+ date = 2021/08/11,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = quee123@foxmail.com,
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index 151b45a41a..4beabecc19 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 b3ead54ad1..6238f7b93b 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,classical]{minimart}
+\documentclass[classical]{minimart}
\linenumbers % Enable line numbers
@@ -98,7 +98,7 @@
\title{\minimalist{}, write your articles or books in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\minimalist{} 2021/08/08a}}
+\thanks{Corresponding to: \texttt{\minimalist{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{August 2021, Beijing}
@@ -193,6 +193,7 @@ Référence du théorème: \cref{thm:abc}
If you find this example a little complicated, don't worry. Let's now look at this example piece by piece.
+\medskip
\LevelThreeTitle{Initialization}
\medskip
@@ -391,11 +392,15 @@ In the next section, we will go through the options available.
\end{itemize}
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
- \item Pure text mode. Does not load theorem-like environments.
+ \item Pure text mode. Do not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
\end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -404,7 +409,7 @@ In the next section, we will go through the options available.
\end{itemize}
\end{itemize}
-\clearpage
+\bigskip
Additionally, \minimart{} and \minimbook{} offers the following options:
\begin{itemize}
\item \texttt{a4paper} or \texttt{b5paper}
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 04aba94b43..1892b05e4a 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/08/08a A simple and clear style for articles and books]
+ [2021/08/11 A simple and clear style for articles and books]
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
@@ -28,6 +28,7 @@
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{puretext}
\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{delaythms}
\DeclareBoolOption[false]{nothmnum}
\DeclareStringOption{thmnum}[minimalist@thmnum@default]
\DeclareBoolOption[true]{regionalref}
@@ -89,7 +90,7 @@
\newcommand{\chapfont}{\conditionalbfseries\minimalist@titlefontshape}
\newcommand{\secfont}{\conditionalbfseries\minimalist@titlefontshape}
\newcommand{\subsecfont}{\conditionalbfseries\minimalist@titlefontshape}
-\newcommand{\subsubsecfont}{\conditionalbfseries\minimalist@titlefontshape\itshape}
+\newcommand{\subsubsecfont}{\conditionalbfseries\minimalist@titlefontshape}
\fi
%%================================
@@ -252,13 +253,13 @@
\gappto{\PJLlang@langconfig@common}{%
\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}%
}
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\renewcommand{\partstring}{第~\thepart~部分}%
}
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\renewcommand{\partstring}{第~\thepart~部分}%
}
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\renewcommand{\partstring}{第~\thepart~部}%
}
@@ -491,7 +492,7 @@
\setlist[itemize]{leftmargin=*}
\gappto{\PJLlang@langconfig@common}{\setlist[itemize,1]{label=\textcolor{maintext!25}{$\bullet$}}}
-\gappto{\PJLlang@langconfig@french}{\setlist[itemize,1]{label=\textcolor{maintext!50}{---}}}
+\gappto{\PJLlang@langconfig@FR}{\setlist[itemize,1]{label=\textcolor{maintext!50}{---}}}
\setlist[itemize,2]{label=\textcolor{maintext!27}{--}}
\setlist[itemize,3]{label=\textcolor{maintext!27}{\texttt{*}}}
@@ -702,8 +703,10 @@
\pretocmd{\remarknameES}{\itshape}{}{\FAIL}
\pretocmd{\observationnameES}{\itshape}{}{\FAIL}
-\AtEndPreamble{
+
\theoremstyle{simple}
+
+\def\minimalist@definethms{
\if@minimalist@nothms\else
\if@minimalist@nothmnum
\CreateTheorem*{theorem}
@@ -780,6 +783,12 @@
\fi
}
+\if@minimalist@delaythms
+ \AtEndPreamble{\minimalist@definethms}
+\else
+ \minimalist@definethms
+\fi
+
\ifbool{IsBook}{}{%
%%================================
@@ -852,7 +861,7 @@
\LocallyStopLineNumbers%
\vspace{-\baselineskip}%
\begin{center}%
- \textsc{\conditionalbfseries\small\abstractname}\\%
+ \textsc{\conditionalbfseries\minimalist@titlefontshape\small\abstractname}\\%
\vspace{-.3\baselineskip}%
\begin{minipage}[t]{.833\textwidth}%
\vspace{0pt}%
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index 11d6858055..b35e37468c 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/08/08a A simple and clear article style]
+ [2021/08/11 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -36,6 +36,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 6a3caba3a8..0c50b2bb81 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/08/08a A simple and clear book style]
+ [2021/08/11 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -36,6 +36,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
index 69dee3c60b..ac7811c2cf 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-en.pdf b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
index 314e907b00..2e0e84a54c 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-fr.pdf b/macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
index fe6acb9c57..83efca0ee5 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc.dtx b/macros/latex/contrib/projlib/ProjLib-doc.dtx
index c228578a01..8c54844a7f 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc.dtx
+++ b/macros/latex/contrib/projlib/ProjLib-doc.dtx
@@ -90,7 +90,6 @@
%% Names
%%================================
\providecommand{\ProjLibPackage}{\mbox{\textsf{ProjLib}}}
-\providecommand{\PJLtoolkit}{\mbox{\textsf{PJLtoolkit}}}
\providecommand{\PJLauthor}{\mbox{\textsf{PJLauthor}}}
\providecommand{\PJLdatePackage}{\mbox{\textsf{PJLdate}}}
\providecommand{\PJLdraft}{\mbox{\textsf{PJLdraft}}}
@@ -108,7 +107,7 @@
%<*ProjLib-doc-cn>
\title{\ProjLib{} 工具集\\[.3\baselineskip]\normalsize 使用指南}
\author{许锦文}
-\thanks{对应版本.~~\texttt{\ProjLib{}~2021/08/07a}}
+\thanks{对应版本.~~\texttt{\ProjLib{}~2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{2021年8月,北京}
%</ProjLib-doc-cn>
@@ -116,7 +115,7 @@
%<*ProjLib-doc-en>
\title{\ProjLib{}~\,Toolkit\\[.3\baselineskip]\normalsize User Manual}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\ProjLib{}~2021/08/07a}}
+\thanks{Corresponding to: \texttt{\ProjLib{}~2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{August 2021, Beijing}
%</ProjLib-doc-en>
@@ -124,7 +123,7 @@
%<*ProjLib-doc-fr>
\title{La boîte à outils~\,\ProjLib{}\\[.3\baselineskip]\normalsize Manuel d'utilisation}
\author{Jinwen XU}
-\thanks{Correspondant à : \texttt{\ProjLib{}~2021/08/07a}}
+\thanks{Correspondant à : \texttt{\ProjLib{}~2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{Août 2021, à Pékin}
%</ProjLib-doc-fr>
@@ -600,7 +599,7 @@ Les environnements de type théorème couramment utilisés ont été prédéfini
\item 字体选项。顾名思义,会加载相应名称的字体。
\item \texttt{useosf} 选项用来启用“旧式”数字。
\end{itemize}
- \item \texttt{nothms}、\texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}、\texttt{regionalref}、\texttt{originalref}
+ \item \texttt{nothms}、\texttt{delaythms}、\texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}、\texttt{regionalref}、\texttt{originalref}
\begin{itemize}
\item 来自用于设置定理类环境的组件 \PJLthm{} 的选项,详细信息请参阅有关这一宏包的小节。
\end{itemize}
@@ -630,7 +629,7 @@ Les environnements de type théorème couramment utilisés ont été prédéfini
\item Font options. As the names suggest, font with corresponding name will be loaded.
\item The \texttt{useosf} option is used to enable the old-style figures.
\end{itemize}
- \item \texttt{nothms}, \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}, \texttt{regionalref}, \texttt{originalref}
+ \item \texttt{nothms}, \texttt{delaythms}, \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}, \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
\item Options from the component \PJLthm{} used for setting theorem-like environments, please refer to the section on this package for details.
\end{itemize}
@@ -660,7 +659,7 @@ In addition, there are also some options of the components that should be passed
\item Options de police. Comme les noms l'indiquent, la police avec le nom correspondant sera utilisée.
\item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne.
\end{itemize}
- \item \texttt{nothms}, \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}, \texttt{regionalref}, \texttt{originalref}
+ \item \texttt{nothms}, \texttt{delaythms}, \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}, \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
\item Options du composant \PJLthm{} utilisé pour définir des environnements de type théorème, veuillez vous référer à la section sur ce package pour plus de détails.
\end{itemize}
@@ -697,11 +696,11 @@ De plus, il existe également certaines options des composants qui doivent être
%</ProjLib-doc-cn>
%
%<*ProjLib-doc-en>
-\subsection{Main function}
+\subsection{Main functions}
%</ProjLib-doc-en>
%
%<*ProjLib-doc-fr>
-\subsection{Fonction principale}
+\subsection{Fonctions principales}
%</ProjLib-doc-fr>
%<*ProjLib-doc-cn>
@@ -958,9 +957,13 @@ Par exemple, \lstinline|\AddLanguageSetting(German){\color{orange}}| peut rendre
\begin{itemize}
\item 不设定定理类环境。如果你希望使用自己的定理样式,可以使用这一选项。
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item 将定理类环境设定推迟到导言结尾。如果你希望定理类环境跟随自定义计数器编号,则应考虑这一选项。
+ \end{itemize}
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item 使定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
+ \item 使定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器 (在启用 \texttt{delaythms} 选项的情况下)。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
\end{itemize}
\item \texttt{regionalref}、\texttt{originalref}
\begin{itemize}
@@ -995,6 +998,7 @@ Par exemple, \lstinline|\AddLanguageSetting(German){\color{orange}}| peut rendre
\vspace{-.15\baselineskip}%
其中,\meta{language name} 可参阅关于 \PJLlang{} 的小节。当不指定 \meta{language name}时,则会将该名称设置为所有支持语言下的名称。另外,带星号与不带星号的同名环境共用一个名称,因此 \lstinline|\NameTheorem{envname*}{...}| 与 \lstinline|\NameTheorem{envname}{...}| 效果相同。
+\bigskip
然后用下面五种方式之一定义这一环境:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -1041,6 +1045,7 @@ Par exemple, \lstinline|\AddLanguageSetting(German){\color{orange}}| peut rendre
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
+\clearpage\noindent
可以分别定义不编号的环境 \lstinline|proofidea*| 和编号的环境 \lstinline|proofidea| (在 subsection 内编号),它们支持在简体中文语境中使用,效果如下所示 (具体样式与所在的文档类有关) :
\begin{proofidea*}
@@ -1063,9 +1068,13 @@ Par exemple, \lstinline|\AddLanguageSetting(German){\color{orange}}| peut rendre
\begin{itemize}
\item Theorem-like environments will not be defined. You may use this option if you wish to apply your own theorem styles.
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
+ \end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -1170,9 +1179,13 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
\begin{itemize}
\item Les environnements de type théorème ne seront pas définis. Vous pouvez utiliser cette option si vous souhaitez appliquer vos propres styles de théorème.
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Reportez la définition des environnements de type théorème à la fin du préambule. Utilisez cette option si vous souhaitez que les environnements soient numérotés dans un compteur personnalisé.
+ \end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
+ \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule (avec l'option \texttt{delaythms} activée). Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -1200,19 +1213,19 @@ Ensuite, créez cet environnement de l'une des cinq manières suivantes :
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement non numéroté \meta{name of environment}
+ \item Définir un environnement \meta{name of environment} non numéroté
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans l'ordre 1, 2, 3, \dots
+ \item Définir un environnement \meta{name of environment} numéroté dans l'ordre 1, 2, 3, \dots
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, qui partage le compteur \meta{numbered like}
+ \item Définir un environnement \meta{name of environment} numéroté, qui partage le compteur \meta{numbered like}
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans le compteur \meta{numbered within}
+ \item Définir un environnement \meta{name of environment} numéroté dans le compteur \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|)|
@@ -1261,11 +1274,11 @@ définit un environnement non numéroté \lstinline|proofidea*| et un environnem
%</ProjLib-doc-cn>
%
%<*ProjLib-doc-en>
-\subsection{Secondary function}
+\subsection{Secondary functions}
%</ProjLib-doc-en>
%
%<*ProjLib-doc-fr>
-\subsection{Fonction secondaire}
+\subsection{Fonctions secondaires}
%</ProjLib-doc-fr>
%<*ProjLib-doc-cn>
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index ee03498a47..930ff18847 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -18,47 +18,47 @@
%
%<*ProjLib>
\ProvidesPackage{ProjLib}
- [2021/08/07a The collective interface of ProjLib toolkit]
+ [2021/08/11 The collective interface of ProjLib toolkit]
%</ProjLib>
%
%<*PJLauthor>
\ProvidesPackage{PJLauthor}
- [2021/08/07a Enhanced author information block]
+ [2021/08/11 Enhanced author information block]
%</PJLauthor>
%
%<*PJLdate>
\ProvidesPackage{PJLdate}
- [2021/08/07a Convert yyyy-mm-dd to normal datetime format]
+ [2021/08/11 Convert yyyy-mm-dd to normal datetime format]
%</PJLdate>
%
%<*PJLdraft>
\ProvidesPackage{PJLdraft}
- [2021/08/07a Some useful macros for the draft stage]
+ [2021/08/11 Some useful macros for the draft stage]
%</PJLdraft>
%
%<*PJLlang>
\ProvidesPackage{PJLlang}
- [2021/08/07a Multi-language configuration]
+ [2021/08/11 Multi-language configuration]
%</PJLlang>
%
%<*PJLlogo>
\ProvidesPackage{PJLlogo}
- [2021/08/07a The ProjLib logo]
+ [2021/08/11 The ProjLib logo]
%</PJLlogo>
%
%<*PJLmath>
\ProvidesPackage{PJLmath}
- [2021/08/07a Useful math macros and shortcuts]
+ [2021/08/11 Useful math macros and shortcuts]
%</PJLmath>
%
%<*PJLpaper>
\ProvidesPackage{PJLpaper}
- [2021/08/07a Paper style configuration]
+ [2021/08/11 Paper style configuration]
%</PJLpaper>
%
%<*PJLthm>
\ProvidesPackage{PJLthm}
- [2021/08/07a Theorem setup and configuration]
+ [2021/08/11 Theorem setup and configuration]
%</PJLthm>
%
%# 下面两行引入宏包的代码是所有文件共用的。
@@ -411,19 +411,19 @@
\gappto{\PJLlang@langconfig@common}{%
\let\@DTMdate\@DTMdate@PJLoriginal%
}
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\renewcommand*{\@DTMdate}[1]{%
\expandafter\@dtm@parsedate#1\@dtm@endparsedate%
\zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
}%
}
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\renewcommand*{\@DTMdate}[1]{%
\expandafter\@dtm@parsedate#1\@dtm@endparsedate%
\zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
}%
}
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\renewcommand*{\@DTMdate}[1]{%
\expandafter\@dtm@parsedate#1\@dtm@endparsedate%
\zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
@@ -664,6 +664,77 @@
\newcommand\japaneseABBR{JP}
\newcommand\russianABBR{RU}
+%# 将字符串转换为相应的缩写
+%# Convert a string to the corresponding abbreviation
+\ExplSyntaxOn
+% See https://tex.stackexchange.com/a/610146
+\NewExpandableDocumentCommand{\StrToABBR}{m}
+ {
+ \str_case_e:nn { \str_foldcase:n { #1 } }
+ {
+ {cn} {CN}
+ {chinese} {CN}
+ {schinese} {CN}
+ {simplifiedchinese} {CN}
+ {tc} {TC}
+ {tchinese} {TC}
+ {traditionalchinese} {TC}
+ {jp} {JP}
+ {japanese} {JP}
+ {en} {EN}
+ {english} {EN}
+ {fr} {FR}
+ {french} {FR}
+ {de} {DE}
+ {ngerman} {DE}
+ {it} {IT}
+ {italian} {IT}
+ {pt} {PT}
+ {portuguese} {PT}
+ {br} {BR}
+ {brazilian} {BR}
+ {es} {ES}
+ {spanish} {ES}
+ {german} {DE}
+ {ru} {RU}
+ {russian} {RU}
+ }
+ }
+
+\NewExpandableDocumentCommand{\StrToTYPE}{m}
+ {
+ \str_case_e:nn { \str_foldcase:n { #1 } }
+ {
+ {cn} {CJK}
+ {chinese} {CJK}
+ {schinese} {CJK}
+ {simplifiedchinese} {CJK}
+ {tc} {CJK}
+ {tchinese} {CJK}
+ {traditionalchinese} {CJK}
+ {jp} {CJK}
+ {japanese} {CJK}
+ {en} {Latin}
+ {english} {Latin}
+ {fr} {Latin}
+ {french} {Latin}
+ {de} {Latin}
+ {ngerman} {Latin}
+ {it} {Latin}
+ {italian} {Latin}
+ {pt} {Latin}
+ {portuguese} {Latin}
+ {br} {Latin}
+ {brazilian} {Latin}
+ {es} {Latin}
+ {spanish} {Latin}
+ {german} {Latin}
+ {ru} {Latin}
+ {russian} {Latin}
+ }
+ }
+\ExplSyntaxOff
+
%# 在 pdfLaTeX 编译时载入编码设置
%# Load the encoding settings when pdfLaTeX is used
\RequirePackage{iftex}
@@ -723,7 +794,7 @@
%# 各个语言的设置
%# The configuration for each language
-\newcommand{\PJLlang@langconfig@schinese}{%
+\newcommand{\PJLlang@langconfig@CN}{%
\def\abstractname{摘要}%
\def\proofname{证明}%
\def\contentsname{目录}%
@@ -738,7 +809,7 @@
\let\today\zhtoday%
\renewcommand{\languagename}{schinese}%
}
-\newcommand{\PJLlang@langconfig@tchinese}{%
+\newcommand{\PJLlang@langconfig@TC}{%
\def\abstractname{摘要}%
\def\proofname{證明}%
\def\contentsname{目錄}%
@@ -753,72 +824,42 @@
\let\today\zhtoday%
\renewcommand{\languagename}{tchinese}%
}
-\newcommand{\PJLlang@langconfig@japanese}{%
+\newcommand{\PJLlang@langconfig@JP}{%
\selectlanguage{japanese}%
}
-\newcommand{\PJLlang@langconfig@english}{%
+\newcommand{\PJLlang@langconfig@EN}{%
\selectlanguage{english}%
}
-\newcommand{\PJLlang@langconfig@french}{%
+\newcommand{\PJLlang@langconfig@FR}{%
\selectlanguage{french}%
% The line below is currently only needed for 'babel', but also works with 'polyglossia'
\def\frenchpartname{Partie}%
}
-\newcommand{\PJLlang@langconfig@german}{%
+\newcommand{\PJLlang@langconfig@DE}{%
\selectlanguage{ngerman}%
}
-\newcommand{\PJLlang@langconfig@italian}{%
+\newcommand{\PJLlang@langconfig@IT}{%
\selectlanguage{italian}%
}
-\newcommand{\PJLlang@langconfig@portuguese}{%
+\newcommand{\PJLlang@langconfig@PT}{%
\selectlanguage{portuguese}%
}
-\newcommand{\PJLlang@langconfig@brazilian}{%
+\newcommand{\PJLlang@langconfig@BR}{%
\selectlanguage{brazilian}%
}
-\newcommand{\PJLlang@langconfig@spanish}{%
+\newcommand{\PJLlang@langconfig@ES}{%
\selectlanguage{spanish}%
}
-\newcommand{\PJLlang@langconfig@russian}{%
+\newcommand{\PJLlang@langconfig@RU}{%
\selectlanguage{russian}%
}
%# 用于增加语言设置的用户指令 AddLanguageSetting
%# User command for adding language settings
-\RequirePackage{xstring}
\NewDocumentCommand\AddLanguageSetting{d()m}{%
\IfNoValueTF{#1}%
{\gappto{\PJLlang@langconfig@common}{#2}}%
- {%
- \lowercase{\IfStrEqCase{#1}}{%
- {cn}{\gappto{\PJLlang@langconfig@schinese}{#2}}%
- {chinese}{\gappto{\PJLlang@langconfig@schinese}{#2}}%
- {schinese}{\gappto{\PJLlang@langconfig@schinese}{#2}}%
- {simplifiedchinese}{\gappto{\PJLlang@langconfig@schinese}{#2}}%
- {tc}{\gappto{\PJLlang@langconfig@tchinese}{#2}}%
- {tchinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}%
- {traditionalchinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}%
- {jp}{\gappto{\PJLlang@langconfig@japanese}{#2}}%
- {japanese}{\gappto{\PJLlang@langconfig@japanese}{#2}}%
- {en}{\gappto{\PJLlang@langconfig@english}{#2}}%
- {english}{\gappto{\PJLlang@langconfig@english}{#2}}%
- {fr}{\gappto{\PJLlang@langconfig@french}{#2}}%
- {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}}%
- }%
- }%
+ {\expandafter\gappto\expandafter{\csname PJLlang@langconfig@\StrToABBR{#1}\endcsname}{#2}}%
}
\RequirePackage{setspace}
@@ -841,40 +882,14 @@
%
%# UseLanguage 的核心部分,只能在正文中使用
%# The core part of UseLanguage, can be used only in the main text, not preamble
-\newcommand{\UseLanguageCORE}[1]{%
+\NewDocumentCommand{\UseLanguageCORE}{m}{%
\PJLlang@langconfig@common%
- \lowercase{\IfStrEqCase{#1}}{%
- {cn}{\PJL@config@CJK\PJLlang@langconfig@schinese}%
- {chinese}{\PJL@config@CJK\PJLlang@langconfig@schinese}%
- {schinese}{\PJL@config@CJK\PJLlang@langconfig@schinese}%
- {simplifiedchinese}{\PJL@config@CJK\PJLlang@langconfig@schinese}%
- {tc}{\PJL@config@CJK\PJLlang@langconfig@tchinese}%
- {tchinese}{\PJL@config@CJK\PJLlang@langconfig@tchinese}%
- {traditionalchinese}{\PJL@config@CJK\PJLlang@langconfig@tchinese}%
- {jp}{\PJL@config@CJK\PJLlang@langconfig@japanese}%
- {japanese}{\PJL@config@CJK\PJLlang@langconfig@japanese}%
- {en}{\PJL@config@Latin\PJLlang@langconfig@english}%
- {english}{\PJL@config@Latin\PJLlang@langconfig@english}%
- {fr}{\PJL@config@Latin\PJLlang@langconfig@french}%
- {french}{\PJL@config@Latin\PJLlang@langconfig@french}%
- {de}{\PJL@config@Latin\PJLlang@langconfig@german}%
- {ngerman}{\PJL@config@Latin\PJLlang@langconfig@german}%
- {german}{\PJL@config@Latin\PJLlang@langconfig@german}%
- {it}{\PJL@config@Latin\PJLlang@langconfig@italian}%
- {italian}{\PJL@config@Latin\PJLlang@langconfig@italian}%
- {pt}{\PJL@config@Latin\PJLlang@langconfig@portuguese}%
- {portuguese}{\PJL@config@Latin\PJLlang@langconfig@portuguese}%
- {br}{\PJL@config@Latin\PJLlang@langconfig@brazilian}%
- {brazilian}{\PJL@config@Latin\PJLlang@langconfig@brazilian}%
- {es}{\PJL@config@Latin\PJLlang@langconfig@spanish}%
- {spanish}{\PJL@config@Latin\PJLlang@langconfig@spanish}%
- {ru}{\PJL@config@Latin\PJLlang@langconfig@russian}%
- {russian}{\PJL@config@Latin\PJLlang@langconfig@russian}%
- }%
+ \csname PJL@config@\StrToTYPE{#1}\endcsname%
+ \csname PJLlang@langconfig@\StrToABBR{#1}\endcsname%
}
%# 用于选定语言的 UseLanguage
%# Macro for selecting language
-\newcommand{\UseLanguage}[1]{%
+\NewDocumentCommand{\UseLanguage}{m}{%
\ifx\@onlypreamble\@notprerr%
\UseLanguageCORE{#1}%
\else%
@@ -883,56 +898,17 @@
}
%# 用于局部选定语言的 UseOtherLanguage
%# Macro for selecting language locally
-\newcommand{\UseOtherLanguage}[2]{%
+\NewDocumentCommand{\UseOtherLanguage}{mm}{%
\begingroup\begingroup%
\PJLlang@langconfig@common%
- \lowercase{\IfStrEqCase{#1}}{%
- {cn}{\PJLlang@langconfig@schinese}%
- {chinese}{\PJLlang@langconfig@schinese}%
- {schinese}{\PJLlang@langconfig@schinese}%
- {simplifiedchinese}{\PJLlang@langconfig@schinese}%
- {tc}{\PJLlang@langconfig@tchinese}%
- {tchinese}{\PJLlang@langconfig@tchinese}%
- {traditionalchinese}{\PJLlang@langconfig@tchinese}%
- {jp}{\PJLlang@langconfig@japanese}%
- {japanese}{\PJLlang@langconfig@japanese}%
- {en}{\PJLlang@langconfig@english}%
- {english}{\PJLlang@langconfig@english}%
- {fr}{\PJLlang@langconfig@french}%
- {french}{\PJLlang@langconfig@french}%
- {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}%
- }%
+ \csname PJLlang@langconfig@\StrToABBR{#1}\endcsname%
#2%
\endgroup\endgroup%
}
%# 运行默认语言的设置
%# Execute the configuration of the main language
-\IfStrEqCase{\PJLlang@mainlang}{%
- {EN}{\UseLanguage{EN}}%
- {FR}{\UseLanguage{FR}}%
- {DE}{\UseLanguage{DE}}%
- {IT}{\UseLanguage{IT}}%
- {PT}{\UseLanguage{PT}}%
- {BR}{\UseLanguage{BR}}%
- {ES}{\UseLanguage{ES}}%
- {CN}{\UseLanguage{CN}}%
- {TC}{\UseLanguage{TC}}%
- {JP}{\UseLanguage{JP}}%
- {RU}{\UseLanguage{RU}}%
-}
+\expandafter\UseLanguage\expandafter{\PJLlang@mainlang}
%</PJLlang>
%
%<*PJLlogo>
@@ -1393,6 +1369,9 @@
%# 不建立定理类环境
%# Do not setup theorem-like environments
\DeclareBoolOption[false]{nothms}
+%# 推迟建立定理类环境
+%# Delay the setup of theorem-like environments to the end of the preamble
+\DeclareBoolOption[false]{delaythms}
%# 不编号定理类环境
%# Do not number theorem-like environments
\DeclareBoolOption[false]{nothmnum}
@@ -1436,34 +1415,8 @@
\expandafter\StrGobbleRight\expandafter{\PJLthm@temp}{1}[\PJLthm@temp]%
}{}%
\IfValueTF{#1}{%
- \lowercase{\IfStrEqCase{#1}}{%
- {cn}{\def\PJL@temp@abbr{CN}}%
- {chinese}{\def\PJL@temp@abbr{CN}}%
- {schinese}{\def\PJL@temp@abbr{CN}}%
- {simplifiedchinese}{\def\PJL@temp@abbr{CN}}%
- {tc}{\def\PJL@temp@abbr{TC}}%
- {tchinese}{\def\PJL@temp@abbr{TC}}%
- {traditionalchinese}{\def\PJL@temp@abbr{TC}}%
- {jp}{\def\PJL@temp@abbr{JP}}%
- {japanese}{\def\PJL@temp@abbr{JP}}%
- {en}{\def\PJL@temp@abbr{EN}}%
- {english}{\def\PJL@temp@abbr{EN}}%
- {fr}{\def\PJL@temp@abbr{FR}}%
- {french}{\def\PJL@temp@abbr{FR}}%
- {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}}%
- }%
+ \expandafter\def\expandafter\PJL@temp@abbr\expandafter%
+ {\expandafter\StrToABBR\expandafter{#1}}%
\expandafter\def\csname\PJLthm@temp name\PJL@temp@abbr\endcsname{#3}%
}{%
\expandafter\def\csname\PJLthm@temp nameEN\endcsname{#3}%
@@ -1975,9 +1928,10 @@
}
}
}
+
%# 建立定理类环境
%# Setup theorem-like environments
-\AtEndPreamble{
+\def\PJLthm@definethms{
\if@PJLthm@nothms\else
\if@PJLthm@nothmnum
\CreateTheorem*{theorem}
@@ -2056,7 +2010,6 @@
\CreateTheorem*{remark*}
\CreateTheorem*{observation*}
\fi
-}
%# 按照 thmnum 决定公式如何编号
%# Number the equations with respect to thmnum
@@ -2072,9 +2025,17 @@
}
}
+} % End of \PJLthm@definethms
+
+\if@PJLthm@delaythms
+ \AtEndPreamble{\PJLthm@definethms}
+\else
+ \PJLthm@definethms
+\fi
+
%# 一些 cref 的本地化
%# Some localization of cref
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\crefname{equation}{式}{式}%
\crefname{figure}{图}{图}%
\crefname{table}{表}{表}%
@@ -2091,7 +2052,7 @@
\def\creflastgroupconjunction{~和~}%
\def\crefrangeconjunction{~}%
}
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\crefname{equation}{式}{式}%
\crefname{figure}{圖}{圖}%
\crefname{table}{表}{表}%
@@ -2108,7 +2069,7 @@
\def\creflastgroupconjunction{~與~}%
\def\crefrangeconjunction{~}%
}
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\crefname{equation}{式}{式}%
\crefname{figure}{図}{図}%
\crefname{table}{表}{表}%
@@ -2125,7 +2086,7 @@
\def\creflastgroupconjunction{~と~}%
\def\crefrangeconjunction{〜}%
}
-\gappto{\PJLlang@langconfig@russian}{%
+\gappto{\PJLlang@langconfig@RU}{%
\crefname{equation}{уравнение}{уравнения}%
\crefname{figure}{рис.}{рис.}%
\crefname{table}{таблица}{таблицы}%
@@ -2142,7 +2103,7 @@
\def\creflastgroupconjunction{~и~}%
\def\crefrangeconjunction{~\textasciitilde~}%
}
-\gappto{\PJLlang@langconfig@portuguese}{%
+\gappto{\PJLlang@langconfig@PT}{%
\crefname{equation}{eq.}{eqs.}%
\crefname{figure}{fig.}{figs.}%
\crefname{table}{tabela}{tabelas}%
@@ -2173,6 +2134,7 @@
\DeclareBoolOption[false]{author}
\DeclareBoolOption[false]{amsfashion}
\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{delaythms}
\DeclareBoolOption[false]{nothmnum}
\DeclareStringOption{thmnum}[PJL@thmnum@default]
\DeclareBoolOption[true]{regionalref}
@@ -2207,6 +2169,9 @@
\if@ProjLib@nothms
\PassOptionsToPackage{nothms}{PJLthm}
\fi
+\if@ProjLib@delaythms
+ \PassOptionsToPackage{delaythms}{PJLthm}
+\fi
\if@ProjLib@nothmnum
\PassOptionsToPackage{nothmnum}{PJLthm}
\fi
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
index 2406947a03..347daef679 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
index bcb60d0156..fb2ca4db0f 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -98,7 +98,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/08/09}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/08/11}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{许锦文}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年8月,北京}};
\end{tikzpicture}%
@@ -297,9 +297,13 @@ Référence du théorème: \cref{thm:abc}
\item 纯文本模式,不加载定理类环境。
\end{itemize}
\clearpage
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item 将定理类环境设定推迟到导言结尾。如果你希望定理类环境跟随自定义计数器编号,则应考虑这一选项。
+ \end{itemize}
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
+ \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器 (在启用 \texttt{delaythms} 选项的情况下)。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
\end{itemize}
\item \texttt{regionalref}、\texttt{originalref}
\begin{itemize}
@@ -503,7 +507,7 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
-\clearpage
+\bigskip
\LevelOneTitle{目前存在的问题}
\begin{itemize}[itemsep=.6em]
\item 对于字体的设置仍然不够完善。
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index 0002d7484e..a9a3f0c80c 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
index dd4f7268b1..286ccbcc04 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -99,7 +99,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/08/09}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/08/11}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{August 2021, Beijing}};
\end{tikzpicture}%
@@ -296,13 +296,16 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute
\end{itemize}
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
- \item Pure text mode. Does not load theorem-like environments.
+ \item Pure text mode. Do not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
\end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
-\clearpage
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
\item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''.
@@ -501,11 +504,12 @@ You can use \lstinline|\dnf| to mark the unfinished part. For example:
Similarly, there is \lstinline|\needgraph| :
\begin{itemize}
- \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
+ \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>
+ The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-\clearpage
+\bigskip
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
index 96a00f9bdc..a7d8dc2d7b 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
index 67624156d3..425725f0cb 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
@@ -98,7 +98,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière colorée}\\[10pt]\tiny Correspondant à : \texttt{\beaulivre{} 2021/08/09}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière colorée}\\[10pt]\tiny Correspondant à : \texttt{\beaulivre{} 2021/08/11}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{Août 2021, à Pékin}};
\end{tikzpicture}%
@@ -256,6 +256,7 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\LevelOneTitle{Les options}
+\beaulivre{} propose les options suivantes :
\begin{itemize}
\item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
@@ -296,9 +297,14 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\begin{itemize}
\item Mode texte pur. Ne pas définir les environnements de type théorème.
\end{itemize}
+\clearpage
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Reportez la définition des environnements de type théorème à la fin du préambule. Utilisez cette option si vous souhaitez que les environnements soient numérotés dans un compteur personnalisé.
+ \end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
+ \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule (avec l'option \texttt{delaythms} activée). Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -429,19 +435,19 @@ Ensuite, créez cet environnement de l'une des cinq manières suivantes :
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement non numéroté \meta{name of environment}
+ \item Définir un environnement \meta{name of environment} non numéroté
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans l'ordre 1, 2, 3, \dots
+ \item Définir un environnement \meta{name of environment} numéroté dans l'ordre 1, 2, 3, \dots
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, qui partage le compteur \meta{numbered like}
+ \item Définir un environnement \meta{name of environment} numéroté, qui partage le compteur \meta{numbered like}
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans le compteur \meta{numbered within}
+ \item Définir un environnement \meta{name of environment} numéroté dans le compteur \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|)|
@@ -496,7 +502,7 @@ De même, il y a aussi \lstinline|\needgraph| :
\end{itemize}
-\clearpage
+\bigskip
\LevelOneTitle{Problèmes connus}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index 4da4aadc4f..b7dcdc06fb 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre.cls
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{beaulivre}
- [2021/08/09 A colorful book style]
+ [2021/08/11 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -34,6 +34,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
@@ -314,7 +315,7 @@
\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
\if@PJLlang@enable@CN
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\def\CJKsffamily{\CJKfamily{SCsans}}%
\def\CJKttfamily{\CJKfamily{SCmono}}%
\CJKfamily{SCmain}%
@@ -322,7 +323,7 @@
\fi
\if@PJLlang@enable@TC
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\def\CJKsffamily{\CJKfamily{TCsans}}%
\def\CJKttfamily{\CJKfamily{TCmono}}%
\CJKfamily{TCmain}%
@@ -330,7 +331,7 @@
\fi
\if@PJLlang@enable@JP
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\def\CJKsffamily{\CJKfamily{JPsans}}%
\def\CJKttfamily{\CJKfamily{JPmono}}%
\CJKfamily{JPmain}%
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
index 2d79e9987c..90d7c7c9a2 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
index cb896b420e..43f9380831 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,classical]{einfart}
+\documentclass[classical]{einfart}
\linenumbers % Enable line numbers
@@ -98,7 +98,7 @@
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\einfart{} 2021/08/08a}}
+\thanks{对应版本. \texttt{\einfart{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{2021年8月,北京}
@@ -351,9 +351,13 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 纯文本模式,不加载定理类环境。
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item 将定理类环境设定推迟到导言结尾。如果你希望定理类环境跟随自定义计数器编号,则应考虑这一选项。
+ \end{itemize}
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
+ \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器 (在启用 \texttt{delaythms} 选项的情况下)。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
\end{itemize}
\item \texttt{regionalref}、\texttt{originalref}
\begin{itemize}
@@ -486,6 +490,7 @@ Référence du théorème: \cref{thm:abc}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
+\clearpage
下面提供一个例子。这三行代码:
\begin{code}
@@ -583,6 +588,7 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{关于QED符号}
由于定理类环境中的字体和正文字体是一样的,为了方便看出定理类环境在哪里结束,在其结尾处放置了一个空心的QED符号。然而,如果你的定理是由公式或者列表结尾的,这个符号就无法自动地放在正确的位置。这时,你需要手动在公式或列表最后一个条目的后面加上 \lstinline|\qedhere|,以让QED符号显示到这一行的最后。
+\clearpage
\LevelOneTitle{目前存在的问题}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index e6607ae652..ebf652ea5d 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
index 7e030fed15..83a421637d 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,classical]{einfart}
+\documentclass[classical]{einfart}
\linenumbers % Enable line numbers
@@ -98,7 +98,7 @@
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\einfart{} 2021/08/08a}}
+\thanks{Corresponding to: \texttt{\einfart{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{August 2021, Beijing}
@@ -350,11 +350,15 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute
\end{itemize}
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
- \item Pure text mode. Does not load theorem-like environments.
+ \item Pure text mode. Do not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
\end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -584,6 +588,7 @@ This is a disadvantage brought about by the underline decoration of the title.
\LevelThreeTitle{On the QED symbols}
Since the font in the theorem-like environments is the same as that of the main text, in order to indicate where the environments end, a hollow QED symbol \simpleqedsymbol{} is placed at the end of the theorem-like environments. However, if your theorem ends with an equation or list (itemize, enumerate, description, etc.), this symbol cannot be automatically placed in the correct position. In this case, you need to manually add a \lstinline|\qedhere| at the end of your equation or the last entry of your list to make the QED symbol appear at the end of the line.
+\clearpage
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
index 15e82ad253..e66f64e7a7 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
index 05f0395d8e..f0217a97b6 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,classical]{einfart}
+\documentclass[classical]{einfart}
\linenumbers % Enable line numbers
@@ -98,7 +98,7 @@
\title{\einfart{}, écrivez vos articles de manière simple et claire}
\author{Jinwen XU}
-\thanks{Correspondant à : \texttt{\einfart{} 2021/08/08a}}
+\thanks{Correspondant à : \texttt{\einfart{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{Août 2021, à Pékin}
@@ -350,9 +350,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\begin{itemize}
\item Mode texte pur. Ne pas définir les environnements de type théorème.
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Reportez la définition des environnements de type théorème à la fin du préambule. Utilisez cette option si vous souhaitez que les environnements soient numérotés dans un compteur personnalisé.
+ \end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
+ \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule (avec l'option \texttt{delaythms} activée). Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -361,6 +365,7 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\end{itemize}
\end{itemize}
+\clearpage
\LevelOneTitle{Instructions par sujet}
\LevelTwoTitle{Configurer la langue}
@@ -446,19 +451,20 @@ Ensuite, créez cet environnement de l'une des cinq manières suivantes :
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement non numéroté \meta{name of environment}
+ \item Définir un environnement \meta{name of environment} non numéroté
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans l'ordre 1, 2, 3, \dots
+ \item Définir un environnement \meta{name of environment} numéroté dans l'ordre 1, 2, 3, \dots
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, qui partage le compteur \meta{numbered like}
+ \item Définir un environnement \meta{name of environment} numéroté, qui partage le compteur \meta{numbered like}
\end{itemize}
+\clearpage
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans le compteur \meta{numbered within}
+ \item Définir un environnement \meta{name of environment} numéroté dans le compteur \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|)|
@@ -563,6 +569,7 @@ Les informations sur l'auteur peuvent contenir plusieurs groupes, écrits comme
Parmi eux, l'ordre mutuel de \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| n'est pas important.
+\clearpage
\LevelTwoTitle{Divers}
\LevelThreeTitle{Les numéros de ligne}
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index 9ac16f3b9a..27363074fa 100644
--- a/macros/unicodetex/latex/einfart/einfart.cls
+++ b/macros/unicodetex/latex/einfart/einfart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{einfart}
- [2021/08/08a A simple and clear article style]
+ [2021/08/11 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -36,6 +36,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
@@ -321,7 +322,7 @@
\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
\if@PJLlang@enable@CN
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\def\CJKsffamily{\CJKfamily{SCsans}}%
\def\CJKttfamily{\CJKfamily{SCmono}}%
\CJKfamily{SCmain}%
@@ -329,7 +330,7 @@
\fi
\if@PJLlang@enable@TC
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\def\CJKsffamily{\CJKfamily{TCsans}}%
\def\CJKttfamily{\CJKfamily{TCmono}}%
\CJKfamily{TCmain}%
@@ -337,7 +338,7 @@
\fi
\if@PJLlang@enable@JP
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\def\CJKsffamily{\CJKfamily{JPsans}}%
\def\CJKttfamily{\CJKfamily{JPmono}}%
\CJKfamily{JPmain}%
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
index abf1eb4dc9..d170416dea 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index d78e25efc1..c307fda6b6 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -91,9 +91,9 @@
%%================================
\begin{document}
-\title{\lebhart{},以多彩的方式排版你的文章}
+\title{{\normalfont\bfseries\color{maintext}\lebhart{}}\\以多彩的方式排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\lebhart{} 2021/08/09}}
+\thanks{对应版本. \texttt{\lebhart{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{2021年8月,北京}
@@ -341,10 +341,13 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 纯文本模式,不加载定理类环境。
\end{itemize}
-\clearpage
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item 将定理类环境设定推迟到导言结尾。如果你希望定理类环境跟随自定义计数器编号,则应考虑这一选项。
+ \end{itemize}
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
+ \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器 (在启用 \texttt{delaythms} 选项的情况下)。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
\end{itemize}
\item \texttt{regionalref}、\texttt{originalref}
\begin{itemize}
@@ -595,7 +598,7 @@ Référence du théorème: \cref{thm:abc}
其中 \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email| 的相互顺序是不重要的。
-\clearpage
+\bigskip
\LevelOneTitle{目前存在的问题}
\begin{itemize}[itemsep=.6em]
\item 对于字体的设置仍然不够完善。
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index 516ae85344..1bf78a225f 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index c6c4b1038f..0b983789d5 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -91,9 +91,9 @@
%%================================
\begin{document}
-\title{\lebhart{}, write your articles in a colorful way}
+\title{{\normalfont\bfseries\color{maintext}\lebhart{}}\\write your articles in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\lebhart{} 2021/08/09}}
+\thanks{Corresponding to: \texttt{\lebhart{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{August 2021, Beijing}
@@ -339,12 +339,16 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute
\end{itemize}
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
- \item Pure text mode. Does not load theorem-like environments.
+ \item Pure text mode. Do not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
\end{itemize}
\clearpage
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -540,7 +544,8 @@ You can use \lstinline|\dnf| to mark the unfinished part. For example:
Similarly, there is \lstinline|\needgraph| :
\begin{itemize}
- \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
+ \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>
+ The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
\LevelTwoTitle{Title, abstract and keywords}
@@ -594,7 +599,7 @@ The author information can contain multiple groups, written as:
Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
-\clearpage
+\bigskip
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
index 06557cb2f9..f6b06a01a4 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
index 5c63e62ee9..1a1b43ecf4 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
@@ -91,9 +91,9 @@
%%================================
\begin{document}
-\title{\lebhart{}, écrivez vos articles de manière colorée}
+\title{{\normalfont\bfseries\color{maintext}\lebhart{}}\\écrivez vos articles de manière colorée}
\author{Jinwen XU}
-\thanks{Correspondant à : \texttt{\lebhart{} 2021/08/09}}
+\thanks{Correspondant à : \texttt{\lebhart{} 2021/08/11}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{Août 2021, à Pékin}
@@ -300,6 +300,7 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\LevelOneTitle{Les options}
+\lebhart{} propose les options suivantes :
\begin{itemize}
\item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
@@ -340,9 +341,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\begin{itemize}
\item Mode texte pur. Ne pas définir les environnements de type théorème.
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Reportez la définition des environnements de type théorème à la fin du préambule. Utilisez cette option si vous souhaitez que les environnements soient numérotés dans un compteur personnalisé.
+ \end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
+ \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule (avec l'option \texttt{delaythms} activée). Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -472,19 +477,19 @@ Ensuite, créez cet environnement de l'une des cinq manières suivantes :
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement non numéroté \meta{name of environment}
+ \item Définir un environnement \meta{name of environment} non numéroté
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans l'ordre 1, 2, 3, \dots
+ \item Définir un environnement \meta{name of environment} numéroté dans l'ordre 1, 2, 3, \dots
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, qui partage le compteur \meta{numbered like}
+ \item Définir un environnement \meta{name of environment} numéroté, qui partage le compteur \meta{numbered like}
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans le compteur \meta{numbered within}
+ \item Définir un environnement \meta{name of environment} numéroté dans le compteur \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|)|
@@ -589,7 +594,7 @@ Les informations sur l'auteur peuvent contenir plusieurs groupes, écrits comme
Parmi eux, l'ordre mutuel de \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| n'est pas important.
-\clearpage
+\bigskip
\LevelOneTitle{Problèmes connus}
\begin{itemize}[itemsep=.6em]
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index e4688e8c6e..a3a18edaab 100644
--- a/macros/unicodetex/latex/lebhart/lebhart.cls
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{lebhart}
- [2021/08/09 A colorful article style]
+ [2021/08/11 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -34,6 +34,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
@@ -314,7 +315,7 @@
\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
\if@PJLlang@enable@CN
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\def\CJKsffamily{\CJKfamily{SCsans}}%
\def\CJKttfamily{\CJKfamily{SCmono}}%
\CJKfamily{SCmain}%
@@ -322,7 +323,7 @@
\fi
\if@PJLlang@enable@TC
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\def\CJKsffamily{\CJKfamily{TCsans}}%
\def\CJKttfamily{\CJKfamily{TCmono}}%
\CJKfamily{TCmain}%
@@ -330,7 +331,7 @@
\fi
\if@PJLlang@enable@JP
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\def\CJKsffamily{\CJKfamily{JPsans}}%
\def\CJKttfamily{\CJKfamily{JPmono}}%
\CJKfamily{JPmain}%
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
index d5c2f75f37..eb64364065 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
index 1d130479ae..d7b6bf459e 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,JP,TC,classical]{simplivre}
+\documentclass[classical]{simplivre}
\linenumbers % Enable line numbers
@@ -103,7 +103,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/08/08a}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/08/11}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{许锦文}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年8月,北京}};
\end{tikzpicture}%
@@ -314,9 +314,13 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 纯文本模式,不加载定理类环境。
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item 将定理类环境设定推迟到导言结尾。如果你希望定理类环境跟随自定义计数器编号,则应考虑这一选项。
+ \end{itemize}
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
+ \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器 (在启用 \texttt{delaythms} 选项的情况下)。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
\end{itemize}
\item \texttt{regionalref}、\texttt{originalref}
\begin{itemize}
@@ -452,6 +456,7 @@ Référence du théorème: \cref{thm:abc}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<section>
+\clearpage
下面提供一个例子。这三行代码:
\begin{code}
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index afe4b55bf0..66babbedbb 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
index 1acd75eb7c..aa00414e13 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,JP,TC,classical]{simplivre}
+\documentclass[classical]{simplivre}
\linenumbers % Enable line numbers
@@ -104,7 +104,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/08/08a}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/08/11}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{August 2021, Beijing}};
\end{tikzpicture}%
@@ -314,11 +314,15 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute
\clearpage
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
- \item Pure text mode. Does not load theorem-like environments.
+ \item Pure text mode. Do not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Defer the definition of theorem-like environments to the end of the preamble. Use this option if you want the theorem-like environments to be numbered within a custom counter.
\end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
+ \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble (with the option \texttt{delaythms} enabled). If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
index 91a7d315dc..45a25ef1db 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
index 584a6dfcc0..d8cfcc840e 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,JP,TC,classical]{simplivre}
+\documentclass[classical]{simplivre}
\linenumbers % Enable line numbers
@@ -103,7 +103,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière simple et claire}\\[10pt]\tiny Correspondant à : \texttt{\simplivre{} 2021/08/08a}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière simple et claire}\\[10pt]\tiny Correspondant à : \texttt{\simplivre{} 2021/08/11}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{Août 2021, à Pékin}};
\end{tikzpicture}%
@@ -314,9 +314,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne
\begin{itemize}
\item Mode texte pur. Ne pas définir les environnements de type théorème.
\end{itemize}
+ \item \texttt{delaythms}
+ \begin{itemize}
+ \item Reportez la définition des environnements de type théorème à la fin du préambule. Utilisez cette option si vous souhaitez que les environnements soient numérotés dans un compteur personnalisé.
+ \end{itemize}
\item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter}
\begin{itemize}
- \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
+ \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Ici, \meta{counter} doit être un compteur intégré (tel que \texttt{subsection}) ou un compteur défini dans le préambule (avec l'option \texttt{delaythms} activée). Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article).
\end{itemize}
\item \texttt{regionalref}, \texttt{originalref}
\begin{itemize}
@@ -412,19 +416,19 @@ Ensuite, créez cet environnement de l'une des cinq manières suivantes :
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement non numéroté \meta{name of environment}
+ \item Définir un environnement \meta{name of environment} non numéroté
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans l'ordre 1, 2, 3, \dots
+ \item Définir un environnement \meta{name of environment} numéroté dans l'ordre 1, 2, 3, \dots
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, qui partage le compteur \meta{numbered like}
+ \item Définir un environnement \meta{name of environment} numéroté, qui partage le compteur \meta{numbered like}
\end{itemize}
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
- \item Définir un environnement numéroté \meta{name of environment}, numéroté dans le compteur \meta{numbered within}
+ \item Définir un environnement \meta{name of environment} numéroté dans le compteur \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|)|
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index 58a5630315..84c21b30bb 100644
--- a/macros/unicodetex/latex/simplivre/simplivre.cls
+++ b/macros/unicodetex/latex/simplivre/simplivre.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{simplivre}
- [2021/08/08a A simple and clear book style]
+ [2021/08/11 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -36,6 +36,7 @@
\DeclareBoolOption[false]{noto}
\DeclareBoolOption[false]{biolinum}
\DeclareBoolOption[false]{customfont}
+\DeclareStringOption{thmnum}[PJL@thmnum@default]
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
@@ -321,7 +322,7 @@
\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
\if@PJLlang@enable@CN
-\gappto{\PJLlang@langconfig@schinese}{%
+\gappto{\PJLlang@langconfig@CN}{%
\def\CJKsffamily{\CJKfamily{SCsans}}%
\def\CJKttfamily{\CJKfamily{SCmono}}%
\CJKfamily{SCmain}%
@@ -329,7 +330,7 @@
\fi
\if@PJLlang@enable@TC
-\gappto{\PJLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@TC}{%
\def\CJKsffamily{\CJKfamily{TCsans}}%
\def\CJKttfamily{\CJKfamily{TCmono}}%
\CJKfamily{TCmain}%
@@ -337,7 +338,7 @@
\fi
\if@PJLlang@enable@JP
-\gappto{\PJLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@JP}{%
\def\CJKsffamily{\CJKfamily{JPsans}}%
\def\CJKttfamily{\CJKfamily{JPmono}}%
\CJKfamily{JPmain}%
diff --git a/macros/unicodetex/latex/tipauni/README.txt b/macros/unicodetex/latex/tipauni/README.txt
index 2cb44e5ee6..2ca76f59d0 100644
--- a/macros/unicodetex/latex/tipauni/README.txt
+++ b/macros/unicodetex/latex/tipauni/README.txt
@@ -1,9 +1,9 @@
--------------------------------------------------------------------------
Package: tipauni
-Author: Niranjan
-Version: v0.1 (27 April, 2021)
+Author: निरंजन
+Version: v0.2 (11 August, 2021)
Description: For producing Unicode characters with TIPA commands.
Repository: https://gitlab.com/niruvt/tipauni
Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
-License: GPL v3.0+
+License: GPL v3.0+, GFDL v1.3+
--------------------------------------------------------------------------
diff --git a/macros/unicodetex/latex/tipauni/gfdl-tex.tex b/macros/unicodetex/latex/tipauni/gfdl-tex.tex
deleted file mode 100644
index 8c42ff6fd7..0000000000
--- a/macros/unicodetex/latex/tipauni/gfdl-tex.tex
+++ /dev/null
@@ -1,513 +0,0 @@
-% \section{\centering GNU Free Documentation License}
-% \begin{center}
-%
-% Version 1.3, 3 November 2008
-%
-% Copyright \copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-%
-% \bigskip
-%
-% \url{https://fsf.org/}
-%
-% \bigskip
-%
-% Everyone is permitted to copy and distribute verbatim copies
-% of this license document, but changing it is not allowed.
-% \end{center}
-%
-% \begin{center}
-% {\bf\large Preamble}
-% \end{center}
-%
-% The purpose of this License is to make a manual, textbook, or other
-% functional and useful document ``free'' in the sense of freedom: to
-% assure everyone the effective freedom to copy and redistribute it,
-% with or without modifying it, either commercially or noncommercially.
-% Secondarily, this License preserves for the author and publisher a way
-% to get credit for their work, while not being considered responsible
-% for modifications made by others.
-%
-% This License is a kind of ``copyleft'', which means that derivative
-% works of the document must themselves be free in the same sense. It
-% complements the GNU General Public License, which is a copyleft
-% license designed for free software.
-%
-% We have designed this License in order to use it for manuals for free
-% software, because free software needs free documentation: a free
-% program should come with manuals providing the same freedoms that the
-% software does. But this License is not limited to software manuals;
-% it can be used for any textual work, regardless of subject matter or
-% whether it is published as a printed book. We recommend this License
-% principally for works whose purpose is instruction or reference.
-%
-% \begin{center}
-% {\Large\bf 1. APPLICABILITY AND DEFINITIONS\par}
-% \end{center}
-%
-% This License applies to any manual or other work, in any medium, that
-% contains a notice placed by the copyright holder saying it can be
-% distributed under the terms of this License. Such a notice grants a
-% world-wide, royalty-free license, unlimited in duration, to use that
-% work under the conditions stated herein. The ``\textbf{Document}'', below,
-% refers to any such manual or work. Any member of the public is a
-% licensee, and is addressed as ``\textbf{you}''. You accept the license if you
-% copy, modify or distribute the work in a way requiring permission
-% under copyright law.
-%
-% A ``\textbf{Modified Version}'' of the Document means any work containing the
-% Document or a portion of it, either copied verbatim, or with
-% modifications and/or translated into another language.
-%
-% A ``\textbf{Secondary Section}'' is a named appendix or a front-matter section of
-% the Document that deals exclusively with the relationship of the
-% publishers or authors of the Document to the Document's overall subject
-% (or to related matters) and contains nothing that could fall directly
-% within that overall subject. (Thus, if the Document is in part a
-% textbook of mathematics, a Secondary Section may not explain any
-% mathematics.) The relationship could be a matter of historical
-% connection with the subject or with related matters, or of legal,
-% commercial, philosophical, ethical or political position regarding
-% them.
-%
-% The ``\textbf{Invariant Sections}'' are certain Secondary Sections whose titles
-% are designated, as being those of Invariant Sections, in the notice
-% that says that the Document is released under this License. If a
-% section does not fit the above definition of Secondary then it is not
-% allowed to be designated as Invariant. The Document may contain zero
-% Invariant Sections. If the Document does not identify any Invariant
-% Sections then there are none.
-%
-% The ``\textbf{Cover Texts}'' are certain short passages of text that are listed,
-% as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-% the Document is released under this License. A Front-Cover Text may
-% be at most 5 words, and a Back-Cover Text may be at most 25 words.
-%
-% A ``\textbf{Transparent}'' copy of the Document means a machine-readable copy,
-% represented in a format whose specification is available to the
-% general public, that is suitable for revising the document
-% straightforwardly with generic text editors or (for images composed of
-% pixels) generic paint programs or (for drawings) some widely available
-% drawing editor, and that is suitable for input to text formatters or
-% for automatic translation to a variety of formats suitable for input
-% to text formatters. A copy made in an otherwise Transparent file
-% format whose markup, or absence of markup, has been arranged to thwart
-% or discourage subsequent modification by readers is not Transparent.
-% An image format is not Transparent if used for any substantial amount
-% of text. A copy that is not ``Transparent'' is called ``\textbf{Opaque}''.
-%
-% Examples of suitable formats for Transparent copies include plain
-% ASCII without markup, Texinfo input format, LaTeX input format, SGML
-% or XML using a publicly available DTD, and standard-conforming simple
-% HTML, PostScript or PDF designed for human modification. Examples of
-% transparent image formats include PNG, XCF and JPG. Opaque formats
-% include proprietary formats that can be read and edited only by
-% proprietary word processors, SGML or XML for which the DTD and/or
-% processing tools are not generally available, and the
-% machine-generated HTML, PostScript or PDF produced by some word
-% processors for output purposes only.
-%
-% The ``\textbf{Title Page}'' means, for a printed book, the title page itself,
-% plus such following pages as are needed to hold, legibly, the material
-% this License requires to appear in the title page. For works in
-% formats which do not have any title page as such, ``Title Page'' means
-% the text near the most prominent appearance of the work's title,
-% preceding the beginning of the body of the text.
-%
-% The ``\textbf{publisher}'' means any person or entity that distributes
-% copies of the Document to the public.
-%
-% A section ``\textbf{Entitled XYZ}'' means a named subunit of the Document whose
-% title either is precisely XYZ or contains XYZ in parentheses following
-% text that translates XYZ in another language. (Here XYZ stands for a
-% specific section name mentioned below, such as ``\textbf{Acknowledgements}'',
-% ``\textbf{Dedications}'', ``\textbf{Endorsements}'', or ``\textbf{History}''.)
-% To ``\textbf{Preserve the Title}''
-% of such a section when you modify the Document means that it remains a
-% section ``Entitled XYZ'' according to this definition.
-%
-% The Document may include Warranty Disclaimers next to the notice which
-% states that this License applies to the Document. These Warranty
-% Disclaimers are considered to be included by reference in this
-% License, but only as regards disclaiming warranties: any other
-% implication that these Warranty Disclaimers may have is void and has
-% no effect on the meaning of this License.
-%
-% \begin{center}
-% {\Large\bf 2. VERBATIM COPYING\par}
-% \end{center}
-%
-% You may copy and distribute the Document in any medium, either
-% commercially or noncommercially, provided that this License, the
-% copyright notices, and the license notice saying this License applies
-% to the Document are reproduced in all copies, and that you add no other
-% conditions whatsoever to those of this License. You may not use
-% technical measures to obstruct or control the reading or further
-% copying of the copies you make or distribute. However, you may accept
-% compensation in exchange for copies. If you distribute a large enough
-% number of copies you must also follow the conditions in section~3.
-%
-% You may also lend copies, under the same conditions stated above, and
-% you may publicly display copies.
-%
-% \begin{center}
-% {\Large\bf 3. COPYING IN QUANTITY\par}
-% \end{center}
-%
-% If you publish printed copies (or copies in media that commonly have
-% printed covers) of the Document, numbering more than 100, and the
-% Document's license notice requires Cover Texts, you must enclose the
-% copies in covers that carry, clearly and legibly, all these Cover
-% Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-% the back cover. Both covers must also clearly and legibly identify
-% you as the publisher of these copies. The front cover must present
-% the full title with all words of the title equally prominent and
-% visible. You may add other material on the covers in addition.
-% Copying with changes limited to the covers, as long as they preserve
-% the title of the Document and satisfy these conditions, can be treated
-% as verbatim copying in other respects.
-%
-% If the required texts for either cover are too voluminous to fit
-% legibly, you should put the first ones listed (as many as fit
-% reasonably) on the actual cover, and continue the rest onto adjacent
-% pages.
-%
-% If you publish or distribute Opaque copies of the Document numbering
-% more than 100, you must either include a machine-readable Transparent
-% copy along with each Opaque copy, or state in or with each Opaque copy
-% a computer-network location from which the general network-using
-% public has access to download using public-standard network protocols
-% a complete Transparent copy of the Document, free of added material.
-% If you use the latter option, you must take reasonably prudent steps,
-% when you begin distribution of Opaque copies in quantity, to ensure
-% that this Transparent copy will remain thus accessible at the stated
-% location until at least one year after the last time you distribute an
-% Opaque copy (directly or through your agents or retailers) of that
-% edition to the public.
-%
-% It is requested, but not required, that you contact the authors of the
-% Document well before redistributing any large number of copies, to give
-% them a chance to provide you with an updated version of the Document.
-%
-%
-% \begin{center}
-% {\Large\bf 4. MODIFICATIONS\par}
-% \end{center}
-%
-% You may copy and distribute a Modified Version of the Document under
-% the conditions of sections 2 and 3 above, provided that you release
-% the Modified Version under precisely this License, with the Modified
-% Version filling the role of the Document, thus licensing distribution
-% and modification of the Modified Version to whoever possesses a copy
-% of it. In addition, you must do these things in the Modified Version:
-%
-% \begin{itemize}
-% \item[A.]
-% Use in the Title Page (and on the covers, if any) a title distinct
-% from that of the Document, and from those of previous versions
-% (which should, if there were any, be listed in the History section
-% of the Document). You may use the same title as a previous version
-% if the original publisher of that version gives permission.
-%
-% \item[B.]
-% List on the Title Page, as authors, one or more persons or entities
-% responsible for authorship of the modifications in the Modified
-% Version, together with at least five of the principal authors of the
-% Document (all of its principal authors, if it has fewer than five),
-% unless they release you from this requirement.
-%
-% \item[C.]
-% State on the Title page the name of the publisher of the
-% Modified Version, as the publisher.
-%
-% \item[D.]
-% Preserve all the copyright notices of the Document.
-%
-% \item[E.]
-% Add an appropriate copyright notice for your modifications
-% adjacent to the other copyright notices.
-%
-% \item[F.]
-% Include, immediately after the copyright notices, a license notice
-% giving the public permission to use the Modified Version under the
-% terms of this License, in the form shown in the Addendum below.
-%
-% \item[G.]
-% Preserve in that license notice the full lists of Invariant Sections
-% and required Cover Texts given in the Document's license notice.
-%
-% \item[H.]
-% Include an unaltered copy of this License.
-%
-% \item[I.]
-% Preserve the section Entitled ``History'', Preserve its Title, and add
-% to it an item stating at least the title, year, new authors, and
-% publisher of the Modified Version as given on the Title Page. If
-% there is no section Entitled ``History'' in the Document, create one
-% stating the title, year, authors, and publisher of the Document as
-% given on its Title Page, then add an item describing the Modified
-% Version as stated in the previous sentence.
-%
-% \item[J.]
-% Preserve the network location, if any, given in the Document for
-% public access to a Transparent copy of the Document, and likewise
-% the network locations given in the Document for previous versions
-% it was based on. These may be placed in the ``History'' section.
-% You may omit a network location for a work that was published at
-% least four years before the Document itself, or if the original
-% publisher of the version it refers to gives permission.
-%
-% \item[K.]
-% For any section Entitled ``Acknowledgements'' or ``Dedications'',
-% Preserve the Title of the section, and preserve in the section all
-% the substance and tone of each of the contributor acknowledgements
-% and/or dedications given therein.
-%
-% \item[L.]
-% Preserve all the Invariant Sections of the Document,
-% unaltered in their text and in their titles. Section numbers
-% or the equivalent are not considered part of the section titles.
-%
-% \item[M.]
-% Delete any section Entitled ``Endorsements''. Such a section
-% may not be included in the Modified Version.
-%
-% \item[N.]
-% Do not retitle any existing section to be Entitled ``Endorsements''
-% or to conflict in title with any Invariant Section.
-%
-% \item[O.]
-% Preserve any Warranty Disclaimers.
-% \end{itemize}
-%
-% If the Modified Version includes new front-matter sections or
-% appendices that qualify as Secondary Sections and contain no material
-% copied from the Document, you may at your option designate some or all
-% of these sections as invariant. To do this, add their titles to the
-% list of Invariant Sections in the Modified Version's license notice.
-% These titles must be distinct from any other section titles.
-%
-% You may add a section Entitled ``Endorsements'', provided it contains
-% nothing but endorsements of your Modified Version by various
-% parties---for example, statements of peer review or that the text has
-% been approved by an organization as the authoritative definition of a
-% standard.
-%
-% You may add a passage of up to five words as a Front-Cover Text, and a
-% passage of up to 25 words as a Back-Cover Text, to the end of the list
-% of Cover Texts in the Modified Version. Only one passage of
-% Front-Cover Text and one of Back-Cover Text may be added by (or
-% through arrangements made by) any one entity. If the Document already
-% includes a cover text for the same cover, previously added by you or
-% by arrangement made by the same entity you are acting on behalf of,
-% you may not add another; but you may replace the old one, on explicit
-% permission from the previous publisher that added the old one.
-%
-% The author(s) and publisher(s) of the Document do not by this License
-% give permission to use their names for publicity for or to assert or
-% imply endorsement of any Modified Version.
-%
-% \begin{center}
-% {\Large\bf 5. COMBINING DOCUMENTS\par}
-% \end{center}
-%
-% You may combine the Document with other documents released under this
-% License, under the terms defined in section~4 above for modified
-% versions, provided that you include in the combination all of the
-% Invariant Sections of all of the original documents, unmodified, and
-% list them all as Invariant Sections of your combined work in its
-% license notice, and that you preserve all their Warranty Disclaimers.
-%
-% The combined work need only contain one copy of this License, and
-% multiple identical Invariant Sections may be replaced with a single
-% copy. If there are multiple Invariant Sections with the same name but
-% different contents, make the title of each such section unique by
-% adding at the end of it, in parentheses, the name of the original
-% author or publisher of that section if known, or else a unique number.
-% Make the same adjustment to the section titles in the list of
-% Invariant Sections in the license notice of the combined work.
-%
-% In the combination, you must combine any sections Entitled ``History''
-% in the various original documents, forming one section Entitled
-% ``History''; likewise combine any sections Entitled ``Acknowledgements'',
-% and any sections Entitled ``Dedications''. You must delete all sections
-% Entitled ``Endorsements''.
-%
-% \begin{center}
-% {\Large\bf 6. COLLECTIONS OF DOCUMENTS\par}
-% \end{center}
-%
-% You may make a collection consisting of the Document and other documents
-% released under this License, and replace the individual copies of this
-% License in the various documents with a single copy that is included in
-% the collection, provided that you follow the rules of this License for
-% verbatim copying of each of the documents in all other respects.
-%
-% You may extract a single document from such a collection, and distribute
-% it individually under this License, provided you insert a copy of this
-% License into the extracted document, and follow this License in all
-% other respects regarding verbatim copying of that document.
-%
-% \begin{center}
-% {\Large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par}
-% \end{center}
-%
-% A compilation of the Document or its derivatives with other separate
-% and independent documents or works, in or on a volume of a storage or
-% distribution medium, is called an ``aggregate'' if the copyright
-% resulting from the compilation is not used to limit the legal rights
-% of the compilation's users beyond what the individual works permit.
-% When the Document is included in an aggregate, this License does not
-% apply to the other works in the aggregate which are not themselves
-% derivative works of the Document.
-%
-% If the Cover Text requirement of section~3 is applicable to these
-% copies of the Document, then if the Document is less than one half of
-% the entire aggregate, the Document's Cover Texts may be placed on
-% covers that bracket the Document within the aggregate, or the
-% electronic equivalent of covers if the Document is in electronic form.
-% Otherwise they must appear on printed covers that bracket the whole
-% aggregate.
-%
-% \begin{center}
-% {\Large\bf 8. TRANSLATION\par}
-% \end{center}
-%
-% Translation is considered a kind of modification, so you may
-% distribute translations of the Document under the terms of section~4.
-% Replacing Invariant Sections with translations requires special
-% permission from their copyright holders, but you may include
-% translations of some or all Invariant Sections in addition to the
-% original versions of these Invariant Sections. You may include a
-% translation of this License, and all the license notices in the
-% Document, and any Warranty Disclaimers, provided that you also include
-% the original English version of this License and the original versions
-% of those notices and disclaimers. In case of a disagreement between
-% the translation and the original version of this License or a notice
-% or disclaimer, the original version will prevail.
-%
-% If a section in the Document is Entitled ``Acknowledgements'',
-% ``Dedications'', or ``History'', the requirement (section~4) to Preserve
-% its Title (section~1) will typically require changing the actual
-% title.
-%
-% \begin{center}
-% {\Large\bf 9. TERMINATION\par}
-% \end{center}
-%
-% You may not copy, modify, sublicense, or distribute the Document
-% except as expressly provided under this License. Any attempt
-% otherwise to copy, modify, sublicense, or distribute it is void, and
-% will automatically terminate your rights under this License.
-%
-% However, if you cease all violation of this License, then your license
-% from a particular copyright holder is reinstated (a) provisionally,
-% unless and until the copyright holder explicitly and finally
-% terminates your license, and (b) permanently, if the copyright holder
-% fails to notify you of the violation by some reasonable means prior to
-% 60 days after the cessation.
-%
-% Moreover, your license from a particular copyright holder is
-% reinstated permanently if the copyright holder notifies you of the
-% violation by some reasonable means, this is the first time you have
-% received notice of violation of this License (for any work) from that
-% copyright holder, and you cure the violation prior to 30 days after
-% your receipt of the notice.
-%
-% Termination of your rights under this section does not terminate the
-% licenses of parties who have received copies or rights from you under
-% this License. If your rights have been terminated and not permanently
-% reinstated, receipt of a copy of some or all of the same material does
-% not give you any rights to use it.
-%
-% \begin{center}
-% {\Large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par}
-% \end{center}
-%
-% The Free Software Foundation may publish new, revised versions
-% of the GNU Free Documentation License from time to time. Such new
-% versions will be similar in spirit to the present version, but may
-% differ in detail to address new problems or concerns. See
-% \texttt{https://www.gnu.org/licenses/}.
-%
-% Each version of the License is given a distinguishing version number.
-% If the Document specifies that a particular numbered version of this
-% License ``or any later version'' applies to it, you have the option of
-% following the terms and conditions either of that specified version or
-% of any later version that has been published (not as a draft) by the
-% Free Software Foundation. If the Document does not specify a version
-% number of this License, you may choose any version ever published (not
-% as a draft) by the Free Software Foundation. If the Document
-% specifies that a proxy can decide which future versions of this
-% License can be used, that proxy's public statement of acceptance of a
-% version permanently authorizes you to choose that version for the
-% Document.
-%
-% \begin{center}
-% {\Large\bf 11. RELICENSING\par}
-% \end{center}
-%
-% ``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
-% World Wide Web server that publishes copyrightable works and also
-% provides prominent facilities for anybody to edit those works. A
-% public wiki that anybody can edit is an example of such a server. A
-% ``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
-% site means any set of copyrightable works thus published on the MMC
-% site.
-%
-% ``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
-% license published by Creative Commons Corporation, a not-for-profit
-% corporation with a principal place of business in San Francisco,
-% California, as well as future copyleft versions of that license
-% published by that same organization.
-%
-% ``Incorporate'' means to publish or republish a Document, in whole or
-% in part, as part of another Document.
-%
-% An MMC is ``eligible for relicensing'' if it is licensed under this
-% License, and if all works that were first published under this License
-% somewhere other than this MMC, and subsequently incorporated in whole
-% or in part into the MMC, (1) had no cover texts or invariant sections,
-% and (2) were thus incorporated prior to November 1, 2008.
-%
-% The operator of an MMC Site may republish an MMC contained in the site
-% under CC-BY-SA on the same site at any time before August 1, 2009,
-% provided the MMC is eligible for relicensing.
-%
-% \begin{center}
-% {\Large\bf ADDENDUM: How to use this License for your documents\par}
-% \end{center}
-%
-% To use this License in a document you have written, include a copy of
-% the License in the document and put the following copyright and
-% license notices just after the title page:
-%
-% \bigskip
-% \begin{quote}
-% Copyright \copyright{} YEAR YOUR NAME.
-% Permission is granted to copy, distribute and/or modify this document
-% under the terms of the GNU Free Documentation License, Version 1.3
-% or any later version published by the Free Software Foundation;
-% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-% A copy of the license is included in the section entitled ``GNU
-% Free Documentation License''.
-% \end{quote}
-% \bigskip
-%
-% If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-% replace the ``with \dots\ Texts.''\ line with this:
-%
-% \bigskip
-% \begin{quote}
-% with the Invariant Sections being LIST THEIR TITLES, with the
-% Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-% \end{quote}
-% \bigskip
-%
-% If you have Invariant Sections without Cover Texts, or some other
-% combination of the three, merge those two alternatives to suit the
-% situation.
-%
-% If your document contains nontrivial examples of program code, we
-% recommend releasing these examples in parallel under your choice of
-% free software license, such as the GNU General Public License,
-% to permit their use in free software. \ No newline at end of file
diff --git a/macros/unicodetex/latex/tipauni/tipauni-commands.pdf b/macros/unicodetex/latex/tipauni/tipauni-commands.pdf
index 42b546f08d..7a0ef98f9c 100644
--- a/macros/unicodetex/latex/tipauni/tipauni-commands.pdf
+++ b/macros/unicodetex/latex/tipauni/tipauni-commands.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/tipauni/tipauni-commands.tex b/macros/unicodetex/latex/tipauni/tipauni-commands.tex
index 8ba6653272..39e8905943 100644
--- a/macros/unicodetex/latex/tipauni/tipauni-commands.tex
+++ b/macros/unicodetex/latex/tipauni/tipauni-commands.tex
@@ -84,7 +84,7 @@
\textturny\ \textipa{L}
\textscl\ \textipa{\;L}
-}%
+}
\section{Non-pulmonic consonants}
@@ -100,7 +100,7 @@
\textdoublebarpipe\ \textipa{\!c}
\textdoublepipe\ \textipa{||}
-}%
+}
\subsection{Implosives}
@@ -116,7 +116,7 @@
\texthtg\ \textipa{\!g}
\texthtscg\ \textipa{\!G}
-}%
+}
\section{Other symbols}
@@ -140,7 +140,7 @@
\textctz\ \textipa{\*Z}
\texththeng\ \textipa{\*3}
-}%
+}
\section{Vowels}
@@ -182,7 +182,7 @@
\textscripta\ \textipa{A}
\textturnscripta\ \textipa{6}
-}%
+}
\section{Diacritics}
@@ -196,8 +196,7 @@
n\textcorner \textipa{n\tc}
\stdlnetiebar{əi} \ts{əi}
-}%
-
+}
\subsection{Dependent diacritics}
@@ -247,43 +246,5 @@
\texttoptiebar{əi} \textipa{\t{əi}}
\textbottomtiebar{əi} \textipa{\t*{əi}}
-}%
-\section{Superscripts}
-
-x\super h
-
-x\super w
-
-x\super j
-
-x\super n
-
-x\super l
-
-\textipa{x\super \textgamma} xˠ
-
-\textipa{x\super Q}
-
-\textipa{\;B \;E \;A \;H \;L \;R}
-
-\textipa{\:d \:l \:n \:r \:s \:z k f \*w}
-
-\textipa{\!b \!d \!g \!j \!G \!o}
-
-\textipa{""Ekspl@"neIS@n}
-
-\textipa{f@"nEtIksW}
-
-\textipa{\*j\*t\*r\*w\*n\*h\*l\*z}
-
-\textipa{\!b\!d\!g\!j\!G\!o}
-
-\textipa{\;E\;J\;A\;H\;L\;U\;B\;G\;N\;R}
-
-\textipa{\:d\:l\:n\:r\:R\:s\:t\:z}
-
-\textipa{5A62BCD@9E3gG7H41IJMWN8OFRKST0TUVTXYZPQ|||""":;}
-
-Hello world, some text in this document is written in the \textipa{Int@n\ae
- S@n@l f@"nEtIk \ae lf@bet}
-\end{document} \ No newline at end of file
+}
+\end{document}
diff --git a/macros/unicodetex/latex/tipauni/tipauni-example.pdf b/macros/unicodetex/latex/tipauni/tipauni-example.pdf
index 49cc885c83..34db57f49b 100644
--- a/macros/unicodetex/latex/tipauni/tipauni-example.pdf
+++ b/macros/unicodetex/latex/tipauni/tipauni-example.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/tipauni/tipauni-example.tex b/macros/unicodetex/latex/tipauni/tipauni-example.tex
index c7df977d6f..371e8dbe1d 100644
--- a/macros/unicodetex/latex/tipauni/tipauni-example.tex
+++ b/macros/unicodetex/latex/tipauni/tipauni-example.tex
@@ -1,5 +1,6 @@
\documentclass{article}
\usepackage{expex}
+\usepackage{doc}
\usepackage{leipzig}
\makeglossaries
\usepackage{longtable}
@@ -19,6 +20,7 @@ date = {2021-04-21}
\renewcommand{\arraystretch}{1.5}
\begin{document}
+
This document is nothing but a sample file with some data collected by
\textcite{shravani}. Package {\sffamily tipauni} converts TIPA commands to
Unicode characters. This whole document is typeset with the Charis SIL font
@@ -388,4 +390,4 @@ ha-u}//
\printglossary
\printbibliography
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/unicodetex/latex/tipauni/tipauni.dtx b/macros/unicodetex/latex/tipauni/tipauni.dtx
index e83e5af260..be9b509fd2 100644
--- a/macros/unicodetex/latex/tipauni/tipauni.dtx
+++ b/macros/unicodetex/latex/tipauni/tipauni.dtx
@@ -3,15 +3,15 @@
% File: tipauni.dtx
% ---------------------------------------------------------------------------
% Package: tipauni
-% Author: Niranjan
-% Version: v0.1 (27 April, 2021)
+% Author: निरंजन
+% Version: v0.2 (11 August, 2021)
% Description: For producing Unicode characters with TIPA commands.
% Repository: https://gitlab.com/niruvt/tipauni
% Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
-% License: GPL v3.0+
+% License: GPL v3.0+, GFDL v1.3+
% ---------------------------------------------------------------------------
-% LaTeX Package tipauni v0.1
-% © 2021 Niranjan
+% LaTeX Package tipauni v0.2
+% © 2021 निरंजन
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
@@ -26,7 +26,7 @@
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <https://www.gnu.org/licenses/>.
%
-% The current maintainer of this work is Niranjan.
+% The current maintainer of this work is निरंजन.
%
% This work consists of the files tipauni.dtx
% tipauni.ins
@@ -39,12 +39,12 @@
%<*readme>
--------------------------------------------------------------------------
Package: tipauni
-Author: Niranjan
-Version: v0.1 (27 April, 2021)
+Author: निरंजन
+Version: v0.2 (11 August, 2021)
Description: For producing Unicode characters with TIPA commands.
Repository: https://gitlab.com/niruvt/tipauni
Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
-License: GPL v3.0+
+License: GPL v3.0+, GFDL v1.3+
--------------------------------------------------------------------------
%</readme>
%<*internal>
@@ -52,8 +52,8 @@ License: GPL v3.0+
%</internal>
%<*driver|package>
\def\tipauniname{tipauni}
-\def\tipauniversion{0.1}
-\def\tipaunidate{2021/04/27}
+\def\tipauniversion{0.2}
+\def\tipaunidate{2021-08-07}
\def\tipaunidescription{For producing Unicode characters with TIPA commands}
%</driver|package>
%<*driver>
@@ -66,9 +66,15 @@ License: GPL v3.0+
\usepackage{booktabs}
\usepackage{float}
\usepackage{xcolor}
-\usepackage{dtk-logos}
+\usepackage{hologo}
+\DeclareRobustCommand\XeLaTeX{\hologo{XeLaTeX}}
\usepackage{fontspec}
\newfontfamily{\ipa}[Color=blue]{CharisSIL}
+\newfontfamily{\devtext}[%
+Script=Devanagari,%
+Renderer=Harfbuzz,%
+Scale=0.8%
+]{Shobhika}
\usepackage{hyperref}
\hypersetup{%
colorlinks,%
@@ -85,7 +91,7 @@ License: GPL v3.0+
%</driver>
% \fi
% \title{The \pkg{\tipauniname} package}
-% \author{Niranjan\thanks{\faIcon{envelope}\quad\href{mailto:hi.niranjan@pm.me}{\ttfamily hi.niranjan@pm.me}}}
+% \author{{\devtext निरंजन}\thanks{\faIcon{envelope}\quad\href{mailto:hi.niranjan@pm.me}{\ttfamily hi.niranjan@pm.me}}}
% \date^^A
% {^^A
% Version \tipauniversion\ --- \tipaunidate\\[1ex]^^A
@@ -99,7 +105,7 @@ License: GPL v3.0+
% \vfill
% {%
% \setlength{\parindent}{0pt}
-% © 2021 Niranjan
+% © 2021 {\devtext निरंजन}
%
% Permission is granted to copy, distribute and/or modify this document under
% the terms of the GNU Free Documentation License, Version 1.3 or any later
@@ -126,8 +132,14 @@ License: GPL v3.0+
%
% \section{Acknowledgements}
% This package is completed because of the rigorous help by Jairo A.\ del Rio,
-% Jonathan P.\ Spratte \textit{\&} Ulrike Fischer. Their suggestions and
-% contributions are extremely valuable for the development of this package.
+% Jonathan P.\ Spratte, Phelype Oleinink \textit{\&} Ulrike Fischer. Their
+% suggestions and contributions are extremely valuable for the development of
+% this package.
+%
+% Jonathan P.\ Spratte has helped the package by building a parser based on
+% \pkg{expl3}. Phelype Oleinik has helped the package by building a test-suit
+% for regression-tests. The tests can be seen in the git-repository of the
+% project.
%
% \section{Package options}
%
@@ -429,9 +441,7 @@ Unicode characters with TIPA commands]
% \begin{macrocode}
\RequirePackage{xparse}
\RequirePackage{fontspec}
-\RequirePackage{environ}
\RequirePackage{xkeyval}
-\RequirePackage{ifthen}
% \end{macrocode}
% Package options are provided using the package \pkg{xkeyval}. The following
% commands provide the option \verb|documentfont|.
@@ -704,153 +714,399 @@ Unicode characters with TIPA commands]
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
}%
\DeclareTextAccentDefault{\@pipeshorthands}{TU}
-\NewDocumentCommand\super{ m }{%
- \ifthenelse{\equal{#1}{h}}{ʰ}{\relax}%
- \ifthenelse{\equal{#1}{w}}{ʷ}{\relax}%
- \ifthenelse{\equal{#1}{j}}{ʲ}{\relax}%
- \ifthenelse{\equal{#1}{ɣ}}{ˠ}{\relax}%
- \ifthenelse{\equal{#1}{ʕ}}{ˤ}{\relax}%
- \ifthenelse{\equal{#1}{n}}{ⁿ}{\relax}%
- \ifthenelse{\equal{#1}{l}}{ˡ}{\relax}%
-}%
-% \end{macrocode}
-% The replacement of several characters with different IPA symbols will be done
-% in a small loop. That loop will loop over the contents of a sequence, and each
-% sequence element will contain two token-list elements (braced groups),
-% specifying a regular expression (really just one or two characters, nothing
-% complicated) and the replacement text for that expression.
-% \begin{macrocode}
\ExplSyntaxOn
-\seq_new:N \l__tipauni_replace_maps_seq
-\seq_new:N \l__tipauni_remove_from_accents_seq
-\tl_new:N \l__tipauni_textipa_tl
-% \end{macrocode}
-% The sequence \cs{l__tipauni_replace_maps_seq} stores the replacement mappings,
-% we have to keep in mind that these are regular expressions in the first braced
-% group, so characters that are not alpha-numeric should be escaped. Also, since
-% we're using \cs{seq_set_split:Nnn} here (which doesn't ignore empty elements)
-% we have to make sure to not put too many commas in the list.
-% First we set the mappings in a temporary sequence to pre-build the regular
-% expressions to gain at least a bit of speed.
-% \begin{macrocode}
-\seq_set_split:Nnn \l_tmpa_seq { , }
- {
-% \end{macrocode}
-% First we put the composites, which should have highest priority into the
- % sequence (with some escaping of the characters which aren't alpha-numeric):
-% \begin{macrocode}
- { \c{\! | tipaunibang } G }{ʛ},
- { \c{\! | tipaunibang } g }{ɠ},
- { \c{\* | tipaunistar } 1 }{ʢ},
- { \c{\* | tipaunistar } 2 }{ʡ},
- { \c{\* | tipaunistar } 3 }{ɧ},
- { \c{\* | tipaunistar } Z }{ʑ},
- { \c{\: | tipaunicolon } R }{ɻ},
- { \c{\; | tipaunisemicolon} A }{ᴀ},
- { \c{\; | tipaunisemicolon} G }{ɢ},
- { \c{\; | tipaunisemicolon} B }{ʙ},
- { \c{\; | tipaunisemicolon} E }{ᴇ},
- { \c{\; | tipaunisemicolon} H }{ʜ},
- { \c{\; | tipaunisemicolon} J }{ᴊ},
- { \c{\; | tipaunisemicolon} L }{ʟ},
- { \c{\; | tipaunisemicolon} N }{ɴ},
- { \c{\; | tipaunisemicolon} R }{ʀ},
- { \c{\; | tipaunisemicolon} U }{ᴜ},
-% \end{macrocode}
-% Next the multi-letter mappings:
-% \begin{macrocode}
- {\|\|}{ǁ}, {\"\"}{ˌ},
-% \end{macrocode}
-% And finally the remaining single-letter mappings:
-% \begin{macrocode}
- {5}{ɐ}, {A}{ɑ}, {6}{ɒ}, {2}{ʌ}, {B}{β}, {C}{ɕ}, {D}{ð}, {9}{ɘ}, {E}{ɛ},
- {3}{ɜ}, {g}{ɡ}, {G}{ɣ}, {7}{ɤ}, {H}{ɦ}, {L}{ʎ}, {4}{ɥ}, {1}{ɨ}, {I}{ɪ},
- {J}{ʝ}, {M}{ɱ}, {W}{ɯ}, {N}{ŋ}, {8}{ɵ}, {O}{ɔ}, {F}{ɸ}, {R}{ɾ}, {K}{ʁ},
- {S}{ʃ}, {T}{θ}, {0}{ʉ}, {U}{ʊ}, {V}{ʋ}, {X}{χ}, {Y}{ʏ}, {Z}{ʒ},
- {P}{ʔ}, {Q}{ʕ},
- {\:}{ː}, {\;}{ˑ}, {\!}{ǃ}, {\&}{ɞ}, {\@}{ə}, {\|}{ǀ}, {\"}{ˈ}
- }
-% \end{macrocode}
-% Now we build the real sequence from the temporary one. We have to call
-% \cs{regex_const:Nn} for each item to precompile the regular expressions, then
-% store the regular expressions name and the replacement in the correct
-% sequence.
-% \begin{macrocode}
-\seq_clear:N \l__tipauni_replace_maps_seq
-\seq_map_inline:Nn \l_tmpa_seq
- {
- \exp_args:Nco \regex_const:Nn
- { c__tipauni_ \exp_args:No \tl_to_str:n { \use_i:nn #1 } _regex }
- { \use_i:nn #1 }
- \seq_put_right:Nx \l__tipauni_replace_maps_seq
+\NewDocumentCommand \super { m }
+ {%
+ \str_case:nn {#1}
{
- \exp_not:c
- { c__tipauni_ \exp_args:No \tl_to_str:n { \use_i:nn #1 } _regex }
- { \exp_not:o { \use_ii:nn #1 } }
+ {h} {ʰ}
+ {w} {ʷ}
+ {j} {ʲ}
+ {ɣ} {ˠ}
+ {ʕ} {ˤ}
+ {n} {ⁿ}
+ {l} {ˡ}
}
}
% \end{macrocode}
+% We need a few variables.
+% \begin{macrocode}
+\seq_new:N \l_@@_remove_from_accents_seq
+\tl_new:N \l_@@_textipa_tl
+% \end{macrocode}
% Since we have a non-standard syntax for some of the accent macros (having a
% starred variant) we have to exclude them from the list of accents which get
% special handling from \cs{text_expand:n} or else the stars will be surrounded
% by braces and not found by \cs{@ifstar}. This sequence stores the problematic
% accents which need to be excluded.
% \begin{macrocode}
-\seq_set_split:Nnn \l__tipauni_remove_from_accents_seq { , }
+\seq_set_split:Nnn \l_@@_remove_from_accents_seq { , }
{ \~, \=, \", \r, \v, \t }
% \end{macrocode}
+% We only search for the macros not contained in \pkg{tipa} if this is requested
+% by the user.
+% \begin{macrocode}
+\ifnontipaignore
+ \cs_new_eq:NN \@@_nontipa_search: \prg_do_nothing:
+ \cs_new_eq:NN \@@_nontipa_search:n \use_none:n
+\else
+ \cs_new_protected:Npn \@@_nontipa_search:
+ {
+ \unless\ifnontipa
+ \exp_args:No \@@_nontipa_search:n \l_@@_textipa_tl
+ \fi
+ }
+% \end{macrocode}
+% The warning thrown at the end of the run doesn't list which symbols were
+% incompatible, so we stop searching when we found one incompatible symbol. We
+% use \cs{str_if_in:nnT} so that groups don't affect the search. The alternative
+% would be the much slower \cs{regex_match:nnT}.
+% \begin{macrocode}
+ \cs_new_protected:Npn \@@_nontipa_search:n #1
+ {
+ \str_if_in:nnT {#1} {ⱱ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɞ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɰ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ǃ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ǂ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ʢ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɺ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ʑ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɧ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \use_none:nnn \s_stop
+ \use:n { \cs_gset_eq:NN \@@_nontipa_search: \prg_do_nothing: }
+ }
+\fi
+% \end{macrocode}
+% The user facing macro needs to make some local settings.
% \begin{macrocode}
-\cs_new_protected:Npn \__tipauni_nontipa_search:n #1
- {
- \regex_match:nnT {ⱱ} {#1} \nontipatrue
- \regex_match:nnT {ɞ} {#1} \nontipatrue
- \regex_match:nnT {ɰ} {#1} \nontipatrue
- \regex_match:nnT {ǃ} {#1} \nontipatrue
- \regex_match:nnT {ǂ} {#1} \nontipatrue
- \regex_match:nnT {ʢ} {#1} \nontipatrue
- \regex_match:nnT {ɺ} {#1} \nontipatrue
- \regex_match:nnT {ʑ} {#1} \nontipatrue
- \regex_match:nnT {ɧ} {#1} \nontipatrue
- }
-\cs_generate_variant:Nn \__tipauni_nontipa_search:n { o }
\NewDocumentCommand\textipa{ +m }%
{
\begingroup
- \let\*\tipaunistar
- \let\:\tipaunicolon
- \let\;\tipaunisemicolon
- \let\!\tipaunibang
- \let\|\tipaunipipe
- \let\t\tipaunit
- \catcode`\&=11
+ \let\*\tipaunistar
+ \let\:\tipaunicolon
+ \let\;\tipaunisemicolon
+ \let\!\tipaunibang
+ \let\|\tipaunipipe
+ \let\t\tipaunit
% \end{macrocode}
% Here we locally remove the accents which have a starred variant from the
% exclusion list of \cs{text_expand:n}.
% \begin{macrocode}
- \seq_map_inline:Nn \l__tipauni_remove_from_accents_seq
+ \seq_map_inline:Nn \l_@@_remove_from_accents_seq
{ \tl_remove_all:Nn \l_text_accents_tl {##1} }
% \end{macrocode}
% Here is the real replacement. First we carefully expand the input using
-% \cs{text_expand:n}, then we'll loop over the sequence. Since each sequence
-% element contains two brace groups we can use the element |##1| directly as the
-% two normal argument to \cs{regex_replace_all:NnN}.
-% \begin{macrocode}
- \tl_set:Nx \l__tipauni_textipa_tl { \text_expand:n {#1} }
- \seq_map_inline:Nn \l__tipauni_replace_maps_seq
- { \regex_replace_all:NnN ##1 \l__tipauni_textipa_tl }
- \l__tipauni_textipa_tl
-% \end{macrocode}
-% Finally test for \pkg{tipa}-incompatible symbols. We only test for the
-% incompatible symbols if the boolean is not yet true to save a bit of
-% processing time when the tests are not necessary. Since the used
-% \cs{regex_match:nnT} test needs the token list expanded we expand it only once
-% here with the |o|-variant.
-% \begin{macrocode}
- \unless\ifnontipa
- \__tipauni_nontipa_search:o \l__tipauni_textipa_tl
- \fi
+% \cs{text_expand:n}, then we'll loop over the token list with a construct
+% similar to the \pkg{expl3} internal \cs{__tl_act:NNNn} (hence the name
+% \cs{@@_act:n}). Since the replacement code depends on the correct string
+% representation of things we explicitly set the \cs{escapechar} to a backslash
+% and reset it afterwards.
+% \begin{macrocode}
+ \tl_set:Nx \l_@@_textipa_tl { \text_expand:n {#1} }
+ \use:x
+ {
+ \exp_not:n
+ {
+ \escapechar = `\\
+ \tl_set:Nx \l_@@_textipa_tl
+ { \exp_args:No \@@_act:n \l_@@_textipa_tl }
+ \escapechar =
+ }
+ \int_use:N \escapechar
+ }
+ \exp_stop_f:
+ \l_@@_textipa_tl
+% \end{macrocode}
+% Finally test for \pkg{tipa}-incompatible symbols.
+% \begin{macrocode}
+ \@@_nontipa_search:
\endgroup
}
+% \end{macrocode}
+% We'll need a scan mark for the |act| code, so we initialise it.
+% \begin{macrocode}
+\scan_new:N \s_@@_act_stop
+\cs_new:Npn \@@_use_none_delimit_by_act_stop:w #1 \s_@@_act_stop {}
+% \end{macrocode}
+% The act macro uses a bit of low level coding to get good performance. It
+% implements a loop which does the replacement of single letters, bigraphs or
+% combinations of one macro and one letter (which might be separated from the
+% macro by multiple spaces, or contained in braces as an argument, or both).
+% \cs{_@@_act:n} should be used inside an |x|-expansion context. The only
+% token which is not allowed to be ever part of the argument for
+% \cs{_@@_act:n} is \cs{s_@@_act_stop}.
+% \begin{macrocode}
+\cs_new:Npn \@@_act:n #1 { \@@_act_loop:w #1 {\s_@@_act_stop} . \s_@@_act_stop }
+% \end{macrocode}
+% Just to have an easier to spot output we use a private copy of \cs{exp_not:n},
+% meaning we leave the output in the input stream (but since the whole loop
+% should be used in an |x|-expansion context this is fine, anything expecting
+% arguments will get those later).
+% \begin{macrocode}
+\cs_new_eq:NN \@@_act_output:n \exp_not:n
+% \end{macrocode}
+% The current loop status is indicated by one macro -- \cs{use_none:nn} for the
+% initial state; \cs{@@_act_macro:nn} if a macro being the start of a
+% bigraph was encountered; or \cs{@@_act_char:nn} if a character being
+% the start of a bigraph or a monograph was encountered -- followed by one
+% |n|-type argument containing information depending on the state. So for
+% \cs{@@_act_loop:Nnw} the arguments are: |#1| is the status macro, |#2|
+% more status information, |#3| the remainder of the argument list. It'll branch
+% off depending on the first token in |#3| being either a space, a group
+% (anything started by a character of category 1, typically an opening brace)
+% and anything else (a valid |N|-type argument).
+% \begin{macrocode}
+\cs_new:Npn \@@_act_loop:w { \@@_act_loop:Nnw \use_none:nn {} }
+\cs_new:Npn \@@_act_loop:Nnw #1#2#3 \s_@@_act_stop
+ {
+ \@@_act_if_head_is_space:nTF {#3}
+ { \@@_act_space:Nnw }
+ {
+ \tl_if_head_is_group:nTF {#3}
+ \@@_act_group:Nnn
+ \@@_act_normal:NnN
+ }
+ #1 {#2} #3 \s_@@_act_stop
+ }
+% \end{macrocode}
+% We'll need a few explicit space tokens in the following definitions, so we use
+% a temporary macro to set this up.
+% \begin{macrocode}
+\group_begin:
+ \cs_set:Npn \@@_tmp:n #1
+ {
+% \end{macrocode}
+% Quick test for a leading space using the |stop|-marker.
+% \begin{macrocode}
+ \cs_new:Npn \@@_act_if_head_is_space:nTF ##1
+ {
+ \@@_act_if_head_is_space:w
+ \s_@@_act_stop ##1 \s_@@_act_stop
+ \@@_act_if_head_is_space_true:w
+ \s_@@_act_stop #1 \s_@@_act_stop
+ \use_ii:nn
+ }
+ \cs_new:Npn \@@_act_if_head_is_space:w
+ ##1 \s_@@_act_stop #1 ##2 \s_@@_act_stop
+ {}
+ \cs_new:Npn \@@_act_if_head_is_space_true:w
+ \s_@@_act_stop #1 \s_@@_act_stop \use_ii:nn ##1 ##2
+ {##1}
+% \end{macrocode}
+% The case with a space needs a bit of special treatment if the current state is
+% |macro|. In that case we defer the decision and save the space inside the
+% additional status |n|-type argument. That consists of two nested |n|-type
+% arguments, the first being the control sequence under test and the second
+% tokens which need to be reinserted should the replacement fail.
+% \begin{macrocode}
+ \cs_new:Npn \@@_act_space:Nnw ##1 ##2 #1
+ {
+ \token_if_eq_meaning:NNTF ##1 \@@_act_macro:nn
+ { \@@_act_space_macro:nn ##2 }
+ {
+ \cs_if_exist_use:cTF { @@_act_char_mono_ \tl_to_str:n { ##2 } : }
+ { \@@_act_output:n {~} }
+ { \@@_act_output:n { ##2 ~ } }
+ \@@_act_loop:w
+ }
+ }
+ }
+ \@@_tmp:n {~}
+\group_end:
+% \end{macrocode}
+% This macro just works as a helper to get the two separate arguments in the
+% status and append a space token to the deferred list.
+% \begin{macrocode}
+\cs_new:Npn \@@_act_space_macro:nn #1#2
+ { \@@_act_loop:Nnw \@@_act_macro:nn { {#1} { #2 ~ } } }
+% \end{macrocode}
+% The end marker is a single \cs{s_@@_act_stop} in a group, hence we need to
+% test for that. If this isn't the end we need to handle two different cases, if
+% the current state is a macro the group might actually be the correct argument
+% to that macro, else a bigraph shouldn't contain a group, so we output what
+% ever the current status deferred information was (either as a |mono|
+% replacement or just as is) and act on the group.
+% \begin{macrocode}
+\cs_new:Npn \@@_act_group:Nnn #1#2#3
+ {
+ \@@_use_none_delimit_by_act_stop:w
+ #3 \@@_act_final:Nnw #1 {#2} \s_@@_act_stop
+ \token_if_eq_meaning:NNTF #1 \@@_act_macro:nn
+ { \@@_act_group_macro:nn {#2} {#3} }
+ {
+ \cs_if_exist_use:cF { @@_act_char_mono_ \tl_to_str:n { #2 } : }
+ { \@@_act_output:n {#2} }
+ { \@@_act_loop:w #3 {\s_@@_act_stop} . \s_@@_act_stop }
+ }
+ \@@_act_loop:w
+ }
+% \end{macrocode}
+% The final code needs to remove the remainder of the loop and reinsert whatever
+% was deferred, unless that happens to be one of the single tokens to be
+% replaced in which case we do the replacement.
+% \begin{macrocode}
+\cs_new:Npn \@@_act_final:Nnw
+ #1#2 \s_@@_act_stop #3 \@@_act_loop:w #4 \s_@@_act_stop
+ {
+ \cs_if_exist_use:cF { @@_act_char_mono_ \tl_to_str:n { #2 } : }
+ {
+ \token_if_eq_meaning:NNTF #1 \@@_act_macro:nn
+ { \exp_args:No \@@_act_output:n { \use:nn #2 } }
+ { \@@_act_output:n {#2} }
+ }
+ }
+% \end{macrocode}
+% The normal case is pretty straight forward, if the current state is the
+% initial state, check whether the token under test is the start of one of the
+% replacement sequences (this would be stored inside a macro), if it isn't
+% directly output it. If it is the code in that macro will do the right thing.
+% If the current state is something else the state macro will handle things, so
+% we just call it with the arguments it should get.
+% \begin{macrocode}
+\cs_new:Npn \@@_act_normal:NnN #1#2#3
+ {
+ \token_if_eq_meaning:NNTF #1 \use_none:nn
+ {
+ \cs_if_exist_use:cF { @@_act_normal_ \tl_to_str:n {#3} :nw }
+ { \@@_act_output:n }
+ {#3}
+ }
+ { #1 {#2} {#3} }
+ \@@_act_loop:w
+ }
+% \end{macrocode}
+% The code that should handle a macro will test whether a replacement occurs
+% (stored inside a macro), if it does calls that macro, else outputs the
+% deferred information. Since the |macro| state will have two groups in the
+% deferred state we need to handle that using \cs{use_i:nn} to get the macro
+% name, and \cs{use:nn} to just unbrace the macro and the other deferred tokens
+% (which might be any number of spaces).
+% \begin{macrocode}
+\cs_new:Npn \@@_act_macro:nn #1#2
+ {
+ \cs_if_exist_use:cF
+ { @@_act_macro_ \exp_args:No \tl_to_str:n { \use_i:nn #1 / #2 } : }
+ { \exp_args:No \@@_act_output:n { \use:nn #1 #2 } }
+ }
+% \end{macrocode}
+% If the |macro| state was active when a group was encountered we need to check
+% whether that group was the correct argument for the replacement, if it was do
+% the replacement, else reinsert the macro and deferred tokens and loop through
+% the group.
+% \begin{macrocode}
+\cs_new:Npn \@@_act_group_macro:nn #1#2
+ {
+ \cs_if_exist_use:cF
+ { @@_act_macro_ \exp_args:No \tl_to_str:n { \use_i:nn #1 / #2 } : }
+ {
+ \exp_args:No \@@_act_output:n { \use:nn #1 }
+ { \@@_act_loop:w #2 {\s_@@_act_stop} . \s_@@_act_stop }
+ }
+ }
+% \end{macrocode}
+% If the |char| state is active we need to check whether a bigraph was found, if
+% so do that replacement, else test whether the single char is to be replaced
+% without being part of a bigraph, if not output it unchanged. If there was no
+% bigraph the newly found character might be the start of a mono- or bigraph so
+% we pass it back to the |N|-type act to evaluate that, in which case we need
+% to remove a trailing \cs{@@_act_loop:w} which would start the next loop which
+% we do using \cs{use_i:nn}.
+% \begin{macrocode}
+\cs_new:Npn \@@_act_char:nn #1#2
+ {
+ \cs_if_exist_use:cF { @@_act_char_bigraph_ \tl_to_str:n { #1/#2 } : }
+ {
+ \cs_if_exist_use:cF { @@_act_char_mono_ \tl_to_str:n { #1 } : }
+ { \@@_act_output:n {#1} }
+ \use_i:nn { \@@_act_normal:NnN \use_none:nn {} {#2} }
+ }
+ }
+% \end{macrocode}
+% To register new bigraphs we use the following functions. The information is
+% always stored inside two macros, the first is called
+% |@@_act_normal_|\meta{first token}|:nw| and will set the correct state, the
+% second is named dependent on the state it should be found in, either
+% |@@_act_macro_|\meta{first token}|/|\meta{second token}|:|,
+% |@@_act_char_bigraph_|\meta{first token}|/|\meta{second token}|:|, or
+% |@@_act_char_mono_|\meta{token}|:|. Those second macros contain the actual
+% replacement.
+%
+% The first macro is a wrapper which just inputs \cs{@@_new_macro_bigraph:NNn}
+% for the two macros in |#1| and |#2|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_new_macro_pair_bigraph:NNNn #1#2#3#4
+ {
+ \@@_new_macro_bigraph:NNn #1 #3 {#4}
+ \@@_new_macro_bigraph:NNn #2 #3 {#4}
+ }
+% \end{macrocode}
+% A macro bigraph should consist of a control sequence followed by another
+% token. It'll switch the state to |macro|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_new_macro_bigraph:NNn #1#2#3
+ {
+ \cs_gset:cpn { @@_act_normal_ \tl_to_str:n {#1} :nw } ##1##2 \@@_act_loop:w
+ { \@@_act_loop:Nnw \@@_act_macro:nn { {##1} {} } }
+ \cs_gset:cpn { @@_act_macro_ \tl_to_str:n { #1/#2 } : }
+ { \@@_act_output:n {#3} }
+ }
+% \end{macrocode}
+% A character bigraph should consist of two characters. It'll switch the state
+% to |char|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_new_char_bigraph:NNn #1#2#3
+ {
+ \cs_gset:cpn { @@_act_normal_ \tl_to_str:n {#1} :nw } ##1##2 \@@_act_loop:w
+ { \@@_act_loop:Nnw \@@_act_char:nn {##1} }
+ \cs_gset:cpn { @@_act_char_bigraph_ \tl_to_str:n { #1/#2 } : }
+ { \@@_act_output:n {#3} }
+ }
+% \end{macrocode}
+% And lastly the single replacements which should just be a single character.
+% These will also switch the state to |char| (as they might be also a start of
+% a bigraph).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_new_char_mono:Nn #1#2
+ {
+ \cs_gset:cpn { @@_act_normal_ \tl_to_str:n {#1} :nw } ##1##2 \@@_act_loop:w
+ { \@@_act_loop:Nnw \@@_act_char:nn {##1} }
+ \cs_gset:cpn { @@_act_char_mono_ \tl_to_str:n {#1} : }
+ { \@@_act_output:n {#2} }
+ }
+% \end{macrocode}
+% Everything that's now missing is defining the macros storing the replacements
+% as described above.
+% \begin{macrocode}
+\@@_new_macro_pair_bigraph:NNNn \! \tipaunibang G {ʛ}
+\@@_new_macro_pair_bigraph:NNNn \! \tipaunibang g {ɠ}
+\@@_new_macro_pair_bigraph:NNNn \* \tipaunistar 1 {ʢ}
+\@@_new_macro_pair_bigraph:NNNn \* \tipaunistar 2 {ʡ}
+\@@_new_macro_pair_bigraph:NNNn \* \tipaunistar 3 {ɧ}
+\@@_new_macro_pair_bigraph:NNNn \* \tipaunistar Z {ʑ}
+\@@_new_macro_pair_bigraph:NNNn \: \tipaunicolon R {ɻ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon A {ᴀ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon G {ɢ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon B {ʙ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon E {ᴇ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon H {ʜ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon J {ᴊ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon L {ʟ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon N {ɴ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon R {ʀ}
+\@@_new_macro_pair_bigraph:NNNn \; \tipaunisemicolon U {ᴜ}
+\@@_new_char_bigraph:NNn || {ǁ}
+\@@_new_char_bigraph:NNn "" {ˌ}
+\clist_map_inline:nn
+ {
+ {5}{ɐ}, {A}{ɑ}, {6}{ɒ}, {2}{ʌ}, {B}{β}, {C}{ɕ}, {D}{ð}, {9}{ɘ}, {E}{ɛ},
+ {3}{ɜ}, {g}{ɡ}, {G}{ɣ}, {7}{ɤ}, {H}{ɦ}, {L}{ʎ}, {4}{ɥ}, {1}{ɨ}, {I}{ɪ},
+ {J}{ʝ}, {M}{ɱ}, {W}{ɯ}, {N}{ŋ}, {8}{ɵ}, {O}{ɔ}, {F}{ɸ}, {R}{ɾ}, {K}{ʁ},
+ {S}{ʃ}, {T}{θ}, {0}{ʉ}, {U}{ʊ}, {V}{ʋ}, {X}{χ}, {Y}{ʏ}, {Z}{ʒ},
+ {P}{ʔ}, {Q}{ʕ},
+ {:}{ː}, {;}{ˑ}, {!}{ǃ}, {&}{ɞ}, {@}{ə}, {|}{ǀ}, {"}{ˈ}
+ }
+ { \@@_new_char_mono:Nn #1 }
\ExplSyntaxOff
% \end{macrocode}
% The following commands define the long commands for dependent diacritics.
@@ -925,7 +1181,7 @@ Unicode characters with TIPA commands]
% \end{macrocode}
% Lastly the code for environment \texttt{IPA} is provided by the following.
% \begin{macrocode}
-\NewEnviron{IPA}{\textipa{\BODY}}
+\NewDocumentEnvironment{IPA}{+b}{\textipa{#1}}{}
% \end{macrocode}
% \begin{macrocode}
%</package>
diff --git a/macros/unicodetex/latex/tipauni/tipauni.ins b/macros/unicodetex/latex/tipauni/tipauni.ins
index cdcc0d8ee5..9d95201d6a 100644
--- a/macros/unicodetex/latex/tipauni/tipauni.ins
+++ b/macros/unicodetex/latex/tipauni/tipauni.ins
@@ -8,15 +8,15 @@
---------------------------------------------------------------------------
Package: tipauni
-Author: Niranjan
+Author: निरंजन
Description: For producing Unicode characters with TIPA commands.
Repository: https://gitlab.com/niruvt/tipauni
Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
License: GPL v3.0+
---------------------------------------------------------------------------
-LaTeX Package tipauni v0.1
-© 2021 Niranjan
+LaTeX Package tipauni v0.2
+© 2021 निरंजन
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-The current maintainers of this work are Niranjan.
+The current maintainers of this work are निरंजन.
This work consists of the files tipauni.dtx
tipauni.ins
@@ -51,4 +51,4 @@ and the derived file tipauni.sty.
\file{README.txt}{\from{\jobname.dtx}{readme}}
}
-\endbatchfile \ No newline at end of file
+\endbatchfile
diff --git a/macros/unicodetex/latex/tipauni/tipauni.pdf b/macros/unicodetex/latex/tipauni/tipauni.pdf
index fcd67c1cea..f1d8777ddc 100644
--- a/macros/unicodetex/latex/tipauni/tipauni.pdf
+++ b/macros/unicodetex/latex/tipauni/tipauni.pdf
Binary files differ