summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex/einfart
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/latex/einfart
parenta809a190ff669feb11cb64db915b763abd0bed81 (diff)
CTAN sync 202106240304
Diffstat (limited to 'macros/unicodetex/latex/einfart')
-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
5 files changed, 203 insertions, 91 deletions
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
%%