forked from latex3/unicode-math
-
Notifications
You must be signed in to change notification settings - Fork 0
/
unicode-math.dtx
136 lines (131 loc) · 3.92 KB
/
unicode-math.dtx
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
% \iffalse
% !TEX TS-program = XeLaTeX
% ^^A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ^^A SELF-EXTRACTION BEGINS HERE
% ^^A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%<*internal>
\begingroup
\input l3docstrip.tex\relax\keepsilent
\declarepreamble\defaultpreamble
Copyright 2006-2017 Will Robertson <[email protected]>
Copyright 2010-2013 Philipp Stephani <[email protected]>
Copyright 2012-2015 Khaled Hosny <[email protected]>
This package is free software and may be redistributed and/or modified under
the conditions of the LaTeX Project Public License, version 1.3c or higher
(your choice): <http://www.latex-project.org/lppl/>.
This work is "maintained" by Will Robertson.
\endpreamble
\nopostamble
\askforoverwritefalse
\ifx\UMDEBUG\undefined\def\UMDEBUG{}\else\def\UMDEBUG{,debug}\fi
\gdef\DTXFILES{%
\DTX{unicode-math.dtx}%
\DTX{unicode-math-preamble.dtx}%
\DTX{unicode-math-pkgopt.dtx}%
\DTX{unicode-math-msg.dtx}%
\DTX{unicode-math-usv.dtx}%
\DTX{unicode-math-setchar.dtx}%
\DTX{unicode-math-mathtext.dtx}%
\DTX{unicode-math-main.dtx}%
\DTX{unicode-math-fontopt.dtx}%
\DTX{unicode-math-fontparam.dtx}%
\DTX{unicode-math-mathmap.dtx}%
\DTX{unicode-math-mathtext.dtx}%
\DTX{unicode-math-epilogue.dtx}%
\DTX{unicode-math-primes.dtx}%
\DTX{unicode-math-sscript.dtx}%
\DTX{unicode-math-compat.dtx}%
\DTX{unicode-math-alphabets.dtx}%
}
\generate{\file{unicode-math.sty}{\from{unicode-math.dtx}{preamble,load}}}
\def\DTX#1{\from{#1}{package,XE\UMDEBUG}}
\generate{\file{unicode-math-xetex.sty}{\DTXFILES}}
\def\DTX#1{\from{#1}{package,LU\UMDEBUG}}
\generate{\file{unicode-math-luatex.sty}{\DTXFILES}}
\def\tempa{plain}\ifx\tempa\fmtname\endgroup\expandafter\bye\fi
\endgroup
\ProvidesFile{unicode-math.dtx}
%</internal>
%<package&!XE&!LU>\ProvidesPackage{unicode-math}
%<package&XE>\ProvidesPackage{unicode-math-xetex}
%<package&LU>\ProvidesPackage{unicode-math-luatex}
%<*package>
[2017/10/09 v0.8h Unicode maths in XeLaTeX and LuaLaTeX]
%</package>
%<*internal>
\input{unicode-math-doc}
%</internal>
% \fi
%
% \clearpage
% \part{Package implementation}
% \parttoc
%
% \section{The \texttt{unicode-math.sty} loading file}
%
% The prefix for \pkg{unicode-math} is \texttt{um}:
% \begin{macrocode}
%<@@=um>
% \end{macrocode}
%
% The plain sty file is a stub which loads necessary packages and then bifurcates into
% a XeTeX- or LuaTeX-specific version of the package.
%
% \begin{macrocode}
%<*load>
% \end{macrocode}
% Bail early if necessary.
% \begin{macrocode}
\ifdefined\XeTeXversion
\ifdim\number\XeTeXversion\XeTeXrevision in<0.9998in%
\PackageError{unicode-math}{%
Cannot run with this version of XeTeX!\MessageBreak
You need XeTeX 0.9998 or newer.%
}\@ehd
\fi
\else\ifdefined\luatexversion
\ifnum\luatexversion<64%
\PackageError{unicode-math}{%
Cannot run with this version of LuaTeX!\MessageBreak
You need LuaTeX 0.64 or newer.%
}\@ehd
\fi
\else
\PackageError{unicode-math}{%
Cannot be run with pdfLaTeX!\MessageBreak
Use XeLaTeX or LuaLaTeX instead.%
}\@ehd
\fi\fi
% \end{macrocode}
%
% \paragraph{Packages}
% Assuming people are running up-to-date packages.
% \begin{macrocode}
\RequirePackage{expl3,xparse,l3keys2e}
\RequirePackage{fontspec}
\RequirePackage{ucharcat}
\RequirePackage{fix-cm} % avoid some warnings (still necessary? check...)
\RequirePackage{filehook}
% \end{macrocode}
% \paragraph{Bifurcate}
% \begin{macrocode}
\ExplSyntaxOn
\sys_if_engine_luatex:T { \RequirePackageWithOptions{unicode-math-luatex} }
\sys_if_engine_xetex:T { \RequirePackageWithOptions{unicode-math-xetex} }
\ExplSyntaxOff
% \end{macrocode}
%
% \begin{macrocode}
%</load>
% \end{macrocode}
%
% That's the end of the base package. The subsequent packages are derived from
% the following ordered list of \texttt{dtx} files:
% \begin{multicols}{3}
% \begin{enumerate}
% \def\DTX#1{\item \texttt{#1}}
% \DTXFILES
% \end{enumerate}
% \end{multicols}
%
\endinput