summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
blob: eae42605dc75541cd4f0027bb6a0f9ac75ba429e (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
% \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 <will.robertson@latex-project.org>
Copyright 2010-2013 Philipp Stephani <st_philipp@yahoo.de>
Copyright 2012-2015     Khaled Hosny <khaledhosny@eglug.org>

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