texlive[59496] Master/texmf-dist: beaulivre (6jun21)

commits+karl at tug.org commits+karl at tug.org
Sun Jun 6 22:51:12 CEST 2021


Revision: 59496
          http://tug.org/svn/texlive?view=revision&revision=59496
Author:   karl
Date:     2021-06-06 22:51:12 +0200 (Sun, 06 Jun 2021)
Log Message:
-----------
beaulivre (6jun21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/beaulivre/README.md
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.pdf
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex
    trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls

Modified: trunk/Master/texmf-dist/doc/latex/beaulivre/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beaulivre/README.md	2021-06-06 20:50:59 UTC (rev 59495)
+++ trunk/Master/texmf-dist/doc/latex/beaulivre/README.md	2021-06-06 20:51:12 UTC (rev 59496)
@@ -6,8 +6,9 @@
 design.
 
 Currently, it has native support to Chinese (simplified and traditional),
-English, French, German, Japanese and Russian typesetting. And it may compile
-with either XeLaTeX or LuaLaTeX.
+English, French, German, Italian, Japanese, Portuguese (European and Brazilian),
+Russian and Spanish typesetting. And it may compile with either XeLaTeX or
+LuaLaTeX.
 
 This is part of the `colorist` class series.
 

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

Modified: trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex	2021-06-06 20:50:59 UTC (rev 59495)
+++ trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-cn.tex	2021-06-06 20:51:12 UTC (rev 59496)
@@ -1,6 +1,18 @@
 %! TEX program = xelatex
-\documentclass[allowbf]{beaulivre}
+\documentclass[allowbf,puretext]{beaulivre}
 
+\theoremstyle{basic}
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
+\CreateTheorem{conjecture}<highest>
+\CreateTheorem*{example*}
+\CreateTheorem{problem}<highest>
+
+\theoremstyle{emphasis}
+\CreateTheorem{remark}<highest>
+
+\theoremstyle{simple}
+
 %%================================
 %% 引入工具集
 %%================================
@@ -34,7 +46,7 @@
 } 
 \providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
 \lstset{moretexcs=%
-    {color,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+    {href,color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
     }
 }
 \lstnewenvironment{code}% 
@@ -41,18 +53,17 @@
 {\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
 
 %%================================
-%% remind
+%% tip
 %%================================
-\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][提示]{%
+\newenvironment{tip}[1][提示]{%
     \begin{tcolorbox}[breakable,
         enhanced,
         width = \textwidth,
-        colback = white, colbacktitle = paper,
+        colback = paper, colbacktitle = paper,
         colframe = gray!50, boxrule=0.2mm,
         coltitle = black,
         fonttitle = \sffamily,
-        attach boxed title to top left = {yshift=-\tcboxedtitleheight/2,  xshift=\tcboxedtitlewidth/4},
+        attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
         before skip = 0.3cm,
         after skip = 0.3cm,
@@ -81,8 +92,8 @@
 
 % \title{\beaulivre{},以多彩的方式排版你的图书}
 % \author{许锦文}
-% \thanks{对应版本. \texttt{\beaulivre{} 2021/05/24}}
-% \date{2021年5月,北京}
+% \thanks{对应版本. \texttt{\beaulivre{} 2021/06/07}}
+% \date{2021年6月,北京}
 
 % \maketitle
 
@@ -93,9 +104,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{}\\\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/05/24}}};
+    \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/06/07}}};
     \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年5月,北京}};
+    \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年6月,北京}};
 \end{tikzpicture}%
 \end{titlepage}%
 \cleardoublepage%
@@ -105,7 +116,7 @@
 
 \beaulivre{} 是 \colorist{} 文档类系列的成员之一,其名称取自于法文的beau (美丽),以及livre (书),由二者组合而成。整个 \colorist{} 系列包含用于排版文章的 \colorart{}、\lebhart{} 以及用于排版书的 \colorbook{}、\beaulivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之多彩而不缭乱。
 
-\beaulivre{} 支持英文、法文、德文、中文、日文、俄文六种语言,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
+\beaulivre{} 英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
 
 这篇说明文档即是用 \beaulivre{} 排版的 (使用了参数 \texttt{allowbf}),你可以把它看作一份简短的说明与演示。
 
@@ -115,9 +126,9 @@
 \end{tcolorbox}
 
 \bigskip
-\begin{remind}
+\begin{tip}
     多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。
-\end{remind}
+\end{tip}
 
 \tableofcontents
 
@@ -135,9 +146,9 @@
 
 即可使用 \beaulivre{} 文档类。
 
-\begin{remind}[请注意]
+\begin{tip}[请注意]
     要使用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎才能编译。
-\end{remind}
+\end{tip}
 
 \section{选项}
 
@@ -157,6 +168,10 @@
         \begin{itemize}
             \item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。
         \end{itemize}
+    \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
+        \begin{itemize}
+            \item 字体选项。顾名思义,会加载相应名称的字体。
+        \end{itemize}
     \item \texttt{allowbf}
         \begin{itemize}
             \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
@@ -163,11 +178,11 @@
         \end{itemize}
 \end{itemize}
 
-\begin{remind}
+\begin{tip}
     \begin{itemize}
         \item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
     \end{itemize}
-\end{remind}
+\end{tip}
 
 \bigskip
 另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。
@@ -175,13 +190,13 @@
 \chapter{关于文档类中使用的字体}
 \beaulivre{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
 
-\begin{remind}[字体演示]
+\begin{tip}[字体演示]
     \begin{itemize}
         \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
         \item 中文主要字体,\textsf{中文无衬线字体}
         \item 数学示例: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
     \end{itemize}
-\end{remind}
+\end{tip}
 
 \bigskip
 在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
@@ -193,7 +208,7 @@
 
 \section{语言设置}
 
-\beaulivre{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文。可以通过下列命令来选定语言:
+\beaulivre{} 提供了多语言支持,包括英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文。可以通过下列命令来选定语言:
 \begin{itemize}
     \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}|,用于指定语言,在其后将使用对应的语言设定。
     \begin{itemize}
@@ -205,15 +220,19 @@
     \end{itemize}
 \end{itemize}
 
-\meta{language name} 有下列选择:
-\begin{itemize}
-    \item 简体中文:\texttt{Chinese}、\texttt{chinese}、\texttt{SChinese}、\texttt{schinese}、\texttt{SimplifiedChinese} \\\hspace*{5em}或 \texttt{simplifiedchinese}
-    \item 繁体中文:\texttt{TChinese}、\texttt{tchinese}、\texttt{TraditionalChinese} 或 \texttt{traditionalchinese}
-    \item 英文:\texttt{English} 或 \texttt{english}
-    \item 法文:\texttt{French} 或 \texttt{french}
-    \item 德文:\texttt{German}、\texttt{german} 或 \texttt{ngerman}
-    \item 日文:\texttt{Japanese} 或 \texttt{japanese}
-    \item 俄文:\texttt{Russian} 或 \texttt{russian}
+\meta{language name} 有下列选择 (不区分大小写,如 \texttt{French} 或 \texttt{french} 均可):
+\begin{itemize}\setstretch{1.15}
+    \item 简体中文:\texttt{CN}、\texttt{Chinese}、\texttt{SChinese} 或 \texttt{SimplifiedChinese}
+    \item 繁体中文:\texttt{TC}、\texttt{TChinese} 或 \texttt{TraditionalChinese}
+    \item 英文:\texttt{EN} 或 \texttt{English}
+    \item 法文:\texttt{FR} 或 \texttt{French}
+    \item 德文:\texttt{DE}、\texttt{German} 或 \texttt{ngerman}
+    \item 意大利语:\texttt{IT} 或 \texttt{Italian}
+    \item 葡萄牙语:\texttt{PT} 或 \texttt{Portuguese}
+    \item 巴西葡萄牙语:\texttt{BR} 或 \texttt{Brazilian}
+    \item 西班牙语:\texttt{ES} 或 \texttt{Spanish}
+    \item 日文:\texttt{JP} 或 \texttt{Japanese}
+    \item 俄文:\texttt{RU} 或 \texttt{Russian}
 \end{itemize}
 
 另外,还可以通过下面的方式来填加相应语言的设置:
@@ -235,11 +254,11 @@
 定义、定理等环境已经被预定义,可以直接使用。
 
 具体来说,预设的定理类环境包括:
-\texttt{assumption}、\texttt{axiom}、\texttt{conjecture}、\texttt{convention}、\texttt{corollary}、\texttt{definition}、\texttt{definition-proposition}、\texttt{definition-theorem}、\texttt{example}、\texttt{exercise}、\texttt{fact}、\texttt{hypothesis}、\texttt{lemma}、\texttt{notation}、\texttt{problem}、\texttt{property}、\texttt{proposition}、\texttt{question}、\texttt{remark}、\texttt{theorem},以及相应的带有星号 \lstinline|*| 的无编号版本。
+\texttt{assumption}、\texttt{axiom}、\texttt{conjecture}、\texttt{convention}、\texttt{corollary}、\texttt{definition}、\texttt{definition-proposition}、\texttt{definition-theorem}、\texttt{example}、\texttt{exercise}、\texttt{fact}、\texttt{hypothesis}、\texttt{lemma}、\texttt{notation}、\texttt{observation}、\texttt{problem}、\texttt{property}、\texttt{proposition}、\texttt{question}、\texttt{remark}、\texttt{theorem},以及相应的带有星号 \lstinline|*| 的无编号版本。
 
 在引用定理类环境时,建议使用智能引用 \lstinline|\cref{|\meta{label}\lstinline|}|。这样就不必每次都写上相应环境的名称了。
 
-\begin{remind}[例子]
+\begin{tip}[例子]
 \begin{code}
   \begin{definition}[奇异物品] \label{def: strange} ...
 \end{code}
@@ -258,7 +277,7 @@
 \end{theorem}
 
 默认情况下,引用时,定理的名称总是与定理所在区域的语言匹配,例如,上面的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。如果在引用时想让定理的名称与当前语境相匹配,可以在全局选项中加入 \texttt{regionalref}。
-\end{remind}
+\end{tip}
 
 \medskip
 下面是定理类环境的几种主要样式:
@@ -303,19 +322,15 @@
 
 \section{定义新的定理型环境}
 
-若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称 \lstinline|\|\meta{name of environment}\meta{language abbr},其中 \meta{language abbr} 是语言的简写,分别为:
-\begin{longtable}{ll|ll}
-    \texttt{CN} & 简体中文  & \texttt{DE} & 德文\\
-    \texttt{TC} & 繁体中文  & \texttt{JP} & 日文\\
-    \texttt{EN} & 英文  & \texttt{RU} & 俄文\\
-    \texttt{FR} & 法文  & &\\
-\end{longtable}
+若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
+% \vspace{-.15\baselineskip}%
+\begin{itemize}
+    \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+% \vspace{-.15\baselineskip}%
+其中,\meta{language name} 可参阅关于语言设置的小节。当不指定 \meta{language name}时,则会将该名称设置为所有支持语言下的名称。另外,带星号与不带星号的同名环境共用一个名称,因此 \lstinline|\NameTheorem{envname*}{...}| 与 \lstinline|\NameTheorem{envname}{...}| 效果相同。
 
-\vspace{-0.3\baselineskip}
-\begin{remind}
-    如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。
-\end{remind}
-
+\medskip
 然后用下面五种方式之一定义这一环境:
 \begin{itemize}
     \item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -346,11 +361,12 @@
         \end{itemize}
 \end{itemize}
 
-\begin{remind}
+\begin{tip}
     其内部使用了 \textsf{amsthm},因此传统的 \texttt{theoremstyle} 对其也是适用的,只需在相关定义前标明即可。
-\end{remind}
+\end{tip}
 
-\def\proofideanameCN{思路}
+% \def\proofideanameCN{思路}
+\NameTheorem[CN]{proofidea}{思路}
 \CreateTheorem*{proofidea*}
 \CreateTheorem{proofidea}<section>
 
@@ -358,7 +374,7 @@
 下面提供一个例子。这三行代码:
 
 \begin{code}
-  \def\proofideanameCN{思路}
+  \NameTheorem[CN]{proofidea}{思路}
   \CreateTheorem*{proofidea*}
   \CreateTheorem{proofidea}<section>
 \end{code}
@@ -440,6 +456,7 @@
 \section{目前存在的问题}
 
 \begin{itemize}[itemsep=.6em]
+    \item 目录、part、chapter 的设计依然有待改良。
     \item 对于字体的设置仍然不够完善。
     \item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \beaulivre{} 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
     \item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
@@ -495,7 +512,7 @@
 \end{code}
 
 
-% \clearpage
+\clearpage
 \section{\texorpdfstring{\AmS{}}{AMS} 文档类写法}
 
 如果日后有意切换到期刊模版,想采用 \AmS{} 文档类中的写法,可以参考下面的例子:

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

Modified: trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex	2021-06-06 20:50:59 UTC (rev 59495)
+++ trunk/Master/texmf-dist/doc/latex/beaulivre/beaulivre-doc-en.tex	2021-06-06 20:51:12 UTC (rev 59496)
@@ -1,6 +1,18 @@
 %! TEX program = xelatex
-\documentclass[allowbf]{beaulivre}
+\documentclass[allowbf,puretext]{beaulivre}
 
+\theoremstyle{basic}
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
+\CreateTheorem{conjecture}<highest>
+\CreateTheorem*{example*}
+\CreateTheorem{problem}<highest>
+
+\theoremstyle{emphasis}
+\CreateTheorem{remark}<highest>
+
+\theoremstyle{simple}
+
 %%================================
 %% Import toolkit
 %%================================
@@ -32,8 +44,7 @@
 } 
 \providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
 \lstset{moretexcs=%
-    {linenumbers,nolinenumbers,subsection,
-    color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+    {href,color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
     }
 }
 \lstnewenvironment{code}% 
@@ -40,24 +51,23 @@
 {\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
 
 %%================================
-%% remind
+%% tip
 %%================================
-\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
     \begin{tcolorbox}[breakable,
         enhanced,
         width = \textwidth,
-        colback = white, colbacktitle = paper,
+        colback = paper, colbacktitle = paper,
         colframe = gray!50, boxrule=0.2mm,
         coltitle = black,
         fonttitle = \sffamily,
-        attach boxed title to top left = {yshift=-\tcboxedtitleheight/2,  xshift=\tcboxedtitlewidth/4},
+        attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
         boxed title style = {boxrule=0pt, colframe=paper},
         before skip = 0.3cm,
         after skip = 0.3cm,
         top = 3mm,
         bottom = 3mm,
-        title={\sffamily #1}]%
+        title={\scshape\sffamily #1}]%
 }{\end{tcolorbox}}
 
 %%================================
@@ -80,8 +90,8 @@
 
 % \title{\beaulivre{}, write your books in a colorful way}
 % \author{Jinwen XU}
-% \thanks{Corresponding to: \texttt{\beaulivre{} 2021/05/24}}
-% \date{May 2021, Beijing}
+% \thanks{Corresponding to: \texttt{\beaulivre{} 2021/06/07}}
+% \date{June 2021, Beijing}
 
 % \maketitle
 
@@ -92,9 +102,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{}\\\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/05/24}}};
-    \node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{Jinwen XU}};
-    \node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{May 2021, Beijing}};
+    \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/06/07}}};
+    \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}{June 2021, Beijing}};
 \end{tikzpicture}%
 \end{titlepage}%
 \cleardoublepage%
@@ -104,7 +114,7 @@
 
 \beaulivre{} is a member of the \colorist{} class series. Its name is taken from French words ``beau'' (for ``beautiful'') and ``livre'' (for ``book''). The entire collection includes \colorart{} and \lebhart{} for typesetting articles and \colorbook{} and \beaulivre{} for typesetting books. My original intention in designing this series was to write drafts and notes that look colorful yet not dazzling.
 
-\beaulivre{} supports six languages: English, French, German, Chinese, Japanese and Russian. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \beaulivre{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
+\beaulivre{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \beaulivre{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
 
 This documentation is typeset using \beaulivre{} (with the option \texttt{allowbf}). You can think of it as a short introduction and demonstration.
 
@@ -114,9 +124,9 @@
 \end{tcolorbox}
 
 \bigskip
-\begin{remind}
+\begin{tip}
     Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{remind}
+\end{tip}
 
 \tableofcontents
 
@@ -124,7 +134,7 @@
 
 \chapter{Initialization}
 
-\section{How to load}
+\section{How to load it}
 
 One only needs to put
 \begin{code}
@@ -132,9 +142,9 @@
 \end{code}
 as the first line to use the \beaulivre{} class.
 
-\begin{remind}[Attention]
+\begin{tip}[Attention]
     You need to use either \hologo{XeLaTeX} or \hologo{LuaLaTeX} engine to compile.
-\end{remind}
+\end{tip}
 
 \section{Options}
 
@@ -154,6 +164,10 @@
         \begin{itemize}
             \item Optional paper size. The default paper size is 8.5in $\times$ 11in.
         \end{itemize}
+    \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+        \begin{itemize}
+            \item Font options. As the name suggest, font with corresponding name will be loaded.
+        \end{itemize}
     \item \texttt{allowbf}
         \begin{itemize}
             \item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
@@ -160,26 +174,26 @@
         \end{itemize}
 \end{itemize}
 
-\begin{remind}
+\begin{tip}
     \begin{itemize}
-        \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+        \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
     \end{itemize}
-\end{remind}
+\end{tip}
 
 \bigskip
 In addition, the commonly used \texttt{oneside} and \texttt{twoside} options are also available. Two-page layout is used by default.
 
 \chapter{On the fonts}
-By default, \beaulivre{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
+By default, \beaulivre{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
 
 \medskip
-\begin{remind}[Font demonstration]
+\begin{tip}[Font demonstration]
     \begin{itemize}
         \item English main font. \textsf{English sans serif font}. \texttt{English typewriter font}.
         \item 中文主要字体,\textsf{中文无衬线字体}
         \item 数学示例:  \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
     \end{itemize}
-\end{remind}
+\end{tip}
 
 \bigskip
 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.
@@ -192,22 +206,26 @@
 
 \section{Language configuration}
 
-\beaulivre{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\beaulivre{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. The language can be selected by the following macros:
 
 \begin{itemize}
-    \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+    \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English'' is selected by default.
     \item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
 \end{itemize}
 
-\meta{language name} can be:
+\meta{language name} can be (it is not case sensitive, for example, \texttt{French} and \texttt{french} have the same effect):
 \begin{itemize}
-    \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
-    \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
-    \item English: \texttt{English} or \texttt{english}
-    \item French: \texttt{French} or \texttt{french}
-    \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
-    \item Japanese: \texttt{Japanese} or \texttt{japanese}
-    \item Russian: \texttt{Russian} or \texttt{russian}
+    \item Simplified Chinese: \texttt{CN}, \texttt{Chinese}, \texttt{SChinese} or \texttt{SimplifiedChinese}
+    \item Traditional Chinese: \texttt{TC}, \texttt{TChinese} or \texttt{TraditionalChinese}
+    \item English: \texttt{EN} or \texttt{English}
+    \item French: \texttt{FR} or \texttt{French}
+    \item German: \texttt{DE}, \texttt{German} or \texttt{ngerman}
+    \item Italian: \texttt{IT} or \texttt{Italian}
+    \item Portuguese: \texttt{PT} or \texttt{Portuguese}
+    \item Portuguese (Brazilian): \texttt{BR} or \texttt{Brazilian}
+    \item Spanish: \texttt{ES} or \texttt{Spanish}
+    \item Japanese: \texttt{JP} or \texttt{Japanese}
+    \item Russian: \texttt{RU} or \texttt{Russian}
 \end{itemize}
 
 \medskip
@@ -224,17 +242,18 @@
 \end{itemize}
 For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages).
 
-\clearpage
+
 \section{Theorems and how to reference them}
 
-Environments such as definitions and theorems have been pre-defined and can be used directly. 
+Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly. 
 
 More specifically, preset environments include: 
-\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
 
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+\medskip
+When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
 
-\begin{remind}[Example]
+\begin{tip}[Example]
 \begin{code}
   \begin{definition}[Strange things] \label{def: strange} ...
 \end{code}
@@ -254,7 +273,7 @@
 \end{theorem}
 
 By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
 
 \medskip
 The following are the main styles of theorem-like environments:
@@ -271,7 +290,7 @@
     Remark style
 \end{remark}
 
-\vspace{-.5\baselineskip}
+\vspace{-.7\baselineskip}
 \begin{conjecture}
     Conjecture style
 \end{conjecture}
@@ -299,21 +318,13 @@
 \bigskip
 \section{Define a new theorem-like environment}
 
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
-% \vspace{-.5\baselineskip}
-\begin{longtable}{ll|ll}
-    \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
-    \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
-    \texttt{EN} & English & \texttt{RU} & Russian\\
-    \texttt{FR} & French & &\\
-\end{longtable}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+    \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
 
-\vspace{-.5\baselineskip}
-\begin{remind}
-    If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
-
-% \clearpage
+\medskip
 And then define this environment in one of following five ways:
 \begin{itemize}
     \item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -344,11 +355,12 @@
         \end{itemize}
 \end{itemize}
 
-\begin{remind}
-    It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+    This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
 
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
 \CreateTheorem*{proofidea*}
 \CreateTheorem{proofidea}<section>
 
@@ -355,7 +367,7 @@
 \bigskip
 Here is an example. The following code:
 \begin{code}
-  \def\proofideanameEN{Idea}
+  \NameTheorem[EN]{proofidea}{Idea}
   \CreateTheorem*{proofidea*}
   \CreateTheorem{proofidea}<section>
 \end{code}

Modified: trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls	2021-06-06 20:50:59 UTC (rev 59495)
+++ trunk/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls	2021-06-06 20:51:12 UTC (rev 59496)
@@ -17,7 +17,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesClass{beaulivre}
-    [2021/05/24 A colorful book style]
+    [2021/06/07 A colorful book style]
 \def\colorclass at baseclass{book}
 \RequirePackage{kvoptions}
 \RequirePackage{etoolbox}
@@ -27,6 +27,11 @@
 }
 \DeclareBoolOption[false]{draft}
 \DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
 
 \newif\if at colorclass@bfivepaper\@colorclass at bfivepaperfalse
 \DeclareVoidOption{b5paper}{\@colorclass at bfivepapertrue}
@@ -39,6 +44,18 @@
 \if at colorclass@draft
     \@colorclass at fasttrue
 \fi
+\if at colorclass@palatino
+    \@colorclass at customfonttrue
+\fi
+\if at colorclass@times
+    \@colorclass at customfonttrue
+\fi
+\if at colorclass@garamond
+    \@colorclass at customfonttrue
+\fi
+\if at colorclass@biolinum
+    \@colorclass at customfonttrue
+\fi
 
 %%================================
 %% Page layout
@@ -85,8 +102,10 @@
 %% Fonts
 %%================================
 %% Math fonts in fast mode
-\if at colorclass@fast
-    \RequirePackage{mathpazo}
+\if at colorclass@customfont\else
+    \if at colorclass@fast
+        \RequirePackage{mathpazo}
+    \fi
 \fi
 
 %% English fonts
@@ -114,6 +133,7 @@
 %% Chinese fonts
 \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 ,
@@ -163,6 +183,7 @@
 }
 
 %% Math font
+\if at colorclass@customfont\else
 \if at colorclass@fast
 \RequirePackage{amssymb}
 \else
@@ -212,10 +233,64 @@
 \setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
 }{}
 \fi
+\fi
 
+\let\colorist at sffamily\sffamily
+\let\colorist at textsc\textsc
+
+\if at colorclass@palatino
+    \RequirePackage{amssymb}
+    \RequirePackage{mathpazo}
+    \PassOptionsToPackage{defaultsups}{newpxtext}
+    \RequirePackage{newpxtext}
+    \RequirePackage{newpxmath}
+    \let\openbox\relax
+    \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if at colorclass@times
+    \RequirePackage{amssymb}
+    \PassOptionsToPackage{defaultsups}{newtxtext}
+    \RequirePackage{newtxtext}
+    \RequirePackage{newtxmath}
+    \let\openbox\relax
+    \PJLsetlinespacing{\setstretch{1.00}}
+    \let\colorist at sffamily\relax
+\fi
+
+\if at colorclass@garamond
+    \RequirePackage{amssymb}
+    \PassOptionsToPackage{lining}{ebgaramond}
+    \RequirePackage{ebgaramond-maths}
+    \RequirePackage{ebgaramond}
+    % \RequirePackage{garamondlibre}
+    \PJLsetlinespacing{\setstretch{1.00}}
+    \let\colorist at sffamily\relax
+\fi
+
+\if at colorclass@biolinum
+    \RequirePackage{amssymb}
+    % \RequirePackage{mathpazo}
+    % \RequirePackage[sansmath]{libertinust1math}
+    \ifPDFTeX
+        \RequirePackage{biolinum}
+        \renewcommand*\familydefault{\biolinum at family}
+    \else
+        \PassOptionsToPackage{no-math}{fontspec}
+        \RequirePackage{fontspec}
+        \setmainfont{LinBiolinum_R.otf}[
+            BoldFont       = LinBiolinum_RB.otf ,
+            ItalicFont     = LinBiolinum_RI.otf ,
+            BoldItalicFont = LinBiolinum_RBO.otf ]
+    \fi
+    \PJLsetlinespacing{\setstretch{1.05}}
+    \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
+
 \def\PJL at font@alreadyset{}
 
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
 
 %%================================
 %% Graphics



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