summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex/simplivre/simplivre.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/unicodetex/latex/simplivre/simplivre.cls')
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls166
1 files changed, 117 insertions, 49 deletions
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
%%