summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-07 03:02:21 +0000
committerNorbert Preining <norbert@preining.info>2021-06-07 03:02:21 +0000
commit1ba2ae020aea220436899cf65f5a85c1686940cd (patch)
tree1a212dbc995aba6b72a39941cad6b3ded5d2516e /macros/unicodetex/latex
parent4338972cc175be565a3441c4ae8a6aa0dfcbe9f9 (diff)
CTAN sync 202106070302
Diffstat (limited to 'macros/unicodetex/latex')
-rw-r--r--macros/unicodetex/latex/beaulivre/README.md5
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin300321 -> 303218 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex117
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin185959 -> 187642 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex138
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls83
-rw-r--r--macros/unicodetex/latex/einfart/README.md5
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin236172 -> 238357 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex94
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin145877 -> 146880 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex117
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls78
-rw-r--r--macros/unicodetex/latex/lebhart/README.md5
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin280208 -> 281832 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex119
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin168948 -> 170165 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex128
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls83
-rw-r--r--macros/unicodetex/latex/simplivre/README.md5
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin283518 -> 286356 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex101
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin191358 -> 192861 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex118
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls78
24 files changed, 828 insertions, 446 deletions
diff --git a/macros/unicodetex/latex/beaulivre/README.md b/macros/unicodetex/latex/beaulivre/README.md
index 34f2b47f0b..6ce33dbfcd 100644
--- a/macros/unicodetex/latex/beaulivre/README.md
+++ b/macros/unicodetex/latex/beaulivre/README.md
@@ -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.
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
index d299dac883..0ce2263737 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 3ffe9d002f..5e97911426 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -1,5 +1,17 @@
%! 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,25 +46,24 @@
}
\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}%
{\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,17 +168,21 @@
\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 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
\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{-0.3\baselineskip}
-\begin{remind}
- 如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。
-\end{remind}
+若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
+% \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}{...}| 效果相同。
+\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 @@ Référence du théorème: \cref{thm:abc}
\end{code}
-% \clearpage
+\clearpage
\section{\texorpdfstring{\AmS{}}{AMS} 文档类写法}
如果日后有意切换到期刊模版,想采用 \AmS{} 文档类中的写法,可以参考下面的例子:
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index 52a279ea3b..2876e0abbe 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 645ba984c0..a09b697d61 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -1,5 +1,17 @@
%! 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,32 +44,30 @@
}
\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}%
{\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 @@ This documentation is typeset using \beaulivre{} (with the option \texttt{allowb
\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 @@ This documentation is typeset using \beaulivre{} (with the option \texttt{allowb
\chapter{Initialization}
-\section{How to load}
+\section{How to load it}
One only needs to put
\begin{code}
@@ -132,9 +142,9 @@ One only needs to put
\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,32 +164,36 @@ as the first line to use the \beaulivre{} class.
\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.
\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 @@ Many of the features described next are provided by the \ProjLib{} toolkit. Only
\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 @@ In addition, you can also add new settings to selected language:
\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 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
\medskip
The following are the main styles of theorem-like environments:
@@ -271,7 +290,7 @@ The following are the main styles of theorem-like environments:
Remark style
\end{remark}
-\vspace{-.5\baselineskip}
+\vspace{-.7\baselineskip}
\begin{conjecture}
Conjecture style
\end{conjecture}
@@ -299,21 +318,13 @@ For aesthetics, adjacent definitions will be connected together automatically:
\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}
-
-\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
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+ \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
+
+\medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -344,18 +355,19 @@ And then define this environment in one of following five ways:
\end{itemize}
\end{itemize}
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<section>
\bigskip
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<section>
\end{code}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index e1fa8d3e8b..68555495d2 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/05/24 A colorful book style]
+ [2021/06/07 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,11 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
@@ -39,6 +44,18 @@
\if@colorclass@draft
\@colorclass@fasttrue
\fi
+\if@colorclass@palatino
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@times
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@garamond
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@biolinum
+ \@colorclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -85,8 +102,10 @@
%% Fonts
%%================================
%% Math fonts in fast mode
-\if@colorclass@fast
- \RequirePackage{mathpazo}
+\if@colorclass@customfont\else
+ \if@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@colorclass@customfont\else
\if@colorclass@fast
\RequirePackage{amssymb}
\else
@@ -212,10 +233,64 @@
\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
\fi
+\fi
+
+\let\colorist@sffamily\sffamily
+\let\colorist@textsc\textsc
+
+\if@colorclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@colorclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@sffamily\relax
+\fi
+
+\if@colorclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@sffamily\relax
+\fi
+
+\if@colorclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/unicodetex/latex/einfart/README.md b/macros/unicodetex/latex/einfart/README.md
index 58ceae6fbf..fcbc608e99 100644
--- a/macros/unicodetex/latex/einfart/README.md
+++ b/macros/unicodetex/latex/einfart/README.md
@@ -6,8 +6,9 @@
clear 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 `minimalist` class series.
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
index fece759401..9981934f23 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 058440e3fa..ca0fdf1df0 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -1,5 +1,8 @@
%! TEX program = xelatex
-\documentclass{einfart}
+\documentclass[puretext]{einfart}
+
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
\linenumbers % 开启行号
@@ -36,8 +39,8 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,
- color,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {linenumbers,nolinenumbers,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -47,19 +50,19 @@
{\ResumeLineNumbers}
%%================================
-%% remind
+%% tip
%%================================
\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][提示]{%
+\newenvironment{tip}[1][提示]{%
\LocallyStopLineNumbers%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
boxed title style = {boxrule=0pt, colframe=paper},
before skip = 0.3cm,
after skip = 0.3cm,
@@ -84,15 +87,15 @@
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\einfart{} 2021/05/23}}
-\date{2021年5月,北京}
+\thanks{对应版本. \texttt{\einfart{} 2021/06/07}}
+\date{2021年6月,北京}
\maketitle
\begin{abstract}
\einfart{} 是 \minimalist{} 文档类系列的成员之一,其名称取自于德文的 einfach (``简约''),并取了 artikel (``文章'') 的前三个字母组合而成。整个 \minimalist{} 系列包含用于排版文章的 \minimart{}、\einfart{} 以及用于排版书的 \minimbook{}、\simplivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之看上去简朴而不简陋。
- \einfart{} 支持英文、法文、德文、中文、日文、俄文六种语言,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
+ \einfart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
这篇说明文档即是用 \einfart{} 排版的,你可以把它看作一份简短的说明与演示。
\end{abstract}
@@ -100,9 +103,9 @@
\tableofcontents
\bigskip
-\begin{remind}
+\begin{tip}
多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。
-\end{remind}
+\end{tip}
\clearpage
\section{初始化}
@@ -135,6 +138,10 @@
\begin{itemize}
\item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。
\end{itemize}
+ \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
+ \begin{itemize}
+ \item 字体选项。顾名思义,会加载相应名称的字体。
+ \end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
@@ -145,12 +152,12 @@
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
\item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
\item 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
\end{itemize}
-\end{remind}
+\end{tip}
\section{关于文档类中使用的字体}
\einfart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
@@ -170,7 +177,7 @@
\subsection{语言设置}
-\einfart{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文。可以通过下列命令来选定语言:
+\einfart{} 提供了多语言支持,包括英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文。可以通过下列命令来选定语言:
\begin{itemize}
\item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}|,用于指定语言,在其后将使用对应的语言设定。
\begin{itemize}
@@ -182,15 +189,19 @@
\end{itemize}
\end{itemize}
-\meta{language name} 有下列选择:
+\meta{language name} 有下列选择 (不区分大小写,如 \texttt{French} 或 \texttt{french} 均可):
\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}
+ \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}
另外,还可以通过下面的方式来填加相应语言的设置:
@@ -212,11 +223,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}
@@ -235,25 +246,20 @@
\end{theorem}
默认情况下,引用时,定理的名称总是与定理所在区域的语言匹配,例如,上面的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。如果在引用时想让定理的名称与当前语境相匹配,可以在全局选项中加入 \texttt{regionalref}。
-\end{remind}
+\end{tip}
\UseLanguage{Chinese}
\subsection{定义新的定理型环境}
-若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称 \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{-0.3\baselineskip}
-\begin{remind}
- 如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。
-\end{remind}
+若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
+% \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}{...}| 效果相同。
然后用下面五种方式之一定义这一环境:
\begin{itemize}
@@ -285,11 +291,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}<subsection>
@@ -297,7 +304,7 @@
下面提供一个例子。这三行代码:
\begin{code}
- \def\proofideanameCN{思路}
+ \NameTheorem[CN]{proofidea}{思路}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
@@ -334,7 +341,7 @@
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -350,6 +357,7 @@
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index 9fecd39dda..6123cb245a 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 5e42a556a0..f984c7eb10 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -1,5 +1,8 @@
%! TEX program = xelatex
-\documentclass{einfart}
+\documentclass[puretext]{einfart}
+
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
\linenumbers % Enable line numbers
@@ -34,8 +37,8 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,
- color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {linenumbers,nolinenumbers,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -45,25 +48,25 @@
{\ResumeLineNumbers}
%%================================
-%% remind
+%% tip
%%================================
\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
\LocallyStopLineNumbers%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
boxed title style = {boxrule=0pt, colframe=paper},
before skip = 0.3cm,
after skip = 0.3cm,
top = 3mm,
bottom = 3mm,
- title={\sffamily #1}]%
+ title={\scshape\sffamily #1}]%
}{\end{tcolorbox}\ResumeLineNumbers}
%%================================
@@ -82,15 +85,15 @@
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\einfart{} 2021/05/23}}
-\date{May 2021, Beijing}
+\thanks{Corresponding to: \texttt{\einfart{} 2021/06/07}}
+\date{June 2021, Beijing}
\maketitle
\begin{abstract}
\einfart{} is part of the \minimalist{} class series, whose name is taken from German word ``einfach'' (``simple''), combined with the first three letters of ``artikel'' (``article''). The entire collection includes \minimart{} and \einfart{} for typesetting articles, and \minimbook{} and \simplivre{} for typesetting books. My original intention in designing them was to write drafts and notes that look simple yet not shabby.
- \einfart{} 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, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
+ \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.
\end{abstract}
@@ -98,14 +101,14 @@
\tableofcontents
\bigskip
-\begin{remind}
+\begin{tip}
Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{remind}
+\end{tip}
\clearpage
\section{Initialization}
-\subsection{How to load}
+\subsection{How to load it}
One only needs to put
\begin{code}
@@ -131,6 +134,10 @@ as the first line to use the \einfart{} class. Please note that you need to use
\begin{itemize}
\item Optional paper size. The default paper size is 7in $\times$ 10in.
\end{itemize}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+ \begin{itemize}
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \end{itemize}
\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.
@@ -141,15 +148,15 @@ as the first line to use the \einfart{} class. Please note that you need to use
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+ \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
\item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
\end{itemize}
-\end{remind}
+\end{tip}
\section{On the fonts}
-By default, \einfart{} 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, \einfart{} 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} ).
% \begin{itemize}
% \item English main font. \textsf{English sans serif font}.
@@ -159,28 +166,32 @@ By default, \einfart{} uses Palatino Linotype as the English font, FounderType's
When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
-\section{Some instructions}
+\section{Instructions}
Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
\subsection{Language configuration}
-\einfart{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\einfart{} 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
@@ -200,14 +211,14 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly.
+Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly.
More specifically, preset environments include:
-\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
-\begin{remind}[Example]
+\begin{tip}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
@@ -227,26 +238,19 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
\UseLanguage{English}
\subsection{Define a new theorem-like environment}
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
-% \vspace{-.5\baselineskip}
-\begin{longtable}{ll|ll}
- \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
- \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
- \texttt{EN} & English & \texttt{RU} & Russian\\
- \texttt{FR} & French & &\\
-\end{longtable}
-
-\vspace{-.5\baselineskip}
-\begin{remind}
- If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\vspace{-0.3\baselineskip}
+\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}{...}| .
And then define this environment in one of following five ways:
\begin{itemize}
@@ -278,11 +282,12 @@ And then define this environment in one of following five ways:
\end{itemize}
\end{itemize}
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
@@ -290,17 +295,19 @@ And then define this environment in one of following five ways:
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context. The effect is as follows:
+\vspace{-0.3\baselineskip}
\begin{proofidea*}
The \lstinline|proofidea*| environment.
\end{proofidea*}
+\vspace{-\baselineskip}
\begin{proofidea}
The \lstinline|proofidea| environment.
\end{proofidea}
@@ -317,6 +324,7 @@ Similarly, there is \lstinline|\needgraph| :
\item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
+
\subsection{On the title, abstract and keywords}
\einfart{} has both the features of standard classes and that of the \AmS{} classes.
@@ -325,7 +333,7 @@ Therefore, the title part can either be written in the usual way, in accordance
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -341,6 +349,7 @@ or written in the way of \AmS{} classes:
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
@@ -367,7 +376,7 @@ The author information can contain multiple groups, written as:
Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
-\clearpage
+
\subsection{On the line numbers}
Line numbers can be turned on and off at any time. \lstinline|\linenumbers| is used to enable the line numbers, and \lstinline|\nolinenumbers| is used to disable them. For the sake of beauty, the title, table of contents, index and some other elements are not numbered.
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index 52bad4daaa..46afa4f549 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/05/23 A simple and clear article style]
+ [2021/06/07 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -28,6 +28,11 @@
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{classical}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
@@ -40,6 +45,18 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
+\if@minimclass@palatino
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@times
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@garamond
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@biolinum
+ \@minimclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -89,8 +106,10 @@
%% Fonts
%%================================
%% Math fonts in fast mode
-\if@minimclass@fast
- \RequirePackage{mathpazo}
+\if@minimclass@customfont\else
+ \if@minimclass@fast
+ \RequirePackage{mathpazo}
+ \fi
\fi
%% English fonts
@@ -118,6 +137,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 ,
@@ -167,6 +187,7 @@
}
%% Math font
+\if@minimclass@customfont\else
\if@minimclass@fast
\RequirePackage{amssymb}
\else
@@ -216,10 +237,59 @@
\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
\fi
+\fi
+
+\if@minimclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@minimclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/unicodetex/latex/lebhart/README.md b/macros/unicodetex/latex/lebhart/README.md
index de8ab4733b..b9092c4e26 100644
--- a/macros/unicodetex/latex/lebhart/README.md
+++ b/macros/unicodetex/latex/lebhart/README.md
@@ -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.
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
index c9caec16c3..16e1ded147 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 196b121790..3006ee300b 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -1,5 +1,17 @@
%! TEX program = xelatex
-\documentclass[allowbf]{lebhart}
+\documentclass[allowbf,puretext]{lebhart}
+
+\theoremstyle{basic}
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
+\CreateTheorem{conjecture}<highest>
+\CreateTheorem*{example*}
+\CreateTheorem{problem}<highest>
+
+\theoremstyle{emphasis}
+\CreateTheorem{remark}<highest>
+
+\theoremstyle{simple}
%%================================
%% 引入工具集
@@ -34,25 +46,24 @@
}
\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}%
{\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,
@@ -77,15 +88,15 @@
\title{{\normalfont\textbf{\textsf{lebhart}}},以多彩的方式排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\lebhart{} 2021/05/24}}
-\date{2021年5月,北京}
+\thanks{对应版本. \texttt{\lebhart{} 2021/06/07}}
+\date{2021年6月,北京}
\maketitle
\begin{abstract}
\lebhart{} 是 \colorist{} 文档类系列的成员之一,其名称取自于德文的lebhaft (活泼),并取了artikel (文章)的前三个字母组合而成。整个 \colorist{} 系列包含用于排版文章的 \colorart{}、\lebhart{} 以及用于排版书的 \colorbook{}、\beaulivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之多彩而不缭乱。
- \lebhart{} 支持英文、法文、德文、中文、日文、俄文六种语言,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
+ \lebhart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
这篇说明文档即是用 \lebhart{} 排版的 (使用了参数 \texttt{allowbf}),你可以把它看作一份简短的说明与演示。
\end{abstract}
@@ -93,9 +104,9 @@
\tableofcontents
\bigskip\bigskip
-\begin{remind}
+\begin{tip}
多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。
-\end{remind}
+\end{tip}
\clearpage
\section{初始化}
@@ -128,33 +139,37 @@
\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 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
\item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
\end{itemize}
-\end{remind}
+\end{tip}
\medskip
\section{关于文档类中使用的字体}
-\lebhart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
+\lebhart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费的,需要自行购买使用,可在方正字库网站查询详细信息:\url{https://www.foundertype.com}。
-\begin{remind}[字体演示]
- \begin{itemize}
+\begin{tip}[字体演示]
+ \begin{itemize}\setstretch{1.15}
\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}
在没有安装相应的字体时,将采用TeX Live中自带的字体来代替,效果可能会有所折扣。
-\clearpage
+
\section{使用说明}
接下来介绍的许多功能是由 \ProjLib{} 工具箱提供的。这里只介绍了基本使用方法,更多细节可以直接参阅其用户文档。
@@ -162,7 +177,7 @@
\medskip
\subsection{语言设置}
-\lebhart{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文。可以通过下列命令来选定语言:
+\lebhart{} 提供了多语言支持,包括英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文。可以通过下列命令来选定语言:
\begin{itemize}
\item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}|,用于指定语言,在其后将使用对应的语言设定。
\begin{itemize}
@@ -174,15 +189,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}
另外,还可以通过下面的方式来填加相应语言的设置:
@@ -204,12 +223,12 @@
定义、定理等环境已经被预定义,可以直接使用。
具体来说,预设的定理类环境包括:
-\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|*| 的无编号版本。
\medskip
在引用定理类环境时,建议使用智能引用 \lstinline|\cref{|\meta{label}\lstinline|}|。这样就不必每次都写上相应环境的名称了。
-\begin{remind}[例子]
+\begin{tip}[例子]
\begin{code}
\begin{definition}[奇异物品] \label{def: strange} ...
\end{code}
@@ -229,7 +248,7 @@
\end{theorem}
默认情况下,引用时,定理的名称总是与定理所在区域的语言匹配,例如,上面的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。如果在引用时想让定理的名称与当前语境相匹配,可以在全局选项中加入 \texttt{regionalref}。
-\end{remind}
+\end{tip}
\bigskip
下面是定理类环境的几种主要样式:
@@ -269,22 +288,18 @@
\UseLanguage{Chinese}
-\clearpage
-\subsection{定义新的定理型环境}
-若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称 \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}
+\subsection{定义新的定理型环境}
-\vspace{-\baselineskip}
-\begin{remind}
- 如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。
-\end{remind}
+若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
+% \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}{...}| 效果相同。
+\medskip
然后用下面五种方式之一定义这一环境:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -315,11 +330,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}<subsection>
@@ -327,7 +343,7 @@
下面提供一个例子。这三行代码:
\begin{code}
- \def\proofideanameCN{思路}
+ \NameTheorem[CN]{proofidea}{思路}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
@@ -364,7 +380,7 @@
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -380,6 +396,7 @@
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
@@ -410,7 +427,7 @@
\section{目前存在的问题}
\begin{itemize}[itemsep=.6em]
- \item 目录、part、chapter 的设计依然有待改良。
+ \item 目录、part 的设计依然有待改良。
\item 对于字体的设置仍然不够完善。
\item 由于很多核心功能建立在 \ProjLib{} 工具箱的基础上,因此 \lebhart{} 自然继承了其所有问题。详情可以参阅 \ProjLib{} 用户文档的“目前存在的问题”这一小节。
\item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index c3f8cefee0..7d3e18422f 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 53da4a67c5..12af55b452 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -1,5 +1,17 @@
%! TEX program = xelatex
-\documentclass[allowbf]{lebhart}
+\documentclass[allowbf,puretext]{lebhart}
+
+\theoremstyle{basic}
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
+\CreateTheorem{conjecture}<highest>
+\CreateTheorem*{example*}
+\CreateTheorem{problem}<highest>
+
+\theoremstyle{emphasis}
+\CreateTheorem{remark}<highest>
+
+\theoremstyle{simple}
%%================================
%% Import toolkit
@@ -32,32 +44,30 @@
}
\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}%
{\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}}
%%================================
@@ -76,15 +86,15 @@
\title{{\normalfont\textbf{\textsf{lebhart}}}, write your articles in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\lebhart{} 2021/05/24}}
-\date{May 2021, Beijing}
+\thanks{Corresponding to: \texttt{\lebhart{} 2021/06/07}}
+\date{June 2021, Beijing}
\maketitle
\begin{abstract}
\lebhart{} is a member of the \colorist{} class series. Its name is taken from German word ``lebhaft'' (``vividly''), combined with the first three letters of ``artikel'' (``article''). 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.
- \lebhart{} 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, \lebhart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
+ \lebhart{} 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, \lebhart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
This documentation is typeset using \lebhart{} (with the option \texttt{allowbf}). You can think of it as a short introduction and demonstration.
\end{abstract}
@@ -92,15 +102,15 @@
\tableofcontents
\bigskip
-\begin{remind}
+\begin{tip}
Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{remind}
+\end{tip}
\clearpage
\section{Initialization}
-\subsection{How to load}
+\subsection{How to load it}
One only needs to put
\begin{code}
@@ -126,28 +136,32 @@ as the first line to use the \lebhart{} class. Please note that you need to use
\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.
\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}
\section{On the fonts}
-By default, \lebhart{} 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, \lebhart{} 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} ).
-\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}
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.
@@ -158,22 +172,26 @@ Many of the features described next are provided by the \ProjLib{} toolkit. Only
\bigskip
\subsection{Language configuration}
-\lebhart{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\lebhart{} 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
@@ -193,16 +211,15 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\bigskip
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly.
+Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly.
More specifically, preset environments include:
-\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
\medskip
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
-\clearpage
-\begin{remind}[Example]
+\begin{tip}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
@@ -223,7 +240,7 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
\bigskip
@@ -264,23 +281,16 @@ For aesthetics, adjacent definitions will be connected together automatically:
\UseLanguage{English}
-\clearpage
-\subsection{Define a new theorem-like environment}
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
-% \vspace{-.5\baselineskip}
-\begin{longtable}{ll|ll}
- \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
- \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
- \texttt{EN} & English & \texttt{RU} & Russian\\
- \texttt{FR} & French & &\\
-\end{longtable}
+\subsection{Define a new theorem-like environment}
-\vspace{-.5\baselineskip}
-\begin{remind}
- If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+ \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
+\medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -311,18 +321,19 @@ And then define this environment in one of following five ways:
\end{itemize}
\end{itemize}
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\bigskip
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
@@ -356,7 +367,7 @@ Therefore, the title part can either be written in the usual way, in accordance
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -372,6 +383,7 @@ or written in the way of \AmS{} classes:
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
@@ -383,7 +395,7 @@ or written in the way of \AmS{} classes:
\maketitle
\end{code}
-\clearpage %\medskip
+\medskip
The author information can contain multiple groups, written as:
\begin{code}
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index 7a3b261fe8..799021b560 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/05/24 A colorful article style]
+ [2021/06/07 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,11 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
@@ -39,6 +44,18 @@
\if@colorclass@draft
\@colorclass@fasttrue
\fi
+\if@colorclass@palatino
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@times
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@garamond
+ \@colorclass@customfonttrue
+\fi
+\if@colorclass@biolinum
+ \@colorclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -85,8 +102,10 @@
%% Fonts
%%================================
%% Math fonts in fast mode
-\if@colorclass@fast
- \RequirePackage{mathpazo}
+\if@colorclass@customfont\else
+ \if@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@colorclass@customfont\else
\if@colorclass@fast
\RequirePackage{amssymb}
\else
@@ -212,10 +233,64 @@
\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
\fi
+\fi
+
+\let\colorist@sffamily\sffamily
+\let\colorist@textsc\textsc
+
+\if@colorclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@colorclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@sffamily\relax
+\fi
+
+\if@colorclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+ \let\colorist@sffamily\relax
+\fi
+
+\if@colorclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics
diff --git a/macros/unicodetex/latex/simplivre/README.md b/macros/unicodetex/latex/simplivre/README.md
index 57c73bd0f7..51b089deb2 100644
--- a/macros/unicodetex/latex/simplivre/README.md
+++ b/macros/unicodetex/latex/simplivre/README.md
@@ -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 `minimalist` class series.
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
index 61587e4a51..583248861b 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 0a16c1d99b..2261d59a63 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -1,5 +1,8 @@
%! TEX program = xelatex
-\documentclass{simplivre}
+\documentclass[puretext]{simplivre}
+
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
\linenumbers % 开启行号
@@ -36,8 +39,8 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,part,chapter,section,subsection,
- color,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib,parttext
+ {linenumbers,nolinenumbers,part,chapter,section,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib,parttext
}
}
\lstnewenvironment{code}%
@@ -47,10 +50,10 @@
{\ResumeLineNumbers}
%%================================
-%% remind
+%% tip
%%================================
\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][提示]{%
+\newenvironment{tip}[1][提示]{%
\LocallyStopLineNumbers%
\begin{tcolorbox}[breakable,
enhanced,
@@ -86,9 +89,9 @@
%%================================
\begin{document}
-% \title{\simplivre{},以极简主义风格排版你的图书\thanks{对应版本. \texttt{\simplivre{} 2021/05/23}}}
+% \title{\simplivre{},以极简主义风格排版你的图书\thanks{对应版本. \texttt{\simplivre{} 2021/06/07}}}
% \author{许锦文}
-% \date{2021年5月,北京}
+% \date{2021年6月,北京}
% \maketitle
@@ -99,9 +102,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{}\\\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/05/23}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 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%
@@ -110,14 +113,14 @@
\simplivre{} 是 \minimalist{} 文档类系列的成员之一,其名称取自于法文的 simple (“简约”),以及 livre (“书”),由二者组合而成。整个 \minimalist{} 系列包含用于排版文章的 \minimart{}、\einfart{} 以及用于排版书的 \minimbook{}、\simplivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之看上去简朴而不简陋。
-\simplivre{} 支持英文、法文、德文、中文、日文、俄文六种语言,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
+\simplivre{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。
这篇说明文档即是用 \simplivre{} 排版的,你可以把它看作一份简短的说明与演示。
\bigskip
-\begin{remind}
+\begin{tip}
多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。
-\end{remind}
+\end{tip}
\tableofcontents
@@ -138,9 +141,9 @@
即可使用 \simplivre{} 文档类。
-\begin{remind}[请注意]
+\begin{tip}[请注意]
要使用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎才能编译。
-\end{remind}
+\end{tip}
\section{选项}
@@ -160,6 +163,10 @@
\begin{itemize}
\item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。
\end{itemize}
+ \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
+ \begin{itemize}
+ \item 字体选项。顾名思义,会加载相应名称的字体。
+ \end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
@@ -170,12 +177,12 @@
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
\item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
\item 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
\end{itemize}
-\end{remind}
+\end{tip}
\bigskip
另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。
@@ -183,13 +190,13 @@
\chapter{关于文档类中使用的字体}
\simplivre{} 默认使用 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中自带的字体来代替,效果可能会有所折扣。
@@ -197,11 +204,13 @@
\chapter{使用说明}
+\vspace{-\baselineskip}
+
接下来介绍的许多功能是由 \ProjLib{} 工具箱提供的。这里只介绍了基本使用方法,更多细节可以直接参阅其用户文档。
\section{语言设置}
-\simplivre{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文。可以通过下列命令来选定语言:
+\simplivre{} 提供了多语言支持,包括英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文。可以通过下列命令来选定语言:
\begin{itemize}
\item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}|,用于指定语言,在其后将使用对应的语言设定。
\begin{itemize}
@@ -213,15 +222,19 @@
\end{itemize}
\end{itemize}
-\meta{language name} 有下列选择:
+\meta{language name} 有下列选择 (不区分大小写,如 \texttt{French} 或 \texttt{french} 均可):
\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}
+ \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}
另外,还可以通过下面的方式来填加相应语言的设置:
@@ -243,11 +256,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}
@@ -266,25 +279,20 @@
\end{theorem}
默认情况下,引用时,定理的名称总是与定理所在区域的语言匹配,例如,上面的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。如果在引用时想让定理的名称与当前语境相匹配,可以在全局选项中加入 \texttt{regionalref}。
-\end{remind}
+\end{tip}
\UseLanguage{Chinese}
\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{-0.3\baselineskip}
-\begin{remind}
- 如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。
-\end{remind}
+若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
+% \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}{...}| 效果相同。
然后用下面五种方式之一定义这一环境:
\begin{itemize}
@@ -316,11 +324,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>
@@ -328,7 +337,7 @@
下面提供一个例子。这三行代码:
\begin{code}
- \def\proofideanameCN{思路}
+ \NameTheorem[CN]{proofidea}{思路}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<section>
\end{code}
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index ba97fdde84..aab038e356 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 db1db8e751..89fcf0812b 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -1,5 +1,8 @@
%! TEX program = xelatex
-\documentclass{simplivre}
+\documentclass[puretext]{simplivre}
+
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
\linenumbers % Enable line numbers
@@ -34,8 +37,8 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,part,chapter,section,subsection,
- color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib,parttext
+ {linenumbers,nolinenumbers,part,chapter,section,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib,parttext
}
}
\lstnewenvironment{code}%
@@ -45,25 +48,25 @@
{\ResumeLineNumbers}
%%================================
-%% remind
+%% tip
%%================================
\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
\LocallyStopLineNumbers%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
boxed title style = {boxrule=0pt, colframe=paper},
before skip = 0.3cm,
after skip = 0.3cm,
top = 3mm,
bottom = 3mm,
- title={\sffamily #1}]%
+ title={\scshape\sffamily #1}]%
}{\end{tcolorbox}\ResumeLineNumbers}
%%================================
@@ -98,9 +101,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{}\\\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/05/23}}};
- \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,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 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%
@@ -109,14 +112,14 @@
\simplivre{} is part of the \minimalist{} class series. Its name is taken from French words ``simple'' and ``livre'' (for ``book''). The entire collection includes \minimart{} and \einfart{} for typesetting articles, and \minimbook{} and \simplivre{} for typesetting books. My original intention in designing them was to write drafts and notes that look simple yet not shabby.
-\simplivre{} 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, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile.
+\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.
\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
@@ -127,7 +130,7 @@ This documentation is typeset using \simplivre{}. You can think of it as a short
\chapter{Initialization}
-\section{How to load}
+\section{How to load it}
One only needs to put
\begin{code}
@@ -135,9 +138,9 @@ One only needs to put
\end{code}
as the first line to use the \simplivre{} 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}
@@ -157,6 +160,10 @@ as the first line to use the \simplivre{} class.
\begin{itemize}
\item Optional paper size. The default paper size is 7in $\times$ 10in.
\end{itemize}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+ \begin{itemize}
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \end{itemize}
\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.
@@ -167,26 +174,26 @@ as the first line to use the \simplivre{} class.
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+ \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
\item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
\end{itemize}
-\end{remind}
+\end{tip}
\bigskip
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, \simplivre{} 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, \simplivre{} 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} ).
-\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.
@@ -194,27 +201,30 @@ When the corresponding font is not installed, fonts that comes with TeX Live wil
\chapter{Some instructions}
-\vspace{-1.5\baselineskip}
Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
\section{Language configuration}
-\simplivre{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\simplivre{} 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
@@ -234,14 +244,14 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\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{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
-\begin{remind}[Example]
+\begin{tip}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
@@ -261,27 +271,20 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
\UseLanguage{English}
\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}
-
-\vspace{-.5\baselineskip}
-\begin{remind}
- If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+ \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
+\medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -312,11 +315,12 @@ And then define this environment in one of following five ways:
\end{itemize}
\end{itemize}
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{tip}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<section>
@@ -324,7 +328,7 @@ And then define this environment in one of following five ways:
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<section>
\end{code}
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index bab668ae35..89c47fa8ec 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/05/23 A simple and clear book style]
+ [2021/06/07 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -28,6 +28,11 @@
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{classical}
+\DeclareBoolOption[false]{palatino}
+\DeclareBoolOption[false]{times}
+\DeclareBoolOption[false]{garamond}
+\DeclareBoolOption[false]{biolinum}
+\DeclareBoolOption[false]{customfont}
\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
@@ -40,6 +45,18 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
+\if@minimclass@palatino
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@times
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@garamond
+ \@minimclass@customfonttrue
+\fi
+\if@minimclass@biolinum
+ \@minimclass@customfonttrue
+\fi
%%================================
%% Page layout
@@ -89,8 +106,10 @@
%% Fonts
%%================================
%% Math fonts in fast mode
-\if@minimclass@fast
- \RequirePackage{mathpazo}
+\if@minimclass@customfont\else
+ \if@minimclass@fast
+ \RequirePackage{mathpazo}
+ \fi
\fi
%% English fonts
@@ -118,6 +137,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 ,
@@ -167,6 +187,7 @@
}
%% Math font
+\if@minimclass@customfont\else
\if@minimclass@fast
\RequirePackage{amssymb}
\else
@@ -216,10 +237,59 @@
\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
\fi
+\fi
+
+\if@minimclass@palatino
+ \RequirePackage{amssymb}
+ \RequirePackage{mathpazo}
+ \PassOptionsToPackage{defaultsups}{newpxtext}
+ \RequirePackage{newpxtext}
+ \RequirePackage{newpxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.07}}
+\fi
+
+\if@minimclass@times
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \RequirePackage{newtxtext}
+ \RequirePackage{newtxmath}
+ \let\openbox\relax
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@garamond
+ \RequirePackage{amssymb}
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \RequirePackage{ebgaramond-maths}
+ \RequirePackage{ebgaramond}
+ % \RequirePackage{garamondlibre}
+ \PJLsetlinespacing{\setstretch{1.00}}
+\fi
+
+\if@minimclass@biolinum
+ \RequirePackage{amssymb}
+ % \RequirePackage{mathpazo}
+ % \RequirePackage[sansmath]{libertinust1math}
+ \ifPDFTeX
+ \RequirePackage{biolinum}
+ \renewcommand*\familydefault{\biolinum@family}
+ \else
+ \PassOptionsToPackage{no-math}{fontspec}
+ \RequirePackage{fontspec}
+ \setmainfont{LinBiolinum_R.otf}[
+ BoldFont = LinBiolinum_RB.otf ,
+ ItalicFont = LinBiolinum_RI.otf ,
+ BoldItalicFont = LinBiolinum_RBO.otf ]
+ \fi
+ \PJLsetlinespacing{\setstretch{1.05}}
+ \RequirePackage[italic,defaultmathsizes]{mathastext}
+\fi
\def\PJL@font@alreadyset{}
-\RequirePackage[verbose=silent]{microtype}
+\PassOptionsToPackage{verbose=silent}{microtype}
+\RequirePackage{microtype}
%%================================
%% Graphics