summaryrefslogtreecommitdiff
path: root/macros/unicodetex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-17 03:01:06 +0000
committerNorbert Preining <norbert@preining.info>2021-03-17 03:01:06 +0000
commitbb51b61cfc3fcb367f52d31948039a1468fbcf80 (patch)
tree2c9be8de7fa3daaf6064452aaecc8ed6a0f8d567 /macros/unicodetex
parent4947a16af6c8e33f697a8da222db7f3ad027ba94 (diff)
CTAN sync 202103170301
Diffstat (limited to 'macros/unicodetex')
-rw-r--r--macros/unicodetex/latex/beaulivre/LICENSE (renamed from macros/unicodetex/latex/colorist/LICENSE)0
-rw-r--r--macros/unicodetex/latex/beaulivre/README.md16
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin0 -> 166042 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex260
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin0 -> 114887 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex254
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls237
-rw-r--r--macros/unicodetex/latex/colorist/README.md23
-rw-r--r--macros/unicodetex/latex/colorist/colorist-doc-cn.pdfbin166672 -> 0 bytes
-rw-r--r--macros/unicodetex/latex/colorist/colorist-doc-en.pdfbin121854 -> 0 bytes
-rw-r--r--macros/unicodetex/latex/colorist/colorist.dtx856
-rw-r--r--macros/unicodetex/latex/colorist/colorist.ins49
-rw-r--r--macros/unicodetex/latex/lebhart/LICENSE416
-rw-r--r--macros/unicodetex/latex/lebhart/README.md16
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin0 -> 161740 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex (renamed from macros/unicodetex/latex/colorist/colorist-doc-cn.tex)49
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin0 -> 114964 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex (renamed from macros/unicodetex/latex/colorist/colorist-doc-en.tex)61
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls237
-rw-r--r--macros/unicodetex/latex/polyglossia/README.md4
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.dtx1671
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.pdfbin280545 -> 336335 bytes
22 files changed, 2464 insertions, 1685 deletions
diff --git a/macros/unicodetex/latex/colorist/LICENSE b/macros/unicodetex/latex/beaulivre/LICENSE
index 2244313901..2244313901 100644
--- a/macros/unicodetex/latex/colorist/LICENSE
+++ b/macros/unicodetex/latex/beaulivre/LICENSE
diff --git a/macros/unicodetex/latex/beaulivre/README.md b/macros/unicodetex/latex/beaulivre/README.md
new file mode 100644
index 0000000000..ac62b1b3ac
--- /dev/null
+++ b/macros/unicodetex/latex/beaulivre/README.md
@@ -0,0 +1,16 @@
+<!-- Copyright (C) 2021 by Jinwen XU -->
+
+# `beaulivre` : write you books in a colorful way
+
+`beaulivre` is a LaTeX class for typesetting books, which has a colorful
+design.
+
+Currently, it has native support to English, French and Chinese typesetting. And
+it may compile with either XeLaTeX or LuaLaTeX.
+
+This is part of the colorist class series.
+
+# License
+
+This work is released under the LaTeX Project Public License, v1.3c or later.
+
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
new file mode 100644
index 0000000000..11b51c967a
--- /dev/null
+++ 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
new file mode 100644
index 0000000000..fc31cfd996
--- /dev/null
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -0,0 +1,260 @@
+%! TEX program = xelatex
+\PassOptionsToPackage{dvipsnames}{xcolor}
+\documentclass{beaulivre}
+
+\UseLanguage{Chinese}
+
+%%================================
+%% TeX logo 与 网址
+%%================================
+\usepackage{hologo}
+\usepackage{url}
+
+%%================================
+%% 排版代码
+%%================================
+\usepackage{listings}
+\definecolor{lightergray}{gray}{0.99}
+\lstset{language=[LaTeX]TeX,
+ keywordstyle=\color{RoyalBlue},
+ basicstyle=\ttfamily,
+ commentstyle=\color{ForestGreen}\ttfamily,
+ stringstyle=\rmfamily,
+ showstringspaces=false,
+ breaklines=true,
+ frame=lines,
+ backgroundcolor=\color{lightergray},
+ flexiblecolumns=true,
+ escapeinside={(*}{*)},
+ % numbers=left,
+ numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
+ firstnumber=last,
+}
+\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{morekeywords=%
+ {CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,
+ linenumbers,nolinenumbers,subsection,maketitle
+ }
+}
+\lstnewenvironment{code}%
+{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
+
+\providecommand{\colorist}{\textsf{colorist}}
+\providecommand{\colorart}{\textsf{colorart}}
+\providecommand{\colorbook}{\textsf{colorbook}}
+\providecommand{\lebhart}{\textsf{lebhart}}
+\providecommand{\beaulivre}{\textsf{beaulivre}}
+
+%%================================
+%% 正文
+%%================================
+\begin{document}
+
+\title{\beaulivre{},以多彩的方式排版你的图书\thanks{对应版本. \texttt{\beaulivre{} 2021/03/15}}}
+\author{锦文}
+\date{2021年3月,北京}
+
+\maketitle
+
+\frontmatter
+\chapter*{前言}
+
+\beaulivre{}是\colorist{}文档类系列的成员之一,整个系列包含用于排版文章的\colorart{}、\lebhart{}以及用于排版书的\colorbook{}、\beaulivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之多彩而不缭乱。
+
+其中,\lebhart{}与\beaulivre{}支持英文、法文、中文三种语言,并且同一篇文档中三种语言可以很好地协调。由于采用了自定义字体,需要采用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 进行编译。
+
+这篇说明文档是用\beaulivre{}排版的,你可以把它看作一份简短的说明与演示。
+
+\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,boxrule=0pt,frame hidden]
+ 由于\colorist{}主体是从\textsf{minimalist}系列修改而来的,因而一些页面元素还未完全重新设计,特别是目录、part和chapter的样式。这些内容会在将来逐渐加入。
+\end{tcolorbox}
+
+\tableofcontents
+
+\mainmatter
+
+\chapter{关于文档类的名称与选项}
+
+\lebhart{}取自于德文的lebhaft (活泼),并取了artikel (文章)的前三个字母组合而成。
+
+\beaulivre{}取自于法文的beau (美丽),以及livre (书),由二者组合而成。
+
+\medskip
+你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是:
+\begin{itemize}
+ \item 使用较为简单的数学字体设置;
+ \item 不使用hyperref;
+ \item 所有tcolorbox使用draft模式;
+ \item 使用polyglossia而不是babel来支持多语言。(使用polyglossia编译速度会略有提高,但目前对于中文的兼容不太完善,在它更加稳定后,将会考虑全面切换到polyglossia)
+\end{itemize}
+
+在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。
+
+\chapter{一些使用说明}
+
+\section{定理,以及引用}
+
+定义、定理等环境已经被预定义,可以直接使用,例如:
+\begin{code}
+ \begin{definition}[奇异物品] \label{def: strange} ...
+\end{code}
+将会生成
+\begin{definition}[奇异物品]\label{def: strange}
+ 这是奇异物品的定义。
+\end{definition}
+
+\begin{definition}[另一个定义]
+ 不同的定义会自动粘结在一起,中间不会有空隙。
+\end{definition}
+
+引用时,可以直接使用智能引用 \lstinline|\cref{标签名称}|,例如:\lstinline|\cref{def: strange}| 会显示为:\cref{def: strange}。
+
+\bigskip
+下面是定理类环境的其他几种样式:
+
+\begin{theorem}
+ Theorem style: theorem, proposition, lemma, corollary
+\end{theorem}
+
+\begin{proof}
+ Proof style
+\end{proof}
+
+\begin{remark}
+ Remark style
+\end{remark}
+
+\begin{conjecture}
+ Conjecture style
+\end{conjecture}
+
+\begin{example*}
+ Example style: example, fact
+\end{example*}
+
+\begin{problem}
+ Problem style
+\end{problem}
+
+\section{定义新的定理型环境}
+
+首先定义这个环境在所用语言下的名称 \lstinline|\(name of environment)(language name)|,其中 \\\lstinline|(language name)| 是 \lstinline|EN|、\lstinline|FR|、\lstinline|CN| 等,然后用下面四种方式之一定义这一环境:
+\begin{itemize}
+ \item \lstinline|\CreateTheorem*{(name of environment)}|
+ \item \lstinline|\CreateTheorem{(name of environment)}[(numbered like)]|
+ \item \lstinline|\CreateTheorem{(name of environment)}<(numbered within)>|
+ \item \lstinline|\CreateTheorem{(name of environment)}|
+\end{itemize}
+
+\def\proofideanameCN{思路}
+\CreateTheorem*{proofidea}
+
+例如,
+
+\begin{code}
+ \def\proofideanameCN{思路}
+ \CreateTheorem*{proofidea}
+\end{code}
+可以定义不编号的环境 \lstinline|proofidea|,它支持在中文环境中使用,效果如下所示:
+
+\begin{proofidea}
+ ...
+\end{proofidea}
+
+\section{未完成标记}
+
+你可以通过 \lstinline|\dnf| 来标记尚未完成的部分。例如:
+\begin{itemize}
+ \item \lstinline|\dnf|: \quad \dnf
+ \item \lstinline|\dnf<还需加入…>|: \quad \dnf<还需加入…>
+\end{itemize}
+
+类似的,还有 \lstinline|\needgraph| :
+\begin{itemize}
+ \item \lstinline|\needgraph|: \needgraph
+ \item \lstinline|\needgraph<关于…>|: \needgraph<关于…>
+\end{itemize}
+
+\section{语言设置}
+可以随时使用 \lstinline|\UseLanguage{语言名称}| 更改语言,语言名称包括Chinese、English、French(首字母大小写随意,例如chinese亦可)。这样,各种指令和环境的效果也会随之变动。
+
+例如,使用 \lstinline|\UseLanguage{English}| 后,定理与未完成标记会显示为:
+
+\UseLanguage{English}
+\begin{theorem}[Useless]\label{thm}
+ Some theorem in English. \dnf
+\end{theorem}
+
+引用时,定理的名称总是与定理所在区域的语言匹配,例如,开头的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。
+
+\UseLanguage{Chinese}
+
+\section{关于字体}
+\lebhart{}与\beaulivre{}使用Palatino Linotype作为英文字体,方正悠宋、悠黑简体作为中文字体,并部分使用了Neo Euler作为数学字体:
+\begin{itemize}
+ \item English main font. \textsf{English sans serif font}.
+ \item 中文主要字体,\textsf{中文无衬线字体}
+ \item 数学示例: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
+\end{itemize}
+
+其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。
+
+其他字体不是免费字体,需要自行购买使用(你可以在方正字库网站查询详细资料:\url{https://www.foundertype.com})。
+
+在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
+
+\chapter{文档示例}
+
+\singlespacing
+
+\begin{minipage}{0.45\textwidth}
+\begin{code}
+%! TEX program = xelatex
+\documentclass[fast]{lebhart}
+
+\linenumbers
+\UseLanguage{French}
+
+\begin{document}
+
+\title{Titre}
+\author{Nom}
+\date{03 / 2021, Lieu}
+
+\maketitle
+
+%% Texte ici
+
+\end{document}
+\end{code}
+\end{minipage}
+%
+\hfill
+%
+\begin{minipage}{0.45\textwidth}
+\begin{code}
+%! TEX program = xelatex
+\documentclass[fast]{lebhart}
+
+\linenumbers
+\UseLanguage{Chinese}
+
+\begin{document}
+
+\title{标题}
+\author{姓名}
+\date{2021年3月,地点}
+
+\maketitle
+
+%% 正文部分
+
+\end{document}
+\end{code}
+\end{minipage}
+\par
+
+\bigskip
+(\lstinline|\UseLanguage| 既可以放在导言中,也可以放在正文部分,并且可以按照需要反复使用)
+
+\end{document}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
new file mode 100644
index 0000000000..5a68cba694
--- /dev/null
+++ 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
new file mode 100644
index 0000000000..0b269455e8
--- /dev/null
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -0,0 +1,254 @@
+%! TEX program = xelatex
+\PassOptionsToPackage{dvipsnames}{xcolor}
+\documentclass{beaulivre}
+
+%%================================
+%% TeX logo and URL
+%%================================
+\usepackage{hologo}
+\usepackage{url}
+
+%%================================
+%% For typestting code
+%%================================
+\usepackage{listings}
+\definecolor{lightergray}{gray}{0.99}
+\lstset{language=[LaTeX]TeX,
+ keywordstyle=\color{RoyalBlue},
+ basicstyle=\ttfamily,
+ commentstyle=\color{ForestGreen}\ttfamily,
+ stringstyle=\rmfamily,
+ showstringspaces=false,
+ breaklines=true,
+ frame=lines,
+ backgroundcolor=\color{lightergray},
+ flexiblecolumns=true,
+ escapeinside={(*}{*)},
+ % numbers=left,
+ numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
+ firstnumber=last,
+}
+\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{morekeywords=%
+ {CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,
+ linenumbers,nolinenumbers,subsection,maketitle
+ }
+}
+\lstnewenvironment{code}%
+{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
+
+\providecommand{\colorist}{\textsf{colorist}}
+\providecommand{\colorart}{\textsf{colorart}}
+\providecommand{\colorbook}{\textsf{colorbook}}
+\providecommand{\lebhart}{\textsf{lebhart}}
+\providecommand{\beaulivre}{\textsf{beaulivre}}
+
+%%================================
+%% Main text
+%%================================
+\begin{document}
+
+\title{\beaulivre{}, write your books in a colorful way\thanks{Corresponding to: \texttt{\beaulivre{} 2021/03/15}}}
+\author{Jinwen}
+\date{March 2021, Beijing}
+
+\maketitle
+
+\frontmatter
+\chapter*{Preface}
+
+\beaulivre{} is a member of the \colorist{} class series. The entire collection includes \colorart{} and \lebhart{} for typesetting articles and \colorbook{} and \beaulivre{} for typesetting books. My original intention in designing this series was to write drafts and notes that look colorful yet not dazzling.
+
+Among them, \lebhart{} and \beaulivre{} support three languages: English, French, and Chinese, and these three languages can be switched seamlessly in a single document. Due to the usage of custom fonts, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+
+This documentation is typeset using \beaulivre{}. You can think of it as a short introduction and demonstration.
+
+\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,boxrule=0pt,frame hidden]
+ Since the main body of \colorist{} is modified from the \textsf{minimalist} series, some elements have not been completely redesigned yet, especially the TOC, part and chapter style. These will be added gradually in the future versions.
+\end{tcolorbox}
+
+\tableofcontents
+
+\mainmatter
+
+\chapter{On the naming and options}
+\begin{itemize}
+ \item \lebhart{} is taken from German word ``lebhaft'' (``vividly''), combined with the first three letters of ``artikel'' (``article'').
+ \item \beaulivre{} is taken from French words ``beau'' (for ``beautiful'') and ``livre'' (for ``book'').
+\end{itemize}
+
+You can use the option \verb|fast| to enable a fast but slightly rough version. The main differences are:
+\begin{itemize}
+ \item Use simpler math font configuration;
+ \item Do not use hyperref;
+ \item Use draft mode for all tcolorboxes;
+ \item Use polyglossia instead of babel to support multiple languages. (Using polyglossia will increase the compilation speed slightly, but the current compatibility with Chinese is not perfect. When it becomes more stable, I will consider fully switching to polyglossia)
+\end{itemize}
+
+During the writing stage of your document, it is recommended to use the \verb|fast| option to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version.
+
+\chapter{Some instructions}
+
+\section{Theorems and how to reference them}
+
+Environments such as definitions and theorems have been pre-defined and can be used directly, for example:
+\begin{code}
+ \begin{definition}[Strange things] \label{def: strange} ...
+\end{code}
+will produce
+\begin{definition}[Strange things]\label{def: strange}
+ This is the definition of some strange objects.
+\end{definition}
+
+\begin{definition}[Another definition]
+ Different definitions are automatically glued together, and there will be no gaps in between.
+\end{definition}
+
+When referencing, you can directly use clever reference \lstinline|\cref{(label name)}|. For example, \lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
+
+\bigskip
+The following are several other styles of theorem-like environments:
+
+\begin{theorem}
+ Theorem style: theorem, proposition, lemma, corollary
+\end{theorem}
+
+\begin{proof}
+ Proof style
+\end{proof}
+
+\begin{remark}
+ Remark style
+\end{remark}
+
+\begin{conjecture}
+ Conjecture style
+\end{conjecture}
+
+\begin{example*}
+ Example style: example, fact
+\end{example*}
+
+\begin{problem}
+ Problem style
+\end{problem}
+
+\section{Define a new theorem-like environment}
+
+First define the name of this environment in the language used: \lstinline|\(name of environment)(language name)|. Where \lstinline|(language name)| can be \lstinline|EN|, \lstinline|FR|, \lstinline|CN|, etc., and then define this environment in one of the following four ways:
+\begin{itemize}
+ \item \lstinline|\CreateTheorem*{(name of environment)}|
+ \item \lstinline|\CreateTheorem{(name of environment)}[(numbered like)]|
+ \item \lstinline|\CreateTheorem{(name of environment)}<(numbered within)>|
+ \item \lstinline|\CreateTheorem{(name of environment)}|
+\end{itemize}
+
+\def\proofideanameEN{Idea}
+\CreateTheorem*{proofidea}
+
+For example,
+\begin{code}
+ \def\proofideanameEN{Idea}
+ \CreateTheorem*{proofidea}
+\end{code}
+defines an unnumbered environment \lstinline|proofidea|, which supports using in the English context, and the effect is as follows:
+
+\begin{proofidea}
+ ...
+\end{proofidea}
+
+\section{Draft mark}
+
+You can use \lstinline|\dnf| to mark the unfinished part. For example:
+\begin{itemize}
+ \item \lstinline|\dnf|: \quad \dnf
+ \item \lstinline|\dnf<Still need ...>|: \quad \dnf<Still need ...>
+\end{itemize}
+
+Similarly, there is \lstinline|\needgraph| :
+\begin{itemize}
+ \item \lstinline|\needgraph|: \needgraph
+ \item \lstinline|\needgraph<About ...>|: \needgraph<About ...>
+\end{itemize}
+
+\section{Language configuration}
+You can use \lstinline|\UseLanguage{(name of language))}| at any time to change the language, Language names include Chinese, English, French (the case of the first letter is arbitrary, for example, ``chinese'' is also acceptable). With this, the effects of various commands and environments will also change accordingly.
+
+For example, after using \lstinline|\UseLanguage{French}|, the theorem and the draft mark will be displayed as:
+
+\UseLanguage{French}
+\begin{theorem}[Inutile]\label{thm}
+ Un théorème en français. \dnf
+\end{theorem}
+
+When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}.
+
+\UseLanguage{English}
+
+\section{On the fonts}
+\lebhart{} and \beaulivre{} use Palatino Linotype as the English font, FounderType's YouSong and YouHei Simplified as the Chinese fonts, and partially use Neo Euler as the mathematical font:
+\begin{itemize}
+ \item English main font. \textsf{English sans serif font}.
+ \item 中文主要字体, \textsf{中文无衬线字体}
+ \item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
+\end{itemize}
+
+Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. Other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
+
+When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the experience might be reduced.
+
+\chapter{Document templates}
+
+\singlespacing
+
+\begin{minipage}{0.45\textwidth}
+\begin{code}
+%! TEX program = xelatex
+\documentclass[fast]{lebhart}
+
+\linenumbers
+\UseLanguage{French}
+
+\begin{document}
+
+\title{Titre}
+\author{Nom}
+\date{03 / 2021, Lieu}
+
+\maketitle
+
+%% Texte ici
+
+\end{document}
+\end{code}
+\end{minipage}
+%
+\hfill
+%
+\begin{minipage}{0.45\textwidth}
+\begin{code}
+%! TEX program = xelatex
+\documentclass[fast]{lebhart}
+
+\linenumbers
+\UseLanguage{Chinese}
+
+\begin{document}
+
+\title{标题}
+\author{姓名}
+\date{2021年3月,地点}
+
+\maketitle
+
+%% 正文部分
+
+\end{document}
+\end{code}
+\end{minipage}
+\par
+
+\bigskip
+(\lstinline|\UseLanguage| can be placed either in the preamble or in the body part, and can be used repeatedly as needed)
+
+\end{document}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
new file mode 100644
index 0000000000..694a337fae
--- /dev/null
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -0,0 +1,237 @@
+%%
+%% This is file `beaulivre/beaulivre.cls',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the colorist class series.
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesClass{beaulivre}
+ [2021/03/15 A colorful book style]
+\def\colorclass@baseclass{book}
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @colorclass,
+ prefix = @colorclass@,
+}
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}}
+\ProcessKeyvalOptions*\relax
+\LoadClass{\colorclass@baseclass}
+\if@colorclass@draft
+ \@colorclass@fasttrue
+\fi
+
+%%================================
+%% Page layout
+%%================================
+\RequirePackage[heightrounded]{geometry}
+\geometry{
+ % papersize={8in,11in},
+ a4paper,
+ total={47em,70em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+
+\RequirePackage{indentfirst}
+
+\if@colorclass@fast
+ \PassOptionsToPackage{fast}{colorist}
+\fi
+\if@colorclass@fast
+ \PassOptionsToPackage{polyglossia}{colorist}
+\fi
+\RequirePackage{colorist}
+
+%%================================
+%% Fonts
+%%================================
+%% Math fonts in fast mode
+\if@colorclass@fast
+ \RequirePackage{mathpazo}
+\fi
+
+%% English fonts
+\PassOptionsToPackage{no-math}{fontspec}
+\RequirePackage{fontspec}
+\IfFontExistsTF{Palatino Linotype}{%
+ \setmainfont{Palatino Linotype}
+}{
+ \setmainfont{texgyrepagella-regular.otf}[
+ BoldFont = texgyrepagella-bold.otf ,
+ ItalicFont = texgyrepagella-italic.otf ,
+ BoldItalicFont = texgyrepagella-bolditalic.otf ]
+}
+ \setsansfont{SourceSansPro-Regular.otf}[
+ Scale = MatchLowercase,
+ BoldFont = SourceSansPro-Bold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-BoldIt.otf ]
+
+%% Chinese fonts
+\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
+\RequirePackage{ctex}
+\IfFontExistsTF{FZYouSongS 507R}{%
+ \setCJKmainfont{FZYouSongS 507R}[
+ BoldFont = FZYouSongS 509R ,
+ BoldFeatures = {FakeBold=2} ,
+ ItalicFont = * ,
+ BoldItalicFont = FZYouSongS 509R ,
+ BoldItalicFeatures = {FakeBold=2} ,
+ SmallCapsFont = * ]
+}{
+ \setCJKmainfont{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ,
+ SmallCapsFont = * ]
+}
+\IfFontExistsTF{FZYouSongS 507R}{%
+ \setCJKmonofont{FZYouSongS 507R}[
+ BoldFont = FZYouSongS 509R ,
+ BoldFeatures = {FakeBold=2} ,
+ ItalicFont = * ,
+ BoldItalicFont = FZYouSongS 509R ,
+ BoldItalicFeatures = {FakeBold=2} ,
+ SmallCapsFont = * ]
+}{
+ \setCJKmonofont{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ,
+ SmallCapsFont = * ]
+}
+\IfFontExistsTF{FZYouHeiS 506L}{%
+ \setCJKsansfont{FZYouHeiS 506L}[
+ BoldFont = FZYouHeiS 509R,
+ ItalicFont = * ,
+ BoldItalicFont = FZYouHeiS 509R ,
+ SmallCapsFont = * ]
+}{
+ \setCJKsansfont{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ,
+ SmallCapsFont = * ]
+}
+
+%% Math font
+\if@colorclass@fast\else
+\PassOptionsToPackage
+ {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math}
+\RequirePackage{unicode-math}
+\unimathsetup{math-style=ISO}
+\setmathfont{Asana-Math.otf}
+\IfFontExistsTF{Neo Euler}{%
+\setmathfont{Neo Euler} % From https://tex.stackexchange.com/a/425887
+ [range={"0000-"0001,"0020-"007E,
+ "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
+ "00D7,"00F7,
+ "0131,
+ "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
+ "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
+ "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
+ "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
+ "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
+ "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
+ "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
+ "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
+ "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
+ "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
+ "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
+ "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
+ "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
+ "22DC-"22DD,"22EF,"22F0-"22F1,
+ "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
+ "23DC-"23DF,
+ "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
+ "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
+ "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
+ "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
+ "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
+ "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
+}{}
+\fi
+
+\RequirePackage[verbose=silent]{microtype}
+
+%%================================
+%% Graphics
+%%================================
+\RequirePackage{graphicx}
+\graphicspath{{images/}}
+\RequirePackage{wrapfig}
+\RequirePackage{caption}
+
+%%================================
+%% Index
+%%================================
+\RequirePackage{imakeidx}
+
+%%================================
+%% Draft mark
+%%================================
+\def\dnfFont{\ttfamily}
+\def\needgraphFont{\ttfamily}
+
+\def\dnfTextEN{To be finished here}
+\def\needgraphTextEN{A graph is needed here}
+\def\dnfTextFR{À terminer ici}
+\def\needgraphTextFR{Il manque encore un graphique ici}
+\def\dnfTextCN{这里的内容尚未完成}
+\def\needgraphTextCN{这里需要一张图片}
+
+\definecolor{dnfColor}{RGB}{21,122,20}
+\definecolor{needgraphColor}{RGB}{70,130,180}
+
+\if@colorclass@fast
+ \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
+ \setlength{\fboxsep}{1.5pt}%
+ \setlength{\fboxrule}{1.2pt}%
+ \fbox{#2}}}
+\else
+ \PassOptionsToPackage{many}{tcolorbox}
+ \RequirePackage{tcolorbox}
+ \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
+ on line, arc = 1.2pt, outer arc = 1pt,breakable,%
+ colframe = #1,colupper=#1,opacityback=0,%
+ boxsep = 1pt,boxrule = 1.2pt,%
+ left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
+ }
+\fi
+
+\NewDocumentCommand{\dnf}{d<>}{%
+ \noindent\plainBox[dnfColor]%
+ {\normalfont\dnfFont\bfseries\small%
+ \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
+ \IfNoValueF{#1}{ : #1}}%
+}
+\NewDocumentCommand{\needgraph}{d<>}{%
+ \par%
+ \centerline{\plainBox[needgraphColor]%
+ {\normalfont\needgraphFont\bfseries\small%
+ \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
+ \IfNoValueF{#1}{ : #1}}}%
+ \par%
+}
+
+\endinput
+%%
+%% End of file `beaulivre/beaulivre.cls'.
diff --git a/macros/unicodetex/latex/colorist/README.md b/macros/unicodetex/latex/colorist/README.md
deleted file mode 100644
index f9d1477b39..0000000000
--- a/macros/unicodetex/latex/colorist/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-<!-- Copyright (C) 2021 by Jinwen XU -->
-
-[Github](https://github.com/Jinwen-XU/colorist) | [CTAN](https://ctan.org/pkg/colorist) | [Download](https://github.com/Jinwen-XU/colorist/releases)
-
-![License](https://img.shields.io/ctan/l/colorist.svg) ![CTAN Version](https://img.shields.io/ctan/v/colorist.svg) ![Github Version](https://img.shields.io/github/release/Jinwen-XU/colorist.svg) ![Repo Size](https://img.shields.io/github/repo-size/Jinwen-XU/colorist.svg)
-
----
-
-# The colorist class series
-
-This is a series of classes to typeset articles or books, with a colorful
-design. It contains:
-- lebhart.cls
-- lebhartfast.cls
-- beaulivre.cls
-- beaulivrefast.cls
-
-They have native support to English, French and Chinese typesetting. And they
-may compile with either XeLaTeX or LuaLaTeX.
-
-# License
-
-This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/unicodetex/latex/colorist/colorist-doc-cn.pdf b/macros/unicodetex/latex/colorist/colorist-doc-cn.pdf
deleted file mode 100644
index 9f67494a2c..0000000000
--- a/macros/unicodetex/latex/colorist/colorist-doc-cn.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/unicodetex/latex/colorist/colorist-doc-en.pdf b/macros/unicodetex/latex/colorist/colorist-doc-en.pdf
deleted file mode 100644
index 1774dfa00f..0000000000
--- a/macros/unicodetex/latex/colorist/colorist-doc-en.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/unicodetex/latex/colorist/colorist.dtx b/macros/unicodetex/latex/colorist/colorist.dtx
deleted file mode 100644
index bf7bcf42a1..0000000000
--- a/macros/unicodetex/latex/colorist/colorist.dtx
+++ /dev/null
@@ -1,856 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 2021 by Jinwen XU
-% -------------------------------
-%
-% This file may be distributed and/or modified under the conditions of the LaTeX
-% Project Public License, either version 1.3 of this license or (at your option)
-% any later version. The latest version of this license is in:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3 or later is part of all distributions of LaTeX version
-% 2005/12/01 or later.
-%
-% \fi
-%
-%<*driver>
-\ProvidesFile{colorist.dtx}
-%</driver>
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-%<*lebhart>
-\ProvidesClass{lebhart}
- [2021/03/11 A colorful article style]
-%</lebhart>
-%<*lebhartfast>
-\ProvidesClass{lebhartfast}
- [2021/03/11 A faster but rougher version of lebhart]
-%</lebhartfast>
-%<*beaulivre>
-\ProvidesClass{beaulivre}
- [2021/03/11 A colorful book style]
-%</beaulivre>
-%<*beaulivrefast>
-\ProvidesClass{beaulivrefast}
- [2021/03/11 A faster but rougher version of beaulivre]
-%</beaulivrefast>
-
-%<*lebhart|lebhartfast>
-\DeclareOption*{%
- \PassOptionsToClass{\CurrentOption}{article}}
-\ProcessOptions\relax
-\LoadClass{article}
-%</lebhart|lebhartfast>
-%<*beaulivre|beaulivrefast>
-\DeclareOption*{%
- \PassOptionsToClass{\CurrentOption}{book}}
-\ProcessOptions\relax
-\LoadClass{book}
-%</beaulivre|beaulivrefast>
-
-\RequirePackage{etoolbox}
-
-%%================================
-%% Fonts
-%%================================
-\RequirePackage{anyfontsize}
-
-%% Title fonts
-\newcommand{\partfont}{\sffamily}
-%<beaulivre|beaulivrefast>\newcommand{\chapfont}{\sffamily}
-\newcommand{\secfont}{\sffamily}
-\newcommand{\subsecfont}{}
-%<*lebhartfast|beaulivrefast>
-
-%% Math fonts
-\RequirePackage{mathpazo}
-%</lebhartfast|beaulivrefast>
-
-%% English fonts
-\PassOptionsToPackage{no-math}{fontspec}
-\RequirePackage{fontspec}
-\IfFontExistsTF{Palatino Linotype}{%
- \setmainfont{Palatino Linotype}
-}{
- \setmainfont{texgyrepagella-regular.otf}[
- BoldFont = texgyrepagella-bold.otf ,
- ItalicFont = texgyrepagella-italic.otf ,
- BoldItalicFont = texgyrepagella-bolditalic.otf ]
-}
- \setsansfont{SourceSansPro-Regular.otf}[
- Scale = MatchLowercase,
- BoldFont = SourceSansPro-Bold.otf ,
- ItalicFont = SourceSansPro-RegularIt.otf ,
- BoldItalicFont = SourceSansPro-BoldIt.otf ]
-
-%% Chinese fonts
-\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
-\RequirePackage{ctex}
-\IfFontExistsTF{FZYouSongS 507R}{%
- \setCJKmainfont{FZYouSongS 507R}[
- BoldFont = FZYouSongS 509R ,
- BoldFeatures = {FakeBold=2} ,
- ItalicFont = * ,
- BoldItalicFont = FZYouSongS 509R ,
- BoldItalicFeatures = {FakeBold=2} ,
- SmallCapsFont = * ]
-}{
- \setCJKmainfont{FandolSong-Regular.otf}[
- BoldFont = FandolSong-Bold.otf ,
- ItalicFont = FandolKai-Regular.otf ,
- BoldItalicFont = FandolKai-Regular.otf ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
-}
-\IfFontExistsTF{FZFSJW--GB1-0}{%
- \setCJKmonofont{FZFSJW--GB1-0}[
- BoldFont = * ,
- BoldFeatures = {FakeBold=4} ,
- ItalicFont = * ,
- BoldItalicFont = * ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
-}{
- \setCJKmonofont{FandolFang-Regular.otf}[
- BoldFont = * ,
- BoldFeatures = {FakeBold=4} ,
- ItalicFont = * ,
- BoldItalicFont = * ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
-}
-\IfFontExistsTF{FZYouHeiS 506L}{%
- \setCJKsansfont{FZYouHeiS 506L}[
- BoldFont = FZYouHeiS 509R,
- ItalicFont = * ,
- BoldItalicFont = FZYouHeiS 509R ,
- SmallCapsFont = * ]
-}{
- \setCJKsansfont{FandolHei-Regular.otf}[
- BoldFont = FandolHei-Bold.otf ,
- ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
-}
-%<*lebhart|beaulivre>
-
-%% Math fonts
-\PassOptionsToPackage
- {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math}
-\RequirePackage{unicode-math}
-\unimathsetup{math-style=ISO}
-\setmathfont{Asana-Math.otf}
-\IfFontExistsTF{Neo Euler}{%
-\setmathfont{Neo Euler} % From https://tex.stackexchange.com/a/425887
- [range={"0000-"0001,"0020-"007E,
- "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
- "00D7,"00F7,
- "0131,
- "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
- "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
- "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
- "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
- "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
- "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
- "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
- "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
- "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
- "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
- "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
- "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
- "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
- "22DC-"22DD,"22EF,"22F0-"22F1,
- "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
- "23DC-"23DF,
- "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
- "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
- "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
- "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
- "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
- "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
-}{}
-%</lebhart|beaulivre>
-
-\RequirePackage{mathtools}
-\RequirePackage[verbose=silent]{microtype}
-
-%%================================
-%% Page layout
-%%================================
-\RequirePackage[heightrounded]{geometry}
-\geometry{
- papersize={7in,10in},
- total={40em,60em},
- hmarginratio=1:1,
- vmarginratio=1:1,
- footnotesep=2em plus 2pt minus 2pt,
-}
-
-\RequirePackage{indentfirst}
-
-\RequirePackage{xcolor}
-\definecolor{paper}{RGB}{255,255,255}
-\definecolor{skyblue}{RGB}{60,120,234}
-\definecolor{steelblue}{RGB}{70,130,180}
-\definecolor{forestgreen}{RGB}{21,122,81}
-\definecolor{lightorange}{RGB}{255,185,88}
-\definecolor{lightskyblue}{RGB}{35,198,255}
-
-\RequirePackage{fancyhdr}
-\RequirePackage{extramarks}
-\fancypagestyle{fancy}{
- \fancyhf{}
- \if@twoside
- \fancyfoot[RO]{\small\textcolor{black!30!paper}{\lastrightmark}%
- ~~\rlap{\textcolor{gray!55!paper}{$|$}~~\thepage}}
- \fancyfoot[LE]{\small\leavevmode\llap{\thepage%
- ~~\textcolor{gray!55!paper}{$|$}}%
- ~~\textcolor{black!30!paper}{\lastleftmark}}
- \else
- \fancyfoot[R]{\small\textcolor{black!30!paper}{\lastrightmark}%
- ~~\rlap{\textcolor{gray!55!paper}{$|$}~~\thepage}}
- \fi
- \renewcommand{\headrulewidth}{0pt}
-}
-\pagestyle{fancy}
-
-\fancypagestyle{plain}{
- \fancyhf{}
- \if@twoside
- \fancyfoot[RO]{\small%
- ~\rlap{\textcolor{gray!55!paper}{$|$}~~\thepage}}
- \fancyfoot[LE]{\small\leavevmode\llap{\thepage%
- ~~\textcolor{gray!55!paper}{$|$}}}
- \else
- \fancyfoot[R]{\small%
- ~\rlap{\textcolor{gray!55!paper}{$|$}~~\thepage}}
- \fi
- \renewcommand{\headrulewidth}{0pt}
-}
-
-%<*lebhart|lebhartfast>
-\if@twoside
- \renewcommand*{\sectionmark}[1]{\markboth{\uppercase{#1}}{}}
-\else
- \renewcommand*{\sectionmark}[1]{\markboth{\uppercase{#1}}{\uppercase{#1}}}
-\fi
-%</lebhart|lebhartfast>
-%<*beaulivre|beaulivrefast>
-\if@twoside
- \renewcommand{\chaptermark}[1]{\markboth{\uppercase{#1}}{}}
-\else
- \renewcommand{\chaptermark}[1]{\markboth{\uppercase{#1}}{\uppercase{#1}}}
-\fi
-\renewcommand*{\sectionmark}[1]{%
- \markright{\raisebox{.03em}{\footnotesize/}%
- ~\thesection~\raisebox{.03em}{\footnotesize/}~~~#1}}
-%</beaulivre|beaulivrefast>
-
-%%================================
-%% Line spacing
-%%================================
-\RequirePackage{setspace}
-\linespread{1.07}
-% To avoid `Underfull \vbox (badness 10000)`
-\raggedbottom
-
-%%================================
-%% Title format
-%%================================
-\RequirePackage[explicit,newparttoc]{titlesec}
-\PassOptionsToPackage{normalem}{ulem}
-\RequirePackage{ulem}
-
-%<*lebhart|lebhartfast>
-%% Part
-\titleformat{\part}[display]
- {%
- \partfont\filleft}
- {\MakeUppercase{\partname~\protect\thepart}}
- {.3em}
- {\fontsize{16}{0}\selectfont\MakeUppercase{#1}}
-\titleformat{name=\part,numberless}[display]
- {% \phantomsection\addcontentsline{toc}{part}{#1}%
- \partfont\filleft}
- {\phantom{\MakeUppercase{\partname}}}
- {.3em}
- {\fontsize{16}{0}\selectfont\MakeUppercase{#1}}
-%% Text after part
-\newcommand{\parttext}[1]{%
- \begin{flushright}%
- \begin{minipage}{0.833\textwidth}%
- \color{black!80!paper}\raggedleft#1%
- \end{minipage}%
- \end{flushright}%
-}
-%</lebhart|lebhartfast>
-%<*beaulivre|beaulivrefast>
-%% Part
-\titleclass{\part}{top} % make part like a chapter
-\titleformat{\part}[display]
- {\partfont\filleft}
- {\MakeUppercase{\partname~\protect\thepart}}
- {1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
-\titleformat{name=\part,numberless}[display]
- {% \phantomsection\addcontentsline{toc}{part}{#1}%
- \partfont\filleft}
- {\phantom{\MakeUppercase{\partname}}}
- {1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
-\titlespacing*{\part}{0pt}{5em}{6em}
-%% Text after part
-\newcommand{\parttext}[1]{%
-\vfill%
-%
-\begin{flushright}%
- \begin{minipage}{0.833\textwidth}%
- \color{black!80!paper}\raggedleft#1%
- \end{minipage}%
-\end{flushright}%
-%
-\vfill\vfill%
-\cleardoublepage%
-}
-
-%% Chapter
-\titleformat{\chapter}
- {\thispagestyle{fancy}%
- \color{black!80!paper}\chapfont\fontsize{16}{0}\selectfont}{}{0em}
- {\rlap{\hspace*{-.5em}{\color{gray!25!paper}%
- \fontsize{80}{0}\selectfont\raisebox{-7pt}{\thechapter}}}#1}
-\titleformat{name=\chapter,numberless}
- {\thispagestyle{fancy}% \phantomsection\addcontentsline{toc}{chapter}{#1}%
- \color{black!80!paper}\chapfont\fontsize{16}{0}\selectfont}{}{0em}
- {\rlap{\hspace*{-.5em}{\color{gray!25!paper}%
- \fontsize{80}{0}\selectfont\normalfont\raisebox{-7pt}{*}}}#1}
-%</beaulivre|beaulivrefast>
-
-%% Section
-\titleformat{\section}
- {\secfont\color{steelblue}}
- {\thesection}{1em}{#1}
- [{\titlerule[.75pt]}]
-
-%% Subsection
-\titleformat{\subsection}
- {\subsecfont}{}{0em}
- {\textsf{\thesubsection}~~\textcolor{gray!55!paper}{$|$}~~#1}
-\titleformat{name=\subsection,numberless}
- {\subsecfont}{}{0em}
- {#1}
-
-%%================================
-%% TOC format
-%%================================
-\RequirePackage{titletoc}
-\titlecontents{part}
- [0em]
- {\addvspace{1.5pc}\filcenter\partfont}
- {\thecontentslabel\\\uppercase}
- {}
- {} % without page number
- [\addvspace{.5pc}]
-%<*lebhart|lebhartfast>
-\titlecontents{section}
- [2em] % i.e., 0em (part) + 2em
- {\secfont}
- {\contentslabel{1.75em}}
- {\hspace*{-1.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
-\titlecontents{subsection}
- [5em] % i.e., 2em (section) + 3em
- {\subsecfont}
- {\contentslabel{2.75em}}
- {\hspace*{-2.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
-%</lebhart|lebhartfast>
-%<*beaulivre|beaulivrefast>
-\titlecontents{chapter}
- [2em] % i.e., 0em (part) + 2em
- {\addvspace{.5pc}\chapfont}
- {\contentslabel{2em}}
- {\hspace*{-2em}}
- {\normalfont\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
-\titlecontents{section}
- [4em] % i.e., 2em (chapter) + 2em
- {\secfont}
- {\contentslabel{1.75em}}
- {\hspace*{-1.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
-\titlecontents{subsection}
- [7em] % i.e., 4em (section) + 3em
- {\subsecfont}
- {\contentslabel{2.75em}}
- {\hspace*{-2.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
-%</beaulivre|beaulivrefast>
-
-%%================================
-%% Graphics
-%%================================
-\RequirePackage{graphicx}
-\graphicspath{{images/}}
-\RequirePackage{wrapfig}
-\RequirePackage{caption}
-
-%%================================
-%% Lists
-%%================================
-\RequirePackage{enumitem}
-\setlist{noitemsep,leftmargin=2em}
-\renewcommand\labelitemi{\color{gray!50}$\bullet$}
-
-%%================================
-%% Blank page
-%%================================
-\newcommand{\blinkpagetext}{This page is intentionally left blank}
-\renewcommand{\cleardoublepage}{\relax
- \clearpage
- \if@twoside\ifodd\c@page\relax\else
- \thispagestyle{empty}
- \newgeometry{centering}
- \null\vfill
- \centerline{\large\color{gray!20!paper}\blinkpagetext}
- \vfill\restoregeometry\newpage\fi\fi}
-
-%%================================
-%% Index
-%%================================
-\RequirePackage{imakeidx}
-% switch off the line numbers of index
-\pretocmd{\printindex}{}{}{\FAIL}
-\apptocmd{\printindex}{}{}{\FAIL}
-
-%%================================
-%% Icons
-%%================================
-\RequirePackage{tikz}
-\newcommand{\ideabulb}[2][0.15]{%
- \scalebox{#1}{%
- \begin{tikzpicture}
- \filldraw[draw=#2,fill=#2] (0,0) circle [radius=1cm];
- \filldraw[draw=paper,fill=paper,rounded corners=0.8pt]
- [rotate=20] (-0.26,-0.66) rectangle (-0.06,-0.6)
- [xshift=-0.4mm,yshift=1mm] (-0.26,-0.66) rectangle (0.02,-0.6)
- [xshift=0.4mm,yshift=1mm] (-0.26,-0.66) rectangle (-0.06,-0.6);
- \draw[draw=paper,line width=0.7mm] (-0.18,-0.46)
- .. controls (-0.18,-0.28) and (-0.28,-0.12) ..(-0.4,0.1)
- .. controls (-0.55,0.4) and (-0.3,0.64) ..(0,0.64)
- .. controls (0.3,0.64) and (0.55,0.4) ..(0.4,0.1)
- .. controls (0.28,-0.12) and (0.18,-0.28) ..(0.18,-0.46);
- \end{tikzpicture}}}
-
-\newcommand{\questionmark}[2][0.15]{%
- \scalebox{#1}{%
- \begin{tikzpicture}
- \filldraw[draw=#2,fill=#2] (0,0) circle [radius=1cm];
- \filldraw[paper,yshift=0.5mm,scale=0.9] (-0.4,0.1) circle [radius=0.77mm];
- \draw[draw=paper,line width=1.5mm,yshift=0.5mm,scale=0.9] (-0.4,0.1)
- .. controls (-0.55,0.4) and (-0.3,0.64) ..(0,0.64)
- .. controls (0.3,0.64) and (0.55,0.4) ..(0.4,0.1)
- .. controls (0.28,-0.12) and (0.05,-0.28) ..(0.05,-0.3)
- .. controls (0,-0.36) and (0.0,-0.45) ..(0.0,-0.5);
- \fill[fill=paper,rounded corners=0.6mm]
- (-0.09,-0.75) rectangle (0.09,-0.53);
- \end{tikzpicture}}}
-
-%%================================
-%% Theorems
-%%================================
-\RequirePackage{amsthm}
-\newtheoremstyle{simple}%
- {}{}%
- {\normalfont}{}%
- {\normalfont}{}%
- {0pt}%
- {\thmname{\textsc{#1}}\thmnumber{ #2}\hspace{.4em}%
- \textcolor{gray!55!paper}{$|$}\hspace{.4em}%
- \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}}
-\def\@endtheorem{\popQED\endtrivlist\@endpefalse }
-
-\renewcommand{\qedsymbol}{%
- \makebox[1em]{\color{gray!55!paper}\rule[-0.1em]{.95em}{.95em}}}
-
-\newtheoremstyle{basic}
- {0pt}{0pt}{\normalfont}{0pt}
- {}{\;}{0.25em}
- {\thmname{#1}~\thmnumber{\textup{#2}}
- \thmnote{\normalfont\sffamily\color{black}~(#3)}}
-
-\newtheoremstyle{emphasis}
- {0pt}{0pt}{\itshape}{0pt}{}{}{0pt}
- {\thmnote{\normalfont\sffamily\color{black}#3\hspace*{0.25em}}}
-
-%<lebhart|beaulivre>\PassOptionsToPackage{hidelinks,linktoc=all}{hyperref}
-\RequirePackage{aliascnt}
-% To solve `Difference between bookmark levels is greater than one`
-%<lebhart|beaulivre>\RequirePackage{bookmark}
-%<lebhart|beaulivre>\RequirePackage{hyperref}
-\PassOptionsToPackage{nameinlink}{cleveref}
-\RequirePackage{cleveref}
-\crefdefaultlabelformat{#2#1#3~\aftergroup\ignorespaces}
-
-\newcommand\englishABBR{EN}
-\newcommand\frenchABBR{FR}
-\newcommand\chineseABBR{CN}
-
-%% Macro for creating theorems
-\RequirePackage{xstring}
-\newcommand\PassFirstToSecond[2]{#2{#1}}%
-\NewDocumentCommand{\CreateTheorem}{sm}{%
- \begingroup
- \protected@edef\temp{#2}%
- \expandafter\IfEndWith\expandafter{\temp}{*}{%
- \expandafter\StrGobbleRight\expandafter{\temp}{1}[\temp]%
- \PassFirstToSecond{*}%
- }{%
- \PassFirstToSecond{}%
- }%
- {\expandafter\PassFirstToSecond%
- \expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}%
-}%
-\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>}{% #1 = star or no star #2 = name of environment #3 = emptiness or star to append to name of environment #4 = numbered like #5 = numbered within
- \IfBooleanTF{#1}{%
- \IfValueTF{#4}
- {\@firstoftwo}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
- }{%
- \IfValueTF{#4}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
- \@secondoftwo}
- }%
- {%
- \GenericError{}%
- {\string\CreateTheorem\space syntax error\on@line}{%
- You cannot call the starred variant with optional argument,\MessageBreak
- nor call the unstarred variant with several optional arguments.}%
- {}%
- }{%
- \IfBooleanTF{#1}{%
- \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}
- \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}
- \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}
- }{%
- \IfValueTF{#5}{%
- \newcounter{#2#3}[{#5}]%
- \expandafter\renewcommand\expandafter*%
- \csname the#2#3\expandafter\endcsname%
- \expandafter{\csname the#5\endcsname.\arabic{#2#3}}%
- }{%
- \IfValueTF{#4}
- {\newaliascnt{#2#3}{#4}}
- {\newcounter{#2#3}}%
- }%
- %-------------------------------------------------------------------
- \CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}%
- \CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}%
- \CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}%
- %-------------------------------------------------------------------
- }%
- \NewDocumentEnvironment{#2#3}{}
- {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
- {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
- }%
-}%
-\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
- \newaliascnt{#1#2#3}{#1#3}%
- \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
- \aliascntresetthe{#1#2#3}%
- \crefname{#1#2#3}%
- {\csname#1name#2\endcsname}%
- {\csname#1name#2\endcsname}%
-}%
-
-%% English theorems names
-\def\theoremnameEN{\unskip~\sffamily\color{orange}\textsc{Theorem}}
-\def\lemmanameEN{\unskip~\sffamily\color{orange}\textsc{Lemma}}
-\def\propositionnameEN{\unskip~\sffamily\color{orange}\textsc{Proposition}}
-\def\corollarynameEN{\unskip~\sffamily\color{orange}\textsc{Corollary}}
-\def\factnameEN{\unskip~\sffamily\color{black}\textsc{Fact}}
-\def\conjecturenameEN{\unskip~\sffamily\color{purple}\textsc{Conjecture}}
-\def\definitionnameEN{\unskip~\sffamily\color{forestgreen}\textsc{Definition}}
-\def\examplenameEN{\unskip~\sffamily\color{black}\textsc{Example}}
-\def\problemnameEN{\unskip~\sffamily\color{black}\textsc{Problem}}
-\def\remarknameEN{\unskip~\sffamily\color{black}\textsc{Remark}}
-
-%% French theorems names
-\def\theoremnameFR{\unskip~\sffamily\color{orange}\textsc{Théorème}}
-\def\lemmanameFR{\unskip~\sffamily\color{orange}\textsc{Lemme}}
-\def\propositionnameFR{\unskip~\sffamily\color{orange}\textsc{Proposition}}
-\def\corollarynameFR{\unskip~\sffamily\color{orange}\textsc{Corollaire}}
-\def\factnameFR{\unskip~\sffamily\color{black}\textsc{Fait}}
-\def\conjecturenameFR{\unskip~\sffamily\color{purple}\textsc{Conjecture}}
-\def\definitionnameFR{\unskip~\sffamily\color{forestgreen}\textsc{Définition}}
-\def\examplenameFR{\unskip~\sffamily\color{black}\textsc{Exemple}}
-\def\problemnameFR{\unskip~\sffamily\color{black}\textsc{Problème}}
-\def\remarknameFR{\unskip~\sffamily\color{black}\textsc{Remarque}}
-
-%% Chinese theorems names
-\def\theoremnameCN{\sffamily\color{orange}定理}
-\def\lemmanameCN{\sffamily\color{orange}引理}
-\def\propositionnameCN{\sffamily\color{orange}命题}
-\def\corollarynameCN{\sffamily\color{orange}推论}
-\def\factnameCN{\sffamily\color{black}事实}
-\def\conjecturenameCN{\sffamily\color{purple}猜想}
-\def\definitionnameCN{\sffamily\color{forestgreen}定义}
-\def\examplenameCN{\sffamily\color{black}例}
-\def\problemnameCN{\sffamily\color{black}问题}
-\def\remarknameCN{\sffamily\color{black}备注}
-
-%% Theorem environments
-\theoremstyle{basic}
-%<lebhart|lebhartfast>\CreateTheorem{theorem}<section>
-%<beaulivre|beaulivrefast>\CreateTheorem{theorem}<chapter>
-\CreateTheorem{lemma}[theorem]
-\CreateTheorem{proposition}[theorem]
-\CreateTheorem{corollary}[theorem]
-\CreateTheorem{fact}[theorem]
-%<lebhart|lebhartfast>\CreateTheorem{conjecture}<section>
-%<beaulivre|beaulivrefast>\CreateTheorem{conjecture}<chapter>
-\CreateTheorem*{theorem*}
-\CreateTheorem*{lemma*}
-\CreateTheorem*{proposition*}
-\CreateTheorem*{corollary*}
-\CreateTheorem*{fact*}
-\CreateTheorem*{conjecture*}
-\CreateTheorem{definition}[theorem]
-%<lebhart|lebhartfast>\CreateTheorem{example}<section>
-%<beaulivre|beaulivrefast>\CreateTheorem{example}<chapter>
-%<lebhart|lebhartfast>\CreateTheorem{problem}<section>
-%<beaulivre|beaulivrefast>\CreateTheorem{problem}<chapter>
-\CreateTheorem*{definition*}
-\CreateTheorem*{example*}
-\CreateTheorem*{problem*}
-
-\theoremstyle{emphasis}
-%<lebhart|lebhartfast>\CreateTheorem{remark}<section>
-%<beaulivre|beaulivrefast>\CreateTheorem{remark}<chapter>
-\CreateTheorem*{remark*}
-
-\RequirePackage{marginnote}
-\newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}}
-\apptocmd{\remark}{\reversemarginpar\mparadjust{-.3em}\marginnote{\ideabulb[0.3]{orange}}\normalmarginpar}{}{\FAIL}
-\apptocmd{\conjecture}{\reversemarginpar\mparadjust{-.3em}\marginnote{\questionmark[0.3]{purple}}\normalmarginpar}{}{\FAIL}
-
-\RequirePackage{iftex}
-\ifXeTeX
-\def\pgfsys@hboxsynced#1{%
-{%
- \pgfsys@beginscope%
- \setbox\pgf@hbox=\hbox{%
- \hskip\pgf@pt@x%
- \raise\pgf@pt@y\hbox{%
- \pgf@pt@x=0pt%
- \pgf@pt@y=0pt%
- \special{pdf: content q}%
- \pgflowlevelsynccm%
- \pgfsys@invoke{q -1 0 0 -1 0 0 cm}%
- \special{pdf: content -1 0 0 -1 0 0 cm q}
- % translate to original coordinate system
- \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash
- \wd#1=0pt%
- \ht#1=0pt%
- \dp#1=0pt%
- \box#1%
- \pgfsys@invoke{n Q Q Q}%
- }%
- \hss%
- }%
- \wd\pgf@hbox=0pt%
- \ht\pgf@hbox=0pt%
- \dp\pgf@hbox=0pt%
- \pgfsys@hbox\pgf@hbox%
- \pgfsys@endscope%
-}}
-\fi
-
-\theoremstyle{simple}% as the default style for user-defined environments
-
-\RequirePackage[many]{tcolorbox}
-%<lebhartfast|beaulivrefast>\tcbstartdraftmode
-\tcolorboxenvironment{theorem}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{theorem*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{lemma}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{lemma*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{proposition}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{proposition*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{corollary}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-\tcolorboxenvironment{corollary*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=orange}
-
-\tcolorboxenvironment{fact}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
- boxrule=0pt,frame hidden}
-\tcolorboxenvironment{fact*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
- boxrule=0pt,frame hidden}
-
-\tcolorboxenvironment{conjecture}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=purple}
-\tcolorboxenvironment{conjecture*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
- colframe=purple}
-
-\tcolorboxenvironment{definition}
- {enhanced jigsaw,pad at break*=1mm,breakable,
- colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen}}
-\tcolorboxenvironment{definition*}
- {enhanced jigsaw,pad at break*=1mm,breakable,
- colback=lightorange!10!paper,boxrule=0pt,frame hidden,
- borderline west={1.5mm}{-1mm}{forestgreen}}
-
-\tcolorboxenvironment{example}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
- boxrule=0pt,frame hidden}
-\tcolorboxenvironment{example*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
- boxrule=0pt,frame hidden}
-
-\tcolorboxenvironment{problem}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,
- boxrule=0pt,frame hidden}
-\tcolorboxenvironment{problem*}
- {enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,
- boxrule=0pt,frame hidden}
-
-%%================================
-%% Language configuration
-%%================================
-%<*lebhart|beaulivre>
-\PassOptionsToPackage{french,english}{babel}
-\RequirePackage{babel}
-\frenchsetup{PartNameFull=false}
-%</lebhart|beaulivre>
-%<*lebhartfast|beaulivrefast>
-\RequirePackage{polyglossia}
-\setdefaultlanguage{english}
-\setotherlanguage[frenchpart=false]{french}
-%</lebhartfast|beaulivrefast>
-
-\newcommand{\colorist@langconfig@chinese}{%
- \def\abstractname{摘要}%
- \def\proofname{证明}%
- \def\contentsname{目录}%
- \def\listfigurename{插图}%
- \def\listtablename{表格}%
- \def\figurename{图}%
- \def\tablename{表}%
- \def\indexname{索引}%
- \def\appendixname{附录}%
- \def\bibname{参考文献}%
- \renewcommand{\languagename}{chinese}%
-}
-\newcommand{\colorist@langconfig@english}{%
- \selectlanguage{english}%
-}
-\newcommand{\colorist@langconfig@french}{%
- \selectlanguage{french}%
-% The line below is only needed for 'babel'
-%<lebhart|beaulivre> \def\frenchpartname{Partie}%
-}
-
-\newcommand{\UseLanguageCORE}[1]{%
- \ifstrequal{#1}{chinese}{\colorist@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\colorist@langconfig@chinese}{}%
- \ifstrequal{#1}{english}{\colorist@langconfig@english}{}%
- \ifstrequal{#1}{English}{\colorist@langconfig@english}{}%
- \ifstrequal{#1}{french}{\colorist@langconfig@french}{}
- \ifstrequal{#1}{French}{\colorist@langconfig@french}{}
-}
-\newcommand{\UseLanguage}[1]{%
- \ifx\@onlypreamble\@notprerr%
- \UseLanguageCORE{#1}%
- \else%
- \AfterEndPreamble{\UseLanguageCORE{#1}}%
- \fi%
-}
-
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-%<*lebhart|beaulivre>
-\PassOptionsToPackage{many}{tcolorbox}
-\RequirePackage{tcolorbox}
-\newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
- on line, arc = 1.2pt, outer arc = 1pt,breakable,%
- colframe = #1,colupper=#1,opacityback=0,%
- boxsep = 1pt,boxrule = 1.2pt,%
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
-}
-%</lebhart|beaulivre>
-%<*lebhartfast|beaulivrefast>
-\newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
- \setlength{\fboxsep}{1.5pt}%
- \setlength{\fboxrule}{1.2pt}%
- \fbox{#2}}}
-%</lebhartfast|beaulivrefast>
-
-\NewDocumentCommand{\dnf}{d<>}{%
- \noindent\plainBox[dnfColor]%
- {\normalfont\dnfFont\small%
- \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
- \par%
- \centerline{\plainBox[needgraphColor]%
- {\normalfont\needgraphFont\small%
- \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}}%
- \par%
-}
-%<*lebhart|lebhartfast>
-
-%%================================
-%% Title block style
-%%================================
-\renewcommand{\@maketitle}{%
- \noindent%
- {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}}%
- \vspace{-\parskip}%
- \begin{center}%
- {\large\@title}\\\medskip%
- \color{black!80!paper}%
- {\scshape\@author}\\\smallskip%
- {\@date}%
- \end{center}%
- \vspace{-\parskip}%
- \vspace{-.5\baselineskip}%
- {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}\par}%
-}
-\apptocmd{\maketitle}{\thispagestyle{fancy}}{}{\FAIL}
-\apptocmd{\abstract}{\color{black!80!paper}}{}{\FAIL}
-%</lebhart|lebhartfast>
-
-\endinput \ No newline at end of file
diff --git a/macros/unicodetex/latex/colorist/colorist.ins b/macros/unicodetex/latex/colorist/colorist.ins
deleted file mode 100644
index e10923ac2d..0000000000
--- a/macros/unicodetex/latex/colorist/colorist.ins
+++ /dev/null
@@ -1,49 +0,0 @@
-%%
-%% Copyright (C) 2021 by Jinwen XU
-%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.3 of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3 or later is part of all distributions of LaTeX version
-%% 2005/12/01 or later.
-%%
-
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-
-\usedir{tex/latex/colorist}
-
-\preamble
-
-Copyright (C) 2021 by Jinwen XU
-
-This is part of the colorist class series.
-
-\endpreamble
-
-\generate{\file{lebhart.cls}{\from{colorist.dtx}{lebhart}}}
-\generate{\file{lebhartfast.cls}{\from{colorist.dtx}{lebhartfast}}}
-\generate{\file{beaulivre.cls}{\from{colorist.dtx}{beaulivre}}}
-\generate{\file{beaulivrefast.cls}{\from{colorist.dtx}{beaulivrefast}}}
-
-\obeyspaces
-\Msg{*************************************************************}
-\Msg{* *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* files into a directory searched by TeX: *}
-\Msg{* *}
-\Msg{* lebhart.cls *}
-\Msg{* lebhartfast.cls *}
-\Msg{* beaulivre.cls *}
-\Msg{* beaulivrefast.cls *}
-\Msg{* *}
-\Msg{* Happy TeXing! *}
-\Msg{* *}
-\Msg{*************************************************************}
-
-\endbatchfile
diff --git a/macros/unicodetex/latex/lebhart/LICENSE b/macros/unicodetex/latex/lebhart/LICENSE
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/unicodetex/latex/lebhart/LICENSE
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/macros/unicodetex/latex/lebhart/README.md b/macros/unicodetex/latex/lebhart/README.md
new file mode 100644
index 0000000000..a5904f6091
--- /dev/null
+++ b/macros/unicodetex/latex/lebhart/README.md
@@ -0,0 +1,16 @@
+<!-- Copyright (C) 2021 by Jinwen XU -->
+
+# `lebhart` : write you articles in a colorful way
+
+`lebhart` is a LaTeX class for typesetting articles, which has a colorful
+design.
+
+Currently, it has native support to English, French and Chinese typesetting. And
+it may compile with either XeLaTeX or LuaLaTeX.
+
+This is part of the colorist class series.
+
+# License
+
+This work is released under the LaTeX Project Public License, v1.3c or later.
+
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
new file mode 100644
index 0000000000..c8bebc1013
--- /dev/null
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/colorist/colorist-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index d016ae9da5..421a013c9a 100644
--- a/macros/unicodetex/latex/colorist/colorist-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -40,28 +40,28 @@
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
\providecommand{\colorist}{\textsf{colorist}}
+\providecommand{\colorart}{\textsf{colorart}}
+\providecommand{\colorbook}{\textsf{colorbook}}
\providecommand{\lebhart}{\textsf{lebhart}}
-\providecommand{\lebhartfast}{\textsf{lebhartfast}}
\providecommand{\beaulivre}{\textsf{beaulivre}}
-\providecommand{\beaulivrefast}{\textsf{beaulivrefast}}
%%================================
%% 正文
%%================================
\begin{document}
-\title{\colorist{},多彩风格的文档类系列\thanks{对应版本. \texttt{\colorist{} 2021/03/11}}}
+\title{\lebhart{},以多彩的方式排版你的文章\thanks{对应版本. \texttt{\lebhart{} 2021/03/15}}}
\author{锦文}
\date{2021年3月,北京}
\maketitle
\begin{abstract}
- \colorist{}文档类系列包含用于排版文章的\lebhart{}、用于排版书的\beaulivre{},以及对应的两个fast版本。我设计这一系列的初衷是为了撰写草稿与笔记,使之多彩而不缭乱。
+ \lebhart{}是\colorist{}文档类系列的成员之一,整个系列包含用于排版文章的\colorart{}、\lebhart{}以及用于排版书的\colorbook{}、\beaulivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之多彩而不缭乱。
- 这些文档类支持英文、法文、中文三种语言,并且同一篇文档中三种语言可以很好地协调。由于采用了自定义字体,需要采用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 进行编译。
+ 其中,\lebhart{}与\beaulivre{}支持英文、法文、中文三种语言,并且同一篇文档中三种语言可以很好地协调。由于采用了自定义字体,需要采用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 进行编译。
- 最后,这篇说明文档是用\lebhart{}排版的,你可以把它看作一份简短的说明与演示。
+ 这篇说明文档是用\lebhart{}排版的,你可以把它看作一份简短的说明与演示。
\end{abstract}
\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,boxrule=0pt,frame hidden]
@@ -70,12 +70,14 @@
\tableofcontents
-\section{关于这些文档类的名称与区别}
+\section{关于文档类的名称与选项}
+
\lebhart{}取自于德文的lebhaft (活泼),并取了artikel (文章)的前三个字母组合而成。
\beaulivre{}取自于法文的beau (美丽),以及livre (书),由二者组合而成。
-\lebhartfast{}与\beaulivrefast{}是更快速但略微粗糙的\lebhart{}与\beaulivre{}。主要区别是:
+\medskip
+你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是:
\begin{itemize}
\item 使用较为简单的数学字体设置;
\item 不使用hyperref;
@@ -83,24 +85,24 @@
\item 使用polyglossia而不是babel来支持多语言。(使用polyglossia编译速度会略有提高,但目前对于中文的兼容不太完善,在它更加稳定后,将会考虑全面切换到polyglossia)
\end{itemize}
-在文章的撰写阶段,建议使用fast版本以加快编译速度,改善写作时的流畅程度。在最后,可以把fast标记去除,从而得到正式的版本。
+在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。
\section{一些使用说明}
\subsection{定理,以及引用}
定义、定理等环境已经被预定义,可以直接使用,例如:
-
\begin{code}
\begin{definition}[奇异物品] \label{def: strange} ...
\end{code}
-
将会生成
\begin{definition}[奇异物品]\label{def: strange}
这是奇异物品的定义。
\end{definition}
-定理类环境的前后有一行左右的间距。在定义结束的时候会有一个符号来标记。
+\begin{definition}[另一个定义]
+ 不同的定义会自动粘结在一起,中间不会有空隙。
+\end{definition}
引用时,可以直接使用智能引用 \lstinline|\cref{标签名称}|,例如:\lstinline|\cref{def: strange}| 会显示为:\cref{def: strange}。
@@ -111,6 +113,10 @@
Theorem style: theorem, proposition, lemma, corollary
\end{theorem}
+\begin{proof}
+ Proof style
+\end{proof}
+
\begin{remark}
Remark style
\end{remark}
@@ -176,10 +182,9 @@
Some theorem in English. \dnf
\end{theorem}
-引用时,定理的名称总是与定理所在区域的语言匹配,例如,开头的定义在现在的英文模式下依然显示为中文:\cref{def: strange}和\cref{thm}。
+引用时,定理的名称总是与定理所在区域的语言匹配,例如,开头的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。
-% \subsection{关于行号}
-% 行号可以随时开启和关闭。\lstinline|\linenumbers| 用来开启行号,\lstinline|\nolinenumbers| 用来关闭行号。标题、目录、索引等位置为了美观,不进行编号。
+\UseLanguage{Chinese}
\subsection{关于字体}
\lebhart{}与\beaulivre{}使用Palatino Linotype作为英文字体,方正悠宋、悠黑简体作为中文字体,并部分使用了Neo Euler作为数学字体:
@@ -193,15 +198,18 @@
其他字体不是免费字体,需要自行购买使用(你可以在方正字库网站查询详细资料:\url{https://www.foundertype.com})。
-在没有安装相应的字体时,将采用TeXlive中自带的字体来代替,效果可能会有所折扣。
+在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
\section{文档示例}
-\begin{minipage}{0.4\textwidth}
+\singlespacing
+
+\begin{minipage}{0.45\textwidth}
\begin{code}
%! TEX program = xelatex
-\documentclass{lebhartfast}
+\documentclass[fast]{lebhart}
+\linenumbers
\UseLanguage{French}
\begin{document}
@@ -220,11 +228,12 @@
%
\hfill
%
-\begin{minipage}{0.4\textwidth}
+\begin{minipage}{0.45\textwidth}
\begin{code}
%! TEX program = xelatex
-\documentclass{lebhartfast}
+\documentclass[fast]{lebhart}
+\linenumbers
\UseLanguage{Chinese}
\begin{document}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
new file mode 100644
index 0000000000..78b7bea93b
--- /dev/null
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/colorist/colorist-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index 3d6f46559d..9985713280 100644
--- a/macros/unicodetex/latex/colorist/colorist-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -30,7 +30,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{morekeywords=%
- {CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,
+ {CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,
linenumbers,nolinenumbers,subsection,maketitle
}
}
@@ -38,28 +38,28 @@
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
\providecommand{\colorist}{\textsf{colorist}}
+\providecommand{\colorart}{\textsf{colorart}}
+\providecommand{\colorbook}{\textsf{colorbook}}
\providecommand{\lebhart}{\textsf{lebhart}}
-\providecommand{\lebhartfast}{\textsf{lebhartfast}}
\providecommand{\beaulivre}{\textsf{beaulivre}}
-\providecommand{\beaulivrefast}{\textsf{beaulivrefast}}
%%================================
%% Main text
%%================================
\begin{document}
-\title{\colorist{}, document-class series with colorful design\thanks{Corresponding to: \texttt{\colorist{} 2021/03/11}}}
+\title{\lebhart{}, write your articles in a colorful way\thanks{Corresponding to: \texttt{\lebhart{} 2021/03/15}}}
\author{Jinwen}
\date{March 2021, Beijing}
\maketitle
\begin{abstract}
- The \colorist{} class series includes \lebhart{} for typesetting articles, \beaulivre{} for typesetting books, and two corresponding fast versions. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
+ \lebhart{} is a member of the \colorist{} class series. The entire collection includes \colorart{} and \lebhart{} for typesetting articles and \colorbook{} and \beaulivre{} for typesetting books. My original intention in designing this series was to write drafts and notes that look colorful yet not dazzling.
- These document-classes support three languages: English, French, and Chinese, and these three languages can be switched seamlessly in a single document. Due to the usage of custom fonts, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+ Among them, \lebhart{} and \beaulivre{} support three languages: English, French, and Chinese, and these three languages can be switched seamlessly in a single document. Due to the usage of custom fonts, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
- Finally, this documentation is typeset using \lebhart{}. You can think of it as a short introduction and demonstration.
+ This documentation is typeset using \lebhart{}. You can think of it as a short introduction and demonstration.
\end{abstract}
\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,boxrule=0pt,frame hidden]
@@ -68,38 +68,38 @@
\tableofcontents
-\section{On the naming and differences of these document-classes}
+\section{On the naming and options}
\begin{itemize}
\item \lebhart{} is taken from German word ``lebhaft'' (``vividly''), combined with the first three letters of ``artikel'' (``article'').
\item \beaulivre{} is taken from French words ``beau'' (for ``beautiful'') and ``livre'' (for ``book'').
\end{itemize}
-\lebhartfast{} and \beaulivrefast{} are faster but slightly rougher version of \lebhart{} and \beaulivre{}. The main differences are:
+You can use the option \verb|fast| to enable a fast but slightly rough version. The main differences are:
\begin{itemize}
\item Use simpler math font configuration;
\item Do not use hyperref;
- \item All color boxes use draft mode;
+ \item Use draft mode for all tcolorboxes;
\item Use polyglossia instead of babel to support multiple languages. (Using polyglossia will increase the compilation speed slightly, but the current compatibility with Chinese is not perfect. When it becomes more stable, I will consider fully switching to polyglossia)
\end{itemize}
-During the writing stage of your document, it is recommended to use the ``fast'' version to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version.
+During the writing stage of your document, it is recommended to use the \verb|fast| option to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version.
\section{Some instructions}
-\subsection{Theorem and reference}
+\subsection{Theorems and how to reference them}
Environments such as definitions and theorems have been pre-defined and can be used directly, for example:
-
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
-
will produce
\begin{definition}[Strange things]\label{def: strange}
This is the definition of some strange objects.
\end{definition}
-There is approximately an one-line space before and after the theorem environment. There will be a symbol to mark the end of the environment.
+\begin{definition}[Another definition]
+ Different definitions are automatically glued together, and there will be no gaps in between.
+\end{definition}
When referencing, you can directly use clever reference \lstinline|\cref{(label name)}|. For example, \lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
@@ -110,6 +110,10 @@ The following are several other styles of theorem-like environments:
Theorem style: theorem, proposition, lemma, corollary
\end{theorem}
+\begin{proof}
+ Proof style
+\end{proof}
+
\begin{remark}
Remark style
\end{remark}
@@ -171,37 +175,35 @@ For example, after using \lstinline|\UseLanguage{French}|, the theorem and the d
\UseLanguage{French}
\begin{theorem}[Inutile]\label{thm}
- Un théorem en Français. \dnf
+ Un théorème en français. \dnf
\end{theorem}
-When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}。
+When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}.
\UseLanguage{English}
-% \subsection{On the line numbers}
-% Line numbers can be turned on and off at any time. \lstinline|\linenumbers| is used to enable the line numbers, and \lstinline|\nolinenumbers| is used to disable them. For the sake of beauty, the title, table of contents, index and some other elements are not numbered.
-
\subsection{On the fonts}
\lebhart{} and \beaulivre{} use Palatino Linotype as the English font, FounderType's YouSong and YouHei Simplified as the Chinese fonts, and partially use Neo Euler as the mathematical font:
\begin{itemize}
\item English main font. \textsf{English sans serif font}.
- \item 中文主要字体,\textsf{中文无衬线字体}
+ \item 中文主要字体, \textsf{中文无衬线字体}
\item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
\end{itemize}
-Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}.
-
-Other fonts are not free, you need to purchase and use them on yourself (you can check the details on FounderType's website: \url{https://www.foundertype.com} ).
+Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. Other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
-When the corresponding font is not installed, the font that comes with TeXlive will be used instead, and the experience might be reduced.
+When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the experience might be reduced.
\section{Document templates}
-\begin{minipage}{0.4\textwidth}
+\singlespacing
+
+\begin{minipage}{0.45\textwidth}
\begin{code}
%! TEX program = xelatex
-\documentclass{lebhartfast}
+\documentclass[fast]{lebhart}
+\linenumbers
\UseLanguage{French}
\begin{document}
@@ -220,11 +222,12 @@ When the corresponding font is not installed, the font that comes with TeXlive w
%
\hfill
%
-\begin{minipage}{0.4\textwidth}
+\begin{minipage}{0.45\textwidth}
\begin{code}
%! TEX program = xelatex
-\documentclass{lebhartfast}
+\documentclass[fast]{lebhart}
+\linenumbers
\UseLanguage{Chinese}
\begin{document}
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
new file mode 100644
index 0000000000..6c2e93cca4
--- /dev/null
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -0,0 +1,237 @@
+%%
+%% This is file `lebhart/lebhart.cls',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the colorist class series.
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesClass{lebhart}
+ [2021/03/15 A colorful article style]
+\def\colorclass@baseclass{article}
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @colorclass,
+ prefix = @colorclass@,
+}
+\DeclareBoolOption[false]{draft}
+\DeclareBoolOption[false]{fast}
+\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}}
+\ProcessKeyvalOptions*\relax
+\LoadClass{\colorclass@baseclass}
+\if@colorclass@draft
+ \@colorclass@fasttrue
+\fi
+
+%%================================
+%% Page layout
+%%================================
+\RequirePackage[heightrounded]{geometry}
+\geometry{
+ % papersize={8in,11in},
+ a4paper,
+ total={47em,70em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+
+\RequirePackage{indentfirst}
+
+\if@colorclass@fast
+ \PassOptionsToPackage{fast}{colorist}
+\fi
+\if@colorclass@fast
+ \PassOptionsToPackage{polyglossia}{colorist}
+\fi
+\RequirePackage{colorist}
+
+%%================================
+%% Fonts
+%%================================
+%% Math fonts in fast mode
+\if@colorclass@fast
+ \RequirePackage{mathpazo}
+\fi
+
+%% English fonts
+\PassOptionsToPackage{no-math}{fontspec}
+\RequirePackage{fontspec}
+\IfFontExistsTF{Palatino Linotype}{%
+ \setmainfont{Palatino Linotype}
+}{
+ \setmainfont{texgyrepagella-regular.otf}[
+ BoldFont = texgyrepagella-bold.otf ,
+ ItalicFont = texgyrepagella-italic.otf ,
+ BoldItalicFont = texgyrepagella-bolditalic.otf ]
+}
+ \setsansfont{SourceSansPro-Regular.otf}[
+ Scale = MatchLowercase,
+ BoldFont = SourceSansPro-Bold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-BoldIt.otf ]
+
+%% Chinese fonts
+\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
+\RequirePackage{ctex}
+\IfFontExistsTF{FZYouSongS 507R}{%
+ \setCJKmainfont{FZYouSongS 507R}[
+ BoldFont = FZYouSongS 509R ,
+ BoldFeatures = {FakeBold=2} ,
+ ItalicFont = * ,
+ BoldItalicFont = FZYouSongS 509R ,
+ BoldItalicFeatures = {FakeBold=2} ,
+ SmallCapsFont = * ]
+}{
+ \setCJKmainfont{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ,
+ SmallCapsFont = * ]
+}
+\IfFontExistsTF{FZYouSongS 507R}{%
+ \setCJKmonofont{FZYouSongS 507R}[
+ BoldFont = FZYouSongS 509R ,
+ BoldFeatures = {FakeBold=2} ,
+ ItalicFont = * ,
+ BoldItalicFont = FZYouSongS 509R ,
+ BoldItalicFeatures = {FakeBold=2} ,
+ SmallCapsFont = * ]
+}{
+ \setCJKmonofont{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ,
+ SmallCapsFont = * ]
+}
+\IfFontExistsTF{FZYouHeiS 506L}{%
+ \setCJKsansfont{FZYouHeiS 506L}[
+ BoldFont = FZYouHeiS 509R,
+ ItalicFont = * ,
+ BoldItalicFont = FZYouHeiS 509R ,
+ SmallCapsFont = * ]
+}{
+ \setCJKsansfont{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ,
+ SmallCapsFont = * ]
+}
+
+%% Math font
+\if@colorclass@fast\else
+\PassOptionsToPackage
+ {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math}
+\RequirePackage{unicode-math}
+\unimathsetup{math-style=ISO}
+\setmathfont{Asana-Math.otf}
+\IfFontExistsTF{Neo Euler}{%
+\setmathfont{Neo Euler} % From https://tex.stackexchange.com/a/425887
+ [range={"0000-"0001,"0020-"007E,
+ "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
+ "00D7,"00F7,
+ "0131,
+ "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
+ "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
+ "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
+ "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
+ "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
+ "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
+ "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
+ "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
+ "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
+ "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
+ "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
+ "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
+ "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
+ "22DC-"22DD,"22EF,"22F0-"22F1,
+ "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
+ "23DC-"23DF,
+ "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
+ "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
+ "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
+ "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
+ "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
+ "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
+}{}
+\fi
+
+\RequirePackage[verbose=silent]{microtype}
+
+%%================================
+%% Graphics
+%%================================
+\RequirePackage{graphicx}
+\graphicspath{{images/}}
+\RequirePackage{wrapfig}
+\RequirePackage{caption}
+
+%%================================
+%% Index
+%%================================
+\RequirePackage{imakeidx}
+
+%%================================
+%% Draft mark
+%%================================
+\def\dnfFont{\ttfamily}
+\def\needgraphFont{\ttfamily}
+
+\def\dnfTextEN{To be finished here}
+\def\needgraphTextEN{A graph is needed here}
+\def\dnfTextFR{À terminer ici}
+\def\needgraphTextFR{Il manque encore un graphique ici}
+\def\dnfTextCN{这里的内容尚未完成}
+\def\needgraphTextCN{这里需要一张图片}
+
+\definecolor{dnfColor}{RGB}{21,122,20}
+\definecolor{needgraphColor}{RGB}{70,130,180}
+
+\if@colorclass@fast
+ \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
+ \setlength{\fboxsep}{1.5pt}%
+ \setlength{\fboxrule}{1.2pt}%
+ \fbox{#2}}}
+\else
+ \PassOptionsToPackage{many}{tcolorbox}
+ \RequirePackage{tcolorbox}
+ \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
+ on line, arc = 1.2pt, outer arc = 1pt,breakable,%
+ colframe = #1,colupper=#1,opacityback=0,%
+ boxsep = 1pt,boxrule = 1.2pt,%
+ left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
+ }
+\fi
+
+\NewDocumentCommand{\dnf}{d<>}{%
+ \noindent\plainBox[dnfColor]%
+ {\normalfont\dnfFont\bfseries\small%
+ \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
+ \IfNoValueF{#1}{ : #1}}%
+}
+\NewDocumentCommand{\needgraph}{d<>}{%
+ \par%
+ \centerline{\plainBox[needgraphColor]%
+ {\normalfont\needgraphFont\bfseries\small%
+ \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
+ \IfNoValueF{#1}{ : #1}}}%
+ \par%
+}
+
+\endinput
+%%
+%% End of file `lebhart/lebhart.cls'.
diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md
index 4f4afbf5d7..33bbb1d2d7 100644
--- a/macros/unicodetex/latex/polyglossia/README.md
+++ b/macros/unicodetex/latex/polyglossia/README.md
@@ -26,8 +26,8 @@ Polyglossia makes it possible to automate the following tasks:
# LICENCE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
-Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2021 Arthur Reutenauer,
+Copyright (c) 2019-2021 Bastien Roucariès, 2019-2021 Jürgen Spitzmüller
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
index 12ab0b4ce0..b6fd4c23b8 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
@@ -36,8 +36,8 @@ Polyglossia makes it possible to automate the following tasks:
# LICENCE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
-Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2021 Arthur Reutenauer,
+Copyright (c) 2019-2021 Bastien Roucariès, 2019-2021 Jürgen Spitzmüller
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
@@ -66,17 +66,17 @@ to track the issues and follow progress.
The polyglossia package
(C) 2008–2010 François Charette
- (C) 2011–2020 Arthur Reutenauer
+ (C) 2011–2021 Arthur Reutenauer
(C) 2013 Elie Roux
(C) 2019 Bastien Roucariès
- (C) 2019–2020 Jürgen Spitzmüller
+ (C) 2019–2021 Jürgen Spitzmüller
License information appended
\endpreamble
\postamble
- Copyright (C) 2020 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
+ Copyright (C) 2021 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -335,10 +335,12 @@ to track the issues and follow progress.
\generate{\file{gloss-tibetan.ldf}{\from{polyglossia.dtx}{gloss-tibetan.ldf}}}
\generate{\file{gloss-turkish.ldf}{\from{polyglossia.dtx}{gloss-turkish.ldf}}}
\generate{\file{gloss-turkmen.ldf}{\from{polyglossia.dtx}{gloss-turkmen.ldf}}}
+\generate{\file{gloss-ug.ldf}{\from{polyglossia.dtx}{gloss-ug.ldf}}}
\generate{\file{gloss-ukrainian.ldf}{\from{polyglossia.dtx}{gloss-ukrainian.ldf}}}
\generate{\file{gloss-uppersorbian.ldf}{\from{polyglossia.dtx}{gloss-uppersorbian.ldf}}}
\generate{\file{gloss-urdu.ldf}{\from{polyglossia.dtx}{gloss-urdu.ldf}}}
\generate{\file{gloss-usorbian.ldf}{\from{polyglossia.dtx}{gloss-usorbian.ldf}}}
+\generate{\file{gloss-uyghur.ldf}{\from{polyglossia.dtx}{gloss-uyghur.ldf}}}
\generate{\file{gloss-vietnamese.ldf}{\from{polyglossia.dtx}{gloss-vietnamese.ldf}}}
\generate{\file{gloss-welsh.ldf}{\from{polyglossia.dtx}{gloss-welsh.ldf}}}
\generate{\file{arabicdigits.map}{\from{polyglossia.dtx}{arabicdigits.map}}}
@@ -360,7 +362,6 @@ to track the issues and follow progress.
%<*internal>
\generate{\file{polyglossia.ins}{\from{polyglossia.dtx}{batchfile}}}
\nopreamble\nopostamble
-\generate{\file{Changelog}{\from{polyglossia.dtx}{Changelog}}}
\generate{\file{examples.tex}{\from{polyglossia.dtx}{examples.tex}}}
\generate{\file{example-arabic.tex}{\from{polyglossia.dtx}{example-arabic.tex}}}
\generate{\file{example-thai.tex}{\from{polyglossia.dtx}{example-thai.tex}}}
@@ -408,6 +409,7 @@ to track the issues and follow progress.
\newcommand*\TA[1]{\textsc{\color{xpgblue}#1}}
\newcommand*\link[1]{\href{#1}{#1}}
\renewcommand*\meta[1]{\texttt{⟨#1⟩}}
+\newcommand*\TXI[1]{\href{https://github.com/reutenauer/polyglossia/issues/#1}{\textcolor{xpgred}{\##1}}}
\def\eg{\textit{e.g.,}\xspace}
\def\ie{\textit{i.e.,}\xspace}
\def\ca{\textit{ca.}\@\xspace}
@@ -619,9 +621,9 @@ to track the issues and follow progress.
% breton & galician & \TX{latin} & romansh & turkmen \\
% bulgarian & \TX{georgian} & latvian & \TX{russian} & \TX{ukrainian} \\
% \TX{catalan} & \TX{german} & lithuanian & \TX{sami} & urdu \\
-% coptic & \TX{greek} & macedonian & \TX{sanskrit} & vietnamese \\
-% \TX{croatian} & \TX{hebrew} & \TX{malay} & \TX{serbian} & \TX{welsh} \\
-% \TX{czech} & \TX{hindi} & malayalam & \TX{slovak} & \\
+% coptic & \TX{greek} & macedonian & \TX{sanskrit} & uyghur \\
+% \TX{croatian} & \TX{hebrew} & \TX{malay} & \TX{serbian} & vietnamese \\
+% \TX{czech} & \TX{hindi} & malayalam & \TX{slovak} & \TX{welsh} \\
% \bottomrule
% \end{tabular}
%
@@ -649,6 +651,7 @@ to track the issues and follow progress.
% \emph{norsk}\slash\emph{nynorsk}\textrightarrow\emph{norwegian}). The old names are still supported for backwards
% compatibility reasons.
% Version 1.46\new{1.46} introduces support for Afrikaans, Belarusian, Bosnian and Georgian.
+% Version 1.52\new{1.52} introduces support for Uyghur.
%
%
% \subsection{Relation to and use of Babel language names}\label{sec:babelnames}
@@ -897,6 +900,7 @@ to track the issues and follow progress.
% th & thai & \\
% tk & turkmen & \\
% tr & turkish & \\
+% ug & uyghur & \\
% uk & ukrainian & \\
% ur & urdu & \\
% vi & vietnamese & \\
@@ -2025,12 +2029,16 @@ to track the issues and follow progress.
% \end{shorthands}
% \item \xpgboolkeytrue[1.50]{forceheadingpunctuation}
% By default, chapter and section numbers always have a trailing punctuation in Russian
-% (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to false, \textsf{polyglossia}
+% (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to \xpgvalue{false}, \textsf{polyglossia}
% will not touch heading punctuation, so this will be whatever the class or a package determines.
% \item \xpgboolkeytrue[1.46]{indentfirst}
% By default, all paragraphs are indented in Russian, also those after a
-% chapter or section heading. If this option is false, the latter paragraphs
+% chapter or section heading. If this option is \xpgvalue{false}, the latter paragraphs
% are not indented, as normal in \LaTeX.
+% \item \xpgboolkeytrue[1.52]{mathfunctions}
+% By default, some specific math macros are defined for Russian (see below). In order to prevent command
+% clashes (\eg with the \pkg{chemformula} package), you can switch these definitions off by passing \xpgvalue{false}
+% to this option.
% \item \xpgchoicekey{spelling}{\xpgpresetvalue{modern} or \xpgvalue{old}}
% This option is for captions and date only, not for hyphenation.
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
@@ -2054,6 +2062,13 @@ to track the issues and follow progress.
% \Eg ¦\textrussian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
% \end{itemize}
+% If the \xpgoption{mathfunctions} option is \xpgvalue{true}, loading Russian defines a few macros than can be used
+% independently of the current language. These are nine macros to be used in math mode to type the names of
+% trigonometric functions common for Russian documents: \cmd\sh , \cmd\ch , \cmd\tg , \cmd\ctg , \cmd\arctg ,
+% \cmd\arcctg , \cmd\th , \cmd\cth , and \cmd\cosec . Cyrillic letters in math mode can be typed with
+% the aid of text commands such as \cmd\textbf , \cmd\textsf , \cmd\textit , \cmd\texttt , etc.
+% The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok , \cmd\Proj\ print some rare
+% Russian mathematical symbols.
%
% \subsection[sami]{sami\new{1.45}}\label{sami}
% Currently support for Sami is limited to Northern Sami.
@@ -2250,6 +2265,10 @@ to track the issues and follow progress.
% \item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
% the dash. Space before the dash is output as is.
% \end{shorthands}
+% \item \xpgboolkeytrue[1.52]{mathfunctions}
+% By default, some specific math macros are defined for Ukrainian (see below). In order to prevent command
+% clashes (\eg with the \pkg{chemformula} package), you can switch these definitions off by passing \xpgvalue{false}
+% to this option.
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
% \begin{itemize}
@@ -2271,6 +2290,15 @@ to track the issues and follow progress.
% \Eg ¦\textukrainian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
% \end{itemize}
+% ^^A
+% If the \xpgoption{mathfunctions} option is \xpgvalue{true}, loading Ukrainian defines a few macros than can be used
+% independently of the current language. These are nine macros to be used in math mode to type the names of
+% trigonometric functions common for Ukrainian documents: \cmd\sh , \cmd\ch , \cmd\tg , \cmd\ctg , \cmd\arctg ,
+% \cmd\arcctg , \cmd\th , \cmd\cth , and \cmd\cosec . Cyrillic letters in math mode can be typed with
+% the aid of text commands such as \cmd\textbf , \cmd\textsf , \cmd\textit , \cmd\texttt , etc.
+% The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok , \cmd\NSD , \cmd\nsd , \cmd\NSK ,
+% \cmd\nsk , \cmd\Proj\ print some rare
+% Ukrainian mathematical symbols.
%
% \subsection{welsh}\label{welsh}
% \paragraph*{Options:}
@@ -2642,6 +2670,752 @@ to track the issues and follow progress.
% \noindent Finally, if you want to know whether a specific language option has been set, you can use
% \displaycmd{\iflanguageoption\marg{lang}\marg{opt. key}\marg{opt. value}\marg{true}\marg{false}}{\iflanguageoption}\new{1.47}
%
+% \section{Revision history}
+%
+% \bgroup\footnotesize
+% \subsection*{1.52 (16-03-2021)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Adaptations to \LaTeX\ 2021/05/01 pre-release 2 for Korean (\TXI{477}).
+% \item Add support for Uyghur (\TXI{475}).
+% \item New option \xpgoption{mathfunctions} for Russian and Ukrainian allows to disable the definitions
+% of math macros that might clash with other packages (\TXI{465}).
+% \item Support LaTeX's new NFSS hooks (\TXI{471}).
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix French part modifications with \pkg{hyperref} (\TXI{469}).
+% \item Fix markup of French ¦\see¦ and ¦\alsoname¦ (\TXI{468}).
+% \end{itemize}
+%
+% \subsection*{1.51 (08-12-2020)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item New option \xpgoption{frenchpart} for French (\TXI{458}).
+% \item New option \xpgoption{splithyphens} for Croatian (\TXI{454}).
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Use new LaTeX core hooks rather than \pkg{filehook} package. This fixes
+% a recent breakage of \pkg{filehook} with other external packages (\TXI{453}).
+% \item Remove very old code that pretends \pkg{polyglossia} is \pkg{babel} (\TXI{455}).
+% \item Fix spelling of Albanian contentsname (\TXI{456}).
+% \item Fix part heading modification in French (\TXI{458}).
+% \item Fix extra space in Hebrew (\TXI{459}).
+% \item Register main polyglossia language earlier (\TXI{461}).
+% \item Allow for hyphenations in words following opening guillemet in French with XeTeX (\TXI{462}).
+% \end{itemize}
+%
+%
+% \subsection*{1.50a (15-10-2020)}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Assure ¦\autodot¦ is defined with ¦\KOMAScript¦ in Russian.
+% \end{itemize}
+%
+% \subsection*{1.50 (09-10-2020)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+% output. This brings LuaTeX on par with XeTeX for all scripts (\TXI{337}).
+% The renderer can be changed via the new global \xpgoption{luatexrenderer} option.
+% \item The (previously inadvertently working) ¦hyphenrules¦ environment that ceased
+% to work after a recent \pkg{babel} update is back and now officially supported.
+% The environment now also supports language options and aliases (\TXI{427}).
+% \item New command ¦\setlanghyphenmins¦ to adapt hyphenation thresholds of languages
+% and varieties.
+% \item New command ¦\abjadalph¦ for Arabic with corresponding option (\TXI{431}).
+% \item Replace consecutive glues around punctuation by the correct amount of space
+% with lualatex for French, ecclesiastic Latin, and Sanskrit (\TXI{437}).
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Remove warning about missing Brazil patterns (\TXI{404}).
+% \item Fix incompatibility with recent \pkg{babel} release (\TXI{408}).
+% \item Fixed some spellings in Marathi (\TXI{409}).
+% \item Fix spacing of geminating dot in Catalan (\TXI{410}).
+% \item Fix incompatibility of Marathi with \pkg{beamer}.
+% \item Correct ¦\partname¦ in Hindi (\TXI{416}).
+% \item Updates and improvements to Kurdish (\TXI{418}).
+% \item Only activate shorthand character if \xpgoption{babelshorthands} is \xpgvalue{true} (\TXI{421}).
+% \item Fix whitespace issue in Czech and Slovak with \xpgvalue{vlna=true} (\TXI{423}).
+% \item Fix whitespace issue in Danish (\TXI{424}).
+% \item Fix catcode conflicts that might occur in language definition files
+% f.\,ex.\ when loaded from a LaTeX3 class (\TXI{67}, \TXI{425}).
+% \item Robustify font family switches (\TXI{428}).
+% \item Fix whitespace issue in Russian \xpgoption{indentfirst} option (\TXI{433}).
+% \item In Russian, \xpgoption{indentfirst} is now again default (\TXI{434}).
+% \item Fix LaTeX error with arabic numbering in Ukrainian (\TXI{440}).
+% \item Fix directionality after Hebrew decimal numbers (\TXI{441}).
+% \item Fix ¦babelname¦ of Latin Serbian (\TXI{442}).
+% \item Fix recording of secondary languages in ¦\xpg@bloaded¦ and ¦\xpg@bcp@loaded¦
+% lists (\TXI{443}).
+% \item Simplify and robustify section heading modification in Russian
+% and introduce option \xpgoption{forceheadingpunctuation} (\TXI{444}).
+% \item Fix Cyrillic dash (via babelshorthand ¦"---¦) when TeX ligatures
+% are disabled (\TXI{445}).
+% \item Fix problem with large character indices in Lua module for punctuation
+% spacing
+% \end{itemize}
+%
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+% output. See new features section.
+% \end{itemize}
+%
+% \subsubsection*{Build fixes}
+% \begin{itemize}
+% \item Fix a bug in the dtx build script which was the reason for an utterly
+% incomplete ¦polyglossia.dtx¦ file (\TXI{420}).
+% \end{itemize}
+%
+% \subsubsection*{Documentation improvements}
+% \begin{itemize}
+% \item Document how to change ¦\lefthyphenmin¦ and ¦\righthyphenmin¦ for a language
+% (\TXI{435}).
+% \end{itemize}
+%
+%
+% \subsection*{1.49 (08-04-2020)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Add hook ¦\polyglossia@language@switched¦ to the external package interface (\TXI{398}).
+% \item Real fix for \TXI{400}, that wasn’t properly taken care of in 1.48.
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix compilation error with some \xpgoption{swapstring} options in Hungarian (\TXI{373}).
+% \item Fix whitespace problem in Greek language.
+% \end{itemize}
+%
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Changed Finnish caption for ``Table of Contents'' to ``Sisällys'' (\TXI{403}).
+% \end{itemize}
+%
+%
+% \subsection*{1.48 (25-03-2020)}
+%
+% \begin{itemize}
+% \item No new features
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix use of Hebrew with LuaLaTeX (\TXI{389}).
+% \item Do not overwrite footnote redefinitions of other packages
+% with Latin and French (\TXI{391}).
+% \item Fix Serbian cyrillic numerals code (\TXI{392}).
+% \item Fix \xpgoption{[no]localmarks} option, whose logic was swapped (part of \TXI{395}).
+% \item Protect \xpgoption{localmarks} function against uppercased language names (part of \TXI{395}).
+% \item Fix buggy redefinition of ¦\@markright¦ with option localmarks (\TXI{396}).
+% \item Fix incompatibility between Latin and unicode-math (\TXI{394}).
+% \item Make (undocumented) ¦\defineshorthand¦ command (imported from babel) work.
+% \item Fix usage of \xpgoption{localmarks} option without value.
+% \item Emergency fixes for bugs caused by updates in \pkg{babel}’s ¦switch.def¦ (\TXI{399} and \TXI{400}).
+% \end{itemize}
+%
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Use private macros in keyval choice keys (\TXI{390}).
+% \end{itemize}
+%
+% \subsection*{1.47 (29-01-2020)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item IETF BCP-47 compliant language tags can now be used for loading and switching
+% languages alternatively to language names (\TXI{226}).
+% \item New commands ¦\languageid{<type>}¦ and ¦\mainlanguageid{<type>}¦.
+% \item New test ¦\iflanguageidloaded¦.
+% \item New list ¦\xpg@bcp@loaded¦.
+% \item New environment ¦{lang}{<lang>}¦ (this is equivalent to ¦{<lang>}¦, but also available with
+% ¦\setlanguagealias*¦ which does not define dedicated alias environments).
+% \item New gloss option ¦totalhyphenmin¦ (corresponds to LuaTeX's ¦\hyphenationmin¦) (\TXI{111}).
+% \item New test ¦\iflanguageoption{<lang>}{<key>}{<val>}¦ (\TXI{364}).
+% \item Restore simple alphabetic numbering for ¦\asbuk¦ and ¦\Asbuk¦ in Belarusian, Mongolian,
+% Russian, Serbian, and Ukrainian (\TXI{377}).
+% \item New command ¦\AsbukTrad¦ and ¦\asbukTrad¦ for Belarusian, Mongolian, Russian, Serbian,
+% and Ukrainian which uses traditional alphanumerical numbering.
+% \item New numerals option ¦cyrillic-trad¦ and ¦cyrillic-alph¦ to differentiate simple
+% alphabetic and traditional alphanumerical Cyrillic numbering.
+% \item ¦\selectbackgroundlanguage¦ and ¦\resetdefaultlanguage¦ now also support language
+% aliases.
+% \item New macro ¦\charifavailable{<char code>}{<substitution>}¦.
+% \item Add French language variant ¦swiss¦.
+% \item Implement \xpgoption{babelshorthands} for Croatian.
+% \item Implement ¦\localnumeral¦ for Japanese.
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix font family issue in headers (\TXI{355}).
+% \item Fix whitespace issues in ¦\text<lang>¦ (\TXI{356}).
+% \item Fix option-less ¦\babelname¦ in multi-variant languages (\TXI{357}).
+% \item Fix some spacing inconsistencies with French, Latin, and Sanskrit (\TXI{358}).
+% \item Fix issues with \xpgoption{babelshorthands} and \pkg{graphics} package (\TXI{368}).
+% \item Fix some captions and improve numbering in Marathi (\TXI{370}).
+% \item Fix Hungarian \xpgoption{swapstrings} feature (\TXI{373}).
+% \item Fix lua punctuation code problem (\TXI{374}).
+% \item Fix Bengali changecounternumbering option (\TXI{381}).
+% \item Fix whitespace issue in Japanese (\TXI{387}).
+% \item Fix ¦\text<lang>¦ command with multiple paragraphs.
+% \item Actually implement documented german spelling variant ¦1996¦ (= ¦new¦).
+% \item Fix Slovenian \xpgoption{localalph} option.
+% \item Fix Czech and Slovak \xpgoption{splithyphens} with typewriter fonts.
+% \item ¦farsical.sty¦: fix spacing issue with some month names.
+% \item Fix directionalty of numbers in Hebrew with XeTeX.
+% \item Improve interoperatability with \pkg{biblatex} (some language variants did not work yet).
+% \end{itemize}
+%
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Some boolean options had ¦false¦ value by default, which meant if you passed
+% them without value, the logic was reversed. This has been changed, leading to
+% change of behavior should you have used one of these options without value (\TXI{363}).
+% Concerned are the following options:
+% \begin{itemize}
+% \item ¦babelshorthands¦ in language Belarusian, Mongolian, Ukrainian, and Russian
+% (now ¦babelshorthands¦ equals ¦babelshorthand=true¦, no longer ¦babelshorthands=false¦).
+% \item ¦localalph¦ in language Slovenian (¦localalph¦ now equals ¦localalph=true¦).
+% \item ¦latesthyphen¦ in language German (¦latesthyphen¦ now equals ¦latesthyphen=true¦).
+% \item ¦fullyear¦ in package \pkg{hebrewcal} (¦fullyear¦ now equals ¦fullyear=true¦).
+% \end{itemize}
+% \item The command ¦\setlanguagealias*¦ (introduced in v1.46) does no longer define
+% dedicated alias environments.
+% \item The babelnames for Latin variants have been corrected to ¦classiclatin¦, ¦ecclesiasticlatin¦
+% and ¦medievallatin¦. This is how the hyphenation patterns and \pkg{babel} ¦\extras¦ are named, even
+% though the variants can currently be selected in \pkg{babel} only via appended ``dot modifier''.
+% \item In accordance with the respective \pkg{l3kernel} change, ¦\str_lower_case:n¦ has been renamed to
+% ¦\str_lowercase:n¦ where used in ¦polyglossia.sty¦. Thus \pkg{polyglossia} 1.47 requires \pkg{l3kernel}
+% 2020-01-12 at least.
+% \end{itemize}
+%
+% \subsection*{1.46 (15-11-2019)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Add option \xpgoption{indentfirst} to Russian (\TXI{78}).
+% \item Add options to set and customize French-style itemize item labels to French (\TXI{89}).
+% \item \pkg{Polyglossia} now decodes all supported \pkg{babel} language names in ¦\setdefaultlanguage¦,
+% ¦\setotherlanguage¦ and the language switching commands (\TXI{112}, \TXI{132}).
+% \item Add optional localized math operators to Spanish (\TXI{123}).
+% \item Swap section headings in Hungarian (\TXI{344}). New option \xpgoption{swapstrings} provides control
+% over this.
+% \item Introduce macro ¦\setlanguagealias¦ and ¦\setlanguagealias*¦.
+% \item Introduce language switching command ¦\textlang{lang}{...}¦ (equivalent to ¦\text<lang>¦,
+% but also available with ¦\setlanguagealias*¦ which does not define ¦\text<alias>¦).
+% \item Add support for Afrikaans.
+% \item Add support for Belarusian.
+% \item Add support for Bosnian.
+% \item Add support for Georgian.
+% \item Add Spanish variant ¦mexican¦.
+% \item Add babelshorthands as well as options \xpgoption{splithyphens} and \xpgoption{vlna} to Slovak.
+% \item Add Latin language variant ¦ecclesiastic¦.
+% \item Add Latin language options ¦capitalizemonth¦, ¦ecclesiasticfootnotes¦, ¦hyphenation¦,
+% ¦prosodicshorthands¦, and ¦usej¦.
+% \item Add Latin shorthands for «, », æ, Æ, œ, and Œ.
+% \item Add French language option \xpgoption{thincolonspace}.
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix problems with fragile font settings (\TXI{24}).
+% \item Fix clash of French punctuation spacing with the \pkg{soul} package (\TXI{52}).
+% \item Re-enable the possibility to pass a macro as main argument to ¦\setmainlanguage¦ and
+% ¦\setotherlanguage¦ (\TXI{331}).
+% \item Fix detection of default ¦\languagevariant¦ (\TXI{332}).
+% \item Fix LaTeX error with undefined hyphenation pattern (\TXI{346}).
+% \item Fix some babel shorthand issues by updating the shorthand code from recent \pkg{babel}.
+% \item Fix some problems with French and Latin auto-spacing (\TXI{345}, \TXI{352}).
+% \item Fix an \pkg{expl3} declaration (\TXI{348}).
+% \end{itemize}
+%
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item The sub-package ¦cyrillicnumbers.sty¦ has been renamed to
+% ¦xpg-cyrillicnumbers.sty¦ (per TeXLive request).
+% \item In Russian, all paragraphs are now indented by default, as common in Russian typography.
+% The behavior can be opted out by \xpgoption{indentfirst=false}.
+% \item In Czech, \xpgoption{splithyphens} and \xpgoption{lvna} are enabled by default.
+% Also, the option does now work as well with LuaTeX.
+% \item Changed option name ¦fraktur¦ to ¦blackletter¦ in German (the former is still available
+% as an alias).
+% \item In French, high punctuation characters and guillemets are spaced by half an interword
+% space now instead of a ¦\thinspace¦ (cf. \TXI{345}).
+% \end{itemize}
+%
+% \subsection*{1.45 (27-10-2019)}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Introduce a framework for external packages to access language variants. This fixes,
+% among other things, long-standing problems in the interaction of \pkg{biblatex} and \pkg{polyglossia}.
+% \item Add new macros ¦\languagevariant¦, ¦\mainlanguagevariant¦, ¦\babelname¦ and ¦\mainbabelname¦
+% for package authors to access language information.
+% \item Add new test ¦\iflanguageloaded{<language>}{<true>}{<false>}¦ where <language>
+% can be a \pkg{polyglossia} or \pkg{babel} language name.
+% \item Add new macros ¦\localnumeral,¦ ¦\localnumeral*,¦ ¦\Localnumeral¦ and
+% ¦\Localnumeral*¦ that convert Arabic digitals to the local number scheme.
+% \item Add new macro ¦\pghyphenation¦ to add language-specific hyphenation exceptions (\TXI{18}).
+% \item Add support form (Khalkha \& Cyrillic) Mongolian in line with \pkg{babel-mongolian} (\TXI{23}).
+% \item Add option \xpgoption{splithyphens} and \xpgoption{vlna} to Czech (XeTeX only; for LuaTeX, use the package
+% \pkg{luavlna} to get these features) (\TXI{32}).
+% \item Add support for Kurdish, both Kurmanji and Sorani (\TXI{277}).
+% \item Implement proper Cyrillic (alphanumeric) numbering (\TXI{285}).
+% \item Add new language ¦friulian¦.
+% This deprecates ¦friulan¦ (which is still supported for backwards compatibility).
+% \item Add new language ¦malay¦ with variants ¦indonesian¦ and ¦malaysian¦.
+% This deprecates ¦bahasai¦ and ¦bahasam¦ (which are still supported for
+% backwards compatibility).
+% \item Add new language ¦gaelic¦ with variants ¦irish¦ and ¦scottish¦.
+% This deprecates ¦irish¦ and ¦scottish¦ as own \pkg{polyglossia} languages (which
+% are still supported for backwards compatibility).
+% \item Add new language ¦hungarian¦.
+% This deprecates ¦magyar¦ (which is still supported for backwards compatibility).
+% \item Add new language ¦sorbian¦ with variants ¦lower¦ and ¦upper¦.
+% This deprecates ¦lsorbian¦ and ¦usorbian¦ (which are still supported for
+% backwards compatibility).
+% \item Add new language ¦portuguese¦ with variants ¦portuguese¦ and ¦brazilian¦.
+% This deprecates ¦brazil¦ and ¦portuges¦ (which are still supported for
+% backwards compatibility).
+% \item Add new language ¦norwegian¦ with variants ¦nynorsk¦ and ¦bokmal¦.
+% This deprecates ¦nynorsk¦ and ¦norsk¦ (which are still supported for
+% backwards compatibility).
+% \item Add new language ¦persian¦.
+% This deprecates ¦farsi¦ (which is still supported for backwards compatibility).
+% \item Add new language ¦sami¦. Currently only Northern Sami is supported.
+% This deprecates ¦samin¦ (which is still supported for backwards compatibility).
+% \item ¦gloss-serbian¦: add \xpgoption{numerals=cyrillic} option. Add ¦\asbuk¦ and ¦\Asbuk¦ (\TXI{285}).
+% \item Implement basic support for (French) ¦canadien¦ and (English) ¦canadian¦ (\TXI{22}).
+% \item Improve support for Armenian (\TXI{79}): Add captions, Eastern month names
+% (accessible via variant=eastern) and Armenian alphabetic numbering
+% (via \xpgoption{numerals=armenian} and ¦\armenicnumeral¦).
+% \item Add french option \xpgoption{autospacing} and commands ¦\AutoSpacing,¦ ¦\NoAutoSpacing¦
+% This allows to switch off autospacing globally or locally (\TXI{113}).
+% \item Fixup ¦\normalfont¦ (\TXI{203}).
+% \item Fix directionality issues in mixed RTL/LTR paragraphs (\TXI{204}).
+% \item Implement \xpgoption{babelshorthands} for Finnish (\TXI{212}) and Czech.
+% \item Implement access to current language via Lua (\TXI{243}).
+% \item Introduce french option option \xpgoption{autospacetypewriter}
+% alias \xpgoption{OriginalTypewriter}.
+% \item Support ¦\aemph¦ with lualatex
+% \item Rename \xpgoption{automaticspacesaroundguillemets} to \xpgoption{autospaceguillemets}
+% The old option is kept for backwards compatibility.
+% \end{itemize}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix equation number in Arabic and Farsi (\TXI{7}).
+% \item Simplify and document Hebrew \xpgoption{marcheshvan} option (\TXI{16}).
+% \item Fix hyphenation of Greek with LuaTeX (\TXI{55}).
+% \item Fix N'ko date format (\TXI{63}).
+% \item Disable the extras of a language when a nested language starts (\TXI{66}, \TXI{169}).
+% \item Properly implement Bengali numbers (\TXI{69}, \TXI{184}).
+% \item Fix conflicts with other packages caused by premature shorthand activation
+% in preamble (\TXI{81}, \TXI{200}).
+% \item Fix kerning in math with French (\TXI{92}).
+% \item Fix expansion issue in Hebrew (\TXI{93}).
+% \item Fix numbering expansion issue in Greek (\TXI{110}).
+% \item Postpone ¦\disablehyphenation¦ in preamble until after setting of
+% document language (\TXI{125}).
+% \item Postpone the assignment of defaultfamily to ¦\AtBeginDocument¦,
+% thus do not overwrite ¦\familydefault¦ redefinitions in the preamble (\TXI{127}).
+% \item Reset number settings when switching language (\TXI{133}).
+% \item Hebrew: Properly store ¦\MakeUppercase¦ for later restoration (\TXI{152}).
+% \item Fix whitespace issue in ¦\datewelsh¦ (\TXI{158}).
+% \item When switching language, set the language/script specific font families (\TXI{164}).
+% \item Correct some Bengali captions (\TXI{165}).
+% \item Fix documentation of Serbian (\TXI{168}).
+% \item Reset ucl codes in Latin only if the respective variant is used (\TXI{172}).
+% \item Fix ¦\disablehyphenation¦ with LuaTeX (\TXI{187}).
+% \item Fix typos in Hindi captions (\TXI{202}).
+% \item Pass language options to the aux files (\TXI{205}).
+% \item Rewrite and fix English variant handling (\TXI{208}).
+% \item Define magyar caption formats in ¦\blockextras¦ and undef them in ¦\noextras¦ (\TXI{209}).
+% \item Ensure proper direction with arabic digits in Arabic and Farsi (\TXI{213}).
+% \item Fix ¦\linespread¦ with Korean (\TXI{218}).
+% \item Define Russian caption before key allocation (\TXI{219}).
+% \item Register current language in \pkg{polyglossia} lua module after selection (\TXI{234}).
+% \item Fix \pkg{babel} language switching commands (\TXI{239}):
+% ¦\foreignlanguage¦ and the starred ¦otherlanguage*¦ environment are not
+% supposed to change dates.
+% \item Fix French spacing leaking beyond French (\TXI{270}).
+% \item Redefine font families for French only if language is loaded (\TXI{270}).
+% \item ¦gloss-russian¦:
+% \begin{itemize}
+% \item Check whether command exist before redefining (\TXI{280}).
+% \item Fix some whitespace issues.
+% \end{itemize}
+% \item Fix and simplify ¦\frenchfootnote¦ definition (\TXI{294}).
+% \item Fix footnote numbering in Farsi.
+% \item Fix Latin footnotes in Arabic documents.
+% \item Set the correct main direction with \pkg{luabidi}.
+% \item Fix \xpgoption{autospaceguillemets} option in French.
+% \item Fix grouping in ¦gloss-danish.ldf¦.
+% \item Properly store ¦\MakeUppercase¦ and ¦\@arabic¦ for later restoration.
+% \end{itemize}
+%
+% \subsubsection*{Documentation}
+% \begin{itemize}
+% \item Add documentation about footnotes in RTL context
+% \item Document Tibetan numerals option (\TXI{109}).
+% \item Improve ¦\frenchfootnote¦ documentation.
+% \item Mention Japanese support in the docs.
+% \end{itemize}
+%
+% \subsection*{1.44 (04-04-2019)}
+% \begin{itemize}
+% \item Correction to Russian language file, by \TA{Maksim Zholudev} (commit d2f383e).
+% \item Added Macedonian language file, by \TA{Stefan Zlatinov} (commit cd379e1).
+% \end{itemize}
+%
+% \subsection*{1.43 (05-03-2019)}
+% \begin{itemize}
+% \item Correction to Hindi language file, by \TA{Zdenĕk Wagner}.
+% \end{itemize}
+%
+% \subsection*{1.42.5 (13-04-2017)}
+% \begin{itemize}
+% \item Many changes to the French language file, by \TA{Maïeul Rouquette}.
+% \end{itemize}
+%
+% \subsection*{1.42.4 (February, March 2016)}
+% \begin{itemize}
+% \item Remedial actions for the \pkg{babel} changes.
+% \item Fixed side effect of pull request \TXI{122} (see commit d2a34ff).
+% \item Added automatic Josa selection, variant, and captions options to Korean, by \TA{Dohyun Kim} (pull request \TXI{128}).
+% \item Updated ¦gloss-occitan¦ from CTAN.
+% \end{itemize}
+%
+% \subsection*{18-01-2016}
+% \begin{itemize}
+% \item Fixed issue \TXI{124} (minor typo in ¦polyglossia-frpt.lua¦)
+% \item Merged pull request \TXI{117} for more French guillemet spacing
+% \item Merged pull request \TXI{121} to add ¦\bbl@loaded¦; fixes issue \TXI{120}
+% \item Merged pull request \TXI{122} that build on \TXI{121}
+% \item Merged pull request \TXI{116} for French (spacing around guillemets)
+% \item Fixed issue \TXI{115} (spurious spaces in Arabic)
+% \end{itemize}
+%
+% \subsection*{19-08-2015}
+% \begin{itemize}
+% \item Fixed issue \TXI{107} for Marathi (labels and month names)
+% \end{itemize}
+%
+% \subsection*{1.42.0 (06-08-2015)}
+% \begin{itemize}
+% \item Add Bengali digits package, and option to reset all numbering functions.
+% \item Add ¦long¦ option for Welsh date.
+% \item Add local alphabet in Slovenian, for enumerations and such.
+% \item Fix long-standing bug with Welsh: date should use ordinals.
+% \item Fix for Latin with LuaTeX: all variants had same problems as Classic.
+% \item Fixed error with British variant of English and LuaTeX (issue \TXI{86}).
+% \end{itemize}
+%
+% \subsection*{1.41.0 (16-07-2015)}
+% \begin{itemize}
+% \item Added support for Khmer, by \TA{Say Ol} (private email)
+% \end{itemize}
+%
+% \subsection*{1.40.1 (14-07-2015)}
+% \begin{itemize}
+% \item Bugfix for Korean, by \TA{Dohyun Kim} (pull request \TXI{103})
+% \end{itemize}
+%
+% \subsection*{1.40.0 (07-07-2015)}
+% \begin{itemize}
+% \item ¦gloss-korean.ldf¦ contributed by \TA{Dohyun Kim} (pull request \TXI{102})
+% \end{itemize}
+%
+% \subsection*{1.33.7 (04-07-2015)}
+% \begin{itemize}
+% \item Release to CTAN, no code change
+% \item Fixed extraneous space in code for Swiss German (pull request \TXI{101})
+% \item Fixed a typo in Ukrainian alphabet, for ¦\Asbuk¦ (pull request \TXI{99})
+% \item Fix for Classic Latin: load patterns for LuaTeX
+% \item Made ¦\rmfamily¦, ¦\sffamily¦ and ¦\ttfamily¦ robust again
+% \item Merged fix for Hebrew date format, by \TA{Guy Rutenberg} (pull request \TXI{94})
+% \item Merged fix for spurious space, by \TA{Caleb McKennan} (pull request \TXI{91})
+% \item Merged pull request \TXI{84} by \TA{Élie Roux} for Tibetan
+% \item Added support for Swiss German (pull request \TXI{75})
+% \item Added commands ¦\Asbuk¦ and ¦\asbuk¦ for Ukrainian (pull request \TXI{76}), similar to Russian
+% \item Documented changes to Latin from last year.
+% \item Be friendlier to right-to-left languages with LuaTeX
+% \item Enhanced Latin support by \TA{Claudio Beccari}
+% \end{itemize}
+%
+% \subsection*{1.33.6 (15-05-2015)}
+% \begin{itemize}
+% \item Introduce a ¦classical¦ and ¦medieval¦ variant of Latin
+% \item Add ¦\asbuk¦ and ¦\Asbuk¦ for Ukrainian (after their Russian counterpart)
+% \item Fix a number of bugs
+% \end{itemize}
+%
+% \subsection*{1.33.5 (21-05-2014)}
+% \begin{itemize}
+% \item Option to disable hyphenation entirely, by \TA{Élie Roux}
+% \item Fix spurious spaces in gloss-russian.ldf, by \TA{Oleg Domanov}
+% \item Support for the Austrian variant of German, by \TA{Jürgen Spitzmüller}
+% \item Changes to the Croatian translations, by \TA{Ivan Kokan}
+% \item Correction to the Lithuanian translations, by \TA{Ignas Anikevičius}
+% \end{itemize}
+%
+% \subsection*{1.33.4 (27-06-2013)}
+% \begin{itemize}
+% \item Emergency release for a bug introduced in ¦babelsh.def¦
+% \end{itemize}
+%
+% \subsection*{1.33.3 (28-05-2013)}
+% \begin{itemize}
+% \item Changed formatting of some error messages (emergency fixes for TeX Live 2013)
+% \end{itemize}
+%
+% \subsection*{1.33.2 (26-05-2013)}
+% \begin{itemize}
+% \item Added ¦\disablehyphenation¦ and ¦\enablehyphenation¦, contributed by
+% \TA{Élie Roux}.
+% \item Fixed bug related to package inclusion. \pkg{Polyglossia} would break if
+% we loaded ¦breqn.sty¦, and then called ¦\setmainlanguage{english}¦, this
+% is no longer the case.
+% \item Removed spurious space introduced by ¦\captionswedish¦.
+% \end{itemize}
+%
+% \subsection*{1.33.1 (23-05-2013)}
+% \begin{itemize}
+% \item Editorial changes to the documentation
+% \item Hunted and documented bugs
+% \end{itemize}
+%
+% \subsection*{1.33.0 (20-05-2013)}
+% \begin{itemize}
+% \item Added support for N’Ko.
+% \item Bugfixes for LuaTeX
+% \item More work in progress on Bidi in LuaTeX.
+% \end{itemize}
+%
+% \subsection*{1.32.0 (15-05-2013)}
+% \begin{itemize}
+% \item Transitional version to support right-to-left languages with LuaTeX.
+% \end{itemize}
+%
+% \subsection*{1.31 (10-05-2013) / 1.3 (11-05-2013)}
+% \begin{itemize}
+% \item Several bugfixes.
+% \item Sync with \pkg{babel} 3.9.
+% \item Consolidated support for LuaTeX for all languages but the ones using
+% South and South-East Asian scripts, and languages written from right
+% to left. Many thanks to \TA{Élie Roux} for his help.
+% \item Added support for Tibetan, contributed by \TA{Élie Roux} (end of lines are experimental).
+% \end{itemize}
+%
+% \subsection*{1.30 (06-08-2012)}
+% \begin{itemize}
+% \item Added support for LuaTeX. Many languages don’t work yet. Please be patient.
+% \end{itemize}
+%
+% \subsection*{1.2.0e (28-04-2012)}
+% \begin{itemize}
+% \item Fixed a number of outstanding and not very interesting bugs.
+% \item Added gloss files for Romansh and Friulan, contributed by \TA{Claudio Beccari}.
+% \end{itemize}
+%
+% \subsection*{1.2.0d (12-01-2012)}
+% \begin{itemize}
+% \item Removed ¦\makeatletter¦ and ¦\makeother¦ from gloss files entirely.
+% \end{itemize}
+%
+% \subsection*{1.2.0c (12-10-2011) [First update by Arthur Reutenauer]}
+% \begin{itemize}
+% \item Update to ¦gloss-italian.ldf¦ by \TA{Claudio Beccari}, incorporating changes
+% by \TA{Enrico Gregorio}.
+% \item Conclude every gloss file with ¦\makeatother¦ to match the initial
+% ¦\makeatletter¦. (Not necessary from a technical point of vue, because of one
+% of the changes by Enrico reported below, but I like it better that way :-)
+% \item Conclude ¦polyglossia.sty¦ with ¦\ExplSyntaxOff¦ to match the initial
+% ¦\ExplSyntaxOn¦.
+% \item Added gloss file for Kannada, contributed by \TA{Aravinda VK} and others.
+% \item Corrections to the gloss-dutch.ldf thanks to \TA{Wouter Bolsterlee}.
+% \item Several patches by \TA{Enrico Gregorio}, fixing long-standing bugs.
+% From the git log:
+% \begin{itemize}
+% \item Deleted setup for right-to-left writing direction, see \url{http://tug.org/pipermail/xetex/2011-April/020319.html}
+% \item Changed three appearances of ¦\newcommand¦ to ¦\newrobustcmd,¦ as the commands needs to be protected.
+% Bug reported by \TA{kamensky}.
+% \item Corrected ¦\datepolish¦ as suggested by \TA{Piotr Kempa}
+% \item Changed ¦\lccode"¦ into ¦\lccode\string",¦ because it might come into action at wrong times when ¦"¦ is active
+% \item Changed definition of key ¦\xpg@setup¦, as ¦\@tmpfirst¦ and ¦\@tmpsecond¦ were not expanded, causing dependence
+% of ¦\lefthyphenmin¦ and ¦\righthyphenmin¦ to the last loaded language.
+% Raised by \TA{Vadim Rodionov} on the XeTeX mailing list.
+% \item Deleted ¦\bgroup¦ and ¦\egroup¦ tokens from the definition of ¦otherlanguage*¦; they serve no purpose
+% (we are already inside an environment) and conflict with \pkg{csquotes}. Noticed by \TA{P. Lehman}.
+% \item Changed the calls of ¦\input¦ to ¦\xpg@input,¦ which inputs the required file and resets the catcode
+% of ¦@¦ to the same value as it had before the input. Since each ¦.ldf¦ file starts with ¦\makeatletter¦,
+% the old behaviour would leave a category 11 @, which is wrong.
+% \item Added ¦\csuse{date#2}¦ to the definition of ¦otherlanguage*¦.
+% \end{itemize}
+% \end{itemize}
+%
+% \subsection*{1.2.0b (03-10-2011) [Update by Philipp Stephani]}
+% \begin{itemize}
+% \item Load \pkg{xkeyval} package explicitly since newer versions
+% of \pkg{fontspec} don't load it any more.
+% \end{itemize}
+%
+% \subsection*{1.2.0a (27-07-2010) [Last update by François Charette]}
+% \begin{itemize}
+% \item Initialize ¦\fontfamily¦ acc to value of ¦\familydefault¦
+% (Fixes a bug when using \pkg{polyglossia} with beamer)
+% \item Remove spurious space in def of ¦\dateenglish¦
+% \item Add missing English variant ¦american¦
+% \item Serbian: fix date format and captions (Latin+Cyrillic)
+% \item Fix ¦\atticnumeral¦ in ¦gloss-greek¦
+% \item Small improvements and fixes in documentation
+% \end{itemize}
+%
+%
+% \subsection*{1.2.0 (15-07-2010)}
+% \begin{itemize}
+% \item Adapted for \pkg{fontspec} 2.0 (will not work with earlier versions!)
+% \item New implementation of a ¦\PolyglossiaSetup¦ interface
+% that simplifies writing ¦gloss-*.ldf¦ files
+% \item Many internal enhancements and refactoring
+% (including a patch by \TA{Dirk Ulrich})
+% \item Improved automatic font setup when ¦\<lang>font¦ is not defined
+% \item New environment otherlanguage* (env. equivalent of ¦\foreignlanguage¦
+% (\TA{Enrico Gregorio})
+% \item Bugfix to prevent bogus expansion of ¦\{rm,sf,tt}family¦ even in aux files (\TA{Enrico Gregorio})
+% \item New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
+% Malayalam, Marathi, Tamil, Telugu, and Turkmen.
+% \item New auxiliary packages ¦devanagaridigits¦ and ¦bengalidigits¦
+% \item \pkg{hijrical} no longer loads \pkg{bidi} and checks for incompatible \pkg{l3calc}
+% \item Add \pkg{babel} shorthands for Russian (based on a patch by \TA{Vladimir Lomov})
+% \item Fix ¦\fnum@{table,figure}¦ for Lithuanian
+% \item Various improvements in ¦gloss-russian¦ (provided by \TA{Vladimir Lomov} and
+% others)
+% \item Corrected captions for Bahasai, Lithuanian, Russian, Croatian
+% \item Add option \xpgoption{indentfirst=true} for Spanish, Croation and other languages
+% (NB: \xpgoption{indentfirst} was previously named \xpgoption{frenchindent})
+% \item New option \xpgoption{script} for German: Setting \xpgoption{script=fraktur} modifies the
+% captions for typesetting in Fraktur.
+% \item New command ¦\aemph¦ for Arabic, Farsi, Urdu, etc. to mark emphasis through
+% overlining.
+% \item Package option \xpgoption{nolocalmarks} is now true by default: to activate it the
+% option \xpgoption{localmarks} must be passed instead.
+% \item Loading languages à la \pkg{babel} as package options is no longer possible (this
+% feature was deprecated since v1.1.0).
+% \end{itemize}
+%
+% \subsection*{1.1.1 (23-03-2010)}
+% \begin{itemize}
+% \item Bugfix for French: explicit spaces before/after double punctuation
+% signs (Par exemple : les grands « espaces » du Canada !) are
+% now replaced by the appropriate non-breaking spaces, as in \pkg{babel}.
+% \item Bugfix for font switching mechanism within Latin script
+% (pending a complete re-implementation in v1.2):
+% the font shape and series are no longer reset when switching language.
+% \item New macros for non-Western decimal digits
+% (instead of fontmappings)
+% \item New gloss files for Asturian, Lithuanian and Urdu
+% \item ¦hijrical.sty¦ is now locale-aware: ¦\hijritoday¦ is
+% formatted differently in Arabic, Farsi, Urdu, Turkish
+% and Bahasa Indonesia.
+% \item Enable \xpgoption{babelshorthands} for Dutch
+% \item Add missing macro ¦\allowhyphens¦
+% \item Add global option \xpgoption{babelshorthands}
+% \item Support Catalan geminated l
+% \item Bugfix when declaring more than one pkg option
+% \item Protect ¦\reset@font¦
+% \item Add missing requirement \pkg{makecmds}
+% \item Bugfix for smallcaps in captions
+% \item Typo for ¦ccname¦ in Hebrew
+% \item Add option \xpgoption{numerals} to ¦gloss-russian¦
+% \item Provide ¦\newXeTeXintercharclass¦ when undefined
+% \item Bugfix for Russian ¦\alph¦
+% \item Remove superfluous level of ¦{}¦ in definition of ¦\markright¦
+% \item Bugfix for ¦\datecatalan¦
+% \item Change ¦hyphenmins¦ for Sanskrit
+% \end{itemize}
+%
+% \subsection*{1.1.0b (22-11-2009)}
+% \begin{itemize}
+% \item Modify ¦\hyphenmins¦ for Sanskrit (\TA{Yves Codet})
+% \item Bugfixes for Serbian and Bulgarian (\TA{Enrico Gregorio})
+% \end{itemize}
+%
+% \subsection*{1.1.0a (22-11-2009)}
+% \begin{itemize}
+% \item Bugfix for interchar tokens
+% \end{itemize}
+%
+% \subsection*{1.1.0 (20-11-2009)}
+% \begin{itemize}
+% \item Use ¦\newXeTeXintercharclass¦ (thanks to \TA{Enrico Gregorio})
+% \item Fixed implementation of shorthands for German (\pkg{babel} code in file ¦babelsh.def¦)
+% \item Arabic (\TA{Khaled Hosny}):
+% \begin{itemize}
+% \item Fix abjad form for 3 and 5 and add option ¦\abjadjimnotail¦
+% \item bugfix for ¦\arabicnumber¦
+% \item make Gregorian calendar the default
+% \item fixed typos in the sample text
+% \end{itemize}
+% \item Turkish (\TA{S. Ö. Yıldız}):
+% \begin{itemize}
+% \item fix white-space before : and !
+% \item also check if the font specified TRK for language
+% \item added missing Turkish translation of ``Glossary''
+% \end{itemize}
+% \item Suppress ¦nopattern¦ warning for non-hyphenated scripts
+% \item Changed U+0163 to U+021B for Romanian (\TA{Elie Roux})
+% \item Stylistic fixes and use macro ¦\xpg@option¦ for package options (\TA{E. Gregorio})
+% \item Fix month names in Dutch (\TA{A. Ledda})
+% \item Add Brazilian translation for ``glossary''
+% \item Remove spurious space generated by ¦gloss-spanish¦
+% \item Fix ¦ldf¦ file for brazilian
+% \item Various improvements in the code communicated by \TA{E. Gregorio}:
+% \begin{itemize}
+% \item remove superfluous ¦\protect\language¦
+% \item change default language from ¦0¦ to ¦\l@nohyphenation=255¦
+% \item localize ¦lccode¦ handling of apostrophe in French; add it to Italian
+% \end{itemize}
+% \item Fix ¦frenchspacing¦ for Vietnamese
+% \item Other minor bugfixes
+% \end{itemize}
+%
+% \subsection*{1.0.2 (27-01-2009)}
+% \begin{itemize}
+% \item Captions corrected in Hebrew, Russian and Spanish
+% \item Removed all ¦\text<lang>¦ wrappers within caption definitions
+% \item Improved compatibility with \pkg{babel}
+% \item New option \xpgoption{babelshorthands} for German
+% \item New option \xpgoption{Script} for Sanskrit
+% \end{itemize}
+%
+% \subsection*{1.0.1 (31-07-2008)}
+% \begin{itemize}
+% \item Improved documentation (added sections on font setup and numeration mappings)
+% \item Improvements and bug fixes for English and German
+% \item Bugfix in ¦gloss-syriac.ldf¦ (spurious space after ¦\textsyriac{...}¦)
+% \item Extended the scope of ¦\syriacabjad¦
+% \item Added ¦gloss-amharic.ldf¦ (ported from ¦ethiop.ldf¦ in the package \pkg{ethiop})
+% \end{itemize}
+%
+% \subsection*{1.0 (13-07-2008)}
+% \begin{itemize}
+% \item Initial release on CTAN.
+% \end{itemize}
+% \egroup
+%
% \section{Acknowledgements (by François Charette)}
% \pkg{Polyglossia} is notable for being a recycle box of previous contributions
% by other people. I take this opportunity to thank the following individuals,
@@ -2675,7 +3449,8 @@ to track the issues and follow progress.
% \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
% \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson},
% \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe},
-% \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+% \TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou},
+% and \TA{Stefan Zlatinov}.
% Their respective contributions can be identified from the contributor statistics on
% \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
%
@@ -2701,7 +3476,7 @@ to track the issues and follow progress.
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2020/12/08 v1.51
+\ProvidesPackage{polyglossia}[2021/03/16 v1.52
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -4050,16 +4825,19 @@ to track the issues and follow progress.
\DeclareRobustCommand\xpg@defaultfont@rm{%
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
\fontfamily\rmdefault%
+ \ifdefined\UseHook\UseHook{rmfamily}\fi%
\selectfont%
}
\DeclareRobustCommand\xpg@defaultfont@sf{%
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
\fontfamily\sfdefault%
+ \ifdefined\UseHook\UseHook{sffamily}\fi%
\selectfont%
}
\DeclareRobustCommand\xpg@defaultfont@tt{%
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
\fontfamily\ttdefault%
+ \ifdefined\UseHook\UseHook{ttfamily}\fi%
\selectfont%
}
@@ -4129,8 +4907,10 @@ to track the issues and follow progress.
\DeclareRobustCommand\sffamily{\csuse{#1@font@sf}}%
\DeclareRobustCommand\ttfamily{\csuse{#1@font@tt}}%
\gdef\normalfont{\protect\xpg@select@fontfamily{#1}%
- \fontseries{\seriesdefault}\selectfont%
- \fontshape{\shapedefault}\selectfont}%
+ \fontseries{\seriesdefault}\selectfont%
+ \fontshape{\shapedefault}
+ \ifdefined\UseHook\UseHook{normalfont}\fi%
+ \selectfont}%
\gdef\reset@font{\protect\normalfont}%
}
@@ -10385,7 +11165,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%\def\headtoname{}%
\def\proofname{Proof}%
\def\glossaryname{Glossary}%
- }
+}
+
\def\datebulgarian{%
\def\today{\number\day~\ifcase\month\or
януари\or
@@ -12903,8 +13684,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\partname{Partie}%
\fi%
\def\pagename{page}%
- \def\seename{\emph{voir}}%
- \def\alsoname{\emph{voir aussi}}%
+ \def\seename{voir}%
+ \def\alsoname{voir aussi}%
\def\enclname{P.~J. }%
\def\ccname{Copie à }%
\def\headtoname{}%
@@ -12932,14 +13713,23 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Change part heading
% With titlesec
\ifcsdef{titleformat}{%
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
+ \ifcsdef{H@old@part}{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}%
{\partname\nobreakspace\thepart}%
{\xpg@french@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}%
+ }{% not hyperref
+ \ifcsdef{@part}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg@french@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }{}%
+ }%
}{% (not \ifdefined\titleformat)
% With KOMA
\ifcsdef{sectionformat}{%
@@ -12950,23 +13740,40 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{% (not \ifdefined\sectionformat)
% With memoir
\ifcsdef{@memptsize}{%
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ \ifcsdef{H@old@part}{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}{\printpartname \partnamenum \printpartnum}%
{\partnamefont\xpg@french@part\partnamenum\printpartname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}%
+ }{% not hyperref
+ \ifcsdef{@part}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\partnamefont\xpg@french@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }{}%
+ }%
}{% (not \ifdefined\@memptsize)
% With standard classes
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
+ \ifcsdef{H@old@part}{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}%
{\partname\nobreakspace\thepart}%
{\xpg@french@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}% (end \ifdefined\@part)
+ }{% not hyperref
+ \ifcsdef{@part}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg@french@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }{}% (end \ifdefined \H@old@part)
+ }% (end \ifdefined\@part)
}% (end \ifdefined\@memptsize)
}% (end \ifdefined\sectionformat)
}% (end \ifdefined\titleformat)
@@ -12977,7 +13784,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcsdef{titleformat}{%
% With titlesec
\ifcsdef{xpg@save@part@format}{%
- \let\@part\xpg@save@part@format
+ \ifcsdef{H@old@part}{\let\@H@old@part\xpg@save@part@format}{\let\@part\xpg@save@part@format}
}{}%
}{% (not \ifdefined\titleformat)
\ifcsdef{sectionformat}{%
@@ -12988,7 +13795,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{%
% With memoir and standard classes
\ifcsdef{xpg@save@part@format}{%
- \let\@part\xpg@save@part@format
+ \ifcsdef{H@old@part}{\let\@H@old@part\xpg@save@part@format}{\let\@part\xpg@save@part@format}
}{}%
}% (end \ifdefined\sectionformat)
}% (end \ifdefined\titleformat)
@@ -20435,13 +21242,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Force punctuation after heading number
\define@boolkey{russian}[russian@]{forceheadingpunctuation}[true]{}
+% Define some math functions
+\define@boolkey{russian}[russian@]{mathfunctions}[true]{}
% Register default options
\xpg@initialize@gloss@options{russian}{babelshorthands=false,
spelling=modern,
numerals=arabic,
indentfirst=true,
- forceheadingpunctuation=true}
+ forceheadingpunctuation=true,
+ mathfunctions=true}
\ifsystem@babelshorthands
@@ -20717,24 +21527,27 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
%%% These lines taken from russianb.ldf, part of babel package.
-% make it optional?
-\def\sh {\mathop{\operator@font sh}\nolimits}
-\def\ch {\mathop{\operator@font ch}\nolimits}
-\def\tg {\mathop{\operator@font tg}\nolimits}
-\def\arctg {\mathop{\operator@font arctg}\nolimits}
-\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
-\def\th {\mathop{\operator@font th}\nolimits}
-\def\ctg {\mathop{\operator@font ctg}\nolimits}
-\def\cth {\mathop{\operator@font cth}\nolimits}
-\def\cosec {\mathop{\operator@font cosec}\nolimits}
-\def\Prob {\mathop{\kern\z@\mathsf{P}}\nolimits}
-\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
-\def\nod {\mathop{\mathrm{н.о.д.}}\nolimits}
-\def\nok {\mathop{\mathrm{н.о.к.}}\nolimits}
-\def\NOD {\mathop{\mathrm{НОД}}\nolimits}
-\def\NOK {\mathop{\mathrm{НОК}}\nolimits}
-\def\Proj {\mathop{\mathrm{Пр}}\nolimits}
-%\DeclareRobustCommand{\No}{№}
+\AtBeginDocument{%
+\ifrussian@mathfunctions%
+ \def\sh {\mathop{\operator@font sh}\nolimits}
+ \def\ch {\mathop{\operator@font ch}\nolimits}
+ \def\tg {\mathop{\operator@font tg}\nolimits}
+ \def\arctg {\mathop{\operator@font arctg}\nolimits}
+ \def\arcctg{\mathop{\operator@font arcctg}\nolimits}
+ \def\th {\mathop{\operator@font th}\nolimits}
+ \def\ctg {\mathop{\operator@font ctg}\nolimits}
+ \def\cth {\mathop{\operator@font cth}\nolimits}
+ \def\cosec {\mathop{\operator@font cosec}\nolimits}
+ \def\Prob {\mathop{\kern\z@\mathsf{P}}\nolimits}
+ \def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+ \def\nod {\mathop{\mathrm{н.о.д.}}\nolimits}
+ \def\nok {\mathop{\mathrm{н.о.к.}}\nolimits}
+ \def\NOD {\mathop{\mathrm{НОД}}\nolimits}
+ \def\NOK {\mathop{\mathrm{НОК}}\nolimits}
+ \def\Proj {\mathop{\mathrm{Пр}}\nolimits}
+ %\DeclareRobustCommand{\No}{№}
+\fi
+}
% \end{macrocode}
% \iffalse
@@ -22968,6 +23781,20 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</gloss-turkmen.ldf>
+%<*gloss-ug.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ug.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
+% BCP 47 tag for Uyghur
+
+\xpg@load@master@language{uyghur}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ug.ldf>
%<*gloss-ukrainian.ldf>
% \fi
% \clearpage
@@ -23020,8 +23847,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{\xpg@warning{Unknown Ukrainian numerals value `#1'}}
+% Define some math functions
+\define@boolkey{ukrainian}[ukrainian@]{mathfunctions}[true]{}
+
% Register default options
-\xpg@initialize@gloss@options{ukrainian}{numerals=arabic}
+\xpg@initialize@gloss@options{ukrainian}{numerals=arabic,mathfunctions=true}
\define@boolkey{ukrainian}[ukrainian@]{babelshorthands}[true]{}
@@ -23229,26 +24059,29 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
%%% stuff from Babel
-% make it optional?
-\def\sh{\mathop{\operator@font sh}\nolimits}
-\def\ch{\mathop{\operator@font ch}\nolimits}
-\def\tg{\mathop{\operator@font tg}\nolimits}
-\def\arctg{\mathop{\operator@font arctg}\nolimits}
-\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
-\def\ctg{\mathop{\operator@font ctg}\nolimits}
-\def\cth{\mathop{\operator@font cth}\nolimits}
-\def\cosec{\mathop{\operator@font cosec}\nolimits}
-\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
-\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
-\def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
-\def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
-\def\NSD{\mathop{\mathrm{НСД}}\nolimits}
-\def\NSK{\mathop{\mathrm{НСК}}\nolimits}
-\def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
-\def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
-\def\NOD{\mathop{\mathrm{НОД}}\nolimits}
-\def\NOK{\mathop{\mathrm{НОК}}\nolimits}
-\def\Proj{\mathop{\mathrm{пр}}\nolimits}
+\AtBeginDocument{%
+\ifukrainian@mathfunctions%
+ \def\sh{\mathop{\operator@font sh}\nolimits}
+ \def\ch{\mathop{\operator@font ch}\nolimits}
+ \def\tg{\mathop{\operator@font tg}\nolimits}
+ \def\arctg{\mathop{\operator@font arctg}\nolimits}
+ \def\arcctg{\mathop{\operator@font arcctg}\nolimits}
+ \def\ctg{\mathop{\operator@font ctg}\nolimits}
+ \def\cth{\mathop{\operator@font cth}\nolimits}
+ \def\cosec{\mathop{\operator@font cosec}\nolimits}
+ \def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
+ \def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+ \def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
+ \def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
+ \def\NSD{\mathop{\mathrm{НСД}}\nolimits}
+ \def\NSK{\mathop{\mathrm{НСК}}\nolimits}
+ \def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
+ \def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
+ \def\NOD{\mathop{\mathrm{НОД}}\nolimits}
+ \def\NOK{\mathop{\mathrm{НОК}}\nolimits}
+ \def\Proj{\mathop{\mathrm{пр}}\nolimits}
+\fi
+}
% \end{macrocode}
% \iffalse
@@ -23438,6 +24271,66 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</gloss-usorbian.ldf>
+%<*gloss-uyghur.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-uyghur.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
+%% Translations provided by Osman Tursun (Github Account: neouyghur)
+
+\PolyglossiaSetup{uyghur}{
+ bcp47=ug,
+ script=Arabic,
+ direction=RL,
+ scripttag=arab,
+ langtag=UYG,
+ hyphennames={nohyphenation}،
+ fontsetup=true,
+}
+
+% BCP-47 compliant aliases
+\setlanguagealias*{uyghur}{ug}
+
+\def\captionsuyghur{%
+ \def\refname{\@ensure@RTL{پايدىلانما}}%
+ \def\abstractname{\@ensure@RTL{ئابستراكت}}%
+ \def\bibname{\@ensure@RTL{پايدىلانما}}%
+ \def\prefacename{\@ensure@RTL{كىرىش سۆز}}%
+ \def\chaptername{\@ensure@RTL{باب}}%
+ \def\appendixname{\@ensure@RTL{قوشۇمچە}}%
+ \def\contentsname{\@ensure@RTL{مۇندەرىجە}}%
+ \def\listfigurename{\@ensure@RTL{رەسىملەر}}%
+ \def\listtablename{\@ensure@RTL{جەدۋەللەر}}%
+ \def\indexname{\@ensure@RTL{ئىندېكىس}}%
+ \def\figurename{\@ensure@RTL{رەسىم}}%
+ \def\tablename{\@ensure@RTL{جەدۋەل}}%
+ %\def\thepart{}%
+ \def\partname{\@ensure@RTL{قىسىم}}%
+ \def\pagename{\@ensure@RTL{بەت}}%
+ \def\seename{\@ensure@RTL{قاراڭ}}%
+ \def\alsoname{\@ensure@RTL{ئايرىم قاراڭ}}%
+ \def\enclname{\@ensure@RTL{قوشۇمچە ھۆججەت}}%
+ \def\ccname{\@ensure@RTL{باشقا تاپشۇرۇۋالغۇچى}}%
+ \def\headtoname{\@ensure@RTL{تاپشۇرۇۋالغۇچى}}%
+ \def\proofname{\@ensure@RTL{ئىسپات}}%
+ \def\glossaryname{\@ensure@RTL{لۇغەت}}%
+ %\def\sectionname{\@ensure@RTL{}}%
+ \def\subjectname{\@ensure@RTL{تېما}}%
+}
+
+\def\dateuyghur{%
+ \def\today{\number\day~\ifcase\month\or
+ يانۋار\or فېۋرال\or مارت\or ئاپرېل\or ماي\or ئىيۇن\or
+ ئىيۇل\or ئاۋغۇست\or سېنتەبىر\or ئۆكتەبىر\or نويابىر\or
+ دېكابىر\fi
+ \space\number\year}%
+}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-uyghur.ldf>
%<*gloss-vietnamese.ldf>
% \fi
% \clearpage
@@ -25150,640 +26043,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \Finale
%
% \iffalse
-%<*Changelog>
-1.51 (08-12-2020)
-
-New features:
- * New option "frenchpart" for French (#458).
- * New option "splithyphens" for Croatian (#454).
-
-Bug fixes:
-
- * Use new LaTeX core hooks rather than filehook package. This fixes
- a recent breakage of filehook with other external packages (#453).
- * Remove very old code that pretends polyglossia is babel (#455).
- * Fix spelling of Albanian contentsname (#456).
- * Fix part heading modification in French (#458).
- * Fix extra space in Hebrew (#459).
- * Register main polyglossia language earlier (#461).
- * Allow for hyphenations in words following opening guillemet in French
- with XeTeX (#462).
-
-
-1.50a (15-10-2020)
-
-Bug fixes:
-
- * Assure \autodot is defined with \KOMAScript in Russian.
-
-1.50 (09-10-2020)
-
-New features:
-
- * Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
- output. This brings LuaTeX on par with XeTeX for all scripts (#337).
- The renderer can be changed via the new global luatexrenderer option.
- * The (previously inadvertently working) hyphenrules environment that ceased
- to work after a recent babel update is back and now officially supported.
- The environment now also supports language options and aliases (#427).
- * New command \setlanghyphenmins to adapt hyphenation thresholds of languages
- and varieties.
- * New command \abjadalph for Arabic with corresponding option (#431).
- * Replace consecutive glues around punctuation by the correct amount of space
- with LuaLaTeX for French, ecclesiastic Latin, and Sanskrit (#437).
-
-Bug fixes:
-
- * Remove warning about missing Brazil patterns (#404).
- * Fix incompatibility with recent babel release (#408).
- * Fixed some spellings in Marathi (#409).
- * Fix spacing of geminating dot in Catalan (#410).
- * Fix incompatibility of Marathi with Beamer.
- * Correct \partname in Hindi (#416).
- * Updates and improvements to Kurdish (#418).
- * Only activate shorthand character if babelshorthands is true (#421).
- * Fix whitespace issue in Czech and Slovak with vlna=true (#423).
- * Fix whitespace issue in Danish (#424).
- * Fix catcode conflicts that might occur in language definition files
- f. ex. when loaded from a LaTeX3 class (#67, #425).
- * Robustify font family switches (#428).
- * Fix whitespace issue in Russian indentfirst option (#433).
- * In Russian, indentfirst is now again default (#434).
- * Fix LaTeX error with arabic numbering in Ukrainian (#440).
- * Fix directionality after Hebrew decimal numbers (#441).
- * Fix babelname of Latin Serbian (#442).
- * Fix recording of secondary languages in \xpg@bloaded and \xpg@bcp@loaded
- lists (#443).
- * Simplify and robustify section heading modification in Russian
- and introduce option forceheadingpunctuation (#444).
- * Fix Cyrillic dash (via babelshorthand "---) when TeX ligatures
- are disabled (#445)
- * Fix problem with large character indices in Lua module for punctuation
- spacing
-
-Interface and defaults changes:
-
- * Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
- output. See new features section.
-
-Build fixes:
-
- * Fix a bug in the dtx build script which was the reason for an utterly
- incomplete polyglossia.dtx file (#420).
-
-Documentation improvements:
- * Document how to change \lefthyphenmin and \righthyphenmin for a language
- (#435).
-
-
-1.49 (08-04-2020)
-
-New features:
-
- * Add hook \polyglossia@language@switched to the external package interface (#398).
- * Real fix for #400, that wasn’t properly taken care of in 1.48.
-
-Bug fixes:
-
- * Fix compilation error with some swapstring options in Hungarian (#373).
- * Fix whitespace problem in Greek language.
-
-Interface and defaults changes:
-
- * Changed Finnish caption for "Table of Contents" to "Sisällys" (#403).
-
-
-1.48 (25-03-2020)
-
-No new features
-
-Bug fixes:
- * Fix use of Hebrew with LuaLaTeX (#389).
- * Do not overwrite footnote redefinitions of other packages
- with Latin and French (#391)
- * Fix Serbian cyrillic numerals code (#392).
- * Fix [no]localmarks option, whose logic was swapped (part of #395).
- * Protect localmarks function against uppercased language names (part of #395).
- * Fix buggy redefinition of \@markright with option localmarks (#396).
- * Fix incompatibility between Latin and unicode-math (#394).
- * Make (undocumented) \defineshorthand command (imported from babel) work.
- * Fix usage of localmarks option without value.
- * Emergency fixes for bugs caused by updates in Babel’s switch.def (#399 and #400).
-
-Interface and defaults changes:
- * Use private macros in keyval choice keys (#390).
-
-1.47 (29-01-2020)
-
-New features:
- * IETF BCP-47 compliant language tags can now be used for loading and switching
- languages alternatively to language names (#226).
- * New commands \languageid{<type>} and \mainlanguageid{<type>}.
- * New test \iflanguageidloaded.
- * New list \xpg@bcp@loaded.
- * New environment {lang}{<lang>} (equivalent to {<lang>}, but also available with
- \setlanguagealias* which does not define dedicated alias environments).
- * New gloss option totalhyphenmin (corresponds to LuaTeX's \hyphenationmin) (#111).
- * New test \iflanguageoption{<lang>}{<key>}{<val>} (#364).
- * Restore simple alphabetic numbering for \asbuk and \Asbuk in Belarusian, Mongolian,
- Russian, Serbian, and Ukrainian (#377).
- * New command \AsbukTrad and \asbukTrad for Belarusian, Mongolian, Russian, Serbian,
- and Ukrainian which uses traditional alphanumerical numbering.
- * New numerals option "cyrillic-trad" and "cyrillic-alph" to differentiate simple
- alphabetic and traditional alpnanumerical Cyrillic numbering.
- * \selectbackgroundlanguage and \resetdefaultlanguage now also support language
- aliases.
- * New macro \charifavailable{<char code>}{<substitution>}.
- * Add French language variant "swiss".
- * Implement babelshorthands for Croatian.
- * Implement \localnumeral for Japanese.
-
-Bug fixes:
- * Fix font family issue in headers (#355).
- * Fix whitespace issues in \text<lang> (#356).
- * Fix option-less \babelname in multi-variant languages (#357).
- * Fix some spacing inconsistencies with French, Latin, and Sanskrit (#358).
- * Fix issues with babelshorthands and graphics package (#368).
- * Fix some captions and improve numbering in Marathi (#370).
- * Fix Hungarian swapstrings feature (#373).
- * Fix lua punctuation code problem (#374).
- * Fix Bengali changecounternumbering option (#381).
- * Fix whitespace issue in Japanese (#387).
- * Fix \text<lang> command with multiple paragraphs.
- * Actually implement documented german spelling variant '1996' (= 'new').
- * Fix Slovenian localalph option.
- * Fix Czech and Slovak splithyphens with typewriter fonts.
- * farsical.sty: fix spacing issue with some month names.
- * Fix directionalty of numbers in Hebrew with XeTeX.
- * Improve interoperatability with biblatex (some language variants did not work yet).
-
-Interface and defaults changes:
- * Some boolean options had 'false' value by default, which meant if you passed
- them without value, the logic was reversed. This has been changed, leading to
- change of behavior should you have used one of these options without value (#363).
- Concerned are the following options:
- - babelshorthands in language belarusian, mongolian, ukrainian, and russian
- ('babelshorthands' now equals 'babelshorthand=true', no longer 'babelshorthands=false')
- - localalph in language slovenian ('localalph' now equals 'localalph=true')
- - latesthyphen in language german ('latesthyphen' now equals 'latesthyphen=true')
- - fullyear in package hebrewcal ('fullyear' now equals 'fullyear=true')
- * The command \setlanguagealias* (introduced in v1.46) does no longer define
- dedicated alias environments.
- * The babelnames for latin variants have been corrected to classiclatin, ecclesiasticlatin
- and medievallatin. This is how the hyphenation patterns and babel \extras are named, even
- though the variants can currently be selected in babel only via appended "dot modifier".
- * In accordance with the respective l3kernel change, \str_lower_case:n has been renamed to
- \str_lowercase:n where used in polyglossia.sty. Thus polyglossia 1.47 requires l3kernel
- 2020-01-12 at least.
-
-1.46 (15-11-2019)
-
-New features:
- * Add option "indentfirst" to Russian (#78).
- * Add options to set and customize French-style itemize item labels to French (#89).
- * Polyglossia now understands all babel language names in \setdefaultlanguage,
- \setotherlanguage and the language switching commands (#112, #132).
- * Add optional localized math operators to Spanish (#123).
- * Swap section headings in Hungarian (#344). New option "swapstrings" provides control
- over this.
- * Introduce macro \setlanguagealias and \setlanguagealias*.
- * Introduce language switching command \textlang{lang}{...} (equivalent to \text<lang>,
- but also available with \setlanguagealias* which does not define \text<alias>).
- * Add support for Afrikaans.
- * Add support for Belarusian.
- * Add support for Bosnian.
- * Add support for Georgian.
- * Add Spanish variant "mexican".
- * Add babelshorthands as well as options "splithyphens" and "vlna" to Slovak.
- * Add Latin language variant "ecclesiastic".
- * Add Latin language options "capitalizemonth", "ecclesiasticfootnotes", "hyphenation",
- "prosodicshorthands", and "usej".
- * Add Latin shorthands for "«", "»", "æ", "Æ", "œ", and "Œ".
- * Add French language option "thincolonspace".
-
-Bug fixes:
- * Fix problems with fragile font settings (#24).
- * Fix clash of French punctuation spacing with the soul package (#52).
- * Re-enable the possibility to pass a macro as main argumente to \setmainlanguage and
- \setotherlanguage (#331).
- * Fix detection of default \languagevariant (#332).
- * Fix LaTeX error with undefined hyphenation pattern (#346).
- * Fix some babel shorthand issues by updating the shorthand code from recent babel.
- * Fix some problems with French and Latin auto-spacing (#345, #352).
- * Fix an expl3 declaration (#348).
-
-Interface and defaults changes:
- * Per TeXLive request, the sub-package cyrillicnumbers.sty has been renamed to
- xpg-cyrillicnumbers.sty.
- * In Russian, all paragraphs are now indented by default, as common in Russian typography.
- The behavior can be opted out by indentfirst=false.
- * In Czech, splithyphens and lvna are enabled by default. Also, the option does now work
- as well with LuaTeX.
- * Changed option name "fraktur" to "blackletter" in German (the former is still available
- as an alias).
- * In French, high punctuation characters and guillemets are spaced by half an interword
- space now instead of a \thinspace (cf. #345).
-
-1.45 (27-10-2019)
-
-New features:
- * Introduce a framework for external packages to access language variants. This fixes,
- among other things, long-standing problems in the interaction of biblatex and polyglossia.
- * Add new macros \languagevariant, \mainlanguagevariant, \babelname and \mainbabelname
- for package authors to access language information.
- * Add new test \iflanguageloaded{<language>}{<true>}{<false>}, where <language>
- can be a \polyglossia or babel language name.
- * Add new macros \localnumeral, \localnumeral*, \Localnumeral and
- \Localnumeral* that convert Arabic digitals to the local number scheme.
- * Add new macro \pghyphenation to add language-specific hyphenation exceptions (#18).
- * Add support form (Khalkha & Cyrillic) Mongolian in line with babel-mongolian (#23).
- * Add option splithyphens and vlna to Czech (XeTeX only; for LuaTeX, use the package
- luavlna to get these features) (#32).
- * Add support for Kurdish, both Kurmanji and Sorani (#277).
- * Implement proper Cyrillic (alphanumeric) numbering (#285).
- * Add new language friulian.
- This deprecates friulan (which is still supported for backwards compatibility).
- * Add new language malay with variants indonesian and malaysian.
- This deprecates bahasai and bahasam (which are still supported for
- backwards compatibility).
- * Add new language gaelic with variants irish and scottish.
- This deprecates irish and scottish as own polyglossia languages (which
- are still supported for backwards compatibility).
- * Add new language hungarian.
- This deprecates magyar (which is still supported for backwards compatibility).
- * Add new language sorbian with variants lower and upper.
- This deprecates lsorbian and usorbian (which are still supported for
- backwards compatibility).
- * Add new language portuguese with variants portuguese and brazilian.
- This deprecates brazil and portuges (which are still supported for
- backwards compatibility).
- * Add new language norwegian with variants nynorsk and bokmal.
- This deprecates nynorsk and norsk (which are still supported for
- backwards compatibility).
- * Add new language persian.
- This deprecates farsi (which is still supported for backwards compatibility).
- * Add new language sami. Currently only Northern Sami is supported.
- This deprecates samin (which is still supported for backwards compatibility).
- * gloss-serbian: add numerals=cyrillic option. Add \asbuk and \Asbuk (#285).
- * Implement basic support for (French) canadien and (English) canadian (#22)
- * Improve support for Armenian (#79): Add captions, Eastern month names
- (accessible via variant=eastern) and Armenian alphabetic numbering
- (via numerals=armenian and \armenicnumeral).
- * Add french option autospacing and commands \AutoSpacing, \NoAutoSpacing
- This allows to switch off autospacing globally or locally (#113)
- * Fixup \normalfont (#203)
- * Fix directionality issues in mixed RTL/LTR paragraphs (#204)
- * Implement babelshorthands for Finnish (#212) and Czech.
- * Implement access to current language via Lua (#243).
- * Introduce french option option autospacetypewriter
- alias OriginalTypewriter
- * Support \aemph with lualatex
- * Rename automaticspacesaroundguillemets to autospaceguillemets
- The old option is kept for backwards compatibility.
-
-Bug fixes:
- * Fix equation number in arabic and farsi (#7).
- * Simplify and document Hebrew marcheshvan option (#16).
- * Fix hyphenation of Greek with LuaTeX (#55).
- * Fix N'ko date format (#63).
- * Disable the extras of a language when a nested language starts (#66, #169).
- * Properly implement bengali numbers (#69, #184).
- * Fix conflicts with other packages caused by premature shorthand activation
- in preamble (#81, #200).
- * Fix kerning in math with French (#92).
- * Fix expansion issue in Hebrew (#93).
- * Fix numbering expansion issue in Greek (#110).
- * Postpone \disablehyphenation in preamble until after setting of
- document language (#125).
- * Postpone the assignment of defaultfamily to BeginDocument,
- thus do not overwrite \familydefault redefinitions in the preamble (#127).
- * Reset number settings when switching language (#133).
- * hebrew: Properly store \MakeUppercase for later restoration (#152).
- * Fix whitespace issue in \datewelsh (#158).
- * When switching language, set the language/script specific font families (#164).
- * Correct some Bengali captions (#165).
- * Fix documentation of Serbian (#168).
- * Reset ucl codes in latin only if the respective variant is used (#172).
- * Fix \disablehyphenation with LuaTeX (#187).
- * Fix typos in Hindi captions (#202).
- * Pass language options to the aux files (#205).
- * Rewrite and fix English variant handling (#208).
- * Define magyar caption formats in \blockextras and undef them in \noextras (#209).
- * Ensure proper direction with arabic digits in Arabic and Farsi (#213).
- * Fix \linespread with Korean (#218).
- * Define russian caption before key allocation (#219).
- * Register current language in polyglossia lua module after selection (#234).
- * Fix babel language switching commands (#239).
- \foreignlanguage and the starred otherlanguage* environment are not
- supposed to change dates.
- * Fix French spacing leaking beyond French (#270).
- * Redefine fontfamilies for French only if language is loaded (#270).
- * gloss-russian:
- - check whether command exist before redefining (#280).
- - Fix some whitespace issues.
- * Fix and simplify frenchfootnote definition (#294).
- * Fix footnote numbering in Farsi.
- * Fix latin footnotes in Arabic documents.
- * Set the correct main direction with luabidi.
- * Fix autospaceguillemets option in French.
- * Fix grouping in gloss-danish.ldf.
- * Properly store \MakeUppercase and \@arabic for later restoration.
-
-Documentation:
- * Add documentation about footnotes in RTL context
- * Document tibetan numerals option (#109)
- * Improve frenchfootnote documentation.
- * Mention Japanese support in the docs.
-
-1.44 (04-04-2019)
- * Correction to Russian language file, by Maksim Zholudev (commit d2f383e)
- * Added Macedonian language file, by Stefan Zlatinov (commit cd379e1)
-
-05-03-2019
- * Correction to Hindi language file, by Zdenĕk Wagner
-
-1.42.5 (13-04-2017)
- * Many changes to the French language file, by Maïeul Rouquette
-
-1.42.4 (February, March 2016)
- * Remedial actions for the Babel changes
-
-09-02-2016
- * Fixed side effect of pull request #122 (see commit d2a34ff)
- * Added automatic Josa selection, variant, and captions options to Korean, by Dohyun Kim (pull request #128)
-
-08-02-2016
- * Updated gloss-occitan from CTAN
-
-18-01-2016
- * Fixed issue #124 (minor typo in polyglossia-frpt.lua)
-
-03-12-2015
- * Merged pull request #117 for more French guillemet spacing
- * Merged pull request #121 to add \bbl@loaded; fixes issue #120
- * Merged pull request #122 that build on #121
-
-08-11-2015
- * Merged pull request #116 for French (spacing around guillemets)
-
-22-10-2015
- * Fixed issue #115 (spurious spaces in Arabic)
-
-19-08-2015
- * Fixed issue #107 for Marathi (labels and month names)
-
-1.42.0 (06-08-2015)
- * Add Bengali digits package, and option to reset all numbering functions
-
-05-08-2015
- * Add “long” option for Welsh date
- * Add local alphabet in Slovenian, for enumerations and such
-
-04-08-2015
- * Fix long-standing bug with Welsh: date should use ordinals
-
-03-08-2015
- * Fix for Latin with LuaTeX: all variants had same problems as Classic
-
-02-08-2015
- * Fixed error with British variant of English and LuaTeX (issue #86)
-
-1.41.0 (16-07-2015)
- * Added support for Khmer, by Say Ol (private email)
-
-1.40.1 (14-07-2015)
- * Bugfix for Korean, by Kim Dohyun (pull request #103)
-
-1.40.0 (07-07-2015)
- * gloss-korean.ldf contributed by Kim Dohyun (pull request #102)
-
-1.33.7 (04-07-2015)
- * Release to CTAN, no code change
-
-03-07-2015
- * Fixed extraneous space in code for Swiss German (pull request #101)
- * Fixed a typo in Ukrainian alphabet, for \Asbuk (pull request #99)
-
-24-06-2015
- * Fix for Classic Latin: load patterns for LuaTeX
-
-23-05-2015
- * Made \rmfamily, \sffamily and \ttfamily robust again
-
-11-05-2015
- * Merged fix for Hebrew date format, by Guy Rutenberg (pull request #94)
- * Merged fix for spurious space, by Caleb McKennan (pull request #91)
- * Merged pull request #84 by Élie Roux for Tibetan
-
-10-05-2015
- * Added support for Swiss German (pull request #75)
- * Added commands \Asbuk and \asbuk for Ukrainian (pull request #76), similar to Russian
- * Documented changes to Latin from last year.
-
-09-05-2015
- * Be friendlier to right-to-left languages with LuaTeX
-
-04-06-2014
- * Enhanced Latin support by Claudio Beccari
-
-1.33.5 (21-05-2014)
- * Option to disable hyphenation entirely, by Élie Roux
- * Fix spurious spaces in gloss-russian.ldf, by Oleg Domanov
- * Support for the Austrian variant of German, by Jürgen Spitzmüller
- * Changes to the Croatian translations, by Ivan Kokan
- * Correction to the Lithuanian translations, by Ignas Anikevičius
-
-1.33.4 (27-06-2013)
- * Emergency release for a bug introduced in babelsh.def
-
-1.33.3 (28-05-2013)
- * Changed formatting of some error messages (emergency fixes for TeX Live 2013)
-
-1.33.2 (26-05-2013)
- * Added \disablehyphenation and \enablehyphenation, contributed by
- Élie Roux.
- * Fixed bug related to package inclusion. Polyglossia would break if
- we loaded breqn.sty, and then called \setmainlanguage{english}, this
- is no longer the case.
- * Removed spurious space introduced by \captionswedish.
-
-1.33.1 (23-05-2013)
- * Editorial changes to the documentation
- * Hunted and documented bugs
-
-1.33.0 (20-05-2013)
- * Added support for N’Ko.
- * Bugfixes for LuaTeX
- * More work in progress on Bidi in LuaTeX.
-
-1.32.0 (15-05-2013)
- Transitional version to support right-to-left languages with LuaTeX.
-
-1.31 (10-05-2013) / 1.3 (11-05-2013)
- * Several bugfixes.
- * Sync with Babel 3.9.
- * Consolidated support for LuaTeX for all languages but the ones using
- South and South-East Asian scripts, and languages written from right
- to left. Many thanks to Élie Roux for his help.
- * Added support for Tibetan, contributed by Élie Roux (end of lines are experimental).
-
-1.30MM (06-08-2012)
- * Added support for LuaTeX. Many languages don’t work yet. Please be
- patient.
-
-1.2.0e (28-04-2012)
- * Fixed a number of outstanding and not very interesting bugs.
- * Added gloss files for Romansh and Friulan, contributed by Claudio
- Beccari.
-
-1.2.0d (12-01-2012)
- * Removed \makeatletter and \makeother from gloss files entirely.
-
-1.2.0cc (12-10-2011) [First update by Arthur Reutenauer]
- * Update to gloss-italian.ldf by Claudio Beccari, incorporating changes
- by Enrico Gregorio.
- * Conclude every gloss file with \makeatother to match the initial
- \makeatletter. (Not necessary from a technical point of vue, because of one of the changes by Enrico reported below, but I like it better that way :-)
- * Conclude polyglossia.sty with \ExplSyntaxOff to match the initial
- \ExplSyntaxOn.
- * Added gloss file for Kannada, contributed by Aravinda VK and others.
- * Corrections to the gloss-dutch.ldf thanks to Wouter Bolsterlee.
- * Several patches by Enrico Gregorio, fixing long-standing bugs.
- From the git log:
- - Deleted setup for right-to-left writing direction, see http://tug.org/pipermail/xetex/2011-April/020319.html
- - Changed three appearances of \newcommand to \newrobustcmd, as the commands needs to be protected. Bug reported by "kamensky".
- - Corrected \datepolish as suggested by Piotr Kempa
- - Changed \lccode" into \lccode\string", because it might come into action at wrong times when " is active
- - Changed definition of key xpg@setup, as \@tmpfirst and \@tmpsecond were not expanded, causing dependence of \lefthyphenmin and \righthyphenmin to the last loaded language. Raised by Vadim Rodionov on the XeTeX mailing list.
- - Deleted \bgroup and \egroup tokens from the definition of otherlanguage*; they serve no purpose (we are already inside an environment) and conflict with csquotes. Noticed by P. Lehman.
- - Changed the calls of \input to \xpg@input, which inputs the required file and resets the catcode of @ to the same value as it had before the input. Since each .ldf file starts with \makeatletter, the old behaviour would leave a category 11 @, which is wrong.
- - Added "\csuse{date#2}" to the definition of "otherlanguage*"
-
-
-1.2.0b (03-10-2011) [Update by Philipp Stephani]
- * Load xkeyval package explicitly since newer versions
- of fontspec don't load it any more
-
-1.2.0a (27-07-2010) [Last update by François Charette]
- * Initialize \fontfamily acc to value of \familydefault
- (Fixes a bug when using polyglossia with beamer)
- * Remove spurious space in def of \dateenglish
- * Add missing English variant "american"
- * Serbian: fix date format and captions (Latin+Cyrillic)
- * Fix \atticnumeral in gloss-greek
- * Small improvements and fixes in documentation
-
-
-1.2.0 (15-07-2010)
- * Adapted for fontspec 2.0 (will not work with earlier versions!)
- * New implementation of a \PolyglossiaSetup interface
- that simplifies writing gloss-*.ldf files
- * Many internal enhancements and refactoring
- (including a patch by Dirk Ulrich)
- * Improved automatic font setup when \<lang>font is not defined
- * New environment otherlanguage* (env. equivalent of \foreignlanguage
- (Enrico Gregorio)
- * Bugfix to prevent bogus expansion of \{rm,sf,tt}family even in aux files
- (Enrico Gregorio)
- * New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
- Malayalam, Marathi, Tamil, Telugu, and Turkmen.
- * New auxiliary packages 'devanagaridigits' and 'bengalidigits'
- * hijrical no longer loads bidi and checks for incompatible l3calc
- * Add Babel shorthands for Russian (based on a patch by Vladimir Lomov)
- * Fix \fnum@{table,figure} for Lithuanian
- * Various improvements in gloss-russian (provided by Vladimir Lomov and
- others)
- * Corrected captions for Bahasai, Lithuanian, Russian, Croatian
- * Add option indentfirst=true for Spanish, Croation and other languages
- (NB: indentfirst was previously named frenchindent)
- * New option 'script' for German: Setting script=fraktur modifies the
- captions for typesetting in Fraktur.
- * New command \aemph for Arabic, Farsi, Urdu, etc. to mark emphasis through
- overlining.
- * Package option 'nolocalmarks' is now true by default: to activate it the
- option 'localmarks' must be passed instead.
- * Loading languages à la Babel as package options is no longer possible (this
- feature was deprecated since v1.1.0).
-
-1.1.1 (23-03-2010)
- * Bugfix for French: explicit spaces before/after double punctuation
- signs ("Par exemple : les grands « espaces » du Canada ! ") are
- now replaced by the appropriate non-breaking spaces, as in Babel.
- * Bugfix for font switching mechanism within Latin script
- (pending a complete re-implementation in v1.2):
- the font shape and series are no longer reset when switching language.
- * New macros for non-Western decimal digits
- (instead of fontmappings)
- * New gloss files for Asturian, Lithuanian and Urdu
- * hijrical.sty is now locale-aware: \hijritoday is
- formatted differently in Arabic, Farsi, Urdu, Turkish
- and Bahasa Indonesia.
----NB: the above five items were not part of v1.1.1-rc1 which was made available on github---
- * Enable babelshorthands for Dutch
- * Add missing macro \allowhyphens
- * Add global option babelshorthands
- * Support Catalan geminated l
- * Bugfix when declaring more than one pkg option
- * Protect \reset@font
- * Add missing requirement makecmds
- * Bugfix for smallcaps in captions
- * Typo for ccname in Hebrew
- * Add option numerals to gloss-russian
- * Provide newXeTeXintercharclass when undefined
- * Bugfix for Russian alph
- * Remove superfluous level of {} in def of markright
- * Bugfix for \datecatalan
- * Change hyphenmins for Sanskrit
-
-1.1.0b
- * Modify hyphenmins for Sanskrit (Yves Codet)
- * Bugfixes for Serbian and Bulgarian (Enrico Gregorio)
-1.1.0a
- * Bugfix for interchar tokens
-1.1.0
- * Use \newXeTeXintercharclass (thanks to Enrico Gregorio)
- * Fixed implementation of shorthands for German (Babel code in file babelsh.def)
- * Arabic (Khaled Hosny):
- - Fix abjad form for 3 and 5 and add option abjadjimnotail
- - bugfix for \arabicnumber
- - make Gregorian calender the default
- - fixed typos in the sample text
- * Turkish (S. Ö. Yıldız):
- - fix white-space before : and !
- - also check if the font specified TRK for language
- - added missing Turkish translation of "Glossary"
- * Suppress nopattern warning for non-hyphenated scripts
- * Changed U+0163 to U+021B for Romanian (Elie Roux)
- * Stylistic fixes and use macro \xpg@option for package options (E. Gregorio)
- * Fix monthnames in Dutch (A. Ledda)
- * Add Brazilian translation for "glossary"
- * Remove spurious space generated by gloss-spanish
- * Fix ldf file for brazilian
- * Various improvements in the code communicated by E. Gregorio:
- - remove superfluous \protect\language
- - change default language from 0 to \l@nohyphenation=255
- - localize lccode handling of apostrophe in French; add it to Italian
- * Fix frenchspacing for vietnamese
- * Other minor bugfixes
-
-1.0.2
- This is mostly a bug fixes release.
- * Captions corrected in Hebrew, Russian and Spanish
- * Removed all \text<lang> wrappers within caption definitions
- * Improved compatibility with Babel
- * New option "babelshorthands" for German
- * New option "Script" for Sanskrit
-
-1.0.1
- * Improved documentation (added sections on font setup and numeration mappings)
- * Improvements and bugfixes for English and German
- * Bugfix in gloss-syriac.ldf (spurious space after \textsyriac{...})
- * Extended the scope of \syriacabjad
- * Added gloss-amharic.ldf (ported from ethiop.ldf in the package ethiop)
-
-1.0
- * Initial release on CTAN
-%</Changelog>
%<*examples.tex>
\documentclass[a4paper]{article}
\usepackage[no-math]{fontspec}
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
index c7ef99de2e..d4ba5e6939 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
Binary files differ