summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-08-09 03:00:45 +0000
committerNorbert Preining <norbert@preining.info>2021-08-09 03:00:45 +0000
commit36320cbe81185b9897691aaae9caae090e675fd0 (patch)
tree1115dfe769a208115a326db29c6d07e33e2a1774 /macros/unicodetex/latex
parented204b296810be74994f70f76b7f5b849f6e9ecb (diff)
CTAN sync 202108090300
Diffstat (limited to 'macros/unicodetex/latex')
-rw-r--r--macros/unicodetex/latex/beaulivre/README.md12
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin327163 -> 334908 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex31
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin199632 -> 222553 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex27
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdfbin203479 -> 225788 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex28
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls210
-rw-r--r--macros/unicodetex/latex/einfart/README.md12
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin259625 -> 248817 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex36
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin160194 -> 155992 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex27
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.pdfbin166029 -> 162632 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.tex28
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls219
-rw-r--r--macros/unicodetex/latex/lebhart/README.md12
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin297299 -> 278473 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex22
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin163033 -> 157575 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex19
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdfbin169642 -> 164531 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex19
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls210
-rw-r--r--macros/unicodetex/latex/simplivre/README.md12
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin291386 -> 307341 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex33
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin189372 -> 210124 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex27
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdfbin192390 -> 212535 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex29
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls219
32 files changed, 913 insertions, 319 deletions
diff --git a/macros/unicodetex/latex/beaulivre/README.md b/macros/unicodetex/latex/beaulivre/README.md
index 6ce33dbfcd..ef4890f201 100644
--- a/macros/unicodetex/latex/beaulivre/README.md
+++ b/macros/unicodetex/latex/beaulivre/README.md
@@ -12,6 +12,18 @@ LuaLaTeX.
This is part of the `colorist` class series.
+## Features
+
+Compared with usual document classes, it has the following features:
+
+- Native multi-language support: Chinese (simplified and traditional), English,
+ French, German, Italian, Japanese, Portuguese (European and Brazilian),
+ Russian and Spanish
+ > In particular, for simplified Chinese, traditional Chinese and Japanese,
+ > the fonts of the corresponding glyphs can be automatically switched
+- Ready-to-use theorem-like environments, also with multi-language support
+- Support both the standard and the AMS writing fashion
+
# 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
index 8c426be01c..9a424fac03 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
index c35b32fa52..e88c128659 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,allowbf]{beaulivre}
+\documentclass[English,Chinese,French,JP,TC,allowbf]{beaulivre}
%%================================
%% Import toolkit
@@ -98,9 +98,9 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/07/30}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/08/08}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{许锦文}};
- \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年7月,北京}};
+ \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年8月,北京}};
\end{tikzpicture}%
\end{titlepage}%
\cleardoublepage%
@@ -131,6 +131,7 @@
为了使用这篇文档中提到的文档类,你需要:
\begin{itemize}
\item 安装一个尽可能新版本的 TeX Live 或 MikTeX 套装,并确保 \texttt{colorist} 和 \texttt{projlib} 被正确安装在你的 \TeX 封装中。
+ \item 下载并安装所需的字体,参考“关于默认字体”这一节。
\item 熟悉 \LaTeX{} 的基本使用方式,并且知道如何用 \hologo{pdfLaTeX}、\hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 编译你的文档。
\end{itemize}
@@ -199,7 +200,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{初始化部分}
-\medskip
\begin{code}
\documentclass{beaulivre}
\usepackage{ProjLib}
@@ -209,7 +209,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{设定语言}
-\medskip
\begin{code}
\UseLanguage{French}
\end{code}
@@ -221,7 +220,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{未完成标记}
-\medskip
\begin{code}
\dnf<(*\meta{some hint}*)>
\end{code}
@@ -229,7 +227,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{定理类环境}
-\medskip
\begin{code}
\begin{theorem}\label{thm:abc}
Ceci est un théorème.
@@ -243,16 +240,18 @@ Référence du théorème: \cref{thm:abc}
\LevelOneTitle{关于默认字体}
-\lebhart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
+本文档类中默认使用 Palatino Linotype 作为英文主字体,思源宋体、思源黑体、思源等宽作为中文主字体、无衬线字体以及等宽字体,并部分使用了 Neo Euler 作为数学字体。这些字体需要用户自行下载安装。其中,思源字体系列可在 \url{https://github.com/adobe-fonts} 下载 (推荐下载 Super-OTC 版本,这样下载的体积较小)。Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
+
+另外,还使用了 Source Code Pro 作为英文无衬线字体、New Computer Modern Mono 作为英文等宽字体,以及 Asana Math、Tex Gyre Pagella Math、Latin Modern Math 数学字体中的部分符号。这些字体在 TeX Live 或 MikTeX 中已经提供,无需自行下载安装。
\begin{itemize}
- \item English main font. \textsf{English sans serif font}.
- \item 中文主要字体,\textsf{中文无衬线字体}
+ \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
+ \item 简体中文主要字体,\textsf{简体中文无衬线字体},\texttt{简体中文等宽字体}
+ \item \UseOtherLanguage{TC}{繁體中文主要字體,\textsf{繁體中文無襯線字體},\texttt{繁體中文等寬字體}}
+ \item \UseOtherLanguage{JP}{日本語のメインフォント、\textsf{日本語のサンセリフフォント}、\texttt{日本語の等幅フォント}}
\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}
-在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
-
\LevelOneTitle{选项}
@@ -297,6 +296,7 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 纯文本模式,不加载定理类环境。
\end{itemize}
+\clearpage
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
\item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
@@ -322,7 +322,7 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|,用指定的语言的设定排版 \meta{content}。
\begin{itemize}
- \item 相比较 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能够保持行距稳定。
+ \item 相比 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能保持行距稳定。
\end{itemize}
\end{itemize}
@@ -503,11 +503,12 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
+\clearpage
\LevelOneTitle{目前存在的问题}
-
\begin{itemize}[itemsep=.6em]
\item 对于字体的设置仍然不够完善。
- \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \lebhart{} 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
+ \item 目录的设计还不够美观。
+ \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \colorist{} (进而 \colorart{}、\lebhart{} 与 \colorbook{}、\beaulivre{}) 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
\item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
\item 代码中仍有许多可优化之处。
\end{itemize}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index e4fdbcee1e..cd375b2d73 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
index ad2b800694..0a3216291c 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,allowbf]{beaulivre}
+\documentclass[English,Chinese,French,JP,TC,allowbf]{beaulivre}
%%================================
%% Import toolkit
@@ -99,9 +99,9 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/07/30}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/08/08}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
- \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{July 2021, Beijing}};
+ \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{August 2021, Beijing}};
\end{tikzpicture}%
\end{titlepage}%
\cleardoublepage%
@@ -133,6 +133,7 @@ This documentation is typeset using \beaulivre{} (with the option \texttt{allowb
In order to use the package or classes described here, you need to:
\begin{itemize}
\item install TeX Live or MikTeX of the latest possible version, and make sure that \texttt{colorist} and \texttt{projlib} are correctly installed in your \TeX{} system.
+ \item download and install the required fonts, see the section "On the default fonts".
\item be familiar with the basic usage of \LaTeX{}, and knows how to compile your document with \hologo{pdfLaTeX}, \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
\end{itemize}
@@ -200,7 +201,6 @@ If you find this example a little complicated, don't worry. Let's now look at th
\LevelThreeTitle{Initialization}
-\medskip
\begin{code}
\documentclass{beaulivre}
\usepackage{ProjLib}
@@ -210,7 +210,6 @@ Initialization is straightforward. The first line loads the document class \beau
\LevelThreeTitle{Set the language}
-\medskip
\begin{code}
\UseLanguage{French}
\end{code}
@@ -223,7 +222,6 @@ For detailed description of this command and more related commands, please refer
\LevelThreeTitle{Draft marks}
-\medskip
\begin{code}
\dnf<(*\meta{some hint}*)>
\end{code}
@@ -232,7 +230,6 @@ When you have some places that have not yet been finished yet, you can mark them
\LevelThreeTitle{Theorem-like environments}
-\medskip
\begin{code}
\begin{theorem}\label{thm:abc}
Ceci est un théorème.
@@ -246,16 +243,18 @@ Commonly used theorem-like environments have been pre-defined. Also, when refere
\LevelOneTitle{On the default fonts}
-By default, \lebhart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts\footnote{For detail, pleaser visit FounderType's website: \url{https://www.foundertype.com}.}, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own.
+By default, this document class uses Palatino Linotype as the English main font; Source Han Serif, Source Han Sans and Source Han Mono as the Chinese main font, sans serif font and typewriter font; and partially uses Neo Euler as the math font. You need to download and install these fonts by yourself. The Source Han font series can be downloaded at \url{https://github.com/adobe-fonts} (It is recommended to download the Super-OTC version, so that the download size is smaller). Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the effect may be discounted.
+
+In addition, Source Code Pro is used as the English sans serif font, New Computer Modern Mono as the English monospace font, as well as some symbols in the mathematical fonts of Asana Math, Tex Gyre Pagella Math, and Latin Modern Math. These fonts are already available in TeX Live or MikTeX, which means you don't need to install them yourself.
\begin{itemize}
- \item English main font. \textsf{English sans serif font}.
- \item 中文主要字体, \textsf{中文无衬线字体}
+ \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
+ \item 简体中文主要字体,\textsf{简体中文无衬线字体},\texttt{简体中文等宽字体}
+ \item \UseOtherLanguage{TC}{繁體中文主要字體,\textsf{繁體中文無襯線字體},\texttt{繁體中文等寬字體}}
+ \item \UseOtherLanguage{JP}{日本語のメインフォント、\textsf{日本語のサンセリフフォント}、\texttt{日本語の等幅フォント}}
\item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
\end{itemize}
-When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
-
\LevelOneTitle{The options}
\beaulivre{} offers the following options:
@@ -387,7 +386,6 @@ By default, when referenced, the name of the theorem matches the current context
\UseLanguage{English}
-\bigskip
The following are the main styles of theorem-like environments:
\begin{theorem}
Theorem style: theorem, proposition, lemma, corollary, ...
@@ -414,6 +412,7 @@ The following are the main styles of theorem-like environments:
\end{problem}
\medskip
+\clearpage
For aesthetics, adjacent definitions will be connected together automatically:
\begin{definition}
First definition.
@@ -506,10 +505,12 @@ Similarly, there is \lstinline|\needgraph| :
\end{itemize}
+\clearpage
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
\item The font settings are still not perfect.
+ \item The TOC design does not look very nice.
\item Since many features are based on the \ProjLib{} toolkit, \colorist{} (and hence \colorart{}, \lebhart{} and \colorbook{}, \beaulivre{}) inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
\item There are still many things that can be optimized in the code.
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
index f439a8670f..4f3c8cfae7 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
index f03ceceb19..9b0ad02fc8 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,allowbf]{beaulivre}
+\documentclass[English,Chinese,French,JP,TC,allowbf]{beaulivre}
%%================================
%% Import toolkit
@@ -98,9 +98,9 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière colorée}\\[10pt]\tiny Correspondant à : \texttt{\beaulivre{} 2021/07/30}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière colorée}\\[10pt]\tiny Correspondant à : \texttt{\beaulivre{} 2021/08/08}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
- \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{Juillet 2021, à Pékin}};
+ \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{Août 2021, à Pékin}};
\end{tikzpicture}%
\end{titlepage}%
\cleardoublepage%
@@ -132,6 +132,7 @@ Cette documentation est composée à l'aide de \beaulivre{} (avec l'option \text
Pour utiliser les classes de documents décrites ici, vous devez :
\begin{itemize}
\item installer TeX Live ou MikTeX de la dernière version possible, et vous assurer que \texttt{colorist} et \texttt{projlib} sont correctement installés dans votre système \TeX{}.
+ \item télécharger et installer les polices requises, voir «~À propos des polices par défaut~».
\item être familiarisé avec l'utilisation de base de \LaTeX{}, et savoir comment compiler vos documents avec \hologo{pdfLaTeX}, \hologo{XeLaTeX} ou \hologo{LuaLaTeX}.
\end{itemize}
@@ -200,7 +201,6 @@ Si vous trouvez cela un peu compliqué, ne vous inquiétez pas. Examinons mainte
\LevelThreeTitle{Initialisation}
-\medskip
\begin{code}
\documentclass{beaulivre}
\usepackage{ProjLib}
@@ -210,7 +210,6 @@ L'initialisation est simple. La première ligne ajoute la classe de document \be
\LevelThreeTitle{Choisir la langue}
-\medskip
\begin{code}
\UseLanguage{French}
\end{code}
@@ -222,7 +221,6 @@ Pour une description détaillée de cette commande et d'autres commandes associ
\LevelThreeTitle{Marques de brouillon}
-\medskip
\begin{code}
\dnf<(*\meta{some hint}*)>
\end{code}
@@ -230,7 +228,6 @@ Lorsque vous avez des endroits qui ne sont pas encore finis, vous pouvez les mar
\LevelThreeTitle{Environnements de type théorème}
-\medskip
\begin{code}
\begin{theorem}\label{thm:abc}
Ceci est un théorème.
@@ -244,16 +241,18 @@ Les environnements de type théorème couramment utilisés ont été prédéfini
\LevelOneTitle{À propos des polices par défaut}
-Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise, YouSong et YouHei GBK de FounderType comme polices chinoises\footnote{Pour plus de détails, veuillez visiter le site web de FounderType : \url{https://www.foundertype.com}.}, et utilise partiellement Neo Euler comme police mathématique. Parmi eux, Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Les autres polices ne sont pas gratuites, vous devez les acheter et les installer vous-même.
+Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise principale; Source Han Serif, Source Han Sans et Source Han Mono comme police chinoise principale, sans empattement et monospace; et utilise partiellement Neo Euler comme police mathématique. Vous devez télécharger et installer ces polices vous-même. La série de polices Source Han peut être téléchargée sur \url{https://github.com/adobe-fonts} (il est recommandé de télécharger la version Super-OTC, afin que la taille de téléchargement soit plus petite). Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Lorsque la police correspondante n'est pas installée, la police fournie avec TeX Live sera utilisée à la place et l'effet peut être réduit.
+
+De plus, Source Code Pro est utilisé comme police anglaise sans empattement, New Computer Modern Mono comme police anglaise monospace, ainsi que certains symboles dans les polices mathématiques Asana Math, Tex Gyre Pagella Math et Latin Modern Math. Ces polices sont déjà disponibles dans TeX Live ou MikTeX, ce qui signifie que vous n'avez pas besoin de les installer vous-même.
\begin{itemize}
- \item English main font. \textsf{English sans serif font}.
- \item 中文主要字体, \textsf{中文无衬线字体}
+ \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
+ \item 简体中文主要字体,\textsf{简体中文无衬线字体},\texttt{简体中文等宽字体}
+ \item \UseOtherLanguage{TC}{繁體中文主要字體,\textsf{繁體中文無襯線字體},\texttt{繁體中文等寬字體}}
+ \item \UseOtherLanguage{JP}{日本語のメインフォント、\textsf{日本語のサンセリフフォント}、\texttt{日本語の等幅フォント}}
\item Démonstration de maths : \( \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}
-Lorsque la police correspondante n'est pas installée, les polices fournies avec TeX Live seront utilisées à la place. Dans ce cas, l'expérience peut être réduite.
-
\LevelOneTitle{Les options}
@@ -287,7 +286,7 @@ Lorsque la police correspondante n'est pas installée, les polices fournies avec
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
- \item Pour activer les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
+ \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
\end{itemize}
\item \texttt{runin}
\begin{itemize}
@@ -382,7 +381,6 @@ Par défaut, lors du référencement, le nom du théorème correspond au context
\UseLanguage{French}
-\bigskip
Voici les principaux styles d'environnements de type théorème :
\begin{theorem}
Style de théorème : theorem, proposition, lemma, corollary, ...
@@ -498,10 +496,12 @@ De même, il y a aussi \lstinline|\needgraph| :
\end{itemize}
+\clearpage
\LevelOneTitle{Problèmes connus}
\begin{itemize}[itemsep=.6em]
\item Les paramètres de police ne sont pas encore parfaits.
+ \item La conception de la table des matières est pas si belle.
\item Comme de nombreuses fonctionnalités sont basées sur la boîte à outils \ProjLib{}, \colorist{} (et donc \colorart{}, \lebhart{} et \colorbook{}, \beaulivre{}) hérite de tous ses problèmes. Pour plus de détails, veuillez vous référer à la section «~Problèmes connus~» de la documentation de \ProjLib{}.
\item Le mécanisme de gestion des erreurs est incomplet : pas de messages correspondants lorsque certains problèmes surviennent.
\item Il y a encore beaucoup de choses qui peuvent être optimisées dans le code.
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index d6f3ef19c4..52192ad71a 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre.cls
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{beaulivre}
- [2021/07/30 A colorful book style]
+ [2021/08/08 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -116,6 +116,10 @@
\PassOptionsToPackage{no-math}{fontspec}
\RequirePackage{fontspec}
+
+\IfFileExists{colorist-font.tex}{
+ \input{colorist-font.tex}
+}{
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
[\if@colorclass@useosf Numbers = OldStyle\fi]
@@ -133,59 +137,205 @@
BoldItalicFont = SourceSansPro-BoldIt.otf ]
\setmonofont{NewCMMono10-Regular.otf}[
Scale = 1.05 ,
- BoldFont = NewCMMono10-Book.otf ,
+ BoldFont = NewCMMono10-Bold.otf ,
ItalicFont = NewCMMono10-Italic.otf ,
- BoldItalicFont = NewCMMono10-BookItalic.otf ]
+ BoldItalicFont = NewCMMono10-BoldOblique.otf ]
+}
\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
\RequirePackage{ctex}
-\WarningFilter{everysel}{Everysel is no longer required}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmainfont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFileExists{colorist-font.cjk.tex}{
+ \input{colorist-font.cjk.tex}
+}{
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKmainfont{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSerifSC-Bold ]
}{
\setCJKmainfont{FandolSong-Regular.otf}[
BoldFont = FandolSong-Bold.otf ,
ItalicFont = FandolKai-Regular.otf ,
BoldItalicFont = FandolKai-Regular.otf ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmonofont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKsansfont{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKsansfont{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKmonofont{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
}{
\setCJKmonofont{FandolFang-Regular.otf}[
BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
BoldItalicFont = * ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+
+\if@PJLlang@enable@CN
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKfamilyfont{SCmain}{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerifSC-Bold ]
+}{
+ \setCJKfamilyfont{SCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKfamilyfont{SCsans}{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKfamilyfont{SCsans}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
}
-\IfFontExistsTF{FZYOUHK_506L--GBK1-0}{%
- \setCJKsansfont{FZYOUHK_506L--GBK1-0}[
- BoldFont = FZYOUHK_509R--GBK1-0 ,
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKfamilyfont{SCmono}{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
+}{
+ \setCJKfamilyfont{SCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
- BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
- SmallCapsFont = * ]
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@TC
+\IfFontExistsTF{SourceHanSerifTC-Regular}{%
+ \setCJKfamilyfont{TCmain}{SourceHanSerifTC-Regular}[
+ BoldFont = SourceHanSerifTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerifTC-Bold ]
}{
- \setCJKsansfont{FandolHei-Regular.otf}[
+ \setCJKfamilyfont{TCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansTC-Regular}{%
+ \setCJKfamilyfont{TCsans}{SourceHanSansTC-Regular}[
+ BoldFont = SourceHanSansTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansTC-Bold ]
+}{
+ \setCJKfamilyfont{TCsans}{FandolHei-Regular.otf}[
BoldFont = FandolHei-Bold.otf ,
ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMonoTC-Regular}{%
+ \setCJKfamilyfont{TCmono}{SourceHanMonoTC-Regular}[
+ BoldFont = SourceHanMonoTC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoTC-Medium ]
+}{
+ \setCJKfamilyfont{TCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@JP
+\IfFontExistsTF{SourceHanSerif-Regular}{%
+ \setCJKfamilyfont{JPmain}{SourceHanSerif-Regular}[
+ BoldFont = SourceHanSerif-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerif-Bold ]
+}{
+ \setCJKfamilyfont{JPmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSans-Regular}{%
+ \setCJKfamilyfont{JPsans}{SourceHanSans-Regular}[
+ BoldFont = SourceHanSans-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSans-Bold ]
+}{
+ \setCJKfamilyfont{JPsans}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMono-Regular}{%
+ \setCJKfamilyfont{JPmono}{SourceHanMono-Regular}[
+ BoldFont = SourceHanMono-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMono-Medium ]
+}{
+ \setCJKfamilyfont{JPmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\WarningFilter{latexfont}{Font shape}
+\WarningFilter{latexfont}{Some font}
+
+\def\CJKsffamily{}
+\def\CJKttfamily{}
+
+\apptocmd{\sffamily}{\CJKsffamily}{}{\FAIL}
+\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
+
+\if@PJLlang@enable@CN
+\gappto{\PJLlang@langconfig@schinese}{%
+ \def\CJKsffamily{\CJKfamily{SCsans}}%
+ \def\CJKttfamily{\CJKfamily{SCmono}}%
+ \CJKfamily{SCmain}%
+}
+\fi
+
+\if@PJLlang@enable@TC
+\gappto{\PJLlang@langconfig@tchinese}{%
+ \def\CJKsffamily{\CJKfamily{TCsans}}%
+ \def\CJKttfamily{\CJKfamily{TCmono}}%
+ \CJKfamily{TCmain}%
+}
+\fi
+
+\if@PJLlang@enable@JP
+\gappto{\PJLlang@langconfig@japanese}{%
+ \def\CJKsffamily{\CJKfamily{JPsans}}%
+ \def\CJKttfamily{\CJKfamily{JPmono}}%
+ \CJKfamily{JPmain}%
+}
+\fi
}
\if@colorclass@customfont\else
diff --git a/macros/unicodetex/latex/einfart/README.md b/macros/unicodetex/latex/einfart/README.md
index fcbc608e99..18ef21279f 100644
--- a/macros/unicodetex/latex/einfart/README.md
+++ b/macros/unicodetex/latex/einfart/README.md
@@ -12,6 +12,18 @@ LuaLaTeX.
This is part of the `minimalist` class series.
+## Features
+
+Compared with usual document classes, it has the following features:
+
+- Native multi-language support: Chinese (simplified and traditional), English,
+ French, German, Italian, Japanese, Portuguese (European and Brazilian),
+ Russian and Spanish
+ > In particular, for simplified Chinese, traditional Chinese and Japanese,
+ > the fonts of the corresponding glyphs can be automatically switched
+- Ready-to-use theorem-like environments, also with multi-language support
+- Support both the standard and the AMS writing fashion
+
# License
This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
index 7fcbd334a6..4a9d85038c 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
index dee95dcf6c..a85ce320bb 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French]{einfart}
+\documentclass[English,Chinese,French,classical]{einfart}
\linenumbers % Enable line numbers
@@ -98,9 +98,9 @@
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\einfart{} 2021/07/30}}
+\thanks{对应版本. \texttt{\einfart{} 2021/08/08}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
-\date{2021年7月,北京}
+\date{2021年8月,北京}
\maketitle
@@ -109,7 +109,7 @@
\einfart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
- 这篇说明文档即是用 \einfart{} 排版的,你可以把它看作一份简短的说明与演示。
+ 这篇说明文档即是用 \einfart{} 排版的 (使用了参数 \texttt{classical}),你可以把它看作一份简短的说明与演示。
\end{abstract}
@@ -122,7 +122,8 @@
为了使用这篇文档中提到的文档类,你需要:
\begin{itemize}
\item 安装一个尽可能新版本的 TeX Live 或 MikTeX 套装,并确保 \texttt{minimalist} 和 \texttt{projlib} 被正确安装在你的 \TeX 封装中。
- \item 熟悉 \LaTeX{} 的基本使用方式,并且知道如何用 \hologo{pdfLaTeX}、\hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 编译你的文档。
+ \item 下载并安装所需的字体,参考“关于默认字体”这一节。
+ \item 熟悉 \LaTeX{} 的基本使用方式,且会用 \hologo{pdfLaTeX}、\hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 编译你的文档。
\end{itemize}
@@ -289,20 +290,13 @@ Référence du théorème: \cref{thm:abc}
\end{tip}
-\begin{tip}
-如果你喜欢这个文档类,但又希望使用一种更加中规中矩的样式,那么不妨使用 \texttt{classical} 选项,就像这样:
-
-\begin{code}
-\documentclass[classical]{einfart}
-\end{code}
-\end{tip}
\LevelOneTitle{关于默认字体}
-\einfart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
+本文档类中默认使用 Palatino Linotype 作为英文主字体,思源宋体、思源黑体、思源等宽作为中文主字体、无衬线字体以及等宽字体,并部分使用了 Neo Euler 作为数学字体。这些字体需要用户自行下载安装。其中,思源字体系列可在 \url{https://github.com/adobe-fonts} 下载 (推荐下载 Super-OTC 版本,这样下载的体积较小)。Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
+另外,还使用了 Source Code Pro 作为英文无衬线字体、New Computer Modern Mono 作为英文等宽字体,以及 Asana Math、Tex Gyre Pagella Math、Latin Modern Math 数学字体中的部分符号。这些字体在 TeX Live 或 MikTeX 中已经提供,无需自行下载安装。
-在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
\LevelOneTitle{选项}
@@ -336,18 +330,15 @@ Référence du théorème: \cref{thm:abc}
\item 字体选项。顾名思义,会加载相应名称的字体。
\item \texttt{useosf} 选项用来启用“旧式”数字。
\end{itemize}
-\clearpage
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
\end{itemize}
+\clearpage
\item \texttt{classical}
\begin{itemize}
- \item 经典模式。启用这一选项时,样式会变得更加中规中矩:段落呈首行缩进样式、各类下划线减少、标题样式改变、定理类环境的样式也会更贴近常见的设置。
+ \item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。
\end{itemize}
- \begin{tip}
- 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
- \end{tip}
\item \texttt{useindent}
\begin{itemize}
\item 采用段首缩进而不是段间间距。
@@ -383,11 +374,10 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|,用指定的语言的设定排版 \meta{content}。
\begin{itemize}
- \item 相比较 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能够保持行距稳定。
+ \item 相比 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能保持行距稳定。
\end{itemize}
\end{itemize}
-\clearpage
\meta{language name} 有下列选择 (不区分大小写,如 \texttt{French} 或 \texttt{french} 均可):
\begin{itemize}
\item 简体中文:\texttt{CN}、\texttt{Chinese}、\texttt{SChinese} 或 \texttt{SimplifiedChinese}
@@ -496,7 +486,6 @@ Référence du théorème: \cref{thm:abc}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
-\clearpage
下面提供一个例子。这三行代码:
\begin{code}
@@ -547,7 +536,6 @@ Référence du théorème: \cref{thm:abc}
\end{keyword}
\end{code}
-\clearpage
也可以按照 \AmS{} 文档类的方式来写:
\begin{code}
@@ -599,7 +587,7 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}[itemsep=.6em]
\item 对于字体的设置仍然不够完善。
- \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \einfart{} 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
+ \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \minimalist{} (进而 \minimart{}、\einfart{} 与 \minimbook{}、\simplivre{}) 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
\item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
\item 代码中仍有许多可优化之处。
\end{itemize}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index adf25e9f1c..51d90706b1 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
index f045982205..2a5d47d28b 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French]{einfart}
+\documentclass[English,Chinese,French,classical]{einfart}
\linenumbers % Enable line numbers
@@ -98,9 +98,9 @@
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\einfart{} 2021/07/30}}
+\thanks{Corresponding to: \texttt{\einfart{} 2021/08/08}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
-\date{July 2021, Beijing}
+\date{August 2021, Beijing}
\maketitle
@@ -109,7 +109,7 @@
\einfart{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
- This documentation is typeset using \einfart{}. You can think of it as a short introduction and demonstration.
+ This documentation is typeset using \einfart{} (with the option \texttt{classical}). You can think of it as a short introduction and demonstration.
\end{abstract}
@@ -123,6 +123,7 @@
In order to use the package or classes described here, you need to:
\begin{itemize}
\item install TeX Live or MikTeX of the latest possible version, and make sure that \texttt{minimalist} and \texttt{projlib} are correctly installed in your \TeX{} system.
+ \item download and install the required fonts, see the section "On the default fonts".
\item be familiar with the basic usage of \LaTeX{}, and knows how to compile your document with \hologo{pdfLaTeX}, \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
\end{itemize}
@@ -291,20 +292,13 @@ or to use the \AmS{} class:
\end{tip}
-\begin{tip}
-If you like the current document class, but want a more ``plain'' style, then you can use the option \texttt{classical}, like this:
-
-\begin{code}
-\documentclass[classical]{einfart}
-\end{code}
-\end{tip}
\LevelOneTitle{On the default fonts}
-By default, \einfart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts\footnote{For detail, pleaser visit FounderType's website: \url{https://www.foundertype.com}.}, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own.
+By default, this document class uses Palatino Linotype as the English main font; Source Han Serif, Source Han Sans and Source Han Mono as the Chinese main font, sans serif font and typewriter font; and partially uses Neo Euler as the math font. You need to download and install these fonts by yourself. The Source Han font series can be downloaded at \url{https://github.com/adobe-fonts} (It is recommended to download the Super-OTC version, so that the download size is smaller). Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the effect may be discounted.
+In addition, Source Code Pro is used as the English sans serif font, New Computer Modern Mono as the English monospace font, as well as some symbols in the mathematical fonts of Asana Math, Tex Gyre Pagella Math, and Latin Modern Math. These fonts are already available in TeX Live or MikTeX, which means you don't need to install them yourself.
-When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
\LevelOneTitle{The options}
@@ -337,18 +331,15 @@ When the corresponding font is not installed, fonts that comes with TeX Live wil
\item Font options. As the name suggest, font with corresponding name will be loaded.
\item The \texttt{useosf} option is used to enable the old-style figures.
\end{itemize}
-\clearpage
\item \texttt{allowbf}
\begin{itemize}
\item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
\end{itemize}
+\clearpage
\item \texttt{classical}
\begin{itemize}
- \item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles.
+ \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation.
\end{itemize}
- \begin{tip}
- \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
- \end{tip}
\item \texttt{useindent}
\begin{itemize}
\item Use paragraph indentation instead of inter-paragraph spacing.
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
index 31b54f5776..7c3ae37bb0 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
index babf19604f..56fb74bfef 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French]{einfart}
+\documentclass[English,Chinese,French,classical]{einfart}
\linenumbers % Enable line numbers
@@ -98,9 +98,9 @@
\title{\einfart{}, écrivez vos articles de manière simple et claire}
\author{Jinwen XU}
-\thanks{Correspondant à : \texttt{\einfart{} 2021/07/30}}
+\thanks{Correspondant à : \texttt{\einfart{} 2021/08/08}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
-\date{Juillet 2021, à Pékin}
+\date{Août 2021, à Pékin}
\maketitle
@@ -109,7 +109,7 @@
\einfart{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \einfart{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation.
- Cette documentation est composée à l'aide de \einfart{}. Vous pouvez le considérer comme une courte introduction et une démonstration.
+ Cette documentation est composée à l'aide de \einfart{} (avec l'option \texttt{classical}). Vous pouvez le considérer comme une courte introduction et une démonstration.
\end{abstract}
@@ -123,6 +123,7 @@
Pour utiliser les classes de documents décrites ici, vous devez :
\begin{itemize}
\item installer TeX Live ou MikTeX de la dernière version possible, et vous assurer que \texttt{minimalist} et \texttt{projlib} sont correctement installés dans votre système \TeX{}.
+ \item télécharger et installer les polices requises, voir «~À propos des polices par défaut~».
\item être familiarisé avec l'utilisation de base de \LaTeX{}, et savoir comment compiler vos documents avec \hologo{pdfLaTeX}, \hologo{XeLaTeX} ou \hologo{LuaLaTeX}.
\end{itemize}
@@ -290,21 +291,13 @@ ou utilisez la classe \AmS{} :
\vspace{-.5\baselineskip}
\end{tip}
-\begin{tip}
-Si vous aimez la classe de document actuelle, mais que vous souhaitez un style plus «~simple~», vous pouvez utiliser l'option \texttt{classical}, comme ceci :
-
-\begin{code}
-\documentclass[classical]{einfart}
-\end{code}
-\vspace{-.5\baselineskip}
-\end{tip}
\LevelOneTitle{À propos des polices par défaut}
-Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise, YouSong et YouHei GBK de FounderType comme polices chinoises\footnote{Pour plus de détails, veuillez visiter le site web de FounderType : \url{https://www.foundertype.com}.}, et utilise partiellement Neo Euler comme police mathématique. Parmi eux, Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Les autres polices ne sont pas gratuites, vous devez les acheter et les installer vous-même.
+Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise principale; Source Han Serif, Source Han Sans et Source Han Mono comme police chinoise principale, sans empattement et monospace; et utilise partiellement Neo Euler comme police mathématique. Vous devez télécharger et installer ces polices vous-même. La série de polices Source Han peut être téléchargée sur \url{https://github.com/adobe-fonts} (il est recommandé de télécharger la version Super-OTC, afin que la taille de téléchargement soit plus petite). Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Lorsque la police correspondante n'est pas installée, la police fournie avec TeX Live sera utilisée à la place et l'effet peut être réduit.
+De plus, Source Code Pro est utilisé comme police anglaise sans empattement, New Computer Modern Mono comme police anglaise monospace, ainsi que certains symboles dans les polices mathématiques Asana Math, Tex Gyre Pagella Math et Latin Modern Math. Ces polices sont déjà disponibles dans TeX Live ou MikTeX, ce qui signifie que vous n'avez pas besoin de les installer vous-même.
-Lorsque la police correspondante n'est pas installée, les polices fournies avec TeX Live seront utilisées à la place. Dans ce cas, l'expérience peut être réduite.
\LevelOneTitle{Les options}
@@ -339,15 +332,12 @@ Lorsque la police correspondante n'est pas installée, les polices fournies avec
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
- \item Pour activer les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
+ \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
\end{itemize}
\item \texttt{classical}
\begin{itemize}
- \item Mode classique. Lorsque cette option est utilisée, le style deviendra plus régulier : les paragraphes sont en retrait, l'utilisation de soulignements est réduite, les styles de titres sont modifiés et les styles de théorème seront beaucoup plus proches des styles par défaut.
+ \item Mode classique. Un style antique sera utilisé lorsque cette option est activée, comme dans la documentation actuelle.
\end{itemize}
- \begin{tip}
- \texttt{allowbf} + \texttt{classical} est probablement un bon choix si vous préférez le style traditionnel.
- \end{tip}
\item \texttt{useindent}
\begin{itemize}
\item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes.
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index c4d8d43f01..905e16569c 100644
--- a/macros/unicodetex/latex/einfart/einfart.cls
+++ b/macros/unicodetex/latex/einfart/einfart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{einfart}
- [2021/07/30 A simple and clear article style]
+ [2021/08/08 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -49,7 +49,7 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
-\if@minimclass@classical
+\if@minimclass@classical\else
\@minimclass@useindenttrue
\fi
\if@minimclass@palatino
@@ -123,6 +123,10 @@
\PassOptionsToPackage{no-math}{fontspec}
\RequirePackage{fontspec}
+
+\IfFileExists{minimalist-font.tex}{
+ \input{minimalist-font.tex}
+}{
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
[\if@minimclass@useosf Numbers = OldStyle\fi]
@@ -140,73 +144,208 @@
BoldItalicFont = SourceSansPro-BoldIt.otf ]
\setmonofont{NewCMMono10-Regular.otf}[
Scale = 1.05 ,
- BoldFont = NewCMMono10-Book.otf ,
+ BoldFont = NewCMMono10-Bold.otf ,
ItalicFont = NewCMMono10-Italic.otf ,
- BoldItalicFont = NewCMMono10-BookItalic.otf ]
+ BoldItalicFont = NewCMMono10-BoldOblique.otf ]
+}
\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
\RequirePackage{ctex}
-\WarningFilter{everysel}{Everysel is no longer required}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmainfont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFileExists{minimalist-font.cjk.tex}{
+ \input{minimalist-font.cjk.tex}
+}{
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKmainfont{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSerifSC-Bold ]
}{
\setCJKmainfont{FandolSong-Regular.otf}[
BoldFont = FandolSong-Bold.otf ,
ItalicFont = FandolKai-Regular.otf ,
BoldItalicFont = FandolKai-Regular.otf ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmonofont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKsansfont{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKsansfont{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKmonofont{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
}{
\setCJKmonofont{FandolFang-Regular.otf}[
BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
BoldItalicFont = * ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
}
-\IfFontExistsTF{FZYOUHK_508R--GBK1-0}{%
- \setCJKsansfont{FZYOUHK_508R--GBK1-0}[
- BoldFont = FZYOUHK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\if@PJLlang@enable@CN
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKfamilyfont{SCmain}{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
- SmallCapsFont = * ]
- \setCJKfamilyfont{zhhei}{FZYOUHK_508R--GBK1-0}[
- BoldFont = FZYOUHK_509R--GBK1-0 ,
+ BoldItalicFont = SourceHanSerifSC-Bold ]
+}{
+ \setCJKfamilyfont{SCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKfamilyfont{SCsans}{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKfamilyfont{SCsans}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKfamilyfont{SCmono}{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
+}{
+ \setCJKfamilyfont{SCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
- BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
- SmallCapsFont = * ]
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@TC
+\IfFontExistsTF{SourceHanSerifTC-Regular}{%
+ \setCJKfamilyfont{TCmain}{SourceHanSerifTC-Regular}[
+ BoldFont = SourceHanSerifTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerifTC-Bold ]
}{
- \setCJKsansfont{FandolHei-Regular.otf}[
+ \setCJKfamilyfont{TCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansTC-Regular}{%
+ \setCJKfamilyfont{TCsans}{SourceHanSansTC-Regular}[
+ BoldFont = SourceHanSansTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansTC-Bold ]
+}{
+ \setCJKfamilyfont{TCsans}{FandolHei-Regular.otf}[
BoldFont = FandolHei-Bold.otf ,
ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
- \setCJKfamilyfont{zhhei}{FandolHei-Regular.otf}[
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMonoTC-Regular}{%
+ \setCJKfamilyfont{TCmono}{SourceHanMonoTC-Regular}[
+ BoldFont = SourceHanMonoTC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoTC-Medium ]
+}{
+ \setCJKfamilyfont{TCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@JP
+\IfFontExistsTF{SourceHanSerif-Regular}{%
+ \setCJKfamilyfont{JPmain}{SourceHanSerif-Regular}[
+ BoldFont = SourceHanSerif-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerif-Bold ]
+}{
+ \setCJKfamilyfont{JPmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSans-Regular}{%
+ \setCJKfamilyfont{JPsans}{SourceHanSans-Regular}[
+ BoldFont = SourceHanSans-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSans-Bold ]
+}{
+ \setCJKfamilyfont{JPsans}{FandolHei-Regular.otf}[
BoldFont = FandolHei-Bold.otf ,
ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMono-Regular}{%
+ \setCJKfamilyfont{JPmono}{SourceHanMono-Regular}[
+ BoldFont = SourceHanMono-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMono-Medium ]
+}{
+ \setCJKfamilyfont{JPmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\WarningFilter{latexfont}{Font shape}
+\WarningFilter{latexfont}{Some font}
+
+\def\CJKsffamily{}
+\def\CJKttfamily{}
+
+\apptocmd{\sffamily}{\CJKsffamily}{}{\FAIL}
+\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
+
+\if@PJLlang@enable@CN
+\gappto{\PJLlang@langconfig@schinese}{%
+ \def\CJKsffamily{\CJKfamily{SCsans}}%
+ \def\CJKttfamily{\CJKfamily{SCmono}}%
+ \CJKfamily{SCmain}%
+}
+\fi
+
+\if@PJLlang@enable@TC
+\gappto{\PJLlang@langconfig@tchinese}{%
+ \def\CJKsffamily{\CJKfamily{TCsans}}%
+ \def\CJKttfamily{\CJKfamily{TCmono}}%
+ \CJKfamily{TCmain}%
}
+\fi
-\def\minimalist@titlefontshape{\CJKfamily{zhhei}}
+\if@PJLlang@enable@JP
+\gappto{\PJLlang@langconfig@japanese}{%
+ \def\CJKsffamily{\CJKfamily{JPsans}}%
+ \def\CJKttfamily{\CJKfamily{JPmono}}%
+ \CJKfamily{JPmain}%
+}
+\fi
+
+\def\minimalist@titlefontshape{\CJKsffamily}
+}
\if@minimclass@customfont\else
\if@minimclass@fast
diff --git a/macros/unicodetex/latex/lebhart/README.md b/macros/unicodetex/latex/lebhart/README.md
index b9092c4e26..58a630c090 100644
--- a/macros/unicodetex/latex/lebhart/README.md
+++ b/macros/unicodetex/latex/lebhart/README.md
@@ -12,6 +12,18 @@ LuaLaTeX.
This is part of the `colorist` class series.
+## Features
+
+Compared with usual document classes, it has the following features:
+
+- Native multi-language support: Chinese (simplified and traditional), English,
+ French, German, Italian, Japanese, Portuguese (European and Brazilian),
+ Russian and Spanish
+ > In particular, for simplified Chinese, traditional Chinese and Japanese,
+ > the fonts of the corresponding glyphs can be automatically switched
+- Ready-to-use theorem-like environments, also with multi-language support
+- Support both the standard and the AMS writing fashion
+
# 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
index 901de1da7f..72f790aea3 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index d2a638335e..8842620602 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -93,9 +93,9 @@
\title{\lebhart{},以多彩的方式排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\lebhart{} 2021/07/30}}
+\thanks{对应版本. \texttt{\lebhart{} 2021/08/08}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
-\date{2021年7月,北京}
+\date{2021年8月,北京}
\maketitle
@@ -117,6 +117,7 @@
为了使用这篇文档中提到的文档类,你需要:
\begin{itemize}
\item 安装一个尽可能新版本的 TeX Live 或 MikTeX 套装,并确保 \texttt{colorist} 和 \texttt{projlib} 被正确安装在你的 \TeX 封装中。
+ \item 下载并安装所需的字体,参考“关于默认字体”这一节。
\item 熟悉 \LaTeX{} 的基本使用方式,并且知道如何用 \hologo{pdfLaTeX}、\hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 编译你的文档。
\end{itemize}
@@ -174,7 +175,6 @@ Référence du théorème: \cref{thm:abc}
\bigskip
\LevelThreeTitle{初始化部分}
-\medskip
\begin{code}
\documentclass{lebhart}
\usepackage{ProjLib}
@@ -184,7 +184,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{设定语言}
-\medskip
\begin{code}
\UseLanguage{French}
\end{code}
@@ -195,7 +194,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{标题,作者信息,摘要与关键词}
-\medskip
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
@@ -245,7 +243,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{未完成标记}
-\medskip
\begin{code}
\dnf<(*\meta{some hint}*)>
\end{code}
@@ -253,7 +250,6 @@ Référence du théorème: \cref{thm:abc}
\LevelThreeTitle{定理类环境}
-\medskip
\begin{code}
\begin{theorem}\label{thm:abc}
Ceci est un théorème.
@@ -295,10 +291,10 @@ Référence du théorème: \cref{thm:abc}
\bigskip
\LevelOneTitle{关于默认字体}
-\lebhart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
+本文档类中默认使用 Palatino Linotype 作为英文主字体,思源宋体、思源黑体、思源等宽作为中文主字体、无衬线字体以及等宽字体,并部分使用了 Neo Euler 作为数学字体。这些字体需要用户自行下载安装。其中,思源字体系列可在 \url{https://github.com/adobe-fonts} 下载 (推荐下载 Super-OTC 版本,这样下载的体积较小)。Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
+另外,还使用了 Source Code Pro 作为英文无衬线字体、New Computer Modern Mono 作为英文等宽字体,以及 Asana Math、Tex Gyre Pagella Math、Latin Modern Math 数学字体中的部分符号。这些字体在 TeX Live 或 MikTeX 中已经提供,无需自行下载安装。
-在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
\clearpage
@@ -345,6 +341,7 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}
\item 纯文本模式,不加载定理类环境。
\end{itemize}
+\clearpage
\item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter}
\begin{itemize}
\item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。其中 \meta{counter} 应该是自带的计数器 (如 \texttt{subsection}) 或在导言部分自定义的计数器。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。
@@ -369,7 +366,7 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|,用指定的语言的设定排版 \meta{content}。
\begin{itemize}
- \item 相比较 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能够保持行距稳定。
+ \item 相比 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能保持行距稳定。
\end{itemize}
\end{itemize}
@@ -598,11 +595,12 @@ Référence du théorème: \cref{thm:abc}
其中 \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email| 的相互顺序是不重要的。
+\clearpage
\LevelOneTitle{目前存在的问题}
-
\begin{itemize}[itemsep=.6em]
\item 对于字体的设置仍然不够完善。
- \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \lebhart{} 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
+ \item 目录的设计还不够美观。
+ \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \colorist{} (进而 \colorart{}、\lebhart{} 与 \colorbook{}、\beaulivre{}) 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
\item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
\item 代码中仍有许多可优化之处。
\end{itemize}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index 8228d9d692..b15c888de7 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index 81de6613b0..c5bb60d42d 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -93,9 +93,9 @@
\title{\lebhart{}, write your articles in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\lebhart{} 2021/07/30}}
+\thanks{Corresponding to: \texttt{\lebhart{} 2021/08/08}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
-\date{July 2021, Beijing}
+\date{August 2021, Beijing}
\maketitle
@@ -118,6 +118,7 @@
In order to use the package or classes described here, you need to:
\begin{itemize}
\item install TeX Live or MikTeX of the latest possible version, and make sure that \texttt{colorist} and \texttt{projlib} are correctly installed in your \TeX{} system.
+ \item download and install the required fonts, see the section "On the default fonts".
\item be familiar with the basic usage of \LaTeX{}, and knows how to compile your document with \hologo{pdfLaTeX}, \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
\end{itemize}
@@ -174,7 +175,6 @@ If you find this example a little complicated, don't worry. Let's now look at th
\clearpage
\LevelThreeTitle{Initialization}
-\medskip
\begin{code}
\documentclass{lebhart}
\usepackage{ProjLib}
@@ -184,7 +184,6 @@ Initialization is straightforward. The first line loads the document class \lebh
\LevelThreeTitle{Set the language}
-\medskip
\begin{code}
\UseLanguage{French}
\end{code}
@@ -196,7 +195,6 @@ For detailed description of this command and more related commands, please refer
\LevelThreeTitle{Title, author information, abstract and keywords}
-\medskip
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
@@ -246,7 +244,6 @@ In addition, you may also write in the \AmS{} fashion, i.e.:
\LevelThreeTitle{Draft marks}
-\medskip
\begin{code}
\dnf<(*\meta{some hint}*)>
\end{code}
@@ -255,7 +252,6 @@ When you have some places that have not yet been finished yet, you can mark them
\LevelThreeTitle{Theorem-like environments}
-\medskip
\begin{code}
\begin{theorem}\label{thm:abc}
Ceci est un théorème.
@@ -295,11 +291,12 @@ If you like the current document class, but want a more ``plain'' style, then yo
\end{tip}
+\clearpage
\LevelOneTitle{On the default fonts}
-By default, \lebhart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts\footnote{For detail, pleaser visit FounderType's website: \url{https://www.foundertype.com}.}, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own.
+By default, this document class uses Palatino Linotype as the English main font; Source Han Serif, Source Han Sans and Source Han Mono as the Chinese main font, sans serif font and typewriter font; and partially uses Neo Euler as the math font. You need to download and install these fonts by yourself. The Source Han font series can be downloaded at \url{https://github.com/adobe-fonts} (It is recommended to download the Super-OTC version, so that the download size is smaller). Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the effect may be discounted.
+In addition, Source Code Pro is used as the English sans serif font, New Computer Modern Mono as the English monospace font, as well as some symbols in the mathematical fonts of Asana Math, Tex Gyre Pagella Math, and Latin Modern Math. These fonts are already available in TeX Live or MikTeX, which means you don't need to install them yourself.
-When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
\LevelOneTitle{The options}
@@ -344,6 +341,7 @@ When the corresponding font is not installed, fonts that comes with TeX Live wil
\begin{itemize}
\item Pure text mode. Does not load theorem-like environments.
\end{itemize}
+\clearpage
\item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter}
\begin{itemize}
\item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. Here, \meta{counter} should be a built-in counter (such as \texttt{subsection}) or a custom counter defined in the preamble. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article).
@@ -429,7 +427,6 @@ By default, when referenced, the name of the theorem matches the current context
\UseLanguage{English}
-\bigskip
The following are the main styles of theorem-like environments:
\begin{theorem}
Theorem style: theorem, proposition, lemma, corollary, ...
@@ -597,10 +594,12 @@ The author information can contain multiple groups, written as:
Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
+\clearpage
\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
\item The font settings are still not perfect.
+ \item The TOC design does not look very nice.
\item Since many features are based on the \ProjLib{} toolkit, \colorist{} (and hence \colorart{}, \lebhart{} and \colorbook{}, \beaulivre{}) inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
\item There are still many things that can be optimized in the code.
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
index 1056ba7174..9de3f3c801 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
index 26be646198..f86fec6d47 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
@@ -93,9 +93,9 @@
\title{\lebhart{}, écrivez vos articles de manière colorée}
\author{Jinwen XU}
-\thanks{Correspondant à : \texttt{\lebhart{} 2021/07/30}}
+\thanks{Correspondant à : \texttt{\lebhart{} 2021/08/08}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
-\date{Juillet 2021, à Pékin}
+\date{Août 2021, à Pékin}
\maketitle
@@ -118,6 +118,7 @@
Pour utiliser les classes de documents décrites ici, vous devez :
\begin{itemize}
\item installer TeX Live ou MikTeX de la dernière version possible, et vous assurer que \texttt{colorist} et \texttt{projlib} sont correctement installés dans votre système \TeX{}.
+ \item télécharger et installer les polices requises, voir «~À propos des polices par défaut~».
\item être familiarisé avec l'utilisation de base de \LaTeX{}, et savoir comment compiler vos documents avec \hologo{pdfLaTeX}, \hologo{XeLaTeX} ou \hologo{LuaLaTeX}.
\end{itemize}
@@ -175,7 +176,6 @@ Si vous trouvez cela un peu compliqué, ne vous inquiétez pas. Examinons mainte
\bigskip
\LevelThreeTitle{Initialisation}
-\medskip
\begin{code}
\documentclass{lebhart}
\usepackage{ProjLib}
@@ -185,7 +185,6 @@ L'initialisation est simple. La première ligne ajoute la classe de document \le
\LevelThreeTitle{Choisir la langue}
-\medskip
\begin{code}
\UseLanguage{French}
\end{code}
@@ -196,7 +195,6 @@ Pour une description détaillée de cette commande et d'autres commandes associ
\LevelThreeTitle{Titre, informations sur l'auteur, résumé et mots-clés}
-\medskip
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
@@ -246,7 +244,6 @@ De plus, vous pouvez également écrire à la manière \AmS{}, c'est-à-dire :
\LevelThreeTitle{Marques de brouillon}
-\medskip
\begin{code}
\dnf<(*\meta{some hint}*)>
\end{code}
@@ -254,7 +251,6 @@ Lorsque vous avez des endroits qui ne sont pas encore finis, vous pouvez les mar
\LevelThreeTitle{Environnements de type théorème}
-\medskip
\begin{code}
\begin{theorem}\label{thm:abc}
Ceci est un théorème.
@@ -296,10 +292,10 @@ Si vous aimez la classe de document actuelle, mais que vous souhaitez un style p
\LevelOneTitle{À propos des polices par défaut}
-Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise, YouSong et YouHei GBK de FounderType comme polices chinoises\footnote{Pour plus de détails, veuillez visiter le site web de FounderType : \url{https://www.foundertype.com}.}, et utilise partiellement Neo Euler comme police mathématique. Parmi eux, Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Les autres polices ne sont pas gratuites, vous devez les acheter et les installer vous-même.
+Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise principale; Source Han Serif, Source Han Sans et Source Han Mono comme police chinoise principale, sans empattement et monospace; et utilise partiellement Neo Euler comme police mathématique. Vous devez télécharger et installer ces polices vous-même. La série de polices Source Han peut être téléchargée sur \url{https://github.com/adobe-fonts} (il est recommandé de télécharger la version Super-OTC, afin que la taille de téléchargement soit plus petite). Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Lorsque la police correspondante n'est pas installée, la police fournie avec TeX Live sera utilisée à la place et l'effet peut être réduit.
+De plus, Source Code Pro est utilisé comme police anglaise sans empattement, New Computer Modern Mono comme police anglaise monospace, ainsi que certains symboles dans les polices mathématiques Asana Math, Tex Gyre Pagella Math et Latin Modern Math. Ces polices sont déjà disponibles dans TeX Live ou MikTeX, ce qui signifie que vous n'avez pas besoin de les installer vous-même.
-Lorsque la police correspondante n'est pas installée, les polices fournies avec TeX Live seront utilisées à la place. Dans ce cas, l'expérience peut être réduite.
\LevelOneTitle{Les options}
@@ -334,7 +330,7 @@ Lorsque la police correspondante n'est pas installée, les polices fournies avec
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
- \item Pour activer les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
+ \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
\end{itemize}
\item \texttt{runin}
\begin{itemize}
@@ -428,7 +424,6 @@ Par défaut, lors du référencement, le nom du théorème correspond au context
\UseLanguage{French}
-\bigskip
Voici les principaux styles d'environnements de type théorème :
\begin{theorem}
Style de théorème : theorem, proposition, lemma, corollary, ...
@@ -594,10 +589,12 @@ Les informations sur l'auteur peuvent contenir plusieurs groupes, écrits comme
Parmi eux, l'ordre mutuel de \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| n'est pas important.
+\clearpage
\LevelOneTitle{Problèmes connus}
\begin{itemize}[itemsep=.6em]
\item Les paramètres de police ne sont pas encore parfaits.
+ \item La conception de la table des matières est pas si belle.
\item Comme de nombreuses fonctionnalités sont basées sur la boîte à outils \ProjLib{}, \colorist{} (et donc \colorart{}, \lebhart{} et \colorbook{}, \beaulivre{}) hérite de tous ses problèmes. Pour plus de détails, veuillez vous référer à la section «~Problèmes connus~» de la documentation de \ProjLib{}.
\item Le mécanisme de gestion des erreurs est incomplet : pas de messages correspondants lorsque certains problèmes surviennent.
\item Il y a encore beaucoup de choses qui peuvent être optimisées dans le code.
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index f7e3535e48..0c298b39da 100644
--- a/macros/unicodetex/latex/lebhart/lebhart.cls
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{lebhart}
- [2021/07/30 A colorful article style]
+ [2021/08/08 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -116,6 +116,10 @@
\PassOptionsToPackage{no-math}{fontspec}
\RequirePackage{fontspec}
+
+\IfFileExists{colorist-font.tex}{
+ \input{colorist-font.tex}
+}{
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
[\if@colorclass@useosf Numbers = OldStyle\fi]
@@ -133,59 +137,205 @@
BoldItalicFont = SourceSansPro-BoldIt.otf ]
\setmonofont{NewCMMono10-Regular.otf}[
Scale = 1.05 ,
- BoldFont = NewCMMono10-Book.otf ,
+ BoldFont = NewCMMono10-Bold.otf ,
ItalicFont = NewCMMono10-Italic.otf ,
- BoldItalicFont = NewCMMono10-BookItalic.otf ]
+ BoldItalicFont = NewCMMono10-BoldOblique.otf ]
+}
\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
\RequirePackage{ctex}
-\WarningFilter{everysel}{Everysel is no longer required}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmainfont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFileExists{colorist-font.cjk.tex}{
+ \input{colorist-font.cjk.tex}
+}{
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKmainfont{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSerifSC-Bold ]
}{
\setCJKmainfont{FandolSong-Regular.otf}[
BoldFont = FandolSong-Bold.otf ,
ItalicFont = FandolKai-Regular.otf ,
BoldItalicFont = FandolKai-Regular.otf ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmonofont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKsansfont{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKsansfont{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKmonofont{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
}{
\setCJKmonofont{FandolFang-Regular.otf}[
BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
BoldItalicFont = * ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+
+\if@PJLlang@enable@CN
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKfamilyfont{SCmain}{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerifSC-Bold ]
+}{
+ \setCJKfamilyfont{SCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKfamilyfont{SCsans}{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKfamilyfont{SCsans}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
}
-\IfFontExistsTF{FZYOUHK_506L--GBK1-0}{%
- \setCJKsansfont{FZYOUHK_506L--GBK1-0}[
- BoldFont = FZYOUHK_509R--GBK1-0 ,
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKfamilyfont{SCmono}{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
+}{
+ \setCJKfamilyfont{SCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
- BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
- SmallCapsFont = * ]
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@TC
+\IfFontExistsTF{SourceHanSerifTC-Regular}{%
+ \setCJKfamilyfont{TCmain}{SourceHanSerifTC-Regular}[
+ BoldFont = SourceHanSerifTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerifTC-Bold ]
}{
- \setCJKsansfont{FandolHei-Regular.otf}[
+ \setCJKfamilyfont{TCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansTC-Regular}{%
+ \setCJKfamilyfont{TCsans}{SourceHanSansTC-Regular}[
+ BoldFont = SourceHanSansTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansTC-Bold ]
+}{
+ \setCJKfamilyfont{TCsans}{FandolHei-Regular.otf}[
BoldFont = FandolHei-Bold.otf ,
ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMonoTC-Regular}{%
+ \setCJKfamilyfont{TCmono}{SourceHanMonoTC-Regular}[
+ BoldFont = SourceHanMonoTC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoTC-Medium ]
+}{
+ \setCJKfamilyfont{TCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@JP
+\IfFontExistsTF{SourceHanSerif-Regular}{%
+ \setCJKfamilyfont{JPmain}{SourceHanSerif-Regular}[
+ BoldFont = SourceHanSerif-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerif-Bold ]
+}{
+ \setCJKfamilyfont{JPmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSans-Regular}{%
+ \setCJKfamilyfont{JPsans}{SourceHanSans-Regular}[
+ BoldFont = SourceHanSans-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSans-Bold ]
+}{
+ \setCJKfamilyfont{JPsans}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMono-Regular}{%
+ \setCJKfamilyfont{JPmono}{SourceHanMono-Regular}[
+ BoldFont = SourceHanMono-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMono-Medium ]
+}{
+ \setCJKfamilyfont{JPmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\WarningFilter{latexfont}{Font shape}
+\WarningFilter{latexfont}{Some font}
+
+\def\CJKsffamily{}
+\def\CJKttfamily{}
+
+\apptocmd{\sffamily}{\CJKsffamily}{}{\FAIL}
+\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
+
+\if@PJLlang@enable@CN
+\gappto{\PJLlang@langconfig@schinese}{%
+ \def\CJKsffamily{\CJKfamily{SCsans}}%
+ \def\CJKttfamily{\CJKfamily{SCmono}}%
+ \CJKfamily{SCmain}%
+}
+\fi
+
+\if@PJLlang@enable@TC
+\gappto{\PJLlang@langconfig@tchinese}{%
+ \def\CJKsffamily{\CJKfamily{TCsans}}%
+ \def\CJKttfamily{\CJKfamily{TCmono}}%
+ \CJKfamily{TCmain}%
+}
+\fi
+
+\if@PJLlang@enable@JP
+\gappto{\PJLlang@langconfig@japanese}{%
+ \def\CJKsffamily{\CJKfamily{JPsans}}%
+ \def\CJKttfamily{\CJKfamily{JPmono}}%
+ \CJKfamily{JPmain}%
+}
+\fi
}
\if@colorclass@customfont\else
diff --git a/macros/unicodetex/latex/simplivre/README.md b/macros/unicodetex/latex/simplivre/README.md
index 51b089deb2..6ec7912598 100644
--- a/macros/unicodetex/latex/simplivre/README.md
+++ b/macros/unicodetex/latex/simplivre/README.md
@@ -12,6 +12,18 @@ LuaLaTeX.
This is part of the `minimalist` class series.
+## Features
+
+Compared with usual document classes, it has the following features:
+
+- Native multi-language support: Chinese (simplified and traditional), English,
+ French, German, Italian, Japanese, Portuguese (European and Brazilian),
+ Russian and Spanish
+ > In particular, for simplified Chinese, traditional Chinese and Japanese,
+ > the fonts of the corresponding glyphs can be automatically switched
+- Ready-to-use theorem-like environments, also with multi-language support
+- Support both the standard and the AMS writing fashion
+
# License
This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
index e001af026c..dd48064f2f 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
index 2903b75df8..704dd4f1cf 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French]{simplivre}
+\documentclass[English,Chinese,French,JP,TC,classical]{simplivre}
\linenumbers % Enable line numbers
@@ -103,9 +103,9 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/07/30}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/08/08}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{许锦文}};
- \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年7月,北京}};
+ \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年8月,北京}};
\end{tikzpicture}%
\end{titlepage}%
\cleardoublepage%
@@ -117,7 +117,7 @@
\simplivre{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
-这篇说明文档即是用 \simplivre{} 排版的,你可以把它看作一份简短的说明与演示。
+这篇说明文档即是用 \simplivre{} 排版的 (使用了参数 \texttt{classical}),你可以把它看作一份简短的说明与演示。
\bigskip
\begin{tip}
@@ -136,7 +136,8 @@
为了使用这篇文档中提到的文档类,你需要:
\begin{itemize}
\item 安装一个尽可能新版本的 TeX Live 或 MikTeX 套装,并确保 \texttt{minimalist} 和 \texttt{projlib} 被正确安装在你的 \TeX 封装中。
- \item 熟悉 \LaTeX{} 的基本使用方式,并且知道如何用 \hologo{pdfLaTeX}、\hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 编译你的文档。
+ \item 下载并安装所需的字体,参考“关于默认字体”这一节。
+ \item 熟悉 \LaTeX{} 的基本使用方式,且会用 \hologo{pdfLaTeX}、\hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 编译你的文档。
\end{itemize}
@@ -248,16 +249,18 @@ Référence du théorème: \cref{thm:abc}
\LevelOneTitle{关于默认字体}
-\einfart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
+本文档类中默认使用 Palatino Linotype 作为英文主字体,思源宋体、思源黑体、思源等宽作为中文主字体、无衬线字体以及等宽字体,并部分使用了 Neo Euler 作为数学字体。这些字体需要用户自行下载安装。其中,思源字体系列可在 \url{https://github.com/adobe-fonts} 下载 (推荐下载 Super-OTC 版本,这样下载的体积较小)。Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
+
+另外,还使用了 Source Code Pro 作为英文无衬线字体、New Computer Modern Mono 作为英文等宽字体,以及 Asana Math、Tex Gyre Pagella Math、Latin Modern Math 数学字体中的部分符号。这些字体在 TeX Live 或 MikTeX 中已经提供,无需自行下载安装。
\begin{itemize}
- \item English main font. \textsf{English sans serif font}.
- \item 中文主要字体,\textsf{中文无衬线字体}
+ \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
+ \item 简体中文主要字体,\textsf{简体中文无衬线字体},\texttt{简体中文等宽字体}
+ \item \UseOtherLanguage{TC}{繁體中文主要字體,\textsf{繁體中文無襯線字體},\texttt{繁體中文等寬字體}}
+ \item \UseOtherLanguage{JP}{日本語のメインフォント、\textsf{日本語のサンセリフフォント}、\texttt{日本語の等幅フォント}}
\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}
-在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
-
\LevelOneTitle{选项}
@@ -296,15 +299,13 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
\item \texttt{classical}
\begin{itemize}
- \item 经典模式。启用这一选项时,样式会变得更加中规中矩:段落呈首行缩进样式、各类下划线减少、标题样式改变、定理类环境的样式也会更贴近常见的设置。
+ \item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。
\end{itemize}
- \begin{tip}
- 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
- \end{tip}
\item \texttt{useindent}
\begin{itemize}
\item 采用段首缩进而不是段间间距。
\end{itemize}
+\clearpage
\item \texttt{runin}
\begin{itemize}
\item \lstinline|\subsubsection| 采用 ``runin'' 风格。
@@ -338,7 +339,7 @@ Référence du théorème: \cref{thm:abc}
\end{itemize}
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|,用指定的语言的设定排版 \meta{content}。
\begin{itemize}
- \item 相比较 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能够保持行距稳定。
+ \item 相比 \lstinline|\UseLanguage|,它不会对行距进行修改,因此中西文字混排时能保持行距稳定。
\end{itemize}
\end{itemize}
@@ -503,7 +504,7 @@ Référence du théorème: \cref{thm:abc}
\begin{itemize}[itemsep=.6em]
\item 对于字体的设置仍然不够完善。
- \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \einfart{} 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
+ \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \minimalist{} (进而 \minimart{}、\einfart{} 与 \minimbook{}、\simplivre{}) 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
\item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
\item 代码中仍有许多可优化之处。
\end{itemize}
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index 24bd3a3881..8c5b66c703 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
index 3aa96bc4d9..2e840f47dc 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French]{simplivre}
+\documentclass[English,Chinese,French,JP,TC,classical]{simplivre}
\linenumbers % Enable line numbers
@@ -104,9 +104,9 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/07/30}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/08/08}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
- \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{July 2021, Beijing}};
+ \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{August 2021, Beijing}};
\end{tikzpicture}%
\end{titlepage}%
\cleardoublepage%
@@ -118,7 +118,7 @@
\simplivre{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
-This documentation is typeset using \simplivre{}. You can think of it as a short introduction and demonstration.
+This documentation is typeset using \simplivre{} (with the option \texttt{classical}). You can think of it as a short introduction and demonstration.
\bigskip
\begin{tip}
@@ -138,6 +138,7 @@ This documentation is typeset using \simplivre{}. You can think of it as a short
In order to use the package or classes described here, you need to:
\begin{itemize}
\item install TeX Live or MikTeX of the latest possible version, and make sure that \texttt{minimalist} and \texttt{projlib} are correctly installed in your \TeX{} system.
+ \item download and install the required fonts, see the section "On the default fonts".
\item be familiar with the basic usage of \LaTeX{}, and knows how to compile your document with \hologo{pdfLaTeX}, \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
\end{itemize}
@@ -251,16 +252,18 @@ Commonly used theorem-like environments have been pre-defined. Also, when refere
\LevelOneTitle{On the default fonts}
-By default, \einfart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts\footnote{For detail, pleaser visit FounderType's website: \url{https://www.foundertype.com}.}, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own.
+By default, this document class uses Palatino Linotype as the English main font; Source Han Serif, Source Han Sans and Source Han Mono as the Chinese main font, sans serif font and typewriter font; and partially uses Neo Euler as the math font. You need to download and install these fonts by yourself. The Source Han font series can be downloaded at \url{https://github.com/adobe-fonts} (It is recommended to download the Super-OTC version, so that the download size is smaller). Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. When the corresponding font is not installed, the font that comes with TeX Live will be used instead, and the effect may be discounted.
+
+In addition, Source Code Pro is used as the English sans serif font, New Computer Modern Mono as the English monospace font, as well as some symbols in the mathematical fonts of Asana Math, Tex Gyre Pagella Math, and Latin Modern Math. These fonts are already available in TeX Live or MikTeX, which means you don't need to install them yourself.
\begin{itemize}
- \item English main font. \textsf{English sans serif font}.
- \item 中文主要字体, \textsf{中文无衬线字体}
+ \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
+ \item 简体中文主要字体,\textsf{简体中文无衬线字体},\texttt{简体中文等宽字体}
+ \item \UseOtherLanguage{TC}{繁體中文主要字體,\textsf{繁體中文無襯線字體},\texttt{繁體中文等寬字體}}
+ \item \UseOtherLanguage{JP}{日本語のメインフォント、\textsf{日本語のサンセリフフォント}、\texttt{日本語の等幅フォント}}
\item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
\end{itemize}
-When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
-
\LevelOneTitle{The options}
\simplivre{} offers the following options:
@@ -298,11 +301,8 @@ When the corresponding font is not installed, fonts that comes with TeX Live wil
\end{itemize}
\item \texttt{classical}
\begin{itemize}
- \item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles.
+ \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation.
\end{itemize}
- \begin{tip}
- \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
- \end{tip}
\item \texttt{useindent}
\begin{itemize}
\item Use paragraph indentation instead of inter-paragraph spacing.
@@ -311,6 +311,7 @@ When the corresponding font is not installed, fonts that comes with TeX Live wil
\begin{itemize}
\item Use the ``runin'' style for \lstinline|\subsubsection|
\end{itemize}
+\clearpage
\item \texttt{puretext} or \texttt{nothms}
\begin{itemize}
\item Pure text mode. Does not load theorem-like environments.
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
index d5edaaa596..87556d62e2 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
index fb2364ec43..536e51ab6b 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French]{simplivre}
+\documentclass[English,Chinese,French,JP,TC,classical]{simplivre}
\linenumbers % Enable line numbers
@@ -103,9 +103,9 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière simple et claire}\\[10pt]\tiny Correspondant à : \texttt{\simplivre{} 2021/07/30}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\[5pt]\footnotesize\textsc{Écrivez vos livres \\de manière simple et claire}\\[10pt]\tiny Correspondant à : \texttt{\simplivre{} 2021/08/08}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
- \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{Juillet 2021, à Pékin}};
+ \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{Août 2021, à Pékin}};
\end{tikzpicture}%
\end{titlepage}%
\cleardoublepage%
@@ -117,7 +117,7 @@
\simplivre{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \simplivre{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation.
-Cette documentation est composée à l'aide de \simplivre{}. Vous pouvez le considérer comme une courte introduction et une démonstration.
+Cette documentation est composée à l'aide de \simplivre{} (avec l'option \texttt{classical}). Vous pouvez le considérer comme une courte introduction et une démonstration.
\bigskip
\begin{tip}
@@ -137,6 +137,7 @@ Cette documentation est composée à l'aide de \simplivre{}. Vous pouvez le cons
Pour utiliser les classes de documents décrites ici, vous devez :
\begin{itemize}
\item installer TeX Live ou MikTeX de la dernière version possible, et vous assurer que \texttt{minimalist} et \texttt{projlib} sont correctement installés dans votre système \TeX{}.
+ \item télécharger et installer les polices requises, voir «~À propos des polices par défaut~».
\item être familiarisé avec l'utilisation de base de \LaTeX{}, et savoir comment compiler vos documents avec \hologo{pdfLaTeX}, \hologo{XeLaTeX} ou \hologo{LuaLaTeX}.
\end{itemize}
@@ -249,16 +250,18 @@ Les environnements de type théorème couramment utilisés ont été prédéfini
\LevelOneTitle{À propos des polices par défaut}
-Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise, YouSong et YouHei GBK de FounderType comme polices chinoises\footnote{Pour plus de détails, veuillez visiter le site web de FounderType : \url{https://www.foundertype.com}.}, et utilise partiellement Neo Euler comme police mathématique. Parmi eux, Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Les autres polices ne sont pas gratuites, vous devez les acheter et les installer vous-même.
+Par défaut, cette classe de document utilise Palatino Linotype comme police anglaise principale; Source Han Serif, Source Han Sans et Source Han Mono comme police chinoise principale, sans empattement et monospace; et utilise partiellement Neo Euler comme police mathématique. Vous devez télécharger et installer ces polices vous-même. La série de polices Source Han peut être téléchargée sur \url{https://github.com/adobe-fonts} (il est recommandé de télécharger la version Super-OTC, afin que la taille de téléchargement soit plus petite). Neo Euler peut être téléchargé sur \url{https://github.com/khaledhosny/euler-otf}. Lorsque la police correspondante n'est pas installée, la police fournie avec TeX Live sera utilisée à la place et l'effet peut être réduit.
+
+De plus, Source Code Pro est utilisé comme police anglaise sans empattement, New Computer Modern Mono comme police anglaise monospace, ainsi que certains symboles dans les polices mathématiques Asana Math, Tex Gyre Pagella Math et Latin Modern Math. Ces polices sont déjà disponibles dans TeX Live ou MikTeX, ce qui signifie que vous n'avez pas besoin de les installer vous-même.
\begin{itemize}
- \item English main font. \textsf{English sans serif font}.
- \item 中文主要字体, \textsf{中文无衬线字体}
+ \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
+ \item 简体中文主要字体,\textsf{简体中文无衬线字体},\texttt{简体中文等宽字体}
+ \item \UseOtherLanguage{TC}{繁體中文主要字體,\textsf{繁體中文無襯線字體},\texttt{繁體中文等寬字體}}
+ \item \UseOtherLanguage{JP}{日本語のメインフォント、\textsf{日本語のサンセリフフォント}、\texttt{日本語の等幅フォント}}
\item Démonstration de maths : \( \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}
-Lorsque la police correspondante n'est pas installée, les polices fournies avec TeX Live seront utilisées à la place. Dans ce cas, l'expérience peut être réduite.
-
\LevelOneTitle{Les options}
@@ -292,19 +295,17 @@ Lorsque la police correspondante n'est pas installée, les polices fournies avec
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
- \item Pour activer les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
+ \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras.
\end{itemize}
\item \texttt{classical}
\begin{itemize}
- \item Mode classique. Lorsque cette option est utilisée, le style deviendra plus régulier : les paragraphes sont en retrait, l'utilisation de soulignements est réduite, les styles de titres sont modifiés et les styles de théorème seront beaucoup plus proches des styles par défaut.
+ \item Mode classique. Un style antique sera utilisé lorsque cette option est activée, comme dans la documentation actuelle.
\end{itemize}
- \begin{tip}
- \texttt{allowbf} + \texttt{classical} est probablement un bon choix si vous préférez le style traditionnel.
- \end{tip}
\item \texttt{useindent}
\begin{itemize}
\item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes.
\end{itemize}
+\clearpage
\item \texttt{runin}
\begin{itemize}
\item Utilisez le style «~runin~» pour \lstinline|\subsubsection|
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index f8359a10c4..c3d1466997 100644
--- a/macros/unicodetex/latex/simplivre/simplivre.cls
+++ b/macros/unicodetex/latex/simplivre/simplivre.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{simplivre}
- [2021/07/30 A simple and clear book style]
+ [2021/08/08 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -49,7 +49,7 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
-\if@minimclass@classical
+\if@minimclass@classical\else
\@minimclass@useindenttrue
\fi
\if@minimclass@palatino
@@ -123,6 +123,10 @@
\PassOptionsToPackage{no-math}{fontspec}
\RequirePackage{fontspec}
+
+\IfFileExists{minimalist-font.tex}{
+ \input{minimalist-font.tex}
+}{
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
[\if@minimclass@useosf Numbers = OldStyle\fi]
@@ -140,73 +144,208 @@
BoldItalicFont = SourceSansPro-BoldIt.otf ]
\setmonofont{NewCMMono10-Regular.otf}[
Scale = 1.05 ,
- BoldFont = NewCMMono10-Book.otf ,
+ BoldFont = NewCMMono10-Bold.otf ,
ItalicFont = NewCMMono10-Italic.otf ,
- BoldItalicFont = NewCMMono10-BookItalic.otf ]
+ BoldItalicFont = NewCMMono10-BoldOblique.otf ]
+}
\PassOptionsToPackage{fontset=none,scheme=plain}{ctex}
\RequirePackage{ctex}
-\WarningFilter{everysel}{Everysel is no longer required}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmainfont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFileExists{minimalist-font.cjk.tex}{
+ \input{minimalist-font.cjk.tex}
+}{
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKmainfont{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSerifSC-Bold ]
}{
\setCJKmainfont{FandolSong-Regular.otf}[
BoldFont = FandolSong-Bold.otf ,
ItalicFont = FandolKai-Regular.otf ,
BoldItalicFont = FandolKai-Regular.otf ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
}
-\IfFontExistsTF{FZYOUSK_507R--GBK1-0}{%
- \setCJKmonofont{FZYOUSK_507R--GBK1-0}[
- BoldFont = FZYOUSK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKsansfont{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUSK_509R--GBK1-0 ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKsansfont{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKmonofont{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
}{
\setCJKmonofont{FandolFang-Regular.otf}[
BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
BoldItalicFont = * ,
- BoldItalicFeatures = {FakeBold=4} ,
- SmallCapsFont = * ]
+ BoldItalicFeatures = {FakeBold=4} ]
}
-\IfFontExistsTF{FZYOUHK_508R--GBK1-0}{%
- \setCJKsansfont{FZYOUHK_508R--GBK1-0}[
- BoldFont = FZYOUHK_509R--GBK1-0 ,
- BoldFeatures = {FakeBold=4} ,
+
+\if@PJLlang@enable@CN
+\IfFontExistsTF{SourceHanSerifSC-Regular}{%
+ \setCJKfamilyfont{SCmain}{SourceHanSerifSC-Regular}[
+ BoldFont = SourceHanSerifSC-Bold ,
ItalicFont = * ,
- BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
- SmallCapsFont = * ]
- \setCJKfamilyfont{zhhei}{FZYOUHK_508R--GBK1-0}[
- BoldFont = FZYOUHK_509R--GBK1-0 ,
+ BoldItalicFont = SourceHanSerifSC-Bold ]
+}{
+ \setCJKfamilyfont{SCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansSC-Regular}{%
+ \setCJKfamilyfont{SCsans}{SourceHanSansSC-Regular}[
+ BoldFont = SourceHanSansSC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansSC-Bold ]
+}{
+ \setCJKfamilyfont{SCsans}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMonoSC-Regular}{%
+ \setCJKfamilyfont{SCmono}{SourceHanMonoSC-Regular}[
+ BoldFont = SourceHanMonoSC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoSC-Medium ]
+}{
+ \setCJKfamilyfont{SCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
- BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
- SmallCapsFont = * ]
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@TC
+\IfFontExistsTF{SourceHanSerifTC-Regular}{%
+ \setCJKfamilyfont{TCmain}{SourceHanSerifTC-Regular}[
+ BoldFont = SourceHanSerifTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerifTC-Bold ]
}{
- \setCJKsansfont{FandolHei-Regular.otf}[
+ \setCJKfamilyfont{TCmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSansTC-Regular}{%
+ \setCJKfamilyfont{TCsans}{SourceHanSansTC-Regular}[
+ BoldFont = SourceHanSansTC-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSansTC-Bold ]
+}{
+ \setCJKfamilyfont{TCsans}{FandolHei-Regular.otf}[
BoldFont = FandolHei-Bold.otf ,
ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
- \setCJKfamilyfont{zhhei}{FandolHei-Regular.otf}[
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMonoTC-Regular}{%
+ \setCJKfamilyfont{TCmono}{SourceHanMonoTC-Regular}[
+ BoldFont = SourceHanMonoTC-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMonoTC-Medium ]
+}{
+ \setCJKfamilyfont{TCmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\if@PJLlang@enable@JP
+\IfFontExistsTF{SourceHanSerif-Regular}{%
+ \setCJKfamilyfont{JPmain}{SourceHanSerif-Regular}[
+ BoldFont = SourceHanSerif-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSerif-Bold ]
+}{
+ \setCJKfamilyfont{JPmain}{FandolSong-Regular.otf}[
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFont = FandolKai-Regular.otf ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\IfFontExistsTF{SourceHanSans-Regular}{%
+ \setCJKfamilyfont{JPsans}{SourceHanSans-Regular}[
+ BoldFont = SourceHanSans-Bold ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanSans-Bold ]
+}{
+ \setCJKfamilyfont{JPsans}{FandolHei-Regular.otf}[
BoldFont = FandolHei-Bold.otf ,
ItalicFont = * ,
- BoldItalicFont = FandolHei-Bold.otf ,
- SmallCapsFont = * ]
+ BoldItalicFont = FandolHei-Bold.otf ]
+}
+\IfFontExistsTF{SourceHanMono-Regular}{%
+ \setCJKfamilyfont{JPmono}{SourceHanMono-Regular}[
+ BoldFont = SourceHanMono-Medium ,
+ ItalicFont = * ,
+ BoldItalicFont = SourceHanMono-Medium ]
+}{
+ \setCJKfamilyfont{JPmono}{FandolFang-Regular.otf}[
+ BoldFont = * ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = * ,
+ BoldItalicFeatures = {FakeBold=4} ]
+}
+\fi
+
+\WarningFilter{latexfont}{Font shape}
+\WarningFilter{latexfont}{Some font}
+
+\def\CJKsffamily{}
+\def\CJKttfamily{}
+
+\apptocmd{\sffamily}{\CJKsffamily}{}{\FAIL}
+\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL}
+
+\if@PJLlang@enable@CN
+\gappto{\PJLlang@langconfig@schinese}{%
+ \def\CJKsffamily{\CJKfamily{SCsans}}%
+ \def\CJKttfamily{\CJKfamily{SCmono}}%
+ \CJKfamily{SCmain}%
+}
+\fi
+
+\if@PJLlang@enable@TC
+\gappto{\PJLlang@langconfig@tchinese}{%
+ \def\CJKsffamily{\CJKfamily{TCsans}}%
+ \def\CJKttfamily{\CJKfamily{TCmono}}%
+ \CJKfamily{TCmain}%
}
+\fi
-\def\minimalist@titlefontshape{\CJKfamily{zhhei}}
+\if@PJLlang@enable@JP
+\gappto{\PJLlang@langconfig@japanese}{%
+ \def\CJKsffamily{\CJKfamily{JPsans}}%
+ \def\CJKttfamily{\CJKfamily{JPmono}}%
+ \CJKfamily{JPmain}%
+}
+\fi
+
+\def\minimalist@titlefontshape{\CJKsffamily}
+}
\if@minimclass@customfont\else
\if@minimclass@fast