summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty')
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty461
1 files changed, 230 insertions, 231 deletions
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
index fa0711b6f1e..950a76f2a99 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
@@ -5,7 +5,6 @@
%% The original source files were:
%%
%% unicode-math.dtx (with options: `package,LU')
-%% um-code-base.dtx (with options: `package,LU')
%% um-code-opening.dtx (with options: `package,LU')
%% um-code-variables.dtx (with options: `package,LU')
%% um-code-api.dtx (with options: `package,LU')
@@ -21,11 +20,12 @@
%% um-code-mathmap.dtx (with options: `package,LU')
%% um-code-sym-commands.dtx (with options: `package,LU')
%% um-code-alphabets.dtx (with options: `package,LU')
-%% um-code-epilogue.dtx (with options: `package,LU')
%% um-code-primes.dtx (with options: `package,LU')
%% um-code-sscript.dtx (with options: `package,LU')
%% um-code-compat.dtx (with options: `package,LU')
%% um-code-amsmath.dtx (with options: `package,LU')
+%% um-code-epilogue.dtx (with options: `package,LU')
+%%
%% ------------------------------------------------
%% The UNICODE-MATH package <wspr.io/unicode-math>
%% ------------------------------------------------
@@ -33,26 +33,26 @@
%% the conditions of the LaTeX Project Public License, version 1.3c or higher
%% (your choice): <http://www.latex-project.org/lppl/>.
%% ------------------------------------------------
-%% Copyright 2006-2017 Will Robertson, LPPL "maintainer"
+%% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
%% Copyright 2010-2017 Philipp Stephani
%% Copyright 2011-2017 Joseph Wright
%% Copyright 2012-2015 Khaled Hosny
%% ------------------------------------------------
+%%
%%^^A%% unicode-math.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Metadata for the package code, including files and versioning
-\ProvidesPackage{unicode-math-luatex}
- [2018/01/07 v0.8j Unicode maths in XeLaTeX and LuaLaTeX]
-
-%%^^A%% um-code-base.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
-%%^^A%% Definition of unicode-math.sty, which splits and loads according to engine.
-
+\ProvidesExplPackage{unicode-math-luatex}
+ {2018/01/13} {v0.8k} {Unicode maths in XeLaTeX and LuaLaTeX}
%%^^A%% um-code-opening.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Assorted initialisation tasks, including some low-level function definitions.
+\RequirePackage{xparse,l3keys2e}
+\RequirePackage{fontspec}
+\RequirePackage{filehook}
+\RequirePackage{fix-cm}
\RequirePackage{lualatex-math}
-\ExplSyntaxOn
\cs_set_protected_nopar:Npn \exp_last_unbraced:NNx { \::N \::x_unbraced \::: }
\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
\cs_generate_variant:Nn \prop_get:NnNTF {cx}
@@ -73,7 +73,7 @@
{
\tex_global:D \tex_let:D #1 #2
}
-\cs_generate_variant:Nn \__um_fontface_gset_eq:NN {NV,cV}
+\cs_generate_variant:Nn \__um_fontface_gset_eq:NN {cN}
\cs_set:Npn \__um_set_mathcode:nnnn #1#2#3#4
{
\Umathcode \int_eval:n {#1} =
@@ -1198,7 +1198,7 @@
\group_begin:
\fontfamily { \l__um_trial_family_tl } \selectfont
- \__um_fontface_gset_eq:NV \g__um_trial_font \font@name
+ \exp_last_unbraced:NNo \__um_fontface_gset_eq:NN \g__um_trial_font \font@name
\fontspec_if_script:nF {math}
{
\bool_gset_false:N \l__um_ot_math_bool
@@ -1242,11 +1242,11 @@
\int_gincr:N \g__um_fonts_used_int
\group_begin:
\fontfamily { \l__um_family_tl } \selectfont
- \__um_fontface_gset_eq:cV {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} \font@name
+ \exp_last_unbraced:Nno \__um_fontface_gset_eq:cN {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} \font@name
\tl_gset:Nx \g__um_curr_font_cmd_tl { \exp_not:c {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} }
\bool_if:NT \l__um_init_bool
{
-\__um_fontface_gset_eq:NV \l__um_font \font@name
+\exp_last_unbraced:NNo \__um_fontface_gset_eq:NN \l__um_font \font@name
}
\fontspec_if_script:nF {math}
{
@@ -1819,63 +1819,61 @@
\cs_new:Npn \__um_setup_alphabets:
{
-
- \bool_if:NTF \l__um_init_bool
+ \bool_if:NTF \l__um_init_bool { \__um_setup_alphabets_implicit: }
{
- % IMPLICIT
- \__um_log:n {setup-implicit}
- \seq_gset_eq:NN \g__um_mathalph_seq \g__um_default_mathalph_seq
- \bool_set_true:N \l__um_implicit_alph_bool
- \__um_maybe_init_alphabet:n {sf}
- \__um_maybe_init_alphabet:n {bf}
- \__um_maybe_init_alphabet:n {bfsf}
- \cs_set_eq:NN \__um_set_mathalphabet_char:nnn \__um_mathmap_noparse:nnn
- \cs_set_eq:NN \__um_map_char_single:nn \__um_map_char_noparse:nn
- \__um_mathalph_map:
- \seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
+ \seq_if_empty:NF \g__um_mathalph_seq { \__um_setup_alphabets_explicit: }
+ \clist_if_empty:NF \l__um_mathmap_charints_clist { \__um_setup_alphabets_inherit: }
}
+ }
+\cs_new:Nn \__um_setup_alphabets_implicit:
+ {
+ \__um_log:n {setup-implicit}
+ \seq_gset_eq:NN \g__um_mathalph_seq \g__um_default_mathalph_seq
+ \bool_set_true:N \l__um_implicit_alph_bool
+ \__um_maybe_init_alphabet:n {sf}
+ \__um_maybe_init_alphabet:n {bf}
+ \__um_maybe_init_alphabet:n {bfsf}
+ \cs_set_eq:NN \__um_set_mathalphabet_char:nnn \__um_mathmap_noparse:nnn
+ \cs_set_eq:NN \__um_map_char_single:nn \__um_map_char_noparse:nn
+ \__um_mathalph_map:
+ \seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
+ }
+\cs_new:Nn \__um_setup_alphabets_explicit:
+ {
+ \__um_log:n {setup-explicit}
+ \bool_set_false:N \l__um_implicit_alph_bool
+ \cs_set_eq:NN \__um_set_mathalphabet_char:nnn \__um_mathmap_noparse:nnn
+ \cs_set_eq:NN \__um_map_char_single:nn \__um_map_char_noparse:nn
+ \__um_mathalph_map:
+ \seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
+ }
+\cs_new:Nn \__um_setup_alphabets_inherit:
+ {
+ \seq_gclear:N \g__um_mathalph_seq
+ \seq_map_inline:Nn \g__um_default_mathalph_seq
{
- \seq_if_empty:NF \g__um_mathalph_seq
- {
- % EXPLICIT
- \__um_log:n {setup-explicit}
- \bool_set_false:N \l__um_implicit_alph_bool
- \cs_set_eq:NN \__um_set_mathalphabet_char:nnn \__um_mathmap_noparse:nnn
- \cs_set_eq:NN \__um_map_char_single:nn \__um_map_char_noparse:nn
- \__um_mathalph_map:
- \seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
- }
+ \tl_set:No \l__um_style_tl { \use_i:nnn ##1 }
+ \clist_set:No \l__um_alphabet_clist { \use_ii:nnn ##1 }
- % INHERIT
- \clist_if_empty:NF \l__um_mathmap_charints_clist
+ \clist_map_inline:Nn \l__um_alphabet_clist
{
- \seq_gclear:N \g__um_mathalph_seq
- \seq_map_inline:Nn \g__um_default_mathalph_seq
+ \clist_map_inline:cn {g__um_named_slots_ \l__um_style_tl _ ####1 _clist}
{
- \tl_set:No \l__um_style_tl { \use_i:nnn ##1 }
- \clist_set:No \l__um_alphabet_clist { \use_ii:nnn ##1 }
-
- \clist_map_inline:Nn \l__um_alphabet_clist
+ \clist_map_inline:Nn \l__um_mathmap_charints_clist
{
- \clist_map_inline:cn {g__um_named_slots_ \l__um_style_tl _ ####1 _clist}
+ \__um_int_if_slot_in_range:nnT {################1} {########1}
{
- \clist_map_inline:Nn \l__um_mathmap_charints_clist
- {
- \__um_int_if_slot_in_range:nnT {################1} {########1}
- {
- \seq_gput_right:Nn \g__um_mathalph_seq {##1}
- \clist_map_break:n { \clist_map_break:n { \clist_map_break: } }
- }
- }
+ \seq_gput_right:Nn \g__um_mathalph_seq {##1}
+ \clist_map_break:n { \clist_map_break:n { \clist_map_break: } }
}
}
}
}
-
- \cs_set_eq:NN \__um_set_mathalphabet_char:nnn \__um_mathmap_parse:nnn
- \cs_set_eq:NN \__um_map_char_single:nn \__um_map_char_parse:nn
- \__um_mathalph_map:
}
+
+ \cs_set_eq:NN \__um_set_mathalphabet_char:nnn \__um_mathmap_parse:nnn
+ \cs_set_eq:NN \__um_map_char_single:nn \__um_map_char_parse:nn
+ \__um_mathalph_map:
}
\cs_set:Nn \__um_mathalph_map:
{
@@ -3120,179 +3118,6 @@
}
}
-%%^^A%% um-code-epilogue.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
-%%^^A%% Assorted definitions to close up.
-
-\AtBeginDocument { \__um_resolve_greek: }
-\cs_new:Npn \__um_resolve_greek:
- {
- \clist_map_inline:nn
- {
- Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,
- alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,
- Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,
- mu,nu,xi,omicron,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,
- varTheta,varsigma,vartheta,varkappa,varrho,varpi,varepsilon,varphi
- }
- {
- \tl_set:cx {##1} { \exp_not:c { mit ##1 } }
- \tl_set:cx {up ##1} { \exp_not:N \symup \exp_not:c { ##1 } }
- \tl_set:cx {it ##1} { \exp_not:N \symit \exp_not:c { ##1 } }
- }
- }
-\AtBeginDocument{ \@ifpackageloaded { amsmath } { } { \__um_redefine_radical: } }
-\cs_new:Nn \__um_redefine_radical:
- {
- \cs_set:Npn \root ##1 \of ##2
- {
- \Uroot \l__um_radical_sqrt_tl { ##1 } { ##2 }
- }
- }
-\cs_new:Nn \__um_which_frac:nn
- {
- \bool_if:NTF \l__um_smallfrac_bool {\tfrac} {\frac} {#1} {#2}
- }
-\cs_new:Npn \__um_setup_active_frac:
- {
- \__um_mathactive_remap:nn {"2189} { \__um_which_frac:nn {0} {3} }
- \__um_mathactive_remap:nn {"2152} { \__um_which_frac:nn {1} {10} }
- \__um_mathactive_remap:nn {"2151} { \__um_which_frac:nn {1} {9} }
- \__um_mathactive_remap:nn {"215B} { \__um_which_frac:nn {1} {8} }
- \__um_mathactive_remap:nn {"2150} { \__um_which_frac:nn {1} {7} }
- \__um_mathactive_remap:nn {"2159} { \__um_which_frac:nn {1} {6} }
- \__um_mathactive_remap:nn {"2155} { \__um_which_frac:nn {1} {5} }
- \__um_mathactive_remap:nn {"00BC} { \__um_which_frac:nn {1} {4} }
- \__um_mathactive_remap:nn {"2153} { \__um_which_frac:nn {1} {3} }
- \__um_mathactive_remap:nn {"215C} { \__um_which_frac:nn {3} {8} }
- \__um_mathactive_remap:nn {"2156} { \__um_which_frac:nn {2} {5} }
- \__um_mathactive_remap:nn {"00BD} { \__um_which_frac:nn {1} {2} }
- \__um_mathactive_remap:nn {"2157} { \__um_which_frac:nn {3} {5} }
- \__um_mathactive_remap:nn {"215D} { \__um_which_frac:nn {5} {8} }
- \__um_mathactive_remap:nn {"2154} { \__um_which_frac:nn {2} {3} }
- \__um_mathactive_remap:nn {"00BE} { \__um_which_frac:nn {3} {4} }
- \__um_mathactive_remap:nn {"2158} { \__um_which_frac:nn {4} {5} }
- \__um_mathactive_remap:nn {"215A} { \__um_which_frac:nn {5} {6} }
- \__um_mathactive_remap:nn {"215E} { \__um_which_frac:nn {7} {8} }
- }
-\AtBeginDocument { \__um_setup_active_frac: }
-\protected\def\to{\rightarrow}
-\protected\def\le{\leq}
-\protected\def\ge{\geq}
-\protected\def\neq{\ne}
-\protected\def\triangle{\mathord{\bigtriangleup}}
-\protected\def\bigcirc{\mdlgwhtcircle}
-\protected\def\circ{\vysmwhtcircle}
-\protected\def\bullet{\smblkcircle}
-\protected\def\mathyen{\yen}
-\protected\def\mathsterling{\sterling}
-\protected\def\diamond{\smwhtdiamond}
-\protected\def\emptyset{\varnothing}
-\protected\def\hbar{\hslash}
-\protected\def\land{\wedge}
-\protected\def\lor{\vee}
-\protected\def\owns{\ni}
-\protected\def\gets{\leftarrow}
-\protected\def\mathring{\ocirc}
-\protected\def\lnot{\neg}
-\protected\def\longdivision{\longdivisionsign}
-\protected\def\backepsilon{\upbackepsilon}
-\protected\def\eth{\matheth}
-\protected\def\dbkarow {\dbkarrow}
-\protected\def\drbkarow{\drbkarrow}
-\protected\def\hksearow{\hksearrow}
-\protected\def\hkswarow{\hkswarrow}
-\protected\def\smallint{\mathop{\textstyle\int}\limits}
-\cs_set_eq:NN \latexe_underbar:n \underbar
-\renewcommand\underbar
- {
- \mode_if_math:TF \mathunderbar \latexe_underbar:n
- }
-\@ifpackageloaded{amsmath}
- {
- % define their own colon, perhaps I should just steal it. (It does look much better.)
- }
- {
- \cs_set_protected:Npn \colon
- {
- \bool_if:NTF \g__um_literal_colon_bool {:} { \mathpunct{:} }
- }
- }
-\protected\def\digamma{\updigamma}
-\protected\def\Digamma{\upDigamma}
-\cs_set_protected:Npn \| {\Vert}
-\cs_set_protected:Npn \mathellipsis {\mathinner{\unicodeellipsis}}
-\cs_set_protected:Npn \cdots {\mathinner{\unicodecdots}}
-\cs_set_eq:NN \__um_text_slash: \slash
-\cs_set_protected:Npn \slash
- {
- \mode_if_math:TF {\mathslash} {\__um_text_slash:}
- }
-\DeclareDocumentCommand \not {m}
- {
- \tl_set:Nx \l__um_not_token_name_tl { \cs_to_str:N #1 }
- \tl_if_empty:NT \l__um_not_token_name_tl
- {
- \tl_set:Nx \l__um_not_token_name_tl { \token_to_str:N #1 }
- }
- \cs_if_exist:cTF { not \l__um_not_token_name_tl }
- {
- \use:c { not \l__um_not_token_name_tl }
- }
- {
- \cs_if_exist:cTF { n \l__um_not_token_name_tl }
- {
- \use:c { n \l__um_not_token_name_tl }
- }
- {
- \tl_if_eq:nnTF {#1} {$} { \notaccent{} } { \notaccent } #1
- }
- }
- }
-\DeclareDocumentCommand \NewNegationCommand {mm}
- {
- \__um_set_negation_command:Nnn \cs_new_protected:cpn {#1} {#2}
- }
-\DeclareDocumentCommand \RenewNegationCommand {mm}
- {
- \__um_set_negation_command:Nnn \cs_set_protected:cpn {#1} {#2}
- }
-\cs_set:Nn \__um_set_negation_command:Nnn
- {
- \tl_set:Nx \l__um_not_token_name_tl { \cs_to_str:N #2 }
- \tl_if_empty:NT \l__um_not_token_name_tl
- {
- \tl_set:Nx \l__um_not_token_name_tl { \token_to_str:N #2 }
- }
- #1 { not \l__um_not_token_name_tl } { #3 }
- }
-\NewNegationCommand { = } { \neq }
-\NewNegationCommand { < } { \nless }
-\NewNegationCommand { > } { \ngtr }
-\NewNegationCommand { \gets } { \nleftarrow }
-\NewNegationCommand { \simeq } { \nsime }
-\NewNegationCommand { \equal } { \ne }
-\NewNegationCommand { \le } { \nleq }
-\NewNegationCommand { \ge } { \ngeq }
-\NewNegationCommand { \greater } { \ngtr }
-\NewNegationCommand { \forksnot } { \forks }
-\int_step_inline:nnnn {0} {1} {9}
- {
- \__um_mathactive_remap:nn {"FF10+#1} {\char\int_eval:n{`\0+#1}}
- }
-\int_step_inline:nnnn {0} {1} {26}
- {
- \__um_mathactive_remap:nn {"FF21+#1} {\char\int_eval:n{`\A+#1}}
- \__um_mathactive_remap:nn {"FF41+#1} {\char\int_eval:n{`\a+#1}}
- }
-\cs_new:Nn \__um_undeclare_symbol:N
- {
- \cs_set_protected:Npn #1
- { \__um_error:nx {legacy-char-not-supported} { \token_to_str:N #1 } }
- }
-\__um_undeclare_symbol:N \arrowvert
-\__um_undeclare_symbol:N \Arrowvert
-\__um_undeclare_symbol:N \bracevert
-
%%^^A%% um-code-primes.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% The definitions needed for the input of primes.
@@ -3874,3 +3699,177 @@
}
}
+%%^^A%% um-code-epilogue.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
+%%^^A%% Assorted definitions to close up.
+
+\AtBeginDocument { \__um_resolve_greek: }
+\cs_new:Npn \__um_resolve_greek:
+ {
+ \clist_map_inline:nn
+ {
+ Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,
+ alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,
+ Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,
+ mu,nu,xi,omicron,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,
+ varTheta,varsigma,vartheta,varkappa,varrho,varpi,varepsilon,varphi
+ }
+ {
+ \tl_set:cx {##1} { \exp_not:c { mit ##1 } }
+ \tl_set:cx {up ##1} { \exp_not:N \symup \exp_not:c { ##1 } }
+ \tl_set:cx {it ##1} { \exp_not:N \symit \exp_not:c { ##1 } }
+ }
+ }
+\AtBeginDocument{ \@ifpackageloaded { amsmath } { } { \__um_redefine_radical: } }
+\cs_new:Nn \__um_redefine_radical:
+ {
+ \cs_set:Npn \root ##1 \of ##2
+ {
+ \Uroot \l__um_radical_sqrt_tl { ##1 } { ##2 }
+ }
+ }
+\cs_new:Nn \__um_which_frac:nn
+ {
+ \bool_if:NTF \l__um_smallfrac_bool {\tfrac} {\frac} {#1} {#2}
+ }
+\cs_new:Npn \__um_setup_active_frac:
+ {
+ \__um_mathactive_remap:nn {"2189} { \__um_which_frac:nn {0} {3} }
+ \__um_mathactive_remap:nn {"2152} { \__um_which_frac:nn {1} {10} }
+ \__um_mathactive_remap:nn {"2151} { \__um_which_frac:nn {1} {9} }
+ \__um_mathactive_remap:nn {"215B} { \__um_which_frac:nn {1} {8} }
+ \__um_mathactive_remap:nn {"2150} { \__um_which_frac:nn {1} {7} }
+ \__um_mathactive_remap:nn {"2159} { \__um_which_frac:nn {1} {6} }
+ \__um_mathactive_remap:nn {"2155} { \__um_which_frac:nn {1} {5} }
+ \__um_mathactive_remap:nn {"00BC} { \__um_which_frac:nn {1} {4} }
+ \__um_mathactive_remap:nn {"2153} { \__um_which_frac:nn {1} {3} }
+ \__um_mathactive_remap:nn {"215C} { \__um_which_frac:nn {3} {8} }
+ \__um_mathactive_remap:nn {"2156} { \__um_which_frac:nn {2} {5} }
+ \__um_mathactive_remap:nn {"00BD} { \__um_which_frac:nn {1} {2} }
+ \__um_mathactive_remap:nn {"2157} { \__um_which_frac:nn {3} {5} }
+ \__um_mathactive_remap:nn {"215D} { \__um_which_frac:nn {5} {8} }
+ \__um_mathactive_remap:nn {"2154} { \__um_which_frac:nn {2} {3} }
+ \__um_mathactive_remap:nn {"00BE} { \__um_which_frac:nn {3} {4} }
+ \__um_mathactive_remap:nn {"2158} { \__um_which_frac:nn {4} {5} }
+ \__um_mathactive_remap:nn {"215A} { \__um_which_frac:nn {5} {6} }
+ \__um_mathactive_remap:nn {"215E} { \__um_which_frac:nn {7} {8} }
+ }
+\AtBeginDocument { \__um_setup_active_frac: }
+\protected\def\to{\rightarrow}
+\protected\def\le{\leq}
+\protected\def\ge{\geq}
+\protected\def\neq{\ne}
+\protected\def\triangle{\mathord{\bigtriangleup}}
+\protected\def\bigcirc{\mdlgwhtcircle}
+\protected\def\circ{\vysmwhtcircle}
+\protected\def\bullet{\smblkcircle}
+\protected\def\mathyen{\yen}
+\protected\def\mathsterling{\sterling}
+\protected\def\diamond{\smwhtdiamond}
+\protected\def\emptyset{\varnothing}
+\protected\def\hbar{\hslash}
+\protected\def\land{\wedge}
+\protected\def\lor{\vee}
+\protected\def\owns{\ni}
+\protected\def\gets{\leftarrow}
+\protected\def\mathring{\ocirc}
+\protected\def\lnot{\neg}
+\protected\def\longdivision{\longdivisionsign}
+\protected\def\backepsilon{\upbackepsilon}
+\protected\def\eth{\matheth}
+\protected\def\dbkarow {\dbkarrow}
+\protected\def\drbkarow{\drbkarrow}
+\protected\def\hksearow{\hksearrow}
+\protected\def\hkswarow{\hkswarrow}
+\protected\def\smallint{\mathop{\textstyle\int}\limits}
+\cs_set_eq:NN \latexe_underbar:n \underbar
+\renewcommand\underbar
+ {
+ \mode_if_math:TF \mathunderbar \latexe_underbar:n
+ }
+\@ifpackageloaded{amsmath}
+ {
+ % define their own colon, perhaps I should just steal it. (It does look much better.)
+ }
+ {
+ \cs_set_protected:Npn \colon
+ {
+ \bool_if:NTF \g__um_literal_colon_bool {:} { \mathpunct{:} }
+ }
+ }
+\protected\def\digamma{\updigamma}
+\protected\def\Digamma{\upDigamma}
+\cs_set_protected:Npn \| {\Vert}
+\cs_set_protected:Npn \mathellipsis {\mathinner{\unicodeellipsis}}
+\cs_set_protected:Npn \cdots {\mathinner{\unicodecdots}}
+\cs_set_eq:NN \__um_text_slash: \slash
+\cs_set_protected:Npn \slash
+ {
+ \mode_if_math:TF {\mathslash} {\__um_text_slash:}
+ }
+\DeclareDocumentCommand \not {m}
+ {
+ \tl_set:Nx \l__um_not_token_name_tl { \cs_to_str:N #1 }
+ \tl_if_empty:NT \l__um_not_token_name_tl
+ {
+ \tl_set:Nx \l__um_not_token_name_tl { \token_to_str:N #1 }
+ }
+ \cs_if_exist:cTF { not \l__um_not_token_name_tl }
+ {
+ \use:c { not \l__um_not_token_name_tl }
+ }
+ {
+ \cs_if_exist:cTF { n \l__um_not_token_name_tl }
+ {
+ \use:c { n \l__um_not_token_name_tl }
+ }
+ {
+ \tl_if_eq:nnTF {#1} {$} { \notaccent{} } { \notaccent } #1
+ }
+ }
+ }
+\DeclareDocumentCommand \NewNegationCommand {mm}
+ {
+ \__um_set_negation_command:Nnn \cs_new_protected:cpn {#1} {#2}
+ }
+\DeclareDocumentCommand \RenewNegationCommand {mm}
+ {
+ \__um_set_negation_command:Nnn \cs_set_protected:cpn {#1} {#2}
+ }
+\cs_set:Nn \__um_set_negation_command:Nnn
+ {
+ \tl_set:Nx \l__um_not_token_name_tl { \cs_to_str:N #2 }
+ \tl_if_empty:NT \l__um_not_token_name_tl
+ {
+ \tl_set:Nx \l__um_not_token_name_tl { \token_to_str:N #2 }
+ }
+ #1 { not \l__um_not_token_name_tl } { #3 }
+ }
+\NewNegationCommand { = } { \neq }
+\NewNegationCommand { < } { \nless }
+\NewNegationCommand { > } { \ngtr }
+\NewNegationCommand { \gets } { \nleftarrow }
+\NewNegationCommand { \simeq } { \nsime }
+\NewNegationCommand { \equal } { \ne }
+\NewNegationCommand { \le } { \nleq }
+\NewNegationCommand { \ge } { \ngeq }
+\NewNegationCommand { \greater } { \ngtr }
+\NewNegationCommand { \forksnot } { \forks }
+\int_step_inline:nnnn {0} {1} {9}
+ {
+ \__um_mathactive_remap:nn {"FF10+#1} {\char\int_eval:n{`\0+#1}}
+ }
+\int_step_inline:nnnn {0} {1} {26}
+ {
+ \__um_mathactive_remap:nn {"FF21+#1} {\char\int_eval:n{`\A+#1}}
+ \__um_mathactive_remap:nn {"FF41+#1} {\char\int_eval:n{`\a+#1}}
+ }
+\cs_new:Nn \__um_undeclare_symbol:N
+ {
+ \cs_set_protected:Npn #1
+ { \__um_error:nx {legacy-char-not-supported} { \token_to_str:N #1 } }
+ }
+\__um_undeclare_symbol:N \arrowvert
+\__um_undeclare_symbol:N \Arrowvert
+\__um_undeclare_symbol:N \bracevert
+\endinput
+