diff options
Diffstat (limited to 'macros/unicodetex')
28 files changed, 1712 insertions, 1188 deletions
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf Binary files differindex 8fad479adf..8cfd4eb066 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf +++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex index e50d5d6f62..21aa37a489 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex +++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex @@ -16,38 +16,66 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -\lstnewenvironment{code}% -{\setstretch{1.07}% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% -}{} -\lstnewenvironment{code*}% -{\setstretch{1.07}% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% -}{} +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } +} +\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip @@ -91,7 +119,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \frontmatter @@ -113,7 +141,7 @@ \beaulivre{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。 -这篇说明文档即是用 \beaulivre{} 排版的 (使用了参数 \texttt{use boldface}),你可以把它看作一份简短的说明与演示。 +这篇说明文档即是用 \beaulivre{} 排版的 (使用了参数 \classoption{use boldface}),你可以把它看作一份简短的说明与演示。 \bigskip \begin{tip} @@ -262,13 +290,13 @@ Référence du théorème: \cref{thm:abc} \beaulivre{} 文档类有下面几个选项: -\begin{itemize} - \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等 +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等 \begin{itemize} \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。 \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。 \end{itemize} - \item \texttt{draft} 或 \texttt{fast} + \item \classoption{draft} 或 \classoption{fast} \begin{itemize} \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是: \begin{itemize} @@ -280,40 +308,40 @@ Référence du théorème: \cref{thm:abc} \begin{tip} 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。 \end{tip} - \item \texttt{a4paper} 或 \texttt{b5paper} + \item \classoption{a4paper} 或 \classoption{b5paper} \begin{itemize} \item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。 \end{itemize} - \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item 字体选项。顾名思义,会加载相应名称的字体。 - \item \texttt{useosf} 选项用来启用“旧式”数字。 + \item \classoption{useosf} 选项用来启用“旧式”数字。 \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。 \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item \lstinline|\subsubsection| 采用 ``runin'' 风格。 \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item 纯文本模式,不加载定理类环境。 \end{itemize} % \clearpage - \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter} \begin{itemize} \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。 \end{itemize} - \item \texttt{regionalref}、\texttt{originalref} + \item \classoption{regionalref}、\classoption{originalref} \begin{itemize} - \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 - \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。 + \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 + \item 在 \classoption{fast} 模式下,\classoption{originalref} 将不起作用。 \end{itemize} \end{itemize} \bigskip -另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。 +另外,排版图书时常用的 \classoption{oneside}、\classoption{twoside} 选项也是可以使用的。默认采用双页排版。 \LevelOneTitle{具体说明} diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf Binary files differindex 14f05ee2d7..0b0d279da8 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf +++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex index c9327150b2..863c1f5eb0 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex +++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex @@ -16,38 +16,66 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -\lstnewenvironment{code}% -{\setstretch{1.07}% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% -}{} -\lstnewenvironment{code*}% -{\setstretch{1.07}% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% -}{} +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } +} +\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip @@ -91,7 +119,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \frontmatter @@ -113,7 +141,7 @@ \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, \lebhart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile. -This documentation is typeset using \beaulivre{} (with the option \texttt{use boldface}). You can think of it as a short introduction and demonstration. +This documentation is typeset using \beaulivre{} (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration. \bigskip \begin{tip} @@ -263,13 +291,13 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \beaulivre{} offers the following options: -\begin{itemize} - \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language. \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower. \end{itemize} - \item \texttt{draft} or \texttt{fast} + \item \classoption{draft} or \classoption{fast} \begin{itemize} \item The option \verb|fast| enables a faster but slightly rougher style, main differences are: \begin{itemize} @@ -281,40 +309,40 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \begin{tip} During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode. \end{tip} - \item \texttt{a4paper} or \texttt{b5paper} + \item \classoption{a4paper} or \classoption{b5paper} \begin{itemize} \item Paper size options. The default paper size is 8.5in $\times$ 11in. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Font options. As the name suggest, font with corresponding name will be loaded. - \item The \texttt{useosf} option is used to enable the old-style figures. + \item The \classoption{useosf} option is used to enable the old-style figures. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Use the ``runin'' style for \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Pure text mode. Do not load theorem-like environments. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter} \begin{itemize} \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. - \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect. + \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. + \item In \classoption{fast} mode, the option \classoption{originalref} will have no effect. \end{itemize} \end{itemize} \bigskip -In addition, the commonly used \texttt{oneside} and \texttt{twoside} options are also available. Two-page layout is used by default. +In addition, the commonly used \classoption{oneside} and \classoption{twoside} options are also available. Two-page layout is used by default. \LevelOneTitle{Instructions by topic} diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf Binary files differindex f91d45a4b1..143389a347 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf +++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex index dd146fc22c..54b0cbfe25 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex +++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex @@ -16,38 +16,66 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -\lstnewenvironment{code}% -{\setstretch{1.07}% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% -}{} -\lstnewenvironment{code*}% -{\setstretch{1.07}% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% -}{} +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } +} +\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip @@ -91,7 +119,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \frontmatter @@ -113,7 +141,7 @@ \beaulivre{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \beaulivre{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation. -Cette documentation est composée à l'aide de \beaulivre{} (avec l'option \texttt{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration. +Cette documentation est composée à l'aide de \beaulivre{} (avec l'option \classoption{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration. \bigskip \begin{tip} @@ -263,13 +291,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \beaulivre{} propose les options suivantes : -\begin{itemize} - \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut. \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent. \end{itemize} - \item \texttt{draft} ou \texttt{fast} + \item \classoption{draft} ou \classoption{fast} \begin{itemize} \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont : \begin{itemize} @@ -281,39 +309,39 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \begin{tip} Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon. \end{tip} - \item \texttt{a4paper} ou \texttt{b5paper} + \item \classoption{a4paper} ou \classoption{b5paper} \begin{itemize} \item Options de format de papier. Le format de papier par défaut est 8.5 pouces $\times$ 11 pouces. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée. - \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne. + \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Utilisez le style «~runin~» pour \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Mode texte pur. Ne pas définir les environnements de type théorème. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter} \begin{itemize} \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». - \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet. + \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». + \item En mode \classoption{fast}, l'option \classoption{originalref} n'aura aucun effet. \end{itemize} \end{itemize} \bigskip -De plus, les options \texttt{oneside} et \texttt{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut. +De plus, les options \classoption{oneside} et \classoption{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut. \LevelOneTitle{Instructions par sujet} diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls index 7c63f73479..d06122aa4e 100644 --- a/macros/unicodetex/latex/beaulivre/beaulivre.cls +++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls @@ -15,11 +15,10 @@ %% and version 1.3c or later is part of all distributions of LaTeX version %% 2005/12/01 or later. %% -\NeedsTeXFormat{LaTeX2e}[2020-10-01] -\RequirePackage{l3keys2e} +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {beaulivre} - {2022/06/16} {} + {2022/09/03} {} {A colorful book style} \tl_const:Nn \l__colorclass_base_class_tl { book } @@ -126,7 +125,7 @@ \PassOptionsToPackage { \CurrentOption } { colorist } } } -\ProcessKeysOptions { colorclass } +\ProcessKeyOptions [ colorclass ] \LoadClass{\l__colorclass_base_class_tl} @@ -183,9 +182,6 @@ \RequirePackage { colorist } -\raggedbottom -\hfuzz=2pt -\vfuzz=2pt %%================================ %% Fonts @@ -193,6 +189,15 @@ \WarningFilter { latexfont } { Font~shape } \WarningFilter { latexfont } { Some~font } +\hook_gput_code:nnn { begindocument/before } { colorclass } + { + \IfPackageLoadedTF { biblatex } + { + \PassOptionsToPackage { biblatex } { embrac } + } {} + \RequirePackage { embrac } + } + \cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn { \bool_if:NT #1 @@ -231,46 +236,62 @@ { \bool_if:NTF \l__projlib_font_useosf_bool { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, Numbers = OldStyle , ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , Numbers = OldStyle , ] } { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , ] } - \setmonofont { NewCMMono10-Regular.otf } + \setmonofont { NewCMMono10 } [ Scale = 1.05 , - BoldFont = NewCMMono10-Bold.otf , - ItalicFont = NewCMMono10-Italic.otf , - BoldItalicFont = NewCMMono10-BoldOblique.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldOblique, ] \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } } + + \hook_gput_code:nnn { begindocument/before } { colorclass } + { + \RenewEmph{[}{]} + \RenewEmph{(}{)} + } } } @@ -281,48 +302,55 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKmainfont { SourceHanSerifSC-Regular } + \setCJKmainfont { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKmainfont { FandolSong-Regular.otf } + \setCJKmainfont { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKsansfont{SourceHanSansSC-Regular} + \setCJKsansfont { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKsansfont { FandolHei-Regular.otf } + \setCJKsansfont { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKmonofont { SourceHanMonoSC-Regular } + \setCJKmonofont { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -340,46 +368,53 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular } + \setCJKfamilyfont { SCmain } { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { SCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular } + \setCJKfamilyfont { SCsans } { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { SCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular } + \setCJKfamilyfont { SCmono } { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -398,46 +433,53 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerifTC-Regular } { - \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular } + \setCJKfamilyfont { TCmain } { SourceHanSerifTC } [ - BoldFont = SourceHanSerifTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { TCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSansTC-Regular } { - \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular } + \setCJKfamilyfont { TCsans } { SourceHanSansTC } [ - BoldFont = SourceHanSansTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { TCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMonoTC-Regular } { - \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular } + \setCJKfamilyfont { TCmono } { SourceHanMonoTC } [ - BoldFont = SourceHanMonoTC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoTC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -456,46 +498,53 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerif-Regular } { - \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular } + \setCJKfamilyfont { JPmain } { SourceHanSerif } [ - BoldFont = SourceHanSerif-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerif-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { JPmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSans-Regular } { - \setCJKfamilyfont { JPsans } { SourceHanSans-Regular } + \setCJKfamilyfont { JPsans } { SourceHanSans } [ - BoldFont = SourceHanSans-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSans-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { JPsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMono-Regular } { - \setCJKfamilyfont { JPmono } { SourceHanMono-Regular } + \setCJKfamilyfont { JPmono } { SourceHanMono } [ - BoldFont = SourceHanMono-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMono-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -547,9 +596,14 @@ \RequirePackage { unicode-math } \unimathsetup { math-style = ISO, partial = upright, nabla = upright } \setmathfont { KpMath-Regular.otf } + \setmathfont { KpMath-Regular.otf } + [ + range = \amalg , + Scale = 0.84625 + ] \setmathfont { KpMath-Sans.otf } [ - range = { \sum, \prod, \coprod } + range = { \sum } ] \setmathfont { latinmodern-math.otf } [ @@ -583,8 +637,8 @@ \cs_gset_eq:NN \square \mdwhtsquare } - % A temporary hack proposed in https://tex.stackexchange.com/a/647789 - \hook_gput_code:nnn { begindocument } { minimclass } + % https://tex.stackexchange.com/a/647789 + \hook_gput_code:nnn { begindocument } { colorclass } { \NewCommandCopy\unicodevdots\vdots \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}} @@ -669,8 +723,30 @@ \char_set_catcode_active:n { `\· } \cs_new_protected:Npn · { \ensuremath\cdot } -\PassOptionsToPackage { all } { nowidow } -\RequirePackage { nowidow } +%%================================ +%% Graphics +%%================================ +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } + +%%================================ +%% Icing on the cake +%%================================ +\bool_if:NT \l__colorclass_fast_bool { \endinput } + +\sys_if_engine_luatex:TF + { + \RequirePackage { lua-widow-control } + \lwcsetup { balanced } + } + { + \PassOptionsToPackage { all } { nowidow } + \RequirePackage { nowidow } + } \sys_if_engine_xetex:T { @@ -684,25 +760,6 @@ } } -\hook_gput_code:nnn { begindocument/before } { colorclass } - { - \IfPackageLoadedTF { biblatex } - { - \PassOptionsToPackage { biblatex } { embrac } - } {} - \RequirePackage { embrac } - } - -%%================================ -%% Graphics -%%================================ -\RequirePackage { graphicx } -\graphicspath { { images/ } } -\RequirePackage { wrapfig } -\RequirePackage { float } -\RequirePackage { caption } -\captionsetup { font = small } - \endinput %% %% End of file `beaulivre/beaulivre.cls'. diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf Binary files differindex 1cdbd80487..fb37baee06 100644 --- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf +++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex index df3e6ba662..df48a5f26c 100644 --- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex +++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex @@ -9,8 +9,6 @@ \usepackage{longtable} % breakable tables \usepackage{hologo} % more TeX logo -\usepackage{relsize} - \usepackage{blindtext} \UseLanguage{Chinese} @@ -19,46 +17,73 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, -} -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\lstnewenvironment{code}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -{\ResumeLineNumbers} -\lstnewenvironment{code*}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } } -{\ResumeLineNumbers} +\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{tip}[1][提示]{% +\newenvironment{tip}[1][提示] + {% \LocallyStopLineNumbers% \begin{tcolorbox}[breakable, enhanced, @@ -69,12 +94,16 @@ fonttitle = \sffamily, 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, + before skip = 3mm, + after skip = 3mm, + top = 2.5mm, + bottom = 1.5mm, title={\scshape\sffamily #1}]% -}{\end{tcolorbox}\ResumeLineNumbers} + } + {% + \end{tcolorbox}% + \ResumeLineNumbers% + } %%================================ %% Names @@ -97,7 +126,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \title{\einfart{},以极简主义风格排版你的文章} \author{许锦文} @@ -112,14 +141,10 @@ \einfart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。 - 这篇说明文档即是用 \einfart{} 排版的 (使用了参数 \texttt{classical}),你可以把它看作一份简短的说明与演示。 + 这篇说明文档即是用 \einfart{} 排版的 (使用了参数 \classoption{classical}),你可以把它看作一份简短的说明与演示。 \end{abstract} -\begin{tip} - This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete. -\end{tip} - \setcounter{tocdepth}{2} {\setstretch{1.07}\tableofcontents} @@ -309,13 +334,13 @@ Référence du théorème: \cref{thm:abc} \einfart{} 文档类有下面几个选项: -\begin{itemize} - \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等 +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等 \begin{itemize} \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。 \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。 \end{itemize} - \item \texttt{draft} 或 \texttt{fast} + \item \classoption{draft} 或 \classoption{fast} \begin{itemize} \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是: \begin{itemize} @@ -327,43 +352,43 @@ Référence du théorème: \cref{thm:abc} \begin{tip} 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。 \end{tip} - \item \texttt{a4paper} 或 \texttt{b5paper} + \item \classoption{a4paper} 或 \classoption{b5paper} \begin{itemize} \item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。 \end{itemize} - \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item 字体选项。顾名思义,会加载相应名称的字体。 - \item \texttt{useosf} 选项用来启用“旧式”数字。 + \item \classoption{useosf} 选项用来启用“旧式”数字。 \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。 \end{itemize} - \item \texttt{classical} + \item \classoption{classical} \begin{itemize} \item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。 \end{itemize} - \item \texttt{useindent} + \item \classoption{useindent} \begin{itemize} \item 采用段首缩进而不是段间间距。 \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item \lstinline|\subsubsection| 采用 ``runin'' 风格。 \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item 纯文本模式,不加载定理类环境。 \end{itemize} - \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter} \begin{itemize} \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。 \end{itemize} - \item \texttt{regionalref}、\texttt{originalref} + \item \classoption{regionalref}、\classoption{originalref} \begin{itemize} - \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 - \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。 + \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 + \item 在 \texttt{fast} 模式下,\classoption{originalref} 将不起作用。 \end{itemize} \end{itemize} diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf Binary files differindex 4351f108fa..ab9ca0478f 100644 --- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf +++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex index e30554fe83..d054d9a47f 100644 --- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex +++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex @@ -9,8 +9,6 @@ \usepackage{longtable} % breakable tables \usepackage{hologo} % more TeX logo -\usepackage{relsize} - \usepackage{blindtext} \UseLanguage{English} @@ -19,46 +17,73 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, -} -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\lstnewenvironment{code}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -{\ResumeLineNumbers} -\lstnewenvironment{code*}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } } -{\ResumeLineNumbers} +\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{tip}[1][Tip]{% +\newenvironment{tip}[1][Tip] + {% \LocallyStopLineNumbers% \begin{tcolorbox}[breakable, enhanced, @@ -69,12 +94,16 @@ fonttitle = \sffamily, 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, + before skip = 3mm, + after skip = 3mm, + top = 2.5mm, + bottom = 1.5mm, title={\scshape\sffamily #1}]% -}{\end{tcolorbox}\ResumeLineNumbers} + } + {% + \end{tcolorbox}% + \ResumeLineNumbers% + } %%================================ %% Names @@ -97,7 +126,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \title{\einfart{}, write your articles in a simple and clear way} \author{Jinwen XU} @@ -112,14 +141,10 @@ \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{} (with the option \texttt{classical}). You can think of it as a short introduction and demonstration. + This documentation is typeset using \einfart{} (with the option \classoption{classical}). You can think of it as a short introduction and demonstration. \end{abstract} -\begin{tip} - This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete. -\end{tip} - \setcounter{tocdepth}{2} \tableofcontents @@ -310,13 +335,13 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \einfart{} offers the following options: -\begin{itemize} - \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language. \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower. \end{itemize} - \item \texttt{draft} or \texttt{fast} + \item \classoption{draft} or \classoption{fast} \begin{itemize} \item The option \verb|fast| enables a faster but slightly rougher style, main differences are: \begin{itemize} @@ -328,43 +353,43 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \begin{tip} During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode. \end{tip} - \item \texttt{a4paper} or \texttt{b5paper} + \item \classoption{a4paper} or \classoption{b5paper} \begin{itemize} \item Paper size options. The default paper size is 7in $\times$ 10in. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Font options. As the name suggest, font with corresponding name will be loaded. - \item The \texttt{useosf} option is used to enable the old-style figures. + \item The \classoption{useosf} option is used to enable the old-style figures. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded. \end{itemize} - \item \texttt{classical} + \item \classoption{classical} \begin{itemize} \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation. \end{itemize} - \item \texttt{useindent} + \item \classoption{useindent} \begin{itemize} \item Use paragraph indentation instead of inter-paragraph spacing. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Use the ``runin'' style for \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Pure text mode. Do not load theorem-like environments. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter} \begin{itemize} \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. - \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect. + \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. + \item In \texttt{fast} mode, the option \classoption{originalref} will have no effect. \end{itemize} \end{itemize} diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf Binary files differindex 3f4126eb8a..d69a51a0ef 100644 --- a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf +++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex index c1c6298c4e..6d6d24d138 100644 --- a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex +++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex @@ -9,8 +9,6 @@ \usepackage{longtable} % breakable tables \usepackage{hologo} % more TeX logo -\usepackage{relsize} - \usepackage{blindtext} \UseLanguage{French} @@ -19,46 +17,73 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, -} -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\lstnewenvironment{code}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -{\ResumeLineNumbers} -\lstnewenvironment{code*}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } } -{\ResumeLineNumbers} +\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{tip}[1][Astuce]{% +\newenvironment{tip}[1][Astuce] + {% \LocallyStopLineNumbers% \begin{tcolorbox}[breakable, enhanced, @@ -69,12 +94,16 @@ fonttitle = \sffamily, 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, + before skip = 3mm, + after skip = 3mm, + top = 2.5mm, + bottom = 1.5mm, title={\scshape\sffamily #1}]% -}{\end{tcolorbox}\ResumeLineNumbers} + } + {% + \end{tcolorbox}% + \ResumeLineNumbers% + } %%================================ %% Names @@ -97,7 +126,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \title{\einfart{}, écrivez vos articles de manière simple et claire} \author{Jinwen XU} @@ -112,14 +141,10 @@ \einfart{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \einfart{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation. - Cette documentation est composée à l'aide de \einfart{} (avec l'option \texttt{classical}). Vous pouvez le considérer comme une courte introduction et une démonstration. + Cette documentation est composée à l'aide de \einfart{} (avec l'option \classoption{classical}). Vous pouvez le considérer comme une courte introduction et une démonstration. \end{abstract} -\begin{tip} - This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete. -\end{tip} - \setcounter{tocdepth}{2} \tableofcontents @@ -309,13 +334,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \LevelOneTitle{Les options} -\begin{itemize} - \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut. \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent. \end{itemize} - \item \texttt{draft} ou \texttt{fast} + \item \classoption{draft} ou \classoption{fast} \begin{itemize} \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont : \begin{itemize} @@ -327,43 +352,43 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \begin{tip} Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon. \end{tip} - \item \texttt{a4paper} ou \texttt{b5paper} + \item \classoption{a4paper} ou \classoption{b5paper} \begin{itemize} \item Options de format de papier. Le format de papier par défaut est 7 pouces $\times$ 10 pouces. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée. - \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne. + \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras. \end{itemize} - \item \texttt{classical} + \item \classoption{classical} \begin{itemize} \item Mode classique. Un style antique sera utilisé lorsque cette option est activée, comme dans la documentation actuelle. \end{itemize} - \item \texttt{useindent} + \item \classoption{useindent} \begin{itemize} \item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Utilisez le style «~runin~» pour \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Mode texte pur. Ne pas définir les environnements de type théorème. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter} \begin{itemize} \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». - \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet. + \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». + \item En mode \texttt{fast}, l'option \classoption{originalref} n'aura aucun effet. \end{itemize} \end{itemize} diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls index c27101fa25..e95c073d6f 100644 --- a/macros/unicodetex/latex/einfart/einfart.cls +++ b/macros/unicodetex/latex/einfart/einfart.cls @@ -15,11 +15,10 @@ %% and version 1.3c or later is part of all distributions of LaTeX version %% 2005/12/01 or later. %% -\NeedsTeXFormat{LaTeX2e}[2020-10-01] -\RequirePackage{l3keys2e} +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {einfart} - {2022/06/16} {} + {2022/09/03} {} {A simple and clear article style} \tl_const:Nn \l__minimclass_base_class_tl { article } @@ -133,7 +132,7 @@ \PassOptionsToPackage { \CurrentOption } { minimalist } } } -\ProcessKeysOptions { minimclass } +\ProcessKeyOptions [ minimclass ] \LoadClass{\l__minimclass_base_class_tl} @@ -204,9 +203,6 @@ \RequirePackage { minimalist } -\raggedbottom -\hfuzz=2pt -\vfuzz=2pt %%================================ %% Fonts @@ -214,6 +210,15 @@ \WarningFilter { latexfont } { Font~shape } \WarningFilter { latexfont } { Some~font } +\hook_gput_code:nnn { begindocument/before } { minimclass } + { + \IfPackageLoadedTF { biblatex } + { + \PassOptionsToPackage { biblatex } { embrac } + } {} + \RequirePackage { embrac } + } + \cs_new_protected:Nn \__minimclass_load_file_or_config:Nnn { \bool_if:NT #1 @@ -252,46 +257,62 @@ { \bool_if:NTF \l__projlib_font_useosf_bool { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, Numbers = OldStyle , ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , Numbers = OldStyle , ] } { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , ] } - \setmonofont { NewCMMono10-Regular.otf } + \setmonofont { NewCMMono10 } [ Scale = 1.05 , - BoldFont = NewCMMono10-Bold.otf , - ItalicFont = NewCMMono10-Italic.otf , - BoldItalicFont = NewCMMono10-BoldOblique.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldOblique, ] \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } } + + \hook_gput_code:nnn { begindocument/before } { minimclass } + { + \RenewEmph{[}{]} + \RenewEmph{(}{)} + } } } @@ -302,48 +323,55 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKmainfont { SourceHanSerifSC-Regular } + \setCJKmainfont { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKmainfont { FandolSong-Regular.otf } + \setCJKmainfont { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKsansfont{SourceHanSansSC-Regular} + \setCJKsansfont { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKsansfont { FandolHei-Regular.otf } + \setCJKsansfont { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKmonofont { SourceHanMonoSC-Regular } + \setCJKmonofont { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -361,46 +389,53 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular } + \setCJKfamilyfont { SCmain } { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { SCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular } + \setCJKfamilyfont { SCsans } { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { SCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular } + \setCJKfamilyfont { SCmono } { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -419,46 +454,53 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerifTC-Regular } { - \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular } + \setCJKfamilyfont { TCmain } { SourceHanSerifTC } [ - BoldFont = SourceHanSerifTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { TCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSansTC-Regular } { - \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular } + \setCJKfamilyfont { TCsans } { SourceHanSansTC } [ - BoldFont = SourceHanSansTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { TCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMonoTC-Regular } { - \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular } + \setCJKfamilyfont { TCmono } { SourceHanMonoTC } [ - BoldFont = SourceHanMonoTC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoTC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -477,46 +519,53 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerif-Regular } { - \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular } + \setCJKfamilyfont { JPmain } { SourceHanSerif } [ - BoldFont = SourceHanSerif-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerif-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { JPmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSans-Regular } { - \setCJKfamilyfont { JPsans } { SourceHanSans-Regular } + \setCJKfamilyfont { JPsans } { SourceHanSans } [ - BoldFont = SourceHanSans-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSans-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { JPsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMono-Regular } { - \setCJKfamilyfont { JPmono } { SourceHanMono-Regular } + \setCJKfamilyfont { JPmono } { SourceHanMono } [ - BoldFont = SourceHanMono-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMono-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -570,9 +619,14 @@ \RequirePackage { unicode-math } \unimathsetup { math-style = ISO, partial = upright, nabla = upright } \setmathfont { KpMath-Regular.otf } + \setmathfont { KpMath-Regular.otf } + [ + range = \amalg , + Scale = 0.84625 + ] \setmathfont { KpMath-Sans.otf } [ - range = { \sum, \prod, \coprod } + range = { \sum } ] \setmathfont { latinmodern-math.otf } [ @@ -606,7 +660,7 @@ \cs_gset_eq:NN \square \mdwhtsquare } - % A temporary hack proposed in https://tex.stackexchange.com/a/647789 + % https://tex.stackexchange.com/a/647789 \hook_gput_code:nnn { begindocument } { minimclass } { \NewCommandCopy\unicodevdots\vdots @@ -692,8 +746,30 @@ \char_set_catcode_active:n { `\· } \cs_new_protected:Npn · { \ensuremath\cdot } -\PassOptionsToPackage { all } { nowidow } -\RequirePackage { nowidow } +%%================================ +%% Graphics +%%================================ +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } + +%%================================ +%% Icing on the cake +%%================================ +\bool_if:NT \l__minimclass_fast_bool { \endinput } + +\sys_if_engine_luatex:TF + { + \RequirePackage { lua-widow-control } + \lwcsetup { balanced } + } + { + \PassOptionsToPackage { all } { nowidow } + \RequirePackage { nowidow } + } \sys_if_engine_xetex:T { @@ -707,25 +783,6 @@ } } -\hook_gput_code:nnn { begindocument/before } { minimclass } - { - \IfPackageLoadedTF { biblatex } - { - \PassOptionsToPackage { biblatex } { embrac } - } {} - \RequirePackage { embrac } - } - -%%================================ -%% Graphics -%%================================ -\RequirePackage { graphicx } -\graphicspath { { images/ } } -\RequirePackage { wrapfig } -\RequirePackage { float } -\RequirePackage { caption } -\captionsetup { font = small } - \endinput %% %% End of file `einfart/einfart.cls'. diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf Binary files differindex cde237718f..3b51e48fc9 100644 --- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf +++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex index 55e53b41af..c5140be7d8 100644 --- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex +++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex @@ -16,38 +16,66 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -\lstnewenvironment{code}% -{\setstretch{1.07}% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% -}{} -\lstnewenvironment{code*}% -{\setstretch{1.07}% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% -}{} +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } +} +\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip @@ -91,7 +119,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\以多彩的方式排版你的文章} \author{许锦文} @@ -106,7 +134,7 @@ \lebhart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。 - 这篇说明文档即是用 \lebhart{} 排版的 (使用了参数 \texttt{use boldface}),你可以把它看作一份简短的说明与演示。 + 这篇说明文档即是用 \lebhart{} 排版的 (使用了参数 \classoption{use boldface}),你可以把它看作一份简短的说明与演示。 \end{abstract} @@ -286,13 +314,6 @@ Référence du théorème: \cref{thm:abc} \end{tip} -\begin{tip} -如果你喜欢这个文档类,但又希望使用一种更加中规中矩的样式,那么不妨使用 \texttt{classical} 选项,就像这样: - -\begin{code} -\documentclass[classical]{lebhart} -\end{code} -\end{tip} \bigskip @@ -308,13 +329,13 @@ Référence du théorème: \cref{thm:abc} \lebhart{} 文档类有下面几个选项: -\begin{itemize} - \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等 +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等 \begin{itemize} \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。 \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。 \end{itemize} - \item \texttt{draft} 或 \texttt{fast} + \item \classoption{draft} 或 \classoption{fast} \begin{itemize} \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是: \begin{itemize} @@ -326,35 +347,35 @@ Référence du théorème: \cref{thm:abc} \begin{tip} 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。 \end{tip} - \item \texttt{a4paper} 或 \texttt{b5paper} + \item \classoption{a4paper} 或 \classoption{b5paper} \begin{itemize} \item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。 \end{itemize} - \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item 字体选项。顾名思义,会加载相应名称的字体。 - \item \texttt{useosf} 选项用来启用“旧式”数字。 + \item \classoption{useosf} 选项用来启用“旧式”数字。 \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。 \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item \lstinline|\subsubsection| 采用 ``runin'' 风格。 \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item 纯文本模式,不加载定理类环境。 \end{itemize} - \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter} \begin{itemize} \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。 \end{itemize} - \item \texttt{regionalref}、\texttt{originalref} + \item \classoption{regionalref}、\classoption{originalref} \begin{itemize} - \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 - \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。 + \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 + \item 在 \classoption{fast} 模式下,\classoption{originalref} 将不起作用。 \end{itemize} \end{itemize} diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf Binary files differindex 08043c1346..937cfd968a 100644 --- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf +++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex index b40f05cdd0..57af583316 100644 --- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex +++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex @@ -16,38 +16,66 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -\lstnewenvironment{code}% -{\setstretch{1.07}% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% -}{} -\lstnewenvironment{code*}% -{\setstretch{1.07}% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% -}{} +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } +} +\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip @@ -91,7 +119,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\write your articles in a colorful way} \author{Jinwen XU} @@ -106,7 +134,7 @@ \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{use boldface}). You can think of it as a short introduction and demonstration. + This documentation is typeset using \lebhart{} (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration. \end{abstract} @@ -287,13 +315,6 @@ or to use the \AmS{} class: \end{tip} -\begin{tip} -If you like the current document class, but want a more ``plain'' style, then you can use the option \texttt{classical}, like this: - -\begin{code} -\documentclass[classical]{lebhart} -\end{code} -\end{tip} % \clearpage @@ -307,13 +328,13 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \lebhart{} offers the following options: -\begin{itemize} - \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language. \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower. \end{itemize} - \item \texttt{draft} or \texttt{fast} + \item \classoption{draft} or \classoption{fast} \begin{itemize} \item The option \verb|fast| enables a faster but slightly rougher style, main differences are: \begin{itemize} @@ -325,36 +346,36 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \begin{tip} During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode. \end{tip} - \item \texttt{a4paper} or \texttt{b5paper} + \item \classoption{a4paper} or \classoption{b5paper} \begin{itemize} \item Paper size options. The default paper size is 8.5in $\times$ 11in. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Font options. As the name suggest, font with corresponding name will be loaded. - \item The \texttt{useosf} option is used to enable the old-style figures. + \item The \classoption{useosf} option is used to enable the old-style figures. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Use the ``runin'' style for \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Pure text mode. Do not load theorem-like environments. \end{itemize} % \clearpage - \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter} \begin{itemize} \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. - \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect. + \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. + \item In \classoption{fast} mode, the option \classoption{originalref} will have no effect. \end{itemize} \end{itemize} diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf Binary files differindex a94ea9c456..1e431ebd17 100644 --- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf +++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex index 369644bf47..ec1631a991 100644 --- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex +++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex @@ -16,38 +16,66 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -\lstnewenvironment{code}% -{\setstretch{1.07}% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% -}{} -\lstnewenvironment{code*}% -{\setstretch{1.07}% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% -}{} +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } +} +\lstnewenvironment{code}{\setstretch{1.05}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}}{\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip @@ -91,7 +119,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\écrivez vos articles de manière colorée} \author{Jinwen XU} @@ -106,7 +134,7 @@ \lebhart{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \lebhart{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation. - Cette documentation est composée à l'aide de \lebhart{} (avec l'option \texttt{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration. + Cette documentation est composée à l'aide de \lebhart{} (avec l'option \classoption{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration. \end{abstract} @@ -287,14 +315,6 @@ ou utilisez la classe \AmS{} : \vspace{-.5\baselineskip} \end{tip} -\begin{tip} -Si vous aimez la classe de document actuelle, mais que vous souhaitez un style plus «~simple~», vous pouvez utiliser l'option \texttt{classical}, comme ceci : - -\begin{code} -\documentclass[classical]{lebhart} -\end{code} -\vspace{-.5\baselineskip} -\end{tip} \LevelOneTitle{À propos des polices par défaut} @@ -308,13 +328,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \lebhart{} propose les options suivantes : -\begin{itemize} - \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut. \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent. \end{itemize} - \item \texttt{draft} ou \texttt{fast} + \item \classoption{draft} ou \classoption{fast} \begin{itemize} \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont : \begin{itemize} @@ -326,35 +346,35 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \begin{tip} Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon. \end{tip} - \item \texttt{a4paper} ou \texttt{b5paper} + \item \classoption{a4paper} ou \classoption{b5paper} \begin{itemize} \item Options de format de papier. Le format de papier par défaut est 8.5 pouces $\times$ 11 pouces. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée. - \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne. + \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Utilisez le style «~runin~» pour \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Mode texte pur. Ne pas définir les environnements de type théorème. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter} \begin{itemize} \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». - \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet. + \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». + \item En mode \classoption{fast}, l'option \classoption{originalref} n'aura aucun effet. \end{itemize} \end{itemize} diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls index 9635010f70..a78a85bccd 100644 --- a/macros/unicodetex/latex/lebhart/lebhart.cls +++ b/macros/unicodetex/latex/lebhart/lebhart.cls @@ -15,11 +15,10 @@ %% and version 1.3c or later is part of all distributions of LaTeX version %% 2005/12/01 or later. %% -\NeedsTeXFormat{LaTeX2e}[2020-10-01] -\RequirePackage{l3keys2e} +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {lebhart} - {2022/06/16} {} + {2022/09/03} {} {A colorful article style} \tl_const:Nn \l__colorclass_base_class_tl { article } @@ -126,7 +125,7 @@ \PassOptionsToPackage { \CurrentOption } { colorist } } } -\ProcessKeysOptions { colorclass } +\ProcessKeyOptions [ colorclass ] \LoadClass{\l__colorclass_base_class_tl} @@ -183,9 +182,6 @@ \RequirePackage { colorist } -\raggedbottom -\hfuzz=2pt -\vfuzz=2pt %%================================ %% Fonts @@ -193,6 +189,15 @@ \WarningFilter { latexfont } { Font~shape } \WarningFilter { latexfont } { Some~font } +\hook_gput_code:nnn { begindocument/before } { colorclass } + { + \IfPackageLoadedTF { biblatex } + { + \PassOptionsToPackage { biblatex } { embrac } + } {} + \RequirePackage { embrac } + } + \cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn { \bool_if:NT #1 @@ -231,46 +236,62 @@ { \bool_if:NTF \l__projlib_font_useosf_bool { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, Numbers = OldStyle , ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , Numbers = OldStyle , ] } { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , ] } - \setmonofont { NewCMMono10-Regular.otf } + \setmonofont { NewCMMono10 } [ Scale = 1.05 , - BoldFont = NewCMMono10-Bold.otf , - ItalicFont = NewCMMono10-Italic.otf , - BoldItalicFont = NewCMMono10-BoldOblique.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldOblique, ] \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } } + + \hook_gput_code:nnn { begindocument/before } { colorclass } + { + \RenewEmph{[}{]} + \RenewEmph{(}{)} + } } } @@ -281,48 +302,55 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKmainfont { SourceHanSerifSC-Regular } + \setCJKmainfont { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKmainfont { FandolSong-Regular.otf } + \setCJKmainfont { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKsansfont{SourceHanSansSC-Regular} + \setCJKsansfont { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKsansfont { FandolHei-Regular.otf } + \setCJKsansfont { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKmonofont { SourceHanMonoSC-Regular } + \setCJKmonofont { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -340,46 +368,53 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular } + \setCJKfamilyfont { SCmain } { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { SCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular } + \setCJKfamilyfont { SCsans } { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { SCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular } + \setCJKfamilyfont { SCmono } { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -398,46 +433,53 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerifTC-Regular } { - \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular } + \setCJKfamilyfont { TCmain } { SourceHanSerifTC } [ - BoldFont = SourceHanSerifTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { TCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSansTC-Regular } { - \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular } + \setCJKfamilyfont { TCsans } { SourceHanSansTC } [ - BoldFont = SourceHanSansTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { TCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMonoTC-Regular } { - \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular } + \setCJKfamilyfont { TCmono } { SourceHanMonoTC } [ - BoldFont = SourceHanMonoTC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoTC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -456,46 +498,53 @@ { \__colorclass_if_font_exist:nnn { SourceHanSerif-Regular } { - \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular } + \setCJKfamilyfont { JPmain } { SourceHanSerif } [ - BoldFont = SourceHanSerif-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerif-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { JPmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__colorclass_if_font_exist:nnn { SourceHanSans-Regular } { - \setCJKfamilyfont { JPsans } { SourceHanSans-Regular } + \setCJKfamilyfont { JPsans } { SourceHanSans } [ - BoldFont = SourceHanSans-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSans-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { JPsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__colorclass_if_font_exist:nnn { SourceHanMono-Regular } { - \setCJKfamilyfont { JPmono } { SourceHanMono-Regular } + \setCJKfamilyfont { JPmono } { SourceHanMono } [ - BoldFont = SourceHanMono-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMono-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -547,9 +596,14 @@ \RequirePackage { unicode-math } \unimathsetup { math-style = ISO, partial = upright, nabla = upright } \setmathfont { KpMath-Regular.otf } + \setmathfont { KpMath-Regular.otf } + [ + range = \amalg , + Scale = 0.84625 + ] \setmathfont { KpMath-Sans.otf } [ - range = { \sum, \prod, \coprod } + range = { \sum } ] \setmathfont { latinmodern-math.otf } [ @@ -583,8 +637,8 @@ \cs_gset_eq:NN \square \mdwhtsquare } - % A temporary hack proposed in https://tex.stackexchange.com/a/647789 - \hook_gput_code:nnn { begindocument } { minimclass } + % https://tex.stackexchange.com/a/647789 + \hook_gput_code:nnn { begindocument } { colorclass } { \NewCommandCopy\unicodevdots\vdots \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}} @@ -669,8 +723,30 @@ \char_set_catcode_active:n { `\· } \cs_new_protected:Npn · { \ensuremath\cdot } -\PassOptionsToPackage { all } { nowidow } -\RequirePackage { nowidow } +%%================================ +%% Graphics +%%================================ +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } + +%%================================ +%% Icing on the cake +%%================================ +\bool_if:NT \l__colorclass_fast_bool { \endinput } + +\sys_if_engine_luatex:TF + { + \RequirePackage { lua-widow-control } + \lwcsetup { balanced } + } + { + \PassOptionsToPackage { all } { nowidow } + \RequirePackage { nowidow } + } \sys_if_engine_xetex:T { @@ -684,25 +760,6 @@ } } -\hook_gput_code:nnn { begindocument/before } { colorclass } - { - \IfPackageLoadedTF { biblatex } - { - \PassOptionsToPackage { biblatex } { embrac } - } {} - \RequirePackage { embrac } - } - -%%================================ -%% Graphics -%%================================ -\RequirePackage { graphicx } -\graphicspath { { images/ } } -\RequirePackage { wrapfig } -\RequirePackage { float } -\RequirePackage { caption } -\captionsetup { font = small } - \endinput %% %% End of file `lebhart/lebhart.cls'. diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf Binary files differindex 4d831c22cc..d596dc7ad5 100644 --- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf +++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex index e49bd7a2b0..4a91ad2308 100644 --- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex +++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex @@ -9,8 +9,6 @@ \usepackage{longtable} % breakable tables \usepackage{hologo} % more TeX logo -\usepackage{relsize} - \usepackage{blindtext} \UseLanguage{Chinese} @@ -19,46 +17,73 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, -} -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\lstnewenvironment{code}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -{\ResumeLineNumbers} -\lstnewenvironment{code*}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } } -{\ResumeLineNumbers} +\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{tip}[1][提示]{% +\newenvironment{tip}[1][提示] + {% \LocallyStopLineNumbers% \begin{tcolorbox}[breakable, enhanced, @@ -69,12 +94,16 @@ fonttitle = \sffamily, 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, + before skip = 3mm, + after skip = 3mm, + top = 2.5mm, + bottom = 1.5mm, title={\scshape\sffamily #1}]% -}{\end{tcolorbox}\ResumeLineNumbers} + } + {% + \end{tcolorbox}% + \ResumeLineNumbers% + } %%================================ %% Names @@ -97,7 +126,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \frontmatter \LocallyStopLineNumbers @@ -122,17 +151,13 @@ \simplivre{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。 -这篇说明文档即是用 \simplivre{} 排版的 (使用了参数 \texttt{use boldface}),你可以把它看作一份简短的说明与演示。 +这篇说明文档即是用 \simplivre{} 排版的 (使用了参数 \classoption{use boldface}),你可以把它看作一份简短的说明与演示。 \bigskip \begin{tip} 多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。 \end{tip} -\begin{tip} - This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete. -\end{tip} - \tableofcontents \mainmatter @@ -275,13 +300,13 @@ Référence du théorème: \cref{thm:abc} \simplivre{} 文档类有下面几个选项: -\begin{itemize} - \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等 +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item 语言选项 \classoption{EN} / \classoption{english} / \classoption{English}、\classoption{FR} / \classoption{french} / \classoption{French},等等 \begin{itemize} \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。 \item 语言选项不是必需的,其主要用途是提高编译速度。不添加语言选项时效果是一样的,只是会更慢一些。 \end{itemize} - \item \texttt{draft} 或 \texttt{fast} + \item \classoption{draft} 或 \classoption{fast} \begin{itemize} \item 你可以使用选项 \verb|fast| 来启用快速但略微粗糙的样式,主要区别是: \begin{itemize} @@ -293,47 +318,47 @@ Référence du théorème: \cref{thm:abc} \begin{tip} 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅度。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。 \end{tip} - \item \texttt{a4paper} 或 \texttt{b5paper} + \item \classoption{a4paper} 或 \classoption{b5paper} \begin{itemize} \item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。 \end{itemize} - \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{noto}、\texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}、\classoption{times}、\classoption{garamond}、\classoption{noto}、\classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item 字体选项。顾名思义,会加载相应名称的字体。 - \item \texttt{useosf} 选项用来启用“旧式”数字。 + \item \classoption{useosf} 选项用来启用“旧式”数字。 \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。 \end{itemize} - \item \texttt{classical} + \item \classoption{classical} \begin{itemize} \item 经典模式。使用这一选项时,将会启用较为古色古香的风格,如同当前的这篇说明文档一样。 \end{itemize} - \item \texttt{useindent} + \item \classoption{useindent} \begin{itemize} \item 采用段首缩进而不是段间间距。 \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item \lstinline|\subsubsection| 采用 ``runin'' 风格。 \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item 纯文本模式,不加载定理类环境。 \end{itemize} - \item \texttt{nothmnum}、\texttt{thmnum} 或 \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}、\classoption{thmnum} 或 \classoption{thmnum=}\meta{counter} \begin{itemize} \item 定理类环境均不编号 / 按照 1、2、3 顺序编号 / 在 \meta{counter} 内编号。在没有使用任何选项的情况下将按照 \texttt{chapter} (书) 或 \texttt{section} (文章) 编号。 \end{itemize} - \item \texttt{regionalref}、\texttt{originalref} + \item \classoption{regionalref}、\classoption{originalref} \begin{itemize} - \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \texttt{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \texttt{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 - \item 在 \texttt{fast} 模式下,\texttt{originalref} 将不起作用。 + \item 在智能引用时,定理类环境的名称是否随当前语言而变化。默认为 \classoption{regionalref},即引用时采用当前语言对应的名称;例如,在中文语境中引用定理类环境时,无论原环境处在什么语境中,都将使用名称“定理、定义……”。若启用 \classoption{originalref},则引用时会始终采用定理类环境所处语境下的名称;例如,在英文语境中书写的定理,即使稍后在中文语境下引用时,仍将显示为 Theorem。 + \item 在 \texttt{fast} 模式下,\classoption{originalref} 将不起作用。 \end{itemize} \end{itemize} \bigskip -另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。 +另外,排版图书时常用的 \classoption{oneside}、\classoption{twoside} 选项也是可以使用的。默认采用双页排版。 \LevelOneTitle{具体说明} diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf Binary files differindex 7d769103fc..ba8d7cce47 100644 --- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf +++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex index a607310484..f70d41698c 100644 --- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex +++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex @@ -9,8 +9,6 @@ \usepackage{longtable} % breakable tables \usepackage{hologo} % more TeX logo -\usepackage{relsize} - \usepackage{blindtext} \UseLanguage{English} @@ -19,46 +17,73 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, -} -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\lstnewenvironment{code}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -{\ResumeLineNumbers} -\lstnewenvironment{code*}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } } -{\ResumeLineNumbers} +\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{tip}[1][Tip]{% +\newenvironment{tip}[1][Tip] + {% \LocallyStopLineNumbers% \begin{tcolorbox}[breakable, enhanced, @@ -69,12 +94,16 @@ fonttitle = \sffamily, 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, + before skip = 3mm, + after skip = 3mm, + top = 2.5mm, + bottom = 1.5mm, title={\scshape\sffamily #1}]% -}{\end{tcolorbox}\ResumeLineNumbers} + } + {% + \end{tcolorbox}% + \ResumeLineNumbers% + } %%================================ %% Names @@ -97,7 +126,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \LocallyStopLineNumbers @@ -123,17 +152,13 @@ \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{} (with the option \texttt{use boldface}). You can think of it as a short introduction and demonstration. +This documentation is typeset using \simplivre{} (with the option \classoption{use boldface}). You can think of it as a short introduction and demonstration. \bigskip \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{tip} -\begin{tip} - This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete. -\end{tip} - \tableofcontents \mainmatter @@ -277,13 +302,13 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \simplivre{} offers the following options: -\begin{itemize} - \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item The language options \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language. \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower. \end{itemize} - \item \texttt{draft} or \texttt{fast} + \item \classoption{draft} or \classoption{fast} \begin{itemize} \item The option \verb|fast| enables a faster but slightly rougher style, main differences are: \begin{itemize} @@ -295,48 +320,48 @@ In addition, Source Code Pro is used as the English sans serif font, New Compute \begin{tip} During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode. \end{tip} - \item \texttt{a4paper} or \texttt{b5paper} + \item \classoption{a4paper} or \classoption{b5paper} \begin{itemize} \item Paper size options. The default paper size is 7in $\times$ 10in. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Font options. As the name suggest, font with corresponding name will be loaded. - \item The \texttt{useosf} option is used to enable the old-style figures. + \item The \classoption{useosf} option is used to enable the old-style figures. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded. \end{itemize} - \item \texttt{classical} + \item \classoption{classical} \begin{itemize} \item Classic mode. An antique-looking style will be used when this option is enabled, like in the current documentation. \end{itemize} - \item \texttt{useindent} + \item \classoption{useindent} \begin{itemize} \item Use paragraph indentation instead of inter-paragraph spacing. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Use the ``runin'' style for \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Pure text mode. Do not load theorem-like environments. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} or \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} or \classoption{thmnum=}\meta{counter} \begin{itemize} \item Theorem-like environments will not be numbered / numbered in order 1, 2, 3... / numbered within \meta{counter}. If no option is used, they will be numbered within \texttt{chapter} (book) or \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \texttt{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \texttt{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. - \item In \texttt{fast} mode, the option \texttt{originalref} will have no effect. + \item When referencing, whether the name of the theorem-like environment changes with the current language. The default is \classoption{regionalref}, \emph{i.e.}, the name corresponding to the current language is used; for example, when referencing a theorem-like environment in English context, the names "Theorem, Definition..." will be used no matter which language context the original environment is in. If \classoption{originalref} is enabled, then the name will always remain the same as the original place; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Théorème''. + \item In \texttt{fast} mode, the option \classoption{originalref} will have no effect. \end{itemize} \end{itemize} \bigskip -In addition, the commonly used \texttt{oneside} and \texttt{twoside} options are also available. Two-page layout is used by default. +In addition, the commonly used \classoption{oneside} and \classoption{twoside} options are also available. Two-page layout is used by default. \LevelOneTitle{Instructions by topic} diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf Binary files differindex ceba510095..ef1a2d4bf3 100644 --- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf +++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex index 72156379c9..45c275b6bc 100644 --- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex +++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex @@ -9,8 +9,6 @@ \usepackage{longtable} % breakable tables \usepackage{hologo} % more TeX logo -\usepackage{relsize} - \usepackage{blindtext} \UseLanguage{French} @@ -19,46 +17,73 @@ %% For typesetting code %%================================ \usepackage{listings} -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightergray}{gray}{0.99} -\lstset{language=[LaTeX]TeX, - keywordstyle=\color{maintheme}, - basicstyle=\ttfamily, - commentstyle=\color{forestgreen}\ttfamily, - stringstyle=\rmfamily, - showstringspaces=false, - breaklines=true, - frame=lines, - backgroundcolor=\color{lightergray}, - flexiblecolumns=true, - escapeinside={(*}{*)}, - % numbers=left, - numberstyle=\scriptsize, stepnumber=1, numbersep=5pt, - % firstnumber=last, -} -\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{moretexcs=% - {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href, - color,NameTheorem,CreateTheorem,cref,DNF,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate,ProjLib,qedhere - } +\usepackage{xcolor} +\usepackage{setspace} +\definecolor{code-main}{RGB}{70,130,180} +\definecolor{code-expl3}{RGB}{240,50,60} +\definecolor{code-option}{RGB}{40,110,20} +\definecolor{code-keys}{RGB}{100,130,150} +\definecolor{code-comment}{RGB}{20,120,80} +\definecolor{code-background}{gray}{0.99} +\lstset{ + language = [LaTeX]TeX, + basicstyle = \ttfamily, + keywordstyle = \color{code-main}, + commentstyle = \color{code-comment}, + showstringspaces = false, + breaklines = true, + frame = lines, + backgroundcolor = \color{code-background}, + flexiblecolumns = true, + escapeinside = {(*}{*)}, + alsoletter = {_,:}, + % numbers = left, + % firstnumber = last, + numberstyle = \scriptsize\ttfamily, + stepnumber = 1, + numbersep = 5pt, } -\lstnewenvironment{code}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{columns=fullflexible,keepspaces=true}% +\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} +\lstset{% LaTeX2 commands + classoffset = 0, + texcsstyle =* \color{code-main}, + moretexcs = + { + linenumbers,nolinenumbers, + part,parttext,chapter,section,subsection,subsubsection, + frontmatter,mainmatter,backmatter, + tableofcontents, + href, + color, + NameTheorem,CreateTheorem, + cref, + ProjLib, + DNF, + UseLanguage,UseOtherLanguage,AddLanguageSetting, + maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,TheDate, + qedhere, + } } -{\ResumeLineNumbers} -\lstnewenvironment{code*}% -{\setstretch{1.07}\LocallyStopLineNumbers% -\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}% +\lstset{% LaTeX3 commands + classoffset = 1, + texcsstyle =* \color{code-expl3}, + moretexcs = + { + } } -{\ResumeLineNumbers} +\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} +\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}} + +\newcommand{\classoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}} +\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}} %%================================ %% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{tip}[1][Astuce]{% +\newenvironment{tip}[1][Astuce] + {% \LocallyStopLineNumbers% \begin{tcolorbox}[breakable, enhanced, @@ -69,12 +94,16 @@ fonttitle = \sffamily, 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, + before skip = 3mm, + after skip = 3mm, + top = 2.5mm, + bottom = 1.5mm, title={\scshape\sffamily #1}]% -}{\end{tcolorbox}\ResumeLineNumbers} + } + {% + \end{tcolorbox}% + \ResumeLineNumbers% + } %%================================ %% Names @@ -97,7 +126,7 @@ %%================================ \begin{document} -\def\PackageVersion{2022/06/16} +\def\PackageVersion{2022/09/03} \frontmatter \LocallyStopLineNumbers @@ -122,17 +151,13 @@ \simplivre{} prend en charge plusieurs langues, notamment le chinois (simplifié et traditionnel), l'anglais, le français, l'allemand, l'italien, le japonais, le portugais (européen et brésilien), le russe et l'espagnol. Ces langues peuvent être commutées de manière transparente dans un seul document. En raison de l'utilisation de polices personnalisées, \simplivre{} demande soit \hologo{XeLaTeX} soit \hologo{LuaLaTeX} pour la compilation. -Cette documentation est composée à l'aide de \simplivre{} (avec l'option \texttt{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration. +Cette documentation est composée à l'aide de \simplivre{} (avec l'option \classoption{use boldface}). Vous pouvez le considérer comme une courte introduction et une démonstration. \bigskip \begin{tip} La prise en charge multilingue, les environnements de type théorème, les marques de brouillon et quelques autres fonctionnalités sont fournis par la boîte à outils \ProjLib{}. Ici, nous ne discutons que brièvement de la façon de l'utiliser avec cette classe de document. Pour plus d'informations, veuillez vous référer à la documentation de \ProjLib{}. \end{tip} -\begin{tip} - This documentation has not been fully up-to-date with the new \texttt{expl3} version of this class series. Some options or commands introduced here might be obsolete. -\end{tip} - \tableofcontents \mainmatter @@ -275,13 +300,13 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \LevelOneTitle{Les options} -\begin{itemize} - \item Les options de langue \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc. +\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em] + \item Les options de langue \classoption{EN} / \classoption{english} / \classoption{English}, \classoption{FR} / \classoption{french} / \classoption{French}, etc. \begin{itemize} \item Pour les noms d'options d'une langue spécifique, veuillez vous référer à \meta{language name} dans la section suivante. La première langue spécifiée sera considérée comme la langue par défaut. \item Les options de langue ne sont pas nécessaires, elles servent principalement à augmenter la vitesse de compilation. Sans eux, le résultat serait le même, justement plus lent. \end{itemize} - \item \texttt{draft} ou \texttt{fast} + \item \classoption{draft} ou \classoption{fast} \begin{itemize} \item L'option \verb|fast| permet un style plus rapide mais légèrement plus rugueux, les principales différences sont : \begin{itemize} @@ -293,47 +318,47 @@ De plus, Source Code Pro est utilisé comme police anglaise sans empattement, Ne \begin{tip} Pendant la phase de brouillon, il est recommandé d'utiliser le \verb|fast| option pour accélérer la compilation. Quand dans \verb|fast| mode, il y aura un filigrane ``DRAFT'' pour indiquer que vous êtes actuellement en mode brouillon. \end{tip} - \item \texttt{a4paper} ou \texttt{b5paper} + \item \classoption{a4paper} ou \classoption{b5paper} \begin{itemize} \item Options de format de papier. Le format de papier par défaut est 7 pouces $\times$ 10 pouces. \end{itemize} - \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{noto}, \texttt{biolinum} ~$|$~ \texttt{useosf} + \item \classoption{palatino}, \classoption{times}, \classoption{garamond}, \classoption{noto}, \classoption{biolinum} ~$|$~ \classoption{useosf} \begin{itemize} \item Options de police. Comme son nom l'indique, la police avec le nom correspondant sera utilisée. - \item L'option \texttt{useosf} est pour activer les chiffres à l'ancienne. + \item L'option \classoption{useosf} est pour activer les chiffres à l'ancienne. \end{itemize} - \item \texttt{use boldface} + \item \classoption{use boldface} \begin{itemize} \item Afficher les titres en gras. Lorsque cette option est utilisée, le titre principal, les titres de tous les niveaux et les noms des environnements de type théorème seront en gras. \end{itemize} - \item \texttt{classical} + \item \classoption{classical} \begin{itemize} \item Mode classique. Un style antique sera utilisé lorsque cette option est activée, comme dans la documentation actuelle. \end{itemize} - \item \texttt{useindent} + \item \classoption{useindent} \begin{itemize} \item Utilisez l'indentation des paragraphes au lieu de l'espacement entre les paragraphes. \end{itemize} - \item \texttt{runin} + \item \classoption{runin} \begin{itemize} \item Utilisez le style «~runin~» pour \lstinline|\subsubsection| \end{itemize} - \item \texttt{nothms} + \item \classoption{nothms} \begin{itemize} \item Mode texte pur. Ne pas définir les environnements de type théorème. \end{itemize} - \item \texttt{nothmnum}, \texttt{thmnum} ou \texttt{thmnum=}\meta{counter} + \item \classoption{nothmnum}, \classoption{thmnum} ou \classoption{thmnum=}\meta{counter} \begin{itemize} \item Les environnements de type théorème ne seront pas numérotés / numérotés dans l'ordre 1, 2, 3... / numérotés dans \meta{counter}. Si aucune option n'est utilisée, ils seront numérotés dans \texttt{chapter} (livre) ou \texttt{section} (article). \end{itemize} - \item \texttt{regionalref}, \texttt{originalref} + \item \classoption{regionalref}, \classoption{originalref} \begin{itemize} - \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \texttt{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \texttt{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». - \item En mode \texttt{fast}, l'option \texttt{originalref} n'aura aucun effet. + \item Lors du référencement, si le nom de l'environnement de type théorème change avec la langue actuelle. Par défaut \classoption{regionalref} est activé, c'est-à-dire que le nom correspondant à la langue courante est utilisé ; par exemple, lors du référencement d'un environnement de type théorème dans un contexte français, les noms «~Théorème, Définition ...~» seront utilisés quel que soit le contexte linguistique dans lequel se trouve l'environnement d'origine. Si \classoption{originalref} est activé, alors le nom restera toujours le même que l'environnement d'origine ; par exemple, lors du référencement d'un théorème écrit dans le contexte français, même si l'on est actuellement dans le contexte anglais, il sera toujours affiché comme «~Théorème~». + \item En mode \texttt{fast}, l'option \classoption{originalref} n'aura aucun effet. \end{itemize} \end{itemize} \bigskip -De plus, les options \texttt{oneside} et \texttt{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut. +De plus, les options \classoption{oneside} et \classoption{twoside} couramment utilisées lors de la composition de livres sont également disponibles. La disposition recto-verso est utilisée par défaut. \LevelOneTitle{Instructions par sujet} diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls index 25377b24b8..cedeb63c85 100644 --- a/macros/unicodetex/latex/simplivre/simplivre.cls +++ b/macros/unicodetex/latex/simplivre/simplivre.cls @@ -15,11 +15,10 @@ %% and version 1.3c or later is part of all distributions of LaTeX version %% 2005/12/01 or later. %% -\NeedsTeXFormat{LaTeX2e}[2020-10-01] -\RequirePackage{l3keys2e} +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {simplivre} - {2022/06/16} {} + {2022/09/03} {} {A simple and clear book style} \tl_const:Nn \l__minimclass_base_class_tl { book } @@ -133,7 +132,7 @@ \PassOptionsToPackage { \CurrentOption } { minimalist } } } -\ProcessKeysOptions { minimclass } +\ProcessKeyOptions [ minimclass ] \LoadClass{\l__minimclass_base_class_tl} @@ -204,9 +203,6 @@ \RequirePackage { minimalist } -\raggedbottom -\hfuzz=2pt -\vfuzz=2pt %%================================ %% Fonts @@ -214,6 +210,15 @@ \WarningFilter { latexfont } { Font~shape } \WarningFilter { latexfont } { Some~font } +\hook_gput_code:nnn { begindocument/before } { minimclass } + { + \IfPackageLoadedTF { biblatex } + { + \PassOptionsToPackage { biblatex } { embrac } + } {} + \RequirePackage { embrac } + } + \cs_new_protected:Nn \__minimclass_load_file_or_config:Nnn { \bool_if:NT #1 @@ -252,46 +257,62 @@ { \bool_if:NTF \l__projlib_font_useosf_bool { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, Numbers = OldStyle , ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , Numbers = OldStyle , ] } { - \setmainfont { TeXGyrePagellaX-Regular.otf } + \setmainfont { TeXGyrePagellaX } [ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, ] - \setsansfont { SourceSansPro-Regular.otf } + \setsansfont { SourceSansPro } [ - Scale = 1.05 , - BoldFont = SourceSansPro-Semibold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-SemiboldIt.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Semibold, + ItalicFont = *-RegularIt, + BoldItalicFont = *-SemiboldIt, + WordSpace = {1.25, 1, 1} , ] } - \setmonofont { NewCMMono10-Regular.otf } + \setmonofont { NewCMMono10 } [ Scale = 1.05 , - BoldFont = NewCMMono10-Bold.otf , - ItalicFont = NewCMMono10-Italic.otf , - BoldItalicFont = NewCMMono10-BoldOblique.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldOblique, ] \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } } + + \hook_gput_code:nnn { begindocument/before } { minimclass } + { + \RenewEmph{[}{]} + \RenewEmph{(}{)} + } } } @@ -302,48 +323,55 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKmainfont { SourceHanSerifSC-Regular } + \setCJKmainfont { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKmainfont { FandolSong-Regular.otf } + \setCJKmainfont { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKsansfont{SourceHanSansSC-Regular} + \setCJKsansfont { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKsansfont { FandolHei-Regular.otf } + \setCJKsansfont { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKmonofont { SourceHanMonoSC-Regular } + \setCJKmonofont { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -361,46 +389,53 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerifSC-Regular } { - \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular } + \setCJKfamilyfont { SCmain } { SourceHanSerifSC } [ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { SCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSansSC-Regular } { - \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular } + \setCJKfamilyfont { SCsans } { SourceHanSansSC } [ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { SCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMonoSC-Regular } { - \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular } + \setCJKfamilyfont { SCmono } { SourceHanMonoSC } [ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -419,46 +454,53 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerifTC-Regular } { - \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular } + \setCJKfamilyfont { TCmain } { SourceHanSerifTC } [ - BoldFont = SourceHanSerifTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { TCmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSansTC-Regular } { - \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular } + \setCJKfamilyfont { TCsans } { SourceHanSansTC } [ - BoldFont = SourceHanSansTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansTC-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { TCsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMonoTC-Regular } { - \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular } + \setCJKfamilyfont { TCmono } { SourceHanMonoTC } [ - BoldFont = SourceHanMonoTC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoTC-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -477,46 +519,53 @@ { \__minimclass_if_font_exist:nnn { SourceHanSerif-Regular } { - \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular } + \setCJKfamilyfont { JPmain } { SourceHanSerif } [ - BoldFont = SourceHanSerif-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerif-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf } + \setCJKfamilyfont { JPmain } { FandolSong } [ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = FandolKai-Regular , + BoldItalicFont = FandolKai-Regular , BoldItalicFeatures = { FakeBold = 4 } , ] } \__minimclass_if_font_exist:nnn { SourceHanSans-Regular } { - \setCJKfamilyfont { JPsans } { SourceHanSans-Regular } + \setCJKfamilyfont { JPsans } { SourceHanSans } [ - BoldFont = SourceHanSans-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSans-Bold , + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } { - \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf } + \setCJKfamilyfont { JPsans } { FandolHei } [ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf , + Extension = .otf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Regular, + BoldItalicFont = *-Bold, ] } \__minimclass_if_font_exist:nnn { SourceHanMono-Regular } { - \setCJKfamilyfont { JPmono } { SourceHanMono-Regular } + \setCJKfamilyfont { JPmono } { SourceHanMono } [ - BoldFont = SourceHanMono-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMono-Medium , + UprightFont = *-Regular, + BoldFont = *-Medium, + ItalicFont = *-Regular, + BoldItalicFont = *-Medium, ] } { @@ -570,9 +619,14 @@ \RequirePackage { unicode-math } \unimathsetup { math-style = ISO, partial = upright, nabla = upright } \setmathfont { KpMath-Regular.otf } + \setmathfont { KpMath-Regular.otf } + [ + range = \amalg , + Scale = 0.84625 + ] \setmathfont { KpMath-Sans.otf } [ - range = { \sum, \prod, \coprod } + range = { \sum } ] \setmathfont { latinmodern-math.otf } [ @@ -606,7 +660,7 @@ \cs_gset_eq:NN \square \mdwhtsquare } - % A temporary hack proposed in https://tex.stackexchange.com/a/647789 + % https://tex.stackexchange.com/a/647789 \hook_gput_code:nnn { begindocument } { minimclass } { \NewCommandCopy\unicodevdots\vdots @@ -692,8 +746,30 @@ \char_set_catcode_active:n { `\· } \cs_new_protected:Npn · { \ensuremath\cdot } -\PassOptionsToPackage { all } { nowidow } -\RequirePackage { nowidow } +%%================================ +%% Graphics +%%================================ +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } + +%%================================ +%% Icing on the cake +%%================================ +\bool_if:NT \l__minimclass_fast_bool { \endinput } + +\sys_if_engine_luatex:TF + { + \RequirePackage { lua-widow-control } + \lwcsetup { balanced } + } + { + \PassOptionsToPackage { all } { nowidow } + \RequirePackage { nowidow } + } \sys_if_engine_xetex:T { @@ -707,25 +783,6 @@ } } -\hook_gput_code:nnn { begindocument/before } { minimclass } - { - \IfPackageLoadedTF { biblatex } - { - \PassOptionsToPackage { biblatex } { embrac } - } {} - \RequirePackage { embrac } - } - -%%================================ -%% Graphics -%%================================ -\RequirePackage { graphicx } -\graphicspath { { images/ } } -\RequirePackage { wrapfig } -\RequirePackage { float } -\RequirePackage { caption } -\captionsetup { font = small } - \endinput %% %% End of file `simplivre/simplivre.cls'. |