blob: cf678d50c0fb5bad9c0c74fc6f0b78dc96972092 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
\NeedsTeXFormat{LaTeX2e}[2018/01/01]
\def\fileversion{0.30}
\def\filedate{2022-11-06}
\ProvidesPackage{euler-math}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
\RequirePackage{iftex}[2019/10/24]
\RequireTUTeX
\RequirePackage[math-style=upright]{unicode-math}
\newopentypefeature{Style}{smaller}{+ss05}
\newopentypefeature{Style}{subsetneq}{+ss06}
% Options: forward them to \setmathfont.
\RequirePackage{xkeyval}
\newtoks\NEUtoks
\newcommand*{\Store@KV@Option}[2]{%
\NEUtoks=\expandafter{\the\NEUtoks #1={#2},}}
\DeclareOptionX{CharacterVariant}{\Store@KV@Option{CharacterVariant}{#1}}
\DeclareOptionX{StylisticSet}{\Store@KV@Option{StylisticSet}{#1}}
\DeclareOptionX{Style}{\Store@KV@Option{Style}{#1}}
\DeclareOptionX{Scale}{\Store@KV@Option{Scale}{#1}}
\DeclareOptionX{Numbers}{\Store@KV@Option{Numbers}{#1}}
\ProcessOptionsX
% Following Joseph Wright in https://tex.stackexchange.com/questions/451
\begingroup
\edef\temp{%
\endgroup
\noexpand\setmathfont{Euler-Math.otf}%
[\unexpanded\expandafter{\the\NEUtoks}]%
}
\temp
\AtBeginDocument{%
% Euler specific math
% \Umathchardef\<cmd> = <math type> <family> <slot>
% <math type> : \mathord=0 \mathrel=3 ; <family>=0
\Umathchardef\muphbar = 0 0 "0127 \relax
\Umathchardef\varemptyset = 0 0 "E021 \relax
\Umathchardef\mbfwp = 0 0 "E045 \relax
\Umathchardef\mbfdotlessi = 0 0 "E046 \relax
\Umathchardef\mbfdotlessj = 0 0 "E047 \relax
\Umathchardef\mbfhbar = 0 0 "E048 \relax
\let\lesseqslantgtr\lesseqgtr
\let\gtreqslantless\gtreqless
\let\lesseqqslantgtr\lesseqqgtr
\let\gtreqqslantless\gtreqqless
\let\nleqqslant\nleqq
\let\ngeqqslant\ngeqq
% \widearc and\overrightarc
\newcommand*{\widearc}{\Umathaccent 0 0 "E540 }%
\newcommand*{\overrightarc}{\Umathaccent 0 0 "20D5 }%
% amssymb
\@ifpackageloaded{amssymb}%
{\PackageWarning{euler-math}{%
Euler-Math provides all AMS symbols.\MessageBreak
Loading amssymb.sty is not advisable.\MessageBreak
Reported}%
}%
{% AMS Symbols not referenced in unicode-math-table.tex
% \Umathchardef\<cmd> = <math type> <family> <slot>
% <math type> : \mathord=0 \mathrel=3 ; <family>=0
\Umathchardef\circledR = 0 0 "24C7 \relax
\Umathchardef\circledS = 0 0 "24C8 \relax
\Umathchardef\diagup = 0 0 "E0A0 \relax
\Umathchardef\diagdown = 0 0 "E0A1 \relax
\Umathchardef\shortmid = 3 0 "E0A2 \relax
\Umathchardef\shortparallel = 3 0 "E0A3 \relax
\Umathchardef\nshortmid = 3 0 "E0A4 \relax
\Umathchardef\nshortparallel = 3 0 "E0A5 \relax
\Umathchardef\lvertneqq = 3 0 "E0A6 \relax
\Umathchardef\gvertneqq = 3 0 "E0A7 \relax
\Umathchardef\nleqslant = 3 0 "E0A8 \relax
\Umathchardef\ngeqslant = 3 0 "E0A9 \relax
\Umathchardef\nleqq = 3 0 "E0AA \relax
\Umathchardef\ngeqq = 3 0 "E0AB \relax
\Umathchardef\varsubsetneq = 3 0 "E0AC \relax
\Umathchardef\varsupsetneq = 3 0 "E0AD \relax
\Umathchardef\nsubseteqq = 3 0 "E0AE \relax
\Umathchardef\nsupseteqq = 3 0 "E0AF \relax
\Umathchardef\varsubsetneqq = 3 0 "E09C \relax
\Umathchardef\varsupsetneqq = 3 0 "E09D \relax
\Umathchardef\npreceq = 3 0 "E09E \relax
\Umathchardef\nsucceq = 3 0 "E09F \relax
\let\centerdot\cdotp
\let\restriction\upharpoonright
\let\doteqdot\Doteq
\let\doublecup\Cup
\let\doublecap\Cap
\let\llless\lll
\let\gggtr\ggg
\let\circlearrowleft\acwopencirclearrow
\let\circlearrowright\cwopencirclearrow
\let\lozenge\mdlgwhtlozenge
\let\blacklozenge\mdlgblklozenge
\let\square\mdlgwhtsquare
\let\blacksquare\mdlgblksquare
\let\dashleftarrow\leftdasharrow
\let\dashrightarrow\rightdasharrow
\let\ntriangleleft\nvartriangleleft
\let\ntriangleright\nvartriangleright
\let\varpropto\propto
\let\thicksim\sim
\let\thickapprox\approx
\let\smallsmile\smile
\let\smallfrown\frown
}%
% latexsym
\@ifpackageloaded{latexsym}%
{\PackageWarning{euler-math}{%
Euler-Math provides all LaTeX symbols.\MessageBreak
Loading latexsym.sty is not advisable.\MessageBreak
Reported}%
}%
{\let\lhd\vartriangleleft
\let\rhd\vartriangleright
\let\unlhd\trianglelefteq
\let\unrhd\trianglerighteq
\let\leadsto\rightcurvedarrow
\let\Box\lgwhtsquare
\let\Diamond\mdlgwhtdiamond
}%
}
\endinput
|