summaryrefslogtreecommitdiff
path: root/macros/unicodetex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-24 03:04:59 +0000
committerNorbert Preining <norbert@preining.info>2021-06-24 03:04:59 +0000
commit1a77d17b8844e0cdad3a4851d5cb3a95b703a4df (patch)
tree8efd430bf6e5066743f396c3b58a95a84311af53 /macros/unicodetex
parenta809a190ff669feb11cb64db915b763abd0bed81 (diff)
CTAN sync 202106240304
Diffstat (limited to 'macros/unicodetex')
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin303218 -> 309464 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex47
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin187642 -> 193582 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex50
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls144
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin238357 -> 239385 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex67
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin146880 -> 148100 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex61
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls166
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin281832 -> 286456 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex51
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin170165 -> 171812 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex59
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls144
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin286356 -> 289392 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex57
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin192861 -> 194551 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex58
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls166
20 files changed, 721 insertions, 349 deletions
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
index 0ce2263737..be8d0073e0 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
index 5e97911426..cdef90570e 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[allowbf,puretext]{beaulivre}
+\documentclass[Chinese,English,allowbf,puretext]{beaulivre}
\theoremstyle{basic}
\CreateTheorem{definition}<highest>
@@ -16,7 +16,7 @@
%%================================
%% 引入工具集
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -46,7 +46,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {href,color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {subsubsection,href,color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -104,7 +104,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/06/07}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\\hspace*{-.05em}以多彩的方式排版你的图书\\[10pt]\tiny 对应版本. \texttt{\beaulivre{} 2021/06/23}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{许锦文}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年6月,北京}};
\end{tikzpicture}%
@@ -164,30 +164,45 @@
\item 启用 \ProjLib{} 工具箱的快速模式。
\end{itemize}
\end{itemize}
+\begin{tip}
+ 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
+\end{tip}
\item \texttt{a4paper} 或 \texttt{b5paper}
\begin{itemize}
\item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。
\end{itemize}
- \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
+ \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum} ~$|$~ \texttt{useosf}
\begin{itemize}
\item 字体选项。顾名思义,会加载相应名称的字体。
+ \item \texttt{useosf} 选项用来启用“旧式”数字。
\end{itemize}
+ \clearpage
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
\end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
+ \end{itemize}
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item 纯文本模式,不加载定理类环境。
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item 定理类环境不编号。
+ \end{itemize}
+ \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+ \begin{itemize}
+ \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
+ \end{itemize}
\end{itemize}
-\begin{tip}
- \begin{itemize}
- \item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
- \end{itemize}
-\end{tip}
-
\bigskip
另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。
-\chapter{关于文档类中使用的字体}
+\chapter{关于默认字体}
\beaulivre{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
\begin{tip}[字体演示]
@@ -477,7 +492,7 @@
\begin{code}
\documentclass{beaulivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -508,7 +523,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{book}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -519,7 +534,7 @@ Référence du théorème: \cref{thm:abc}
\begin{code}
\documentclass{beaulivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -557,7 +572,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{amsbook}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\blinddocument
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index 2876e0abbe..e03e93518e 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
index a09b697d61..f056cd76a6 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[allowbf,puretext]{beaulivre}
+\documentclass[English,French,allowbf,puretext]{beaulivre}
\theoremstyle{basic}
\CreateTheorem{definition}<highest>
@@ -16,7 +16,7 @@
%%================================
%% Import toolkit
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -44,7 +44,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {href,color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {subsubsection,href,color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -102,7 +102,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(25,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/06/07}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-10)$) {\textcolor{white}{\sffamily\beaulivre{}\\\textsc{Write your books in \\a colorful way}\\[10pt]\tiny Corresponding to: \texttt{\beaulivre{} 2021/06/23}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{June 2021, Beijing}};
\end{tikzpicture}%
@@ -160,30 +160,46 @@ as the first line to use the \beaulivre{} class.
\item Enable the fast mode of \ProjLib{} toolkit.
\end{itemize}
\end{itemize}
+\begin{tip}
+ During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
+\end{tip}
+\medskip
\item \texttt{a4paper} or \texttt{b5paper}
\begin{itemize}
\item Optional paper size. The default paper size is 8.5in $\times$ 11in.
\end{itemize}
- \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum} ~$|$~ \texttt{useosf}
\begin{itemize}
- \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \item The \texttt{useosf} option is used to enable the old-style figures.
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
\end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item Use the ``runin'' style for \lstinline|\subsubsection|
+ \end{itemize}
+ \clearpage
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item Pure text mode. Does not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item Theorem-like environments will not be numbered.
+ \end{itemize}
+ \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{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.
+ \end{itemize}
\end{itemize}
-\begin{tip}
- \begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
- \end{itemize}
-\end{tip}
-
\bigskip
In addition, the commonly used \texttt{oneside} and \texttt{twoside} options are also available. Two-page layout is used by default.
-\chapter{On the fonts}
+\chapter{On the default fonts}
By default, \beaulivre{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
\medskip
@@ -467,7 +483,7 @@ If you want to write in the standard way, you can refer to the following example
\begin{code}
\documentclass{beaulivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -498,7 +514,7 @@ If you wish to switch to the standard class later, just replace the first two li
\documentclass{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -509,7 +525,7 @@ If you intend to switch to the journal template in the future and thus want to u
\begin{code}
\documentclass{beaulivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -548,7 +564,7 @@ In this way, if you wish to switch to \AmS{} class later, just replace the first
\documentclass{amsart}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\blinddocument
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index 68555495d2..0088213600 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre.cls
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{beaulivre}
- [2021/06/07 A colorful book style]
+ [2021/06/23 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,7 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{useosf}
\DeclareBoolOption[false]{palatino}
\DeclareBoolOption[false]{times}
\DeclareBoolOption[false]{garamond}
@@ -94,7 +95,7 @@
\if@colorclass@fast
\PassOptionsToPackage{fast}{colorist}
\RequirePackage{draftwatermark}
- \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper}
\fi
\RequirePackage{colorist}
@@ -113,11 +114,13 @@
\RequirePackage{fontspec}
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
+ [\if@colorclass@useosf Numbers = OldStyle\fi]
}{
\setmainfont{TeXGyrePagellaX-Regular.otf}[
BoldFont = TeXGyrePagellaX-Bold.otf ,
ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ]
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf,
+ \if@colorclass@useosf Numbers = OldStyle\fi ]
}
\setsansfont{SourceSansPro-Regular.otf}[
Scale = MatchLowercase ,
@@ -193,59 +196,92 @@
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmathfont{Asana-Math.otf}
\IfFontExistsTF{Neo Euler}{%
-\setmathfont{Neo Euler}
- [range={"0000-"0001,"0020-"007E,
- "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
- "00D7,"00F7,
- "0131,
- "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
- "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
- "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
- "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
- "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
- "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
- "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
- "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
- "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
- "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
- "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
- "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
- "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
- "22DC-"22DD,"22EF,"22F0-"22F1,
- "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
- "23DC-"23DF,
- "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
- "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
- "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
- "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
- "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
- "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
-\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
+\setmathfont[range={up/{Latin,latin,Greek,greek},
+ bfup/{Latin,latin,Greek,greek},
+ cal, bfcal, frak, bffrak,
+ `(,`),`[,`],`\{,`\},`:,`=,`/,\backslash,
+ \in,\notin,\ni,\subset,\supset,\subseteq,\supseteq,
+ \rightarrow,\leftarrow,\mapsto,\hookrightarrow,\hookleftarrow,
+ \sum,\prod,\coprod,
+ \sqrt,\int,\iint,\iiint,\oint},
+ script-features={},
+ sscript-features={},
+ Scale = 1.05,
]{Neo Euler}
-\setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
- script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
- sfup, sfit, bfsfup, bfsfit, tt}
- ]{Asana-Math.otf}
-\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
+\setmathfont[range={up/num, bfup/num}
+ ]{texgyrepagella-math.otf}
+
+\newbox\xratbelow
+\newbox\xratabove
+\renewcommand{\xrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<-, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookrightarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookleftarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xmapsto}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/mapsto] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\newcommand{\xlongequal}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/equal] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
\fi
\fi
-\let\colorist@sffamily\sffamily
-\let\colorist@textsc\textsc
-
\if@colorclass@palatino
\RequirePackage{amssymb}
\RequirePackage{mathpazo}
\PassOptionsToPackage{defaultsups}{newpxtext}
\RequirePackage{newpxtext}
- \RequirePackage{newpxmath}
+ % \RequirePackage{newpxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.07}}
+ \if@colorclass@useosf\useosf\fi
\fi
\if@colorclass@times
@@ -255,12 +291,15 @@
\RequirePackage{newtxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.00}}
+ \if@colorclass@useosf\useosf\fi
\let\colorist@sffamily\relax
\fi
\if@colorclass@garamond
\RequirePackage{amssymb}
- \PassOptionsToPackage{lining}{ebgaramond}
+ \if@colorclass@useosf\else
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \fi
\RequirePackage{ebgaramond-maths}
\RequirePackage{ebgaramond}
% \RequirePackage{garamondlibre}
@@ -273,6 +312,9 @@
% \RequirePackage{mathpazo}
% \RequirePackage[sansmath]{libertinust1math}
\ifPDFTeX
+ \if@colorclass@useosf
+ \PassOptionsToPackage{osf}{biolinum}
+ \fi
\RequirePackage{biolinum}
\renewcommand*\familydefault{\biolinum@family}
\else
@@ -281,7 +323,8 @@
\setmainfont{LinBiolinum_R.otf}[
BoldFont = LinBiolinum_RB.otf ,
ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf ]
+ BoldItalicFont = LinBiolinum_RBO.otf,
+ \if@colorclass@useosf Numbers = OldStyle\fi ]
\fi
\PJLsetlinespacing{\setstretch{1.05}}
\RequirePackage[italic,defaultmathsizes]{mathastext}
@@ -289,8 +332,12 @@
\def\PJL@font@alreadyset{}
+%% Minor improvements
\PassOptionsToPackage{verbose=silent}{microtype}
\RequirePackage{microtype}
+\PassOptionsToPackage{all}{nowidow}
+\RequirePackage{nowidow}
+\RequirePackage{embrac}
%%================================
%% Graphics
@@ -302,11 +349,6 @@
\RequirePackage{caption}
\captionsetup{font=small}
-%%================================
-%% Index
-%%================================
-\RequirePackage{imakeidx}
-
\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
index 9981934f23..dccd7ba29b 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
index ca0fdf1df0..a1265d2ff6 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[puretext]{einfart}
+\documentclass[Chinese,English,puretext]{einfart}
\CreateTheorem{definition}<highest>
\CreateTheorem{theorem}<highest>
@@ -9,7 +9,7 @@
%%================================
%% 引入工具集
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -39,12 +39,12 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,href,
+ {linenumbers,nolinenumbers,subsection,subsubsection,href,
color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
-{\LocallyStopLineNumbers%
+{\setstretch{1.07}\LocallyStopLineNumbers%
\setkeys{lst}{columns=fullflexible,keepspaces=true}%
}
{\ResumeLineNumbers}
@@ -87,7 +87,7 @@
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\einfart{} 2021/06/07}}
+\thanks{对应版本. \texttt{\einfart{} 2021/06/23}}
\date{2021年6月,北京}
\maketitle
@@ -134,14 +134,18 @@
\item 启用 \ProjLib{} 工具箱的快速模式。
\end{itemize}
\end{itemize}
+\begin{tip}
+ 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
+\end{tip}
\item \texttt{a4paper} 或 \texttt{b5paper}
\begin{itemize}
\item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。
\end{itemize}
- \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
- \begin{itemize}
- \item 字体选项。顾名思义,会加载相应名称的字体。
- \end{itemize}
+ \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum} ~$|$~ \texttt{useosf}
+ \begin{itemize}
+ \item 字体选项。顾名思义,会加载相应名称的字体。
+ \item \texttt{useosf} 选项用来启用“旧式”数字。
+ \end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
@@ -150,16 +154,33 @@
\begin{itemize}
\item 经典模式。启用这一选项时,样式会变得更加中规中矩:段落呈首行缩进样式、各类下划线减少、标题样式改变、定理类环境的样式也会更贴近常见的设置。
\end{itemize}
-\end{itemize}
-
\begin{tip}
- \begin{itemize}
- \item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
- \item 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
- \end{itemize}
+ 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
\end{tip}
+ \item \texttt{useindent}
+ \begin{itemize}
+ \item 采用段首缩进而不是段间间距。
+ \end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
+ \end{itemize}
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item 纯文本模式,不加载定理类环境。
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item 定理类环境不编号。
+ \end{itemize}
+ \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+ \begin{itemize}
+ \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
+ \end{itemize}
+\end{itemize}
+
-\section{关于文档类中使用的字体}
+\section{关于默认字体}
\einfart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
% \begin{itemize}
@@ -227,6 +248,7 @@
在引用定理类环境时,建议使用智能引用 \lstinline|\cref{|\meta{label}\lstinline|}|。这样就不必每次都写上相应环境的名称了。
+\medskip
\begin{tip}[例子]
\begin{code}
\begin{definition}[奇异物品] \label{def: strange} ...
@@ -250,7 +272,7 @@
\UseLanguage{Chinese}
-
+\clearpage
\subsection{定义新的定理型环境}
若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称:
@@ -311,10 +333,11 @@
可以分别定义不编号的环境 \lstinline|proofidea*| 和编号的环境 \lstinline|proofidea| (在 subsection 内编号),它们支持在简体中文语境中使用,效果如下所示:
+\vspace{-.3\baselineskip}
\begin{proofidea*}
\lstinline|proofidea*| 环境。
\end{proofidea*}
-
+\vspace{-.5\baselineskip}
\begin{proofidea}
\lstinline|proofidea| 环境。
\end{proofidea}
@@ -417,7 +440,7 @@
\begin{code}
\documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -455,7 +478,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -466,7 +489,7 @@ Référence du théorème: \cref{thm:abc}
\begin{code}
\documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -508,7 +531,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{amsart}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\end{document}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index 6123cb245a..658da1098e 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
index f984c7eb10..d92668f4cd 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[puretext]{einfart}
+\documentclass[English,French,puretext]{einfart}
\CreateTheorem{definition}<highest>
\CreateTheorem{theorem}<highest>
@@ -9,7 +9,7 @@
%%================================
%% Import toolkit
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -37,7 +37,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,href,
+ {linenumbers,nolinenumbers,subsection,subsubsection,href,
color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
@@ -85,7 +85,7 @@
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\einfart{} 2021/06/07}}
+\thanks{Corresponding to: \texttt{\einfart{} 2021/06/23}}
\date{June 2021, Beijing}
\maketitle
@@ -130,14 +130,18 @@ as the first line to use the \einfart{} class. Please note that you need to use
\item Enable the fast mode of \ProjLib{} toolkit.
\end{itemize}
\end{itemize}
+\begin{tip}
+ During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
+\end{tip}
\item \texttt{a4paper} or \texttt{b5paper}
\begin{itemize}
\item Optional paper size. The default paper size is 7in $\times$ 10in.
\end{itemize}
- \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
- \begin{itemize}
- \item Font options. As the name suggest, font with corresponding name will be loaded.
- \end{itemize}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum} ~$|$~ \texttt{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.
+ \end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
@@ -146,16 +150,33 @@ as the first line to use the \einfart{} class. Please note that you need to use
\begin{itemize}
\item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles.
\end{itemize}
-\end{itemize}
-
\begin{tip}
- \begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
- \item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
- \end{itemize}
+ \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
\end{tip}
+ \item \texttt{useindent}
+ \begin{itemize}
+ \item Use paragraph indentation instead of inter-paragraph spacing.
+ \end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item Use the ``runin'' style for \lstinline|\subsubsection|
+ \end{itemize}
+ \clearpage
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item Pure text mode. Does not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item Theorem-like environments will not be numbered.
+ \end{itemize}
+ \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{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.
+ \end{itemize}
+\end{itemize}
-\section{On the fonts}
+\section{On the default fonts}
By default, \einfart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
% \begin{itemize}
@@ -242,7 +263,7 @@ By default, when referenced, the name of the theorem always matches the language
\UseLanguage{English}
-
+\clearpage
\subsection{Define a new theorem-like environment}
If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
@@ -407,7 +428,7 @@ If you want to write in the standard way, you can refer to the following example
\begin{code}
\documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -445,7 +466,7 @@ If you wish to switch to the standard class later, just replace the first two li
\documentclass{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -456,7 +477,7 @@ If you intend to switch to the journal template in the future and thus want to u
\begin{code}
\documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -498,7 +519,7 @@ In this way, if you wish to switch to \AmS{} class later, just replace the first
\documentclass{amsart}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\end{document}
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index 46afa4f549..f3d52b2bb3 100644
--- a/macros/unicodetex/latex/einfart/einfart.cls
+++ b/macros/unicodetex/latex/einfart/einfart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{einfart}
- [2021/06/07 A simple and clear article style]
+ [2021/06/23 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -28,6 +28,8 @@
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{classical}
+\DeclareBoolOption[false]{useindent}
+\DeclareBoolOption[false]{useosf}
\DeclareBoolOption[false]{palatino}
\DeclareBoolOption[false]{times}
\DeclareBoolOption[false]{garamond}
@@ -45,6 +47,9 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
+\if@minimclass@classical
+ \@minimclass@useindenttrue
+\fi
\if@minimclass@palatino
\@minimclass@customfonttrue
\fi
@@ -93,9 +98,9 @@
\if@minimclass@fast
\PassOptionsToPackage{fast}{minimalist}
\RequirePackage{draftwatermark}
- \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper}
\fi
-\if@minimclass@classical
+\if@minimclass@useindent
\RequirePackage{indentfirst}
\else
\AtEndPreamble{\RequirePackage{parskip}}
@@ -117,11 +122,13 @@
\RequirePackage{fontspec}
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
+ [\if@minimclass@useosf Numbers = OldStyle\fi]
}{
\setmainfont{TeXGyrePagellaX-Regular.otf}[
BoldFont = TeXGyrePagellaX-Bold.otf ,
ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ]
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf,
+ \if@minimclass@useosf Numbers = OldStyle\fi ]
}
\setsansfont{SourceSansPro-Regular.otf}[
Scale = MatchLowercase ,
@@ -171,8 +178,14 @@
BoldItalicFeatures = {FakeBold=4} ,
SmallCapsFont = * ]
}
-\IfFontExistsTF{FZYOUHK_506L--GBK1-0}{%
- \setCJKsansfont{FZYOUHK_506L--GBK1-0}[
+\IfFontExistsTF{FZYOUHK_508R--GBK1-0}{%
+ \setCJKsansfont{FZYOUHK_508R--GBK1-0}[
+ BoldFont = FZYOUHK_509R--GBK1-0 ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
+ SmallCapsFont = * ]
+ \setCJKfamilyfont{zhhei}{FZYOUHK_508R--GBK1-0}[
BoldFont = FZYOUHK_509R--GBK1-0 ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
@@ -184,8 +197,15 @@
ItalicFont = * ,
BoldItalicFont = FandolHei-Bold.otf ,
SmallCapsFont = * ]
+ \setCJKfamilyfont{zhhei}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ,
+ SmallCapsFont = * ]
}
+\def\minimalist@titlefontshape{\CJKfamily{zhhei}}
+
%% Math font
\if@minimclass@customfont\else
\if@minimclass@fast
@@ -197,45 +217,80 @@
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmathfont{Asana-Math.otf}
\IfFontExistsTF{Neo Euler}{%
-\setmathfont{Neo Euler}
- [range={"0000-"0001,"0020-"007E,
- "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
- "00D7,"00F7,
- "0131,
- "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
- "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
- "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
- "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
- "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
- "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
- "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
- "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
- "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
- "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
- "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
- "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
- "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
- "22DC-"22DD,"22EF,"22F0-"22F1,
- "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
- "23DC-"23DF,
- "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
- "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
- "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
- "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
- "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
- "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
-\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
+\setmathfont[range={up/{Latin,latin,Greek,greek},
+ bfup/{Latin,latin,Greek,greek},
+ cal, bfcal, frak, bffrak,
+ `(,`),`[,`],`\{,`\},`:,`=,`/,\backslash,
+ \in,\notin,\ni,\subset,\supset,\subseteq,\supseteq,
+ \rightarrow,\leftarrow,\mapsto,\hookrightarrow,\hookleftarrow,
+ \sum,\prod,\coprod,
+ \sqrt,\int,\iint,\iiint,\oint},
+ script-features={},
+ sscript-features={},
+ Scale = 1.05,
]{Neo Euler}
-\setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
- script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
- sfup, sfit, bfsfup, bfsfit, tt}
- ]{Asana-Math.otf}
-\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
+\setmathfont[range={up/num, bfup/num}
+ ]{texgyrepagella-math.otf}
+
+\newbox\xratbelow
+\newbox\xratabove
+\renewcommand{\xrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<-, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookrightarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookleftarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xmapsto}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/mapsto] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\newcommand{\xlongequal}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/equal] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
\fi
\fi
@@ -244,9 +299,10 @@
\RequirePackage{mathpazo}
\PassOptionsToPackage{defaultsups}{newpxtext}
\RequirePackage{newpxtext}
- \RequirePackage{newpxmath}
+ % \RequirePackage{newpxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.07}}
+ \if@minimclass@useosf\useosf\fi
\fi
\if@minimclass@times
@@ -256,11 +312,14 @@
\RequirePackage{newtxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.00}}
+ \if@minimclass@useosf\useosf\fi
\fi
\if@minimclass@garamond
\RequirePackage{amssymb}
- \PassOptionsToPackage{lining}{ebgaramond}
+ \if@minimclass@useosf\else
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \fi
\RequirePackage{ebgaramond-maths}
\RequirePackage{ebgaramond}
% \RequirePackage{garamondlibre}
@@ -272,6 +331,9 @@
% \RequirePackage{mathpazo}
% \RequirePackage[sansmath]{libertinust1math}
\ifPDFTeX
+ \if@minimclass@useosf
+ \PassOptionsToPackage{osf}{biolinum}
+ \fi
\RequirePackage{biolinum}
\renewcommand*\familydefault{\biolinum@family}
\else
@@ -280,7 +342,8 @@
\setmainfont{LinBiolinum_R.otf}[
BoldFont = LinBiolinum_RB.otf ,
ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf ]
+ BoldItalicFont = LinBiolinum_RBO.otf,
+ \if@minimclass@useosf Numbers = OldStyle\fi ]
\fi
\PJLsetlinespacing{\setstretch{1.05}}
\RequirePackage[italic,defaultmathsizes]{mathastext}
@@ -288,8 +351,12 @@
\def\PJL@font@alreadyset{}
+%% Minor improvements
\PassOptionsToPackage{verbose=silent}{microtype}
\RequirePackage{microtype}
+\PassOptionsToPackage{all}{nowidow}
+\RequirePackage{nowidow}
+\RequirePackage{embrac}
%%================================
%% Graphics
@@ -304,9 +371,10 @@
%%================================
%% Index
%%================================
-\RequirePackage{imakeidx}
-\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL}
-\apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL}
+\AtEndPreamble{
+\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{}
+\apptocmd{\printindex}{\ResumeLineNumbers}{}{}
+}
\endinput
%%
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
index 16e1ded147..aacdaf3644 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index 3006ee300b..8bd4523d44 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[allowbf,puretext]{lebhart}
+\documentclass[Chinese,English,allowbf,puretext]{lebhart}
\theoremstyle{basic}
\CreateTheorem{definition}<highest>
@@ -16,7 +16,7 @@
%%================================
%% 引入工具集
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -46,7 +46,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {href,color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {subsubsection,href,color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -88,7 +88,7 @@
\title{{\normalfont\textbf{\textsf{lebhart}}},以多彩的方式排版你的文章}
\author{许锦文}
-\thanks{对应版本. \texttt{\lebhart{} 2021/06/07}}
+\thanks{对应版本. \texttt{\lebhart{} 2021/06/23}}
\date{2021年6月,北京}
\maketitle
@@ -135,28 +135,42 @@
\item 启用 \ProjLib{} 工具箱的快速模式。
\end{itemize}
\end{itemize}
+\begin{tip}
+ 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
+\end{tip}
\item \texttt{a4paper} 或 \texttt{b5paper}
\begin{itemize}
\item 可选的纸张大小。默认的纸张大小为 8.5in $\times$ 11in。
\end{itemize}
- \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
+ \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum} ~$|$~ \texttt{useosf}
\begin{itemize}
\item 字体选项。顾名思义,会加载相应名称的字体。
+ \item \texttt{useosf} 选项用来启用“旧式”数字。
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
\end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
+ \end{itemize}
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item 纯文本模式,不加载定理类环境。
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item 定理类环境不编号。
+ \end{itemize}
+ \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+ \begin{itemize}
+ \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
+ \end{itemize}
\end{itemize}
-\begin{tip}
- \begin{itemize}
- \item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
- \end{itemize}
-\end{tip}
-\medskip
-\section{关于文档类中使用的字体}
+\section{关于默认字体}
\lebhart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费的,需要自行购买使用,可在方正字库网站查询详细信息:\url{https://www.foundertype.com}。
\begin{tip}[字体演示]
@@ -204,6 +218,7 @@
\item 俄文:\texttt{RU} 或 \texttt{Russian}
\end{itemize}
+\clearpage
另外,还可以通过下面的方式来填加相应语言的设置:
\begin{itemize}
\item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}|
@@ -339,7 +354,8 @@
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
-\bigskip
+% \bigskip
+\clearpage
下面提供一个例子。这三行代码:
\begin{code}
@@ -391,6 +407,7 @@
\end{keyword}
\end{code}
+\clearpage
也可以按照 \AmS{} 文档类的方式来写:
\begin{code}
@@ -446,7 +463,7 @@
\begin{code}
\documentclass{lebhart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -484,7 +501,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -495,7 +512,7 @@ Référence du théorème: \cref{thm:abc}
\begin{code}
\documentclass{lebhart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -537,7 +554,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{amsart}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\end{document}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index 7d3e18422f..2f76f1714f 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index 12af55b452..cab423c8c5 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[allowbf,puretext]{lebhart}
+\documentclass[English,French,allowbf,puretext]{lebhart}
\theoremstyle{basic}
\CreateTheorem{definition}<highest>
@@ -16,7 +16,7 @@
%%================================
%% Import toolkit
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -44,7 +44,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {href,color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {subsubsection,href,color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -86,7 +86,7 @@
\title{{\normalfont\textbf{\textsf{lebhart}}}, write your articles in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\lebhart{} 2021/06/07}}
+\thanks{Corresponding to: \texttt{\lebhart{} 2021/06/23}}
\date{June 2021, Beijing}
\maketitle
@@ -132,27 +132,43 @@ as the first line to use the \lebhart{} class. Please note that you need to use
\item Enable the fast mode of \ProjLib{} toolkit.
\end{itemize}
\end{itemize}
+\begin{tip}
+ During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
+\end{tip}
+\medskip
\item \texttt{a4paper} or \texttt{b5paper}
\begin{itemize}
\item Optional paper size. The default paper size is 8.5in $\times$ 11in.
\end{itemize}
- \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum} ~$|$~ \texttt{useosf}
\begin{itemize}
- \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \item The \texttt{useosf} option is used to enable the old-style figures.
\end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
\end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item Use the ``runin'' style for \lstinline|\subsubsection|
+ \end{itemize}
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item Pure text mode. Does not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item Theorem-like environments will not be numbered.
+ \end{itemize}
+ \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{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.
+ \end{itemize}
\end{itemize}
-\begin{tip}
- \begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
- \end{itemize}
-\end{tip}
-
-\section{On the fonts}
+\clearpage
+\section{On the default fonts}
By default, \lebhart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
\begin{tip}[Font demonstration]
@@ -194,7 +210,8 @@ Many of the features described next are provided by the \ProjLib{} toolkit. Only
\item Russian: \texttt{RU} or \texttt{Russian}
\end{itemize}
-\medskip
+% \medskip
+\clearpage
In addition, you can also add new settings to selected language:
\begin{itemize}
\item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}|
@@ -330,7 +347,8 @@ And then define this environment in one of following five ways:
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
-\bigskip
+% \bigskip
+\clearpage
Here is an example. The following code:
\begin{code}
\NameTheorem[EN]{proofidea}{Idea}
@@ -347,6 +365,7 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
The \lstinline|proofidea| environment.
\end{proofidea}
+\medskip
\subsection{Draft mark}
You can use \lstinline|\dnf| to mark the unfinished part. For example:
@@ -377,7 +396,7 @@ Therefore, the title part can either be written in the usual way, in accordance
(*\meta{keywords}*)
\end{keyword}
\end{code}
-
+\clearpage
or written in the way of \AmS{} classes:
\begin{code}
@@ -429,7 +448,7 @@ If you want to write in the standard way, you can refer to the following example
\begin{code}
\documentclass{lebhart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -467,7 +486,7 @@ If you wish to switch to the standard class later, just replace the first two li
\documentclass{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -478,7 +497,7 @@ If you intend to switch to the journal template in the future and thus want to u
\begin{code}
\documentclass{lebhart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -520,7 +539,7 @@ In this way, if you wish to switch to \AmS{} class later, just replace the first
\documentclass{amsart}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\end{document}
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index 799021b560..65c479eaf9 100644
--- a/macros/unicodetex/latex/lebhart/lebhart.cls
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{lebhart}
- [2021/06/07 A colorful article style]
+ [2021/06/23 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,7 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{useosf}
\DeclareBoolOption[false]{palatino}
\DeclareBoolOption[false]{times}
\DeclareBoolOption[false]{garamond}
@@ -94,7 +95,7 @@
\if@colorclass@fast
\PassOptionsToPackage{fast}{colorist}
\RequirePackage{draftwatermark}
- \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper}
\fi
\RequirePackage{colorist}
@@ -113,11 +114,13 @@
\RequirePackage{fontspec}
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
+ [\if@colorclass@useosf Numbers = OldStyle\fi]
}{
\setmainfont{TeXGyrePagellaX-Regular.otf}[
BoldFont = TeXGyrePagellaX-Bold.otf ,
ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ]
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf,
+ \if@colorclass@useosf Numbers = OldStyle\fi ]
}
\setsansfont{SourceSansPro-Regular.otf}[
Scale = MatchLowercase ,
@@ -193,59 +196,92 @@
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmathfont{Asana-Math.otf}
\IfFontExistsTF{Neo Euler}{%
-\setmathfont{Neo Euler}
- [range={"0000-"0001,"0020-"007E,
- "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
- "00D7,"00F7,
- "0131,
- "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
- "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
- "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
- "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
- "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
- "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
- "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
- "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
- "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
- "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
- "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
- "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
- "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
- "22DC-"22DD,"22EF,"22F0-"22F1,
- "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
- "23DC-"23DF,
- "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
- "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
- "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
- "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
- "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
- "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
-\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
+\setmathfont[range={up/{Latin,latin,Greek,greek},
+ bfup/{Latin,latin,Greek,greek},
+ cal, bfcal, frak, bffrak,
+ `(,`),`[,`],`\{,`\},`:,`=,`/,\backslash,
+ \in,\notin,\ni,\subset,\supset,\subseteq,\supseteq,
+ \rightarrow,\leftarrow,\mapsto,\hookrightarrow,\hookleftarrow,
+ \sum,\prod,\coprod,
+ \sqrt,\int,\iint,\iiint,\oint},
+ script-features={},
+ sscript-features={},
+ Scale = 1.05,
]{Neo Euler}
-\setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
- script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
- sfup, sfit, bfsfup, bfsfit, tt}
- ]{Asana-Math.otf}
-\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
+\setmathfont[range={up/num, bfup/num}
+ ]{texgyrepagella-math.otf}
+
+\newbox\xratbelow
+\newbox\xratabove
+\renewcommand{\xrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<-, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookrightarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookleftarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xmapsto}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/mapsto] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\newcommand{\xlongequal}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/equal] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
\fi
\fi
-\let\colorist@sffamily\sffamily
-\let\colorist@textsc\textsc
-
\if@colorclass@palatino
\RequirePackage{amssymb}
\RequirePackage{mathpazo}
\PassOptionsToPackage{defaultsups}{newpxtext}
\RequirePackage{newpxtext}
- \RequirePackage{newpxmath}
+ % \RequirePackage{newpxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.07}}
+ \if@colorclass@useosf\useosf\fi
\fi
\if@colorclass@times
@@ -255,12 +291,15 @@
\RequirePackage{newtxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.00}}
+ \if@colorclass@useosf\useosf\fi
\let\colorist@sffamily\relax
\fi
\if@colorclass@garamond
\RequirePackage{amssymb}
- \PassOptionsToPackage{lining}{ebgaramond}
+ \if@colorclass@useosf\else
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \fi
\RequirePackage{ebgaramond-maths}
\RequirePackage{ebgaramond}
% \RequirePackage{garamondlibre}
@@ -273,6 +312,9 @@
% \RequirePackage{mathpazo}
% \RequirePackage[sansmath]{libertinust1math}
\ifPDFTeX
+ \if@colorclass@useosf
+ \PassOptionsToPackage{osf}{biolinum}
+ \fi
\RequirePackage{biolinum}
\renewcommand*\familydefault{\biolinum@family}
\else
@@ -281,7 +323,8 @@
\setmainfont{LinBiolinum_R.otf}[
BoldFont = LinBiolinum_RB.otf ,
ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf ]
+ BoldItalicFont = LinBiolinum_RBO.otf,
+ \if@colorclass@useosf Numbers = OldStyle\fi ]
\fi
\PJLsetlinespacing{\setstretch{1.05}}
\RequirePackage[italic,defaultmathsizes]{mathastext}
@@ -289,8 +332,12 @@
\def\PJL@font@alreadyset{}
+%% Minor improvements
\PassOptionsToPackage{verbose=silent}{microtype}
\RequirePackage{microtype}
+\PassOptionsToPackage{all}{nowidow}
+\RequirePackage{nowidow}
+\RequirePackage{embrac}
%%================================
%% Graphics
@@ -302,11 +349,6 @@
\RequirePackage{caption}
\captionsetup{font=small}
-%%================================
-%% Index
-%%================================
-\RequirePackage{imakeidx}
-
\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
index 583248861b..1f609aa520 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
index 2261d59a63..82c7ec769b 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -9,7 +9,7 @@
%%================================
%% 引入工具集
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -39,7 +39,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,part,chapter,section,subsection,href,
+ {linenumbers,nolinenumbers,part,chapter,section,subsection,subsubsection,href,
color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib,parttext
}
}
@@ -102,7 +102,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/06/07}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\\hspace*{-.05em}以极简主义风格排版你的图书\\[10pt]\tiny 对应版本. \texttt{\simplivre{} 2021/06/23}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{许锦文}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{2021年6月,北京}};
\end{tikzpicture}%
@@ -159,14 +159,19 @@
\item 启用 \ProjLib{} 工具箱的快速模式。
\end{itemize}
\end{itemize}
+\begin{tip}
+ 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
+\end{tip}
\item \texttt{a4paper} 或 \texttt{b5paper}
\begin{itemize}
\item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。
\end{itemize}
- \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum}
- \begin{itemize}
- \item 字体选项。顾名思义,会加载相应名称的字体。
- \end{itemize}
+ \clearpage
+ \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum} ~$|$~ \texttt{useosf}
+ \begin{itemize}
+ \item 字体选项。顾名思义,会加载相应名称的字体。
+ \item \texttt{useosf} 选项用来启用“旧式”数字。
+ \end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。
@@ -175,19 +180,35 @@
\begin{itemize}
\item 经典模式。启用这一选项时,样式会变得更加中规中矩:段落呈首行缩进样式、各类下划线减少、标题样式改变、定理类环境的样式也会更贴近常见的设置。
\end{itemize}
-\end{itemize}
-
\begin{tip}
- \begin{itemize}
- \item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。
- \item 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
- \end{itemize}
+ 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。
\end{tip}
+ \item \texttt{useindent}
+ \begin{itemize}
+ \item 采用段首缩进而不是段间间距。
+ \end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item \lstinline|\subsubsection| 采用 ``runin'' 风格。
+ \end{itemize}
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item 纯文本模式,不加载定理类环境。
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item 定理类环境不编号。
+ \end{itemize}
+ \item 语言选项 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{FR} / \texttt{french} / \texttt{French},等等
+ \begin{itemize}
+ \item 具体选项名称可参见下一节的 \meta{language name}。第一个指定的语言将作为默认语言。
+ \end{itemize}
+\end{itemize}
\bigskip
另外,排版图书时常用的 \texttt{oneside}、\texttt{twoside} 选项也是可以使用的。默认采用双页排版。
-\chapter{关于文档类中使用的字体}
+\chapter{关于默认字体}
\simplivre{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。
\begin{tip}[字体演示]
@@ -452,7 +473,7 @@
\begin{code}
\documentclass{simplivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -483,7 +504,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{book}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -494,7 +515,7 @@ Référence du théorème: \cref{thm:abc}
\begin{code}
\documentclass{simplivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -532,7 +553,7 @@ Référence du théorème: \cref{thm:abc}
\documentclass{amsbook}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\blinddocument
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index aab038e356..5189455739 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
index 89fcf0812b..426eab8e33 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -1,5 +1,5 @@
%! TEX program = xelatex
-\documentclass[puretext]{simplivre}
+\documentclass[English,French,puretext]{simplivre}
\CreateTheorem{definition}<highest>
\CreateTheorem{theorem}<highest>
@@ -9,7 +9,7 @@
%%================================
%% Import toolkit
%%================================
-\usepackage{PJLtoolkit}
+\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -37,7 +37,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,part,chapter,section,subsection,href,
+ {linenumbers,nolinenumbers,part,chapter,section,subsection,subsubsection,href,
color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib,parttext
}
}
@@ -101,7 +101,7 @@
\fill [cyan!90!black] ($(current page.south west)+(0,7)$) rectangle ($(current page.north west)+(21,-7)$);
\fill [yellow] (current page.south west) rectangle ($(current page.north west)+(3,0)$);
\node[text width=10cm] at ($(current page.north west)+(8.5,-6)$) {\huge\ProjLib};
- \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/06/07}}};
+ \node[text width=6cm,text height=3.5cm,scale=2.5] at ($(current page.north west)+(11,-9)$) {\textcolor{white}{\sffamily\simplivre{}\\\textsc{Write your books in \\a simple and clear way}\\[10pt]\tiny Corresponding to: \texttt{\simplivre{} 2021/06/23}}};
\node at ($(current page.south)+(1.5,3)$) {\fontsize{16pt}{0pt}\selectfont\textcolor{gray}{\scshape Jinwen XU}};
\node at ($(current page.south)+(1.5,2)$) {\fontsize{12pt}{0pt}\selectfont\textcolor{gray}{June 2021, Beijing}};
\end{tikzpicture}%
@@ -156,14 +156,18 @@ as the first line to use the \simplivre{} class.
\item Enable the fast mode of \ProjLib{} toolkit.
\end{itemize}
\end{itemize}
+\begin{tip}
+ During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
+\end{tip}
\item \texttt{a4paper} or \texttt{b5paper}
\begin{itemize}
\item Optional paper size. The default paper size is 7in $\times$ 10in.
\end{itemize}
- \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
- \begin{itemize}
- \item Font options. As the name suggest, font with corresponding name will be loaded.
- \end{itemize}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum} ~$|$~ \texttt{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.
+ \end{itemize}
\item \texttt{allowbf}
\begin{itemize}
\item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
@@ -172,19 +176,35 @@ as the first line to use the \simplivre{} class.
\begin{itemize}
\item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles.
\end{itemize}
-\end{itemize}
-
\begin{tip}
- \begin{itemize}
- \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
- \item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
- \end{itemize}
+ \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
\end{tip}
+ \item \texttt{useindent}
+ \begin{itemize}
+ \item Use paragraph indentation instead of inter-paragraph spacing.
+ \end{itemize}
+ \item \texttt{runin}
+ \begin{itemize}
+ \item Use the ``runin'' style for \lstinline|\subsubsection|
+ \end{itemize}
+ \item \texttt{puretext} or \texttt{nothms}
+ \begin{itemize}
+ \item Pure text mode. Does not load theorem-like environments.
+ \end{itemize}
+ \item \texttt{nothmnum}
+ \begin{itemize}
+ \item Theorem-like environments will not be numbered.
+ \end{itemize}
+ \item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{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.
+ \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.
-\chapter{On the fonts}
+\chapter{On the default fonts}
By default, \simplivre{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
\begin{tip}[Font demonstration]
@@ -442,7 +462,7 @@ If you want to write in the standard way, you can refer to the following example
\begin{code}
\documentclass{simplivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -473,7 +493,7 @@ If you wish to switch to the standard class later, just replace the first two li
\documentclass{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
@@ -484,7 +504,7 @@ If you intend to switch to the journal template in the future and thus want to u
\begin{code}
\documentclass{simplivre}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
\UseLanguage{French} % Use French from here
@@ -523,7 +543,7 @@ In this way, if you wish to switch to \AmS{} class later, just replace the first
\documentclass{amsart}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
\end{code}
\blinddocument
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index 89c47fa8ec..7c1db4ff46 100644
--- a/macros/unicodetex/latex/simplivre/simplivre.cls
+++ b/macros/unicodetex/latex/simplivre/simplivre.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{simplivre}
- [2021/06/07 A simple and clear book style]
+ [2021/06/23 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -28,6 +28,8 @@
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\DeclareBoolOption[false]{classical}
+\DeclareBoolOption[false]{useindent}
+\DeclareBoolOption[false]{useosf}
\DeclareBoolOption[false]{palatino}
\DeclareBoolOption[false]{times}
\DeclareBoolOption[false]{garamond}
@@ -45,6 +47,9 @@
\if@minimclass@draft
\@minimclass@fasttrue
\fi
+\if@minimclass@classical
+ \@minimclass@useindenttrue
+\fi
\if@minimclass@palatino
\@minimclass@customfonttrue
\fi
@@ -93,9 +98,9 @@
\if@minimclass@fast
\PassOptionsToPackage{fast}{minimalist}
\RequirePackage{draftwatermark}
- \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper}
\fi
-\if@minimclass@classical
+\if@minimclass@useindent
\RequirePackage{indentfirst}
\else
\AtEndPreamble{\RequirePackage{parskip}}
@@ -117,11 +122,13 @@
\RequirePackage{fontspec}
\IfFontExistsTF{Palatino Linotype}{%
\setmainfont{Palatino Linotype}
+ [\if@minimclass@useosf Numbers = OldStyle\fi]
}{
\setmainfont{TeXGyrePagellaX-Regular.otf}[
BoldFont = TeXGyrePagellaX-Bold.otf ,
ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ]
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf,
+ \if@minimclass@useosf Numbers = OldStyle\fi ]
}
\setsansfont{SourceSansPro-Regular.otf}[
Scale = MatchLowercase ,
@@ -171,8 +178,14 @@
BoldItalicFeatures = {FakeBold=4} ,
SmallCapsFont = * ]
}
-\IfFontExistsTF{FZYOUHK_506L--GBK1-0}{%
- \setCJKsansfont{FZYOUHK_506L--GBK1-0}[
+\IfFontExistsTF{FZYOUHK_508R--GBK1-0}{%
+ \setCJKsansfont{FZYOUHK_508R--GBK1-0}[
+ BoldFont = FZYOUHK_509R--GBK1-0 ,
+ BoldFeatures = {FakeBold=4} ,
+ ItalicFont = * ,
+ BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
+ SmallCapsFont = * ]
+ \setCJKfamilyfont{zhhei}{FZYOUHK_508R--GBK1-0}[
BoldFont = FZYOUHK_509R--GBK1-0 ,
BoldFeatures = {FakeBold=4} ,
ItalicFont = * ,
@@ -184,8 +197,15 @@
ItalicFont = * ,
BoldItalicFont = FandolHei-Bold.otf ,
SmallCapsFont = * ]
+ \setCJKfamilyfont{zhhei}{FandolHei-Regular.otf}[
+ BoldFont = FandolHei-Bold.otf ,
+ ItalicFont = * ,
+ BoldItalicFont = FandolHei-Bold.otf ,
+ SmallCapsFont = * ]
}
+\def\minimalist@titlefontshape{\CJKfamily{zhhei}}
+
%% Math font
\if@minimclass@customfont\else
\if@minimclass@fast
@@ -197,45 +217,80 @@
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmathfont{Asana-Math.otf}
\IfFontExistsTF{Neo Euler}{%
-\setmathfont{Neo Euler}
- [range={"0000-"0001,"0020-"007E,
- "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
- "00D7,"00F7,
- "0131,
- "0237,"02C6-"02C7,"02D8-"02DA,"02DC,
- "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
- "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
- "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
- "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
- "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
- "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
- "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
- "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
- "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
- "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
- "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
- "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
- "22DC-"22DD,"22EF,"22F0-"22F1,
- "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
- "23DC-"23DF,
- "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
- "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
- "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
- "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
- "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
- "1D6DF,"1D6E1,"1D7CE-"1D7D7 }]
-\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
+\setmathfont[range={up/{Latin,latin,Greek,greek},
+ bfup/{Latin,latin,Greek,greek},
+ cal, bfcal, frak, bffrak,
+ `(,`),`[,`],`\{,`\},`:,`=,`/,\backslash,
+ \in,\notin,\ni,\subset,\supset,\subseteq,\supseteq,
+ \rightarrow,\leftarrow,\mapsto,\hookrightarrow,\hookleftarrow,
+ \sum,\prod,\coprod,
+ \sqrt,\int,\iint,\iiint,\oint},
+ script-features={},
+ sscript-features={},
+ Scale = 1.05,
]{Neo Euler}
-\setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
- script-features={}, sscript-features={}
- ]{Neo Euler}
-\setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
- sfup, sfit, bfsfup, bfsfit, tt}
- ]{Asana-Math.otf}
-\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf}
}{}
+\setmathfont[range={up/num, bfup/num}
+ ]{texgyrepagella-math.otf}
+
+\newbox\xratbelow
+\newbox\xratabove
+\renewcommand{\xrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<-, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xleftrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [<->, baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) -- node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookrightarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookrightarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xhookleftarrow}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/hookleftarrow] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\renewcommand{\xmapsto}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/mapsto] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
+\newcommand{\xlongequal}[2][]{%
+ \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}%
+ \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}%
+ \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}%
+ \mathrel{\tikz [baseline=-.6ex, every node/.style={inner sep=0pt}]
+ \draw (0,0) edge[commutative diagrams/equal] node[below=3pt] {\box\xratbelow}
+ node[above=2pt] {\box\xratabove}
+ (\xratlen,0) ;}}
\fi
\fi
@@ -244,9 +299,10 @@
\RequirePackage{mathpazo}
\PassOptionsToPackage{defaultsups}{newpxtext}
\RequirePackage{newpxtext}
- \RequirePackage{newpxmath}
+ % \RequirePackage{newpxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.07}}
+ \if@minimclass@useosf\useosf\fi
\fi
\if@minimclass@times
@@ -256,11 +312,14 @@
\RequirePackage{newtxmath}
\let\openbox\relax
\PJLsetlinespacing{\setstretch{1.00}}
+ \if@minimclass@useosf\useosf\fi
\fi
\if@minimclass@garamond
\RequirePackage{amssymb}
- \PassOptionsToPackage{lining}{ebgaramond}
+ \if@minimclass@useosf\else
+ \PassOptionsToPackage{lining}{ebgaramond}
+ \fi
\RequirePackage{ebgaramond-maths}
\RequirePackage{ebgaramond}
% \RequirePackage{garamondlibre}
@@ -272,6 +331,9 @@
% \RequirePackage{mathpazo}
% \RequirePackage[sansmath]{libertinust1math}
\ifPDFTeX
+ \if@minimclass@useosf
+ \PassOptionsToPackage{osf}{biolinum}
+ \fi
\RequirePackage{biolinum}
\renewcommand*\familydefault{\biolinum@family}
\else
@@ -280,7 +342,8 @@
\setmainfont{LinBiolinum_R.otf}[
BoldFont = LinBiolinum_RB.otf ,
ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf ]
+ BoldItalicFont = LinBiolinum_RBO.otf,
+ \if@minimclass@useosf Numbers = OldStyle\fi ]
\fi
\PJLsetlinespacing{\setstretch{1.05}}
\RequirePackage[italic,defaultmathsizes]{mathastext}
@@ -288,8 +351,12 @@
\def\PJL@font@alreadyset{}
+%% Minor improvements
\PassOptionsToPackage{verbose=silent}{microtype}
\RequirePackage{microtype}
+\PassOptionsToPackage{all}{nowidow}
+\RequirePackage{nowidow}
+\RequirePackage{embrac}
%%================================
%% Graphics
@@ -304,9 +371,10 @@
%%================================
%% Index
%%================================
-\RequirePackage{imakeidx}
-\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL}
-\apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL}
+\AtEndPreamble{
+\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{}
+\apptocmd{\printindex}{\ResumeLineNumbers}{}{}
+}
\endinput
%%