summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/mathspec/mathspec.sty
blob: d43957199ad9246d4068fe14e67e964813c7af90 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
%%
%% This is file `mathspec.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% mathspec.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% © Andrew Gilbert Moschou
%% 
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. The latest version of this license is in:
%% 
%%   http://www.latex-project.org/lppl.txt
%% 
%% and version 1.3c or later is part of all recent distributions of
%% LaTeX.
%% 
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{mathspec}[2008/10/01 v0.15 LaTeX Package (Specify arbitrary fonts for mathematics)]
\let\eu@ifnot@normalskips\@firstofone
\let\eu@if@MnSymbol\@gobble
\def\eu@zf@math{no-math}
\DeclareOption{normalskips}{\let\eu@ifnot@normalskips\@gobble}
\DeclareOption{no-math}{\relax}
\DeclareOption{MnSymbol}{\let\eu@if@MnSymbol\@firstofone}
\DeclareOption{math}{\def\eu@zf@math{math}}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{fontspec}}
\ProcessOptions\relax
\RequirePackage[\eu@zf@math]{fontspec}
\eu@if@MnSymbol{\RequirePackage{MnSymbol}}
\RequirePackage{xkeyval}
\RequirePackage{xifthen}
\newif\if@eu@LatinUppercase@
\newif\if@eu@LatinLowercase@
\newif\if@eu@LatinDigits@
\newif\if@eu@GreekUppercase@
\newif\if@eu@GreekLowercase@
\newif\if@eu@GreekDigits@
\newif\if@eu@Symbols@
\newif\if@eu@Digits@
\let\eu@if@varforms\@gobble
\let\eu@ifset@mathrm\@gobble
\let\eu@ifset@mathcal\@gobble
\let\eu@ifset@mathsf\@gobble
\let\eu@ifset@mathtt\@gobble
\let\eu@ifset@mathfrak\@gobble
\let\eu@ifset@mathbb\@gobble
\eu@ifnot@normalskips{
  \thinmuskip=4mu
  \medmuskip=5mu plus 2mu minus 4mu
  \thickmuskip=6mu plus 5mu}
\newcommand\eu@isloaded[2][]{
  \expandafter\ifx\csname if@eu@#2loaded@\endcsname\relax
    \expandafter\newif\csname if@eu@#2loaded@\endcsname
  \fi
  \@ifpackageloaded{#2}
    {\csname @eu@#2loaded@true\endcsname #1}
    {\csname @eu@#2loaded@false\endcsname}}
\eu@isloaded{amsmath}
\DeclareMathSymbol{\Alpha}{\mathalpha}{operators}{"41}
\DeclareMathSymbol{\Beta}{\mathalpha}{operators}{"42}
\DeclareMathSymbol{\Epsilon}{\mathalpha}{operators}{"45}
\DeclareMathSymbol{\Zeta}{\mathalpha}{operators}{"5A}
\DeclareMathSymbol{\Eta}{\mathalpha}{operators}{"48}
\DeclareMathSymbol{\Iota}{\mathalpha}{operators}{"49}
\DeclareMathSymbol{\Kappa}{\mathalpha}{operators}{"4B}
\DeclareMathSymbol{\Mu}{\mathalpha}{operators}{"4D}
\DeclareMathSymbol{\Nu}{\mathalpha}{operators}{"4E}
\DeclareMathSymbol{\Omicron}{\mathalpha}{operators}{"4F}
\DeclareMathSymbol{\Rho}{\mathalpha}{operators}{"50}
\DeclareMathSymbol{\Tau}{\mathalpha}{operators}{"54}
\DeclareMathSymbol{\Chi}{\mathalpha}{operators}{"58}
\DeclareMathSymbol{\omicron}{\mathord}{letters}{"6F}
\let\varbeta\beta
\@ifundefined{varkappa}
  {\let\varkappa\kappa}
  {\relax}
\let\varTheta\Theta
\@ifundefined{digamma}
  {\DeclareMathSymbol{\Digamma}{\mathalpha}{operators}{"46}
   \DeclareMathSymbol{\digamma}{\mathord}{operators}{"46}}
  {\let\Digamma\digamma}
\let\cmAlpha\Alpha
\let\cmBeta\Beta
\let\cmGamma\Gamma
\let\cmDelta\Delta
\let\cmEpsilon\Epsilon
\let\cmZeta\Zeta
\let\cmEta\Eta
\let\cmTheta\Theta
\let\cmIota\Iota
\let\cmKappa\Kappa
\let\cmLambda\Lambda
\let\cmMu\Mu
\let\cmNu\Nu
\let\cmXi\Xi
\let\cmOmicron\Omicron
\let\cmPi\Pi
\let\cmRho\Rho
\let\cmSigma\Sigma
\let\cmTau\Tau
\let\cmUpsilon\Upsilon
\let\cmPhi\Phi
\let\cmChi\Chi
\let\cmPsi\Psi
\let\cmOmega\Omega
\let\cmDigamma\Digamma
\let\cmalpha\alpha
\let\cmbeta\beta
\let\cmgamma\gamma
\let\cmdelta\delta
\let\cmepsilon\epsilon
\let\cmzeta\zeta
\let\cmeta\eta
\let\cmtheta\theta
\let\cmiota\iota
\let\cmkappa\kappa
\let\cmlambda\lambda
\let\cmmu\mu
\let\cmnu\nu
\let\cmxi\xi
\let\cmomicron\omicron
\let\cmpi\pi
\let\cmrho\rho
\let\cmvarsigma\varsigma
\let\cmsigma\sigma
\let\cmtau\tau
\let\cmupsilon\upsilon
\let\cmphi\phi
\let\cmchi\chi
\let\cmpsi\psi
\let\cmomega\omega
\let\cmdigamma\digamma
\let\cmvarbeta\varbeta
\let\cmvarepsilon\varepsilon
\let\cmvartheta\vartheta
\let\cmvarkappa\varkappa
\let\cmvarpi\varpi
\let\cmvarrho\varrho
\let\cmvarphi\varphi
\let\cmvarTheta\varTheta
\providecommand\expandonce[1]{\unexpanded\expandafter{#1}}
\providecommand\expanded[1]{\edef\@tempa{#1}\@tempa}
\providecommand\ernewcommand[1]{
  \@ifundefined{\expandafter\@gobble\string#1}%
    {\let\er@newcommand\newcommand}%
    {\let\er@newcommand\renewcommand
     \PackageWarning{mathspec}{Redefining command `\string#1'}}%
  \er@newcommand#1}
\newcommand\eu@setkeys[3][]{
  \ifthenelse{\isempty{#1}}
    {\relax}
    {\presetkeys[eu]{#2}{#1}{}}
  \expanded{\noexpand\setkeys*[eu]{#2}{\expandonce#3}}}
\newcommand\eu@fontspec[2]{\expanded{\noexpand\zf@fontspec{\expandonce#1}{\expandonce#2}}}
\def\@ifnext#1#2#3{%
  \let\@tempd=#1%
  \def\@tempa{#2}%
  \def\@tempb{#3}%
  \futurelet\@tempc\@ifnexta}
\def\@ifnexta{%
  \ifx\@tempc\@tempd%
  \let\@tempb\@tempa%
  \fi\@tempb}
\def\eu@DeclareRobustCommand{\@star@or@long\eu@declare@robustcommand}
\def\eu@declare@robustcommand#1{%
  \ifx#1\@undefined\else\ifx#1\relax\else
    \@latex@info{Redefining \string#1}%
  \fi\fi
  \edef\reserved@a{\string#1}%
  \def\reserved@b{#1}%
  \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
  \edef#1{%
    \ifx\reserved@a\reserved@b
      \noexpand\x@protect
      \noexpand#1%
    \fi
    \noexpand\protect
    \expandafter\noexpand\csname\expandafter\@gobble\string#1\endcsname}%
  \let\@ifdefinable\@rc@ifdefinable
  \expandafter\eu@new@command\csname\expandafter\@gobble\string#1\endcsname}
\def\eu@new@command#1{\eu@@testopt{\eu@@newcommand#1}0}
\def\eu@@newcommand#1[#2]{\@ifnext[{\@xargdef#1[#2]}{\@argdef#1[#2]}}
\long\def\eu@@testopt#1#2{\@ifnext[{#1}{#1[{#2}]}}
\newcommand\normalvarforms[1][]{\AtBeginDocument{
  \ifx\varbeta\cmvarbeta
    \let\varbeta\beta
  \fi
  \ifx\varepsilon\cmvarepsilon
    \let\varepsilon\epsilon
  \fi
  \ifx\vartheta\cmvartheta
    \let\vartheta\theta
  \fi
  \ifx\varkappa\cmvarkappa
    \let\varkappa\kappa
  \fi
  \ifx\varpi\cmvarpi
    \let\varpi\pi
  \fi
  \ifx\varrho\cmvarrho
    \let\varrho\rho
  \fi
  \ifx\varphi\cmvarphi
    \let\varphi\phi
  \fi
  \ifx\varTheta\cmvarTheta
    \let\varTheta\Theta
  \fi}}
\let\eu@ifnot@plaindigits\@firstofone
\newcommand\plaindigits{\let\eu@ifnot@plaindigits\@gobble}
\providecommand\setmathsfont{\eu@setmathsfont}
\let\setmathfont\setmathsfont
\eu@DeclareRobustCommand\+[1][1]{\ensuremath{\mskip#1mu}}
\newcommand\varforms[1]{\def\eu@if@varforms##1{##1{#1}}}
\ernewcommand\setmathrm[2][]{
  \zf@fontspec{#1}{#2}
  \let\eu@mathrm\zf@family
  \let\eu@ifset@mathrm\@firstofone
  \providecommand\eu@mathbf@shape{n}}
\ernewcommand\setmathcal[2][]{
  \zf@fontspec{#1}{#2}
  \let\eu@mathcal\zf@family
  \let\eu@ifset@mathcal\@firstofone
  \providecommand\eu@mathcal@series{m}
  \providecommand\eu@mathcal@shape{n}}
\ernewcommand\setmathsf[2][]{
  \zf@fontspec{#1}{#2}
  \let\eu@mathsf\zf@family
  \let\eu@ifset@mathsf\@firstofone}
\ernewcommand\setmathtt[2][]{
  \zf@fontspec{#1}{#2}
  \let\eu@mathtt\zf@family
  \let\eu@ifset@mathtt\@firstofone}
\ernewcommand\setmathfrak[2][]{
  \zf@fontspec{#1}{#2}
  \let\eu@mathfrak\zf@family
  \let\eu@ifset@mathfrak\@firstofone
  \providecommand\eu@mathfrak@series{m}}
\ernewcommand\setmathbb[2][]{
  \zf@fontspec{#1}{#2}
  \let\eu@mathbb\zf@family
  \let\eu@ifset@mathbb\@firstofone
  \providecommand\eu@mathbb@series{m}}
\newcommand\setprimaryfont[2][]{
  \setmainfont[#1]{#2}
  \setmathsfont[Set=Latin,#1]{#2}
  \setmathrm[#1]{#2}}
\newcommand\setsansfonts[2][]{
  \setsansfont[#1]{#2}
  \setmathsf[#1]{#2}}
\newcommand\setmonofonts[2][]{
  \setmonofont[#1]{#2}
  \setmathtt[#1]{#2}}
\newcommand\eu@setmathsfont[1][Set=Special]{
  \eu@setkeys{Scope}{#1}
  \ifcase\eu@ScopeSet@@value
    \let\eu@ScopeSet@Value\eu@ScopeSet@Special
  \or
    \let\eu@ScopeSet@Value\eu@ScopeSet@Latin
  \or
    \let\eu@ScopeSet@Value\eu@ScopeSet@Greek
  \or
    \let\eu@ScopeSet@Value\eu@ScopeSet@Symbols
  \fi
  \eu@ScopeSet@Value}
\providecommand\eu@ScopeSet@Special[1]{\relax}
\newcommand\eu@ScopeSet@Latin[1]{
  \eu@setkeys[Uppercase=Italic,Lowercase=Italic,Digits=Regular]{Latin}{\XKV@rm}
  \eu@fontspec{\XKV@rm}{#1}
  \ifcase\eu@LatinUppercase@@value
    \ernewcommand\eu@LatinUppercase@symfont{Lmn}
    \let\eu@Latinmathsfont\zf@family
    \@eu@LatinUppercase@true
    \def\operator@font{\mathgroup\symLmn}
  \or
    \ernewcommand\eu@LatinUppercase@symfont{Lmit}
    \let\eu@Latinmathsfont\zf@family
    \@eu@LatinUppercase@true
  \or\fi
  \ifcase\eu@LatinLowercase@@value
    \ernewcommand\eu@LatinLowercase@symfont{Lmn}
    \let\eu@Latinmathsfont\zf@family
    \@eu@LatinLowercase@true
  \or
    \ernewcommand\eu@LatinLowercase@symfont{Lmit}
    \let\eu@Latinmathsfont\zf@family
    \@eu@LatinLowercase@true
  \or\fi
  \ifcase\eu@LatinDigits@@value
    \ernewcommand\eu@LatinDigits@symfont{Lmn}
    \let\eu@Latinmathsfont\zf@family
    \@eu@LatinDigits@true
  \or
    \ernewcommand\eu@LatinDigits@symfont{Lmit}
    \let\eu@Latinmathsfont\zf@family
    \@eu@LatinDigits@true
  \or\fi}
\newcommand\eu@ScopeSet@Greek[1]{
  \eu@setkeys[Uppercase=Regular,Lowercase=Italic,Digits=Plain]{Greek}{\XKV@rm}
  \eu@fontspec{\XKV@rm}{#1}
  \ifcase\eu@GreekUppercase@@value
    \ernewcommand\eu@GreekUppercase@symfont{Gmn}
    \let\eu@Greekmathsfont\zf@family
    \@eu@GreekUppercase@true
  \or
    \ernewcommand\eu@GreekUppercase@symfont{Gmit}
    \let\eu@Greekmathsfont\zf@family
    \@eu@GreekUppercase@true
  \or\fi
  \ifcase\eu@GreekLowercase@@value
    \ernewcommand\eu@GreekLowercase@symfont{Gmn}
    \let\eu@Greekmathsfont\zf@family
    \@eu@GreekLowercase@true
  \or
    \ernewcommand\eu@GreekLowercase@symfont{Gmit}
    \let\eu@Greekmathsfont\zf@family
    \@eu@GreekLowercase@true
  \or\fi
  \ifcase\eu@GreekDigits@@value
    \ernewcommand\eu@GreekDigits@symfont{Gmn}
    \let\eu@Greekmathsfont\zf@family
    \@eu@GreekDigits@true
  \or
    \ernewcommand\eu@GreekDigits@symfont{Gmit}
    \let\eu@Greekmathsfont\zf@family
    \@eu@GreekDigits@true
  \or\fi}
\newcommand\eu@ScopeSet@Symbols[1]{
  \@eu@Symbols@true
  \zf@fontspec{}{#1}
  \let\eu@Symbolsmathsfont\zf@family
  \def\eu@Symbls@symfont{Smn}}
\renewcommand\eu@ScopeSet@Symbols[1]{
  \@eu@Symbols@false}
\newcommand\eu@VarForms[1]{
  \fontfamily\eu@Greekmathsfont\selectfont
  \eu@setkeys{VarForms}{#1}
  \ifeu@VarForms@beta
    \eu@DeclareMathSymbol{β}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D0}[\beta]
    \eu@DeclareMathSymbol{ϐ}{\mathalpha}{\eu@GreekLowercase@symfont}{`β}[\varbeta]
  \fi
  \ifeu@VarForms@epsilon
    \eu@DeclareMathSymbol{ϵ}{\mathalpha}{\eu@GreekLowercase@symfont}{`ε}[\varepsilon]
    \eu@DeclareMathSymbol{ε}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F5}[\epsilon]
  \fi
  \ifeu@VarForms@theta
    \eu@DeclareMathSymbol{ϑ}{\mathalpha}{\eu@GreekLowercase@symfont}{`θ}[\vartheta]
    \eu@DeclareMathSymbol{θ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D1}[\theta]
  \fi
  \ifeu@VarForms@kappa
    \eu@DeclareMathSymbol{ϰ}{\mathalpha}{\eu@GreekLowercase@symfont}{`κ}[\varkappa]
    \eu@DeclareMathSymbol{κ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F0}[\kappa]
  \fi
  \ifeu@VarForms@pi
    \eu@DeclareMathSymbol{ϖ}{\mathalpha}{\eu@GreekLowercase@symfont}{`π}[\varpi]
    \eu@DeclareMathSymbol{π}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D6}[\pi]
  \fi
  \ifeu@VarForms@rho
    \eu@DeclareMathSymbol{ϱ}{\mathalpha}{\eu@GreekLowercase@symfont}{`ρ}[\varrho]
    \eu@DeclareMathSymbol{ρ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F1}[\rho]
  \fi
  \ifeu@VarForms@phi
    \eu@DeclareMathSymbol{ϕ}{\mathalpha}{\eu@GreekLowercase@symfont}{`φ}[\varphi]
    \eu@DeclareMathSymbol{φ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D5}[\phi]
  \fi
  \ifeu@VarForms@Theta
    \eu@DeclareMathSymbol{ϴ}{\mathalpha}{\eu@GreekLowercase@symfont}{`Θ}[\varTheta]
    \eu@DeclareMathSymbol{Θ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F4}[\Theta]
  \fi}
\define@choicekey[eu]{Scope}{Set}
    [\eu@ScopeSet@value\eu@ScopeSet@@value]
    {Special,Latin,Greek,Symbols}[Special]{\relax}
\define@choicekey[eu]{Latin}{Uppercase}
    [\eu@LatinUppercase@value\eu@LatinUppercase@@value]
    {Regular,Italic,Plain}[Italic]{\relax}
\define@choicekey[eu]{Latin}{Lowercase}
    [\eu@LatinLowercase@value\eu@LatinLowercase@@value]
    {Regular,Italic,Plain}[Italic]{\relax}
\define@choicekey[eu]{Latin}{Digits}
    [\eu@LatinDigits@value\eu@LatinDigits@@value]
    {Regular,Italic,Plain}[Regular]{\relax}
\define@choicekey[eu]{Greek}{Uppercase}
    [\eu@GreekUppercase@value\eu@GreekUppercase@@value]
   {Regular,Italic,Plain}[Regular]{\relax}
\define@choicekey[eu]{Greek}{Lowercase}
    [\eu@GreekLowercase@value\eu@GreekLowercase@@value]
    {Regular,Italic,Plain}[Italic]{\relax}
\define@choicekey[eu]{Greek}{Digits}
    [\eu@GreekDigits@value\eu@GreekDigits@@value]
    {Regular,Italic,Plain}[Regular]{\relax}
\define@boolkey[eu]{VarForms}{beta}[True]{\relax}
\define@boolkey[eu]{VarForms}{epsilon}[True]{\relax}
\define@boolkey[eu]{VarForms}{theta}[True]{\relax}
\define@boolkey[eu]{VarForms}{kappa}[True]{\relax}
\define@boolkey[eu]{VarForms}{pi}[True]{\relax}
\define@boolkey[eu]{VarForms}{rho}[True]{\relax}
\define@boolkey[eu]{VarForms}{phi}[True]{\relax}
\define@boolkey[eu]{VarForms}{Theta}[True]{\relax}
\newcommand\eu@XeTeXDeclareMathSymbol[4]{
  \expandafter\XeTeXmathcode`#1\mathchar@type#2\csname sym#3\endcsname#4}
\newcommand\eu@DeclareMathSymbol[4]{
  \ifnum\XeTeXcharglyph#4>0
    \eu@XeTeXDeclareMathSymbol#1#2#3#4
   \fi
  \let\eu@character#1
  \def\eu@@character{#4}
  \futurelet\@tempa\eu@@DeclareMathSymbol}
\def\eu@@DeclareMathSymbol{
  \ifx\@tempa[
    \let\eu@@@DeclareMathSymbol\eu@DeclareMathSymbol@option
  \else
    \let\eu@@@DeclareMathSymbol\relax
  \fi
  \eu@@@DeclareMathSymbol}
\def\eu@DeclareMathSymbol@option[#1]{%
  \ifnum\XeTeXcharglyph\eu@@character>0
    \let#1\eu@character
  \fi}
\let\LaTeXe@DeclareMathSymbol\DeclareMathSymbol
\newcommand\eu@LaTeXe@DeclareMathSymbol[4]{
  \ifnum\XeTeXcharglyph#4>0
    \LaTeXe@DeclareMathSymbol{#1}{#2}{#3}{#4}
  \fi}
\let\DeclareMathSymbol\eu@LaTeXe@DeclareMathSymbol

\newcommand\eu@DeclareFonts{
  \let\eu@if@Latin\@gobble
  \if@eu@LatinUppercase@\let\eu@if@Latin\@firstofone\fi
  \if@eu@LatinLowercase@\let\eu@if@Latin\@firstofone\fi
  \if@eu@LatinDigits@\let\eu@if@Latin\@firstofone\fi
  \let\eu@if@Greek\@gobble
  \if@eu@GreekUppercase@\let\eu@if@Greek\@firstofone\fi
  \if@eu@GreekLowercase@\let\eu@if@Greek\@firstofone\fi
  \if@eu@GreekDigits@\let\eu@if@Greek\@firstofone\fi
  \eu@if@Latin{
    \DeclareSymbolFont{Lmn}{EU1}{\eu@Latinmathsfont}{m}{n}
    \DeclareSymbolFont{Lmit}{EU1}{\eu@Latinmathsfont}{m}{it}
    }
  \eu@if@Greek{
    \DeclareSymbolFont{Gmn}{EU1}{\eu@Greekmathsfont}{m}{n}
    \DeclareSymbolFont{Gmit}{EU1}{\eu@Greekmathsfont}{m}{it}}
  \if@eu@Symbols@
    \DeclareSymbolFont{Smn}{EU1}{\eu@Symbolsmathsfont}{m}{n}
  \fi}
\newcommand\eu@DeclareDigits{
  \let\eu@if@Digits\@gobble
  \if@eu@GreekDigits@
    \let\eu@if@Digits\@firstofone
    \let\eu@Digits@symfont\eu@GreekDigits@symfont
    \let\eu@Digitsmathsfont\eu@Greekmathsfont
  \else
    \if@eu@LatinDigits@
      \let\eu@if@Digits\@firstofone
      \let\eu@Digits@symfont\eu@LatinDigits@symfont
      \let\eu@Digitsmathsfont\eu@Latinmathsfont
    \fi
  \fi
  \eu@if@Digits{
    \fontfamily\eu@Digitsmathsfont\selectfont
    \DeclareMathSymbol{0}{\mathord}{\eu@Digits@symfont}{`0}
    \DeclareMathSymbol{1}{\mathord}{\eu@Digits@symfont}{`1}
    \DeclareMathSymbol{2}{\mathord}{\eu@Digits@symfont}{`2}
    \DeclareMathSymbol{3}{\mathord}{\eu@Digits@symfont}{`3}
    \DeclareMathSymbol{4}{\mathord}{\eu@Digits@symfont}{`4}
    \DeclareMathSymbol{5}{\mathord}{\eu@Digits@symfont}{`5}
    \DeclareMathSymbol{6}{\mathord}{\eu@Digits@symfont}{`6}
    \DeclareMathSymbol{7}{\mathord}{\eu@Digits@symfont}{`7}
    \DeclareMathSymbol{8}{\mathord}{\eu@Digits@symfont}{`8}
    \DeclareMathSymbol{9}{\mathord}{\eu@Digits@symfont}{`9}}}
\newcommand\eu@DeclareLatinUppercase{
  \if@eu@LatinUppercase@
    \fontfamily\eu@Latinmathsfont\selectfont
    \DeclareMathSymbol{A}{\mathalpha}{\eu@LatinUppercase@symfont}{`A}
    \DeclareMathSymbol{B}{\mathalpha}{\eu@LatinUppercase@symfont}{`B}
    \DeclareMathSymbol{C}{\mathalpha}{\eu@LatinUppercase@symfont}{`C}
    \DeclareMathSymbol{D}{\mathalpha}{\eu@LatinUppercase@symfont}{`D}
    \DeclareMathSymbol{E}{\mathalpha}{\eu@LatinUppercase@symfont}{`E}
    \DeclareMathSymbol{F}{\mathalpha}{\eu@LatinUppercase@symfont}{`F}
    \DeclareMathSymbol{G}{\mathalpha}{\eu@LatinUppercase@symfont}{`G}
    \DeclareMathSymbol{H}{\mathalpha}{\eu@LatinUppercase@symfont}{`H}
    \DeclareMathSymbol{I}{\mathalpha}{\eu@LatinUppercase@symfont}{`I}
    \DeclareMathSymbol{J}{\mathalpha}{\eu@LatinUppercase@symfont}{`J}
    \DeclareMathSymbol{K}{\mathalpha}{\eu@LatinUppercase@symfont}{`K}
    \DeclareMathSymbol{L}{\mathalpha}{\eu@LatinUppercase@symfont}{`L}
    \DeclareMathSymbol{M}{\mathalpha}{\eu@LatinUppercase@symfont}{`M}
    \DeclareMathSymbol{N}{\mathalpha}{\eu@LatinUppercase@symfont}{`N}
    \DeclareMathSymbol{O}{\mathalpha}{\eu@LatinUppercase@symfont}{`O}
    \DeclareMathSymbol{P}{\mathalpha}{\eu@LatinUppercase@symfont}{`P}
    \DeclareMathSymbol{Q}{\mathalpha}{\eu@LatinUppercase@symfont}{`Q}
    \DeclareMathSymbol{R}{\mathalpha}{\eu@LatinUppercase@symfont}{`R}
    \DeclareMathSymbol{S}{\mathalpha}{\eu@LatinUppercase@symfont}{`S}
    \DeclareMathSymbol{T}{\mathalpha}{\eu@LatinUppercase@symfont}{`T}
    \DeclareMathSymbol{U}{\mathalpha}{\eu@LatinUppercase@symfont}{`U}
    \DeclareMathSymbol{V}{\mathalpha}{\eu@LatinUppercase@symfont}{`V}
    \DeclareMathSymbol{W}{\mathalpha}{\eu@LatinUppercase@symfont}{`W}
    \DeclareMathSymbol{X}{\mathalpha}{\eu@LatinUppercase@symfont}{`X}
    \DeclareMathSymbol{Y}{\mathalpha}{\eu@LatinUppercase@symfont}{`Y}
    \DeclareMathSymbol{Z}{\mathalpha}{\eu@LatinUppercase@symfont}{`Z}
  \fi}
\newcommand\eu@DeclareLatinLowercase{
  \if@eu@LatinLowercase@
    \fontfamily\eu@Latinmathsfont\selectfont
    \DeclareMathSymbol{a}{\mathalpha}{\eu@LatinLowercase@symfont}{`a}
    \DeclareMathSymbol{b}{\mathalpha}{\eu@LatinLowercase@symfont}{`b}
    \DeclareMathSymbol{c}{\mathalpha}{\eu@LatinLowercase@symfont}{`c}
    \DeclareMathSymbol{d}{\mathalpha}{\eu@LatinLowercase@symfont}{`d}
    \DeclareMathSymbol{e}{\mathalpha}{\eu@LatinLowercase@symfont}{`e}
    \DeclareMathSymbol{f}{\mathalpha}{\eu@LatinLowercase@symfont}{`f}
    \DeclareMathSymbol{g}{\mathalpha}{\eu@LatinLowercase@symfont}{`g}
    \DeclareMathSymbol{h}{\mathalpha}{\eu@LatinLowercase@symfont}{`h}
    \DeclareMathSymbol{i}{\mathalpha}{\eu@LatinLowercase@symfont}{`i}
    \DeclareMathSymbol{j}{\mathalpha}{\eu@LatinLowercase@symfont}{`j}
    \DeclareMathSymbol{k}{\mathalpha}{\eu@LatinLowercase@symfont}{`k}
    \DeclareMathSymbol{l}{\mathalpha}{\eu@LatinLowercase@symfont}{`l}
    \DeclareMathSymbol{m}{\mathalpha}{\eu@LatinLowercase@symfont}{`m}
    \DeclareMathSymbol{n}{\mathalpha}{\eu@LatinLowercase@symfont}{`n}
    \DeclareMathSymbol{o}{\mathalpha}{\eu@LatinLowercase@symfont}{`o}
    \DeclareMathSymbol{p}{\mathalpha}{\eu@LatinLowercase@symfont}{`p}
    \DeclareMathSymbol{q}{\mathalpha}{\eu@LatinLowercase@symfont}{`q}
    \DeclareMathSymbol{r}{\mathalpha}{\eu@LatinLowercase@symfont}{`r}
    \DeclareMathSymbol{s}{\mathalpha}{\eu@LatinLowercase@symfont}{`s}
    \DeclareMathSymbol{t}{\mathalpha}{\eu@LatinLowercase@symfont}{`t}
    \DeclareMathSymbol{u}{\mathalpha}{\eu@LatinLowercase@symfont}{`u}
    \DeclareMathSymbol{v}{\mathalpha}{\eu@LatinLowercase@symfont}{`v}
    \DeclareMathSymbol{w}{\mathalpha}{\eu@LatinLowercase@symfont}{`w}
    \DeclareMathSymbol{x}{\mathalpha}{\eu@LatinLowercase@symfont}{`x}
    \DeclareMathSymbol{y}{\mathalpha}{\eu@LatinLowercase@symfont}{`y}
    \DeclareMathSymbol{z}{\mathalpha}{\eu@LatinLowercase@symfont}{`z}
  \fi}
\newcommand\eu@DeclareGreekUppercase{
  \if@eu@GreekUppercase@
    \fontfamily\eu@Greekmathsfont\selectfont
    \eu@DeclareMathSymbol{Α}{\mathalpha}{\eu@GreekUppercase@symfont}{`Α}[\Alpha]
    \eu@DeclareMathSymbol{Β}{\mathalpha}{\eu@GreekUppercase@symfont}{`Β}[\Beta]
    \eu@DeclareMathSymbol{Γ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Γ}[\Gamma]
    \eu@DeclareMathSymbol{Δ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Δ}[\Delta]
    \eu@DeclareMathSymbol{Ε}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ε}[\Epsilon]
    \eu@DeclareMathSymbol{Ζ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ζ}[\Zeta]
    \eu@DeclareMathSymbol{Η}{\mathalpha}{\eu@GreekUppercase@symfont}{`Η}[\Eta]
    \eu@DeclareMathSymbol{Θ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Θ}[\Theta]
    \eu@DeclareMathSymbol{Ι}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ι}[\Iota]
    \eu@DeclareMathSymbol{Κ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Κ}[\Kappa]
    \eu@DeclareMathSymbol{Λ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Λ}[\Lambda]
    \eu@DeclareMathSymbol{Μ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Μ}[\Mu]
    \eu@DeclareMathSymbol{Ν}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ν}[\Nu]
    \eu@DeclareMathSymbol{Ξ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ξ}[\Xi]
    \eu@DeclareMathSymbol{Ο}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ο}[\Omicron]
    \eu@DeclareMathSymbol{Π}{\mathalpha}{\eu@GreekUppercase@symfont}{`Π}[\Pi]
    \eu@DeclareMathSymbol{Ρ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ρ}[\Rho]
    \eu@DeclareMathSymbol{Σ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Σ}[\Sigma]
    \eu@DeclareMathSymbol{Τ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Τ}[\Tau]
    \eu@DeclareMathSymbol{Υ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Υ}[\Upsilon]
    \eu@DeclareMathSymbol{Φ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Φ}[\Phi]
    \eu@DeclareMathSymbol{Χ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Χ}[\Chi]
    \eu@DeclareMathSymbol{Ψ}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ψ}[\Psi]
    \eu@DeclareMathSymbol{Ω}{\mathalpha}{\eu@GreekUppercase@symfont}{`Ω}[\Omega]
    \eu@DeclareMathSymbol{ϴ}{\mathalpha}{\eu@GreekUppercase@symfont}{"3F4}[\varTheta]
    \eu@DeclareMathSymbol{Ϝ}{\mathalpha}{\eu@GreekUppercase@symfont}{"3DC}[\Digamma]
  \fi}
\newcommand\eu@DeclareGreekLowercase{
  \if@eu@GreekLowercase@
    \fontfamily\eu@Greekmathsfont\selectfont
    \eu@DeclareMathSymbol{α}{\mathalpha}{\eu@GreekLowercase@symfont}{`α}[\alpha]
    \eu@DeclareMathSymbol{β}{\mathalpha}{\eu@GreekLowercase@symfont}{`β}[\beta]
    \eu@DeclareMathSymbol{γ}{\mathalpha}{\eu@GreekLowercase@symfont}{`γ}[\gamma]
    \eu@DeclareMathSymbol{δ}{\mathalpha}{\eu@GreekLowercase@symfont}{`δ}[\delta]
    \eu@DeclareMathSymbol{ε}{\mathalpha}{\eu@GreekLowercase@symfont}{`ε}[\epsilon]
    \eu@DeclareMathSymbol{ζ}{\mathalpha}{\eu@GreekLowercase@symfont}{`ζ}[\zeta]
    \eu@DeclareMathSymbol{η}{\mathalpha}{\eu@GreekLowercase@symfont}{`η}[\eta]
    \eu@DeclareMathSymbol{θ}{\mathalpha}{\eu@GreekLowercase@symfont}{`θ}[\theta]
    \eu@DeclareMathSymbol{ι}{\mathalpha}{\eu@GreekLowercase@symfont}{`ι}[\iota]
    \eu@DeclareMathSymbol{κ}{\mathalpha}{\eu@GreekLowercase@symfont}{`κ}[\kappa]
    \eu@DeclareMathSymbol{λ}{\mathalpha}{\eu@GreekLowercase@symfont}{`λ}[\lambda]
    \eu@DeclareMathSymbol{μ}{\mathalpha}{\eu@GreekLowercase@symfont}{`μ}[\mu]
    \eu@DeclareMathSymbol{ν}{\mathalpha}{\eu@GreekLowercase@symfont}{`ν}[\nu]
    \eu@DeclareMathSymbol{ξ}{\mathalpha}{\eu@GreekLowercase@symfont}{`ξ}[\xi]
    \eu@DeclareMathSymbol{ο}{\mathalpha}{\eu@GreekLowercase@symfont}{`ο}[\omicron]
    \eu@DeclareMathSymbol{π}{\mathalpha}{\eu@GreekLowercase@symfont}{`π}[\pi]
    \eu@DeclareMathSymbol{ρ}{\mathalpha}{\eu@GreekLowercase@symfont}{`ρ}[\rho]
    \eu@DeclareMathSymbol{σ}{\mathalpha}{\eu@GreekLowercase@symfont}{`σ}[\sigma]
    \eu@DeclareMathSymbol{τ}{\mathalpha}{\eu@GreekLowercase@symfont}{`τ}[\tau]
    \eu@DeclareMathSymbol{υ}{\mathalpha}{\eu@GreekLowercase@symfont}{`υ}[\upsilon]
    \eu@DeclareMathSymbol{φ}{\mathalpha}{\eu@GreekLowercase@symfont}{`φ}[\phi]
    \eu@DeclareMathSymbol{χ}{\mathalpha}{\eu@GreekLowercase@symfont}{`χ}[\chi]
    \eu@DeclareMathSymbol{ψ}{\mathalpha}{\eu@GreekLowercase@symfont}{`ψ}[\psi]
    \eu@DeclareMathSymbol{ω}{\mathalpha}{\eu@GreekLowercase@symfont}{`ω}[\omega]
    \eu@DeclareMathSymbol{ς}{\mathalpha}{\eu@GreekLowercase@symfont}{`ς}[\varsigma]
    \eu@DeclareMathSymbol{ϐ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D0}[\varbeta]
    \eu@DeclareMathSymbol{ϵ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F5}[\varepsilon]
    \eu@DeclareMathSymbol{ϑ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D1}[\vartheta]
    \eu@DeclareMathSymbol{ϰ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F0}[\varkappa]
    \eu@DeclareMathSymbol{ϖ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D6}[\varpi]
    \eu@DeclareMathSymbol{ϱ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3F1}[\varrho]
    \eu@DeclareMathSymbol{ϕ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3D5}[\varphi]
    \eu@DeclareMathSymbol{ϝ}{\mathalpha}{\eu@GreekLowercase@symfont}{"3DD}[\digamma]
  \fi}
\newcommand\eu@DeclareSymbols{
  \if@eu@Symbols@
    \fontfamily\eu@Symbolsmathsfont\selectfont
    \eu@DeclareMathSymbol{!}{\mathclose}{\eu@Symbols@symfont}{`!}[\exclam]
    \eu@DeclareMathSymbol{+}{\mathbin}{\eu@Symbols@symfont}{`+}[\plus]
    \eu@DeclareMathSymbol{,}{\mathpunct}{\eu@Symbols@symfont}{`,}
    \eu@DeclareMathSymbol{.}{\mathord}{\eu@Symbols@symfont}{`.}
    \XeTeXmathchardef\ldotp=6\symSmn`.
    \eu@DeclareMathSymbol{:}{\mathrel}{\eu@Symbols@symfont}{`:}
    \XeTeXmathchardef\colon=6\symSmn`:
    \eu@DeclareMathSymbol{;}{\mathpunct}{\eu@Symbols@symfont}{`;}[\semicolon]
    \eu@DeclareMathSymbol{<}{\mathrel}{\eu@Symbols@symfont}{`<}[\less]
    \DeclareMathSymbol{=}{\mathrel}{\eu@Symbols@symfont}{`=}
      \let\equal==
    \eu@DeclareMathSymbol{>}{\mathrel}{\eu@Symbols@symfont}{`>}[\greater]
    \eu@DeclareMathSymbol{?}{\mathclose}{\eu@Symbols@symfont}{`?}
    \eu@DeclareMathSymbol{¬}{\mathord}{\eu@Symbols@symfont}{`¬}[\neg]
      \let\lnot\neg
    \eu@DeclareMathSymbol{°}{\mathord}{\eu@Symbols@symfont}{`°}[\degree]
    \eu@DeclareMathSymbol{±}{\mathbin}{\eu@Symbols@symfont}{`±}[\pm]
    \eu@DeclareMathSymbol{µ}{\mathord}{\eu@Symbols@symfont}{`µ}[\micro]
    \eu@DeclareMathSymbol{×}{\mathbin}{\eu@Symbols@symfont}{`×}[\times]
    \eu@DeclareMathSymbol{÷}{\mathbin}{\eu@Symbols@symfont}{`÷}[\div]
    \eu@DeclareMathSymbol{∀}{\mathord}{\eu@Symbols@symfont}{`∀}[\forall]
    \eu@DeclareMathSymbol{∂}{\mathord}{\eu@Symbols@symfont}{`∂}[\partial]
    \eu@DeclareMathSymbol{∃}{\mathord}{\eu@Symbols@symfont}{`∃}[\exists]
    \eu@DeclareMathSymbol{∅}{\mathord}{\eu@Symbols@symfont}{`∅}[\varnothing]
    \eu@DeclareMathSymbol{∆}{\mathord}{\eu@Symbols@symfont}{`∆}[\increment]
    \eu@DeclareMathSymbol{∇}{\mathord}{\eu@Symbols@symfont}{`∇}[\nabla]
    \eu@DeclareMathSymbol{∈}{\mathrel}{\eu@Symbols@symfont}{`∈}[\in]
    \eu@DeclareMathSymbol{∉}{\mathrel}{\eu@Symbols@symfont}{`∉}[\notin]
    \eu@DeclareMathSymbol{∋}{\mathrel}{\eu@Symbols@symfont}{`∋}[\ni]
      \let\owns\ni
    \eu@DeclareMathSymbol{-}{\mathbin}{\eu@Symbols@symfont}{`−}
    \eu@DeclareMathSymbol{−}{\mathbin}{\eu@Symbols@symfont}{`−}[\minus]
    \eu@DeclareMathSymbol{∕}{\mathbin}{\eu@Symbols@symfont}{`∕}[\slash]
    \eu@DeclareMathSymbol{*}{\mathbin}{\eu@Symbols@symfont}{`∗}
    \eu@DeclareMathSymbol{∗}{\mathbin}{\eu@Symbols@symfont}{`∗}[\ast]
    \eu@DeclareMathSymbol{∙}{\mathbin}{\eu@Symbols@symfont}{`∙}[\vysmblkcircle]
      \let\bullet\vysmblkcircle
    \eu@DeclareMathSymbol{∝}{\mathrel}{\eu@Symbols@symfont}{`∝}[\propto]
    \eu@DeclareMathSymbol{∞}{\mathord}{\eu@Symbols@symfont}{`∞}[\infty]
    \eu@DeclareMathSymbol{∟}{\mathord}{\eu@Symbols@symfont}{`∟}[\rightangle]
    \eu@DeclareMathSymbol{∠}{\mathord}{\eu@Symbols@symfont}{`∠}[\angle]
    \eu@DeclareMathSymbol{∧}{\mathbin}{\eu@Symbols@symfont}{`∧}[\wedge]
      \let\land\wedge
    \eu@DeclareMathSymbol{∨}{\mathbin}{\eu@Symbols@symfont}{`∨}[\vee]
      \let\lor\vee
    \eu@DeclareMathSymbol{∩}{\mathbin}{\eu@Symbols@symfont}{`∩}[\cap]
    \eu@DeclareMathSymbol{∪}{\mathbin}{\eu@Symbols@symfont}{`∪}[\cup]
    \eu@DeclareMathSymbol{∴}{\mathord}{\eu@Symbols@symfont}{`∴}[\therefore]
    \eu@DeclareMathSymbol{∼}{\mathrel}{\eu@Symbols@symfont}{`∼}[\sim]
    \eu@DeclareMathSymbol{≅}{\mathrel}{\eu@Symbols@symfont}{`≅}[\cong]
    \eu@DeclareMathSymbol{≈}{\mathrel}{\eu@Symbols@symfont}{`≈}[\approx]
    \eu@DeclareMathSymbol{≠}{\mathrel}{\eu@Symbols@symfont}{`≠}[\neq]
      \let\ne\neq
    \eu@DeclareMathSymbol{≡}{\mathrel}{\eu@Symbols@symfont}{`≡}[\equiv]
    \eu@DeclareMathSymbol{≤}{\mathrel}{\eu@Symbols@symfont}{`≤}[\leq]
      \let\le\leq
    \eu@DeclareMathSymbol{≥}{\mathrel}{\eu@Symbols@symfont}{`≥}[\geq]
      \let\ge\geq
    \eu@DeclareMathSymbol{⊂}{\mathrel}{\eu@Symbols@symfont}{`⊂}[\subset]
    \eu@DeclareMathSymbol{⊃}{\mathrel}{\eu@Symbols@symfont}{`⊃}[\supset]
    \eu@DeclareMathSymbol{⊄}{\mathrel}{\eu@Symbols@symfont}{`⊄}[\nsubset]
      \let\notsubset\nsubset
    \eu@DeclareMathSymbol{⊆}{\mathrel}{\eu@Symbols@symfont}{`⊆}[\subseteq]
    \eu@DeclareMathSymbol{⊇}{\mathrel}{\eu@Symbols@symfont}{`⊇}[\supseteq]
    \eu@DeclareMathSymbol{⊕}{\mathbin}{\eu@Symbols@symfont}{`⊕}[\oplus]
    \eu@DeclareMathSymbol{⊗}{\mathbin}{\eu@Symbols@symfont}{`⊗}[\otimes]
    \eu@DeclareMathSymbol{⊥}{\mathord}{\eu@Symbols@symfont}{`⊥}[\bot]
      \let\perp\bot
    \eu@DeclareMathSymbol{⋅}{\mathbin}{\eu@Symbols@symfont}{`⋅}[\cdot]
    \XeTeXmathchardef\cdotp=6\symSmn`⋅
  \fi}
\AtBeginDocument{
  \if@eu@amsmathloaded@\else
    \eu@isloaded[\PackageError{mathspec}{Package amsmath must be loaded before mathspec}{}]{amsmath}
  \fi
  \eu@DeclareFonts
  \eu@ifnot@plaindigits{\eu@DeclareDigits}
  \eu@DeclareLatinUppercase
  \eu@DeclareLatinLowercase
  \eu@DeclareGreekUppercase
  \eu@DeclareGreekLowercase
  \eu@DeclareSymbols
  \eu@if@varforms{\eu@VarForms}
  \eu@ifset@mathrm{
    \DeclareMathAlphabet{\mathrm}{EU1}{\eu@mathrm}{m}{n}
    \SetMathAlphabet{\mathrm}{bold}{EU1}{\eu@mathrm}{bx}{n}
    \DeclareMathAlphabet{\mathit}{EU1}{\eu@mathrm}{m}{it}
    \DeclareMathAlphabet{\mathbf}{EU1}{\eu@mathrm}{bx}{\eu@mathbf@shape}
    \SetMathAlphabet{\mathit}{bold}{EU1}{\eu@mathrm}{bx}{it}
    \@ifundefined{symLmn}{\relax}{\def\operator@font{\mathgroup\symLmn}}}
  \eu@ifset@mathcal{
    \DeclareMathAlphabet{\mathcal}{EU1}{\eu@mathcal}{\eu@mathcal@series}{\eu@mathcal@shape}}
  \eu@ifset@mathsf{
    \DeclareMathAlphabet{\mathsf}{EU1}{\eu@mathsf}{m}{n}
    \SetMathAlphabet{\mathsf}{bold}{EU1}{\eu@mathsf}{bx}{n}}
  \eu@ifset@mathtt{
    \DeclareMathAlphabet{\mathtt}{EU1}{\eu@mathtt}{m}{n}}
  \eu@ifset@mathfrak{
    \DeclareMathAlphabet{\mathfrak}{EU1}{\eu@mathfrak}{\eu@mathfrak@series}{n}}
  \eu@ifset@mathbb{
    \DeclareMathAlphabet{\mathbb}{EU1}{\eu@mathbb}{\eu@mathbb@series}{n}}
  \fontfamily\rmdefault\selectfont
  \let\DeclareMathSymbol\LaTeXe@DeclareMathSymbol}
\endinput
%%
%% End of file `mathspec.sty'.