texlive[59688] Master/texmf-dist: einfart (23jun21)

commits+karl at tug.org commits+karl at tug.org
Wed Jun 23 21:45:35 CEST 2021


Revision: 59688
          http://tug.org/svn/texlive?view=revision&revision=59688
Author:   karl
Date:     2021-06-23 21:45:35 +0200 (Wed, 23 Jun 2021)
Log Message:
-----------
einfart (23jun21)

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

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

Modified: trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex	2021-06-23 19:45:04 UTC (rev 59687)
+++ trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex	2021-06-23 19:45:35 UTC (rev 59688)
@@ -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 @@
 \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 @@
 
 \begin{code}
 \documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
 
 \UseLanguage{French} % Use French from here
 
@@ -508,7 +531,7 @@
 \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}

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

Modified: trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex	2021-06-23 19:45:04 UTC (rev 59687)
+++ trunk/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex	2021-06-23 19:45:35 UTC (rev 59688)
@@ -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 @@
                 \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 @@
         \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 @@
 
 \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 @@
 
 \begin{code}
 \documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
 
 \UseLanguage{French} % Use French from here
 
@@ -445,7 +466,7 @@
 \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 @@
 
 \begin{code}
 \documentclass{einfart}
-\usepackage{PJLtoolkit} % Load ProjLib toolkit
+\usepackage{ProjLib} % Load ProjLib toolkit
 
 \UseLanguage{French} % Use French from here
 
@@ -498,7 +519,7 @@
 \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}

Modified: trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls	2021-06-23 19:45:04 UTC (rev 59687)
+++ trunk/Master/texmf-dist/tex/latex/einfart/einfart.cls	2021-06-23 19:45:35 UTC (rev 59688)
@@ -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 at 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 at minimclass@draft
     \@minimclass at fasttrue
 \fi
+\if at minimclass@classical
+    \@minimclass at useindenttrue
+\fi
 \if at minimclass@palatino
     \@minimclass at customfonttrue
 \fi
@@ -93,9 +98,9 @@
 \if at minimclass@fast
     \PassOptionsToPackage{fast}{minimalist}
     \RequirePackage{draftwatermark}
-    \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+    \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper}
 \fi
-\if at minimclass@classical
+\if at minimclass@useindent
     \RequirePackage{indentfirst}
 \else
     \AtEndPreamble{\RequirePackage{parskip}}
@@ -117,11 +122,13 @@
 \RequirePackage{fontspec}
 \IfFontExistsTF{Palatino Linotype}{%
     \setmainfont{Palatino Linotype}
+        [\if at 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 at minimclass@useosf Numbers = OldStyle\fi ]
 }
     \setsansfont{SourceSansPro-Regular.otf}[
         Scale          = MatchLowercase ,
@@ -171,13 +178,19 @@
         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     = * ,
+        BoldItalicFont = FZYOUHK_509R--GBK1-0 ,
+        SmallCapsFont  = * ]
 }{
     \setCJKsansfont{FandolHei-Regular.otf}[
         BoldFont       = FandolHei-Bold.otf ,
@@ -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 at titlefontshape{\CJKfamily{zhhei}}
+
 %% Math font
 \if at minimclass@customfont\else
 \if at 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={}
+\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
 
@@ -244,9 +299,10 @@
     \RequirePackage{mathpazo}
     \PassOptionsToPackage{defaultsups}{newpxtext}
     \RequirePackage{newpxtext}
-    \RequirePackage{newpxmath}
+    % \RequirePackage{newpxmath}
     \let\openbox\relax
     \PJLsetlinespacing{\setstretch{1.07}}
+    \if at minimclass@useosf\useosf\fi
 \fi
 
 \if at minimclass@times
@@ -256,11 +312,14 @@
     \RequirePackage{newtxmath}
     \let\openbox\relax
     \PJLsetlinespacing{\setstretch{1.00}}
+    \if at minimclass@useosf\useosf\fi
 \fi
 
 \if at minimclass@garamond
     \RequirePackage{amssymb}
-    \PassOptionsToPackage{lining}{ebgaramond}
+    \if at 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 at minimclass@useosf
+            \PassOptionsToPackage{osf}{biolinum}
+        \fi
         \RequirePackage{biolinum}
         \renewcommand*\familydefault{\biolinum at 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 at minimclass@useosf Numbers = OldStyle\fi ]
     \fi
     \PJLsetlinespacing{\setstretch{1.05}}
     \RequirePackage[italic,defaultmathsizes]{mathastext}
@@ -288,8 +351,12 @@
 
 \def\PJL at 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
 %%



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