From 3b7cf30fa31187f5d624753e77da7864f97f309b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 25 Sep 2015 23:13:48 +0000 Subject: unicode-math (25sep15) git-svn-id: svn://tug.org/texlive/trunk@38462 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/unicode-math/README.md | 7 +++ .../doc/latex/unicode-math/unicode-math.pdf | Bin 386448 -> 380673 bytes .../doc/latex/unicode-math/unimath-symbols.pdf | Bin 1448683 -> 1384253 bytes .../source/latex/unicode-math/unicode-math.dtx | 65 ++++----------------- .../tex/latex/unicode-math/unicode-math-luatex.sty | 31 ++-------- .../tex/latex/unicode-math/unicode-math-table.tex | 4 ++ .../tex/latex/unicode-math/unicode-math-xetex.sty | 29 ++------- .../tex/latex/unicode-math/unicode-math.sty | 3 +- 8 files changed, 34 insertions(+), 105 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/unicode-math/README.md b/Master/texmf-dist/doc/latex/unicode-math/README.md index 7ee21e0946b..baea74011da 100644 --- a/Master/texmf-dist/doc/latex/unicode-math/README.md +++ b/Master/texmf-dist/doc/latex/unicode-math/README.md @@ -79,6 +79,13 @@ Please file bug reports with minimal examples: CHANGE HISTORY -------------- +- v0.8c (2015/09/24) + + * Add `\over(left/right)harpoon` as "wide" accents. + * Add RTL mathematics operators `\arabicmaj` and `\arabichad`, which correspond to `U+1EEF0` and `U+1EEF1`, resp. + * Remove `catchfile` package dependency. + * Update some internal names to match expl3 standards. + - v0.8b (2015/09/09) * Bug fix: Use the "ucharcat" package to simplify some code that caused some headaches with \tl_rescan:nn. diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf index 52dcd15aebd..7c97b8dc05f 100644 Binary files a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf and b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf differ diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf index 438daaa27df..56c31e52d3a 100644 Binary files a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf and b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf differ diff --git a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx index 3f4faf47fe0..f1fb5a36d84 100644 --- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx +++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx @@ -69,7 +69,7 @@ This work is "maintained" by Will Robertson. %\ProvidesPackage{unicode-math-xetex} %\ProvidesPackage{unicode-math-luatex} %<*preamble> - [2015/09/09 v0.8b Unicode maths in XeLaTeX and LuaLaTeX] + [2015/09/24 v0.8c Unicode maths in XeLaTeX and LuaLaTeX] % %<*internal> \def\DOCUMENTEND{F} @@ -140,7 +140,6 @@ This work is "maintained" by Will Robertson. \RequirePackage{xparse} \RequirePackage{l3keys2e} \RequirePackage{fontspec}[2015/03/14] -\RequirePackage{catchfile} \RequirePackage{fix-cm} % avoid some warnings \RequirePackage{filehook} % \end{macrocode} @@ -846,11 +845,9 @@ This work is "maintained" by Will Robertson. % \begin{macrocode} \cs_new:Nn \@@_set_big_operator:nnn { - \group_begin: - \char_set_catcode_active:n {#3} - \@@_char_gmake_mathactive:n {#3} - \@@_active_char_set:wc #3 \q_nil { \cs_to_str:N #2 _sym } - \group_end: + \@@_char_gmake_mathactive:n {#3} + \cs_set_protected_nopar:Npx \@@_tmpa: { \exp_not:c { \cs_to_str:N #2 _sym } } + \char_gset_active_eq:nN {#3} \@@_tmpa: \@@_set_mathchar:cNnn {\cs_to_str:N #2 op} \mathop {#1} {#3} @@ -1770,7 +1767,7 @@ This work is "maintained" by Will Robertson. % \darg{font dimension for non-cramped non-display styles} % \darg{font dimension for cramped non-display styles} % This macro defines getter and setter functions for the font parameter \meta{name}. -% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |luatexUmath|. +% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |Umath|. % The \XeTeX\ font dimension numbers must be integer constants. % \begin{macrocode} \cs_new_protected_nopar:Nn \@@_font_param:nnnnn @@ -1785,7 +1782,7 @@ This work is "maintained" by Will Robertson. \tl_set:Nn \l_@@_tmpa_tl { #1 } \tl_remove_all:Nn \l_@@_tmpa_tl { _ } \@@_font_param_aux:ccc { @@_ #1 :N } { @@_set_ #1 :Nn } - { luatexUmath \l_@@_tmpa_tl } + { Umath \l_@@_tmpa_tl } } % % \end{macrocode} @@ -1796,7 +1793,7 @@ This work is "maintained" by Will Robertson. % \darg{font dimension for display style} % \darg{font dimension for non-display styles} % This macro defines getter and setter functions for the font parameter \meta{name}. -% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |luatexUmath|. +% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |Umath|. % The \XeTeX\ font dimension numbers must be integer constants. % \begin{macrocode} \cs_new_protected_nopar:Nn \@@_font_param:nnn @@ -1810,7 +1807,7 @@ This work is "maintained" by Will Robertson. % \darg{name} % \darg{font dimension} % This macro defines getter and setter functions for the font parameter \meta{name}. -% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |luatexUmath|. +% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |Umath|. % The \XeTeX\ font dimension number must be an integer constant. % \begin{macrocode} \cs_new_protected_nopar:Nn \@@_font_param:nn @@ -1823,7 +1820,7 @@ This work is "maintained" by Will Robertson. % \begin{macro}{\@@_font_param:n} % \darg{name} % This macro defines getter and setter functions for the font parameter \meta{name}, which is considered unavailable in \XeTeX\@. -% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |luatexUmath|. +% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |Umath|. % \begin{macrocode} \cs_new_protected_nopar:Nn \@@_font_param:n % { } @@ -2976,7 +2973,7 @@ This work is "maintained" by Will Robertson. % \end{macrocode} % % \begin{macrocode} -\CatchFileEdef \g_@@_mathtable_tl {unicode-math-table.tex} {\@@_symbol_setup:} +\tl_set_from_file_x:Nnn \g_@@_mathtable_tl {\@@_symbol_setup:} {unicode-math-table.tex} % \end{macrocode} % % @@ -2990,44 +2987,6 @@ This work is "maintained" by Will Robertson. % % \section{Definitions of the active math characters} % -% \begin{macro}{\@@_cs_set_eq_active_char:Nw} -% This macro is used to give each Unicode math codepoint an equivalent macro name. -% The two are equivalent, in a |\let\xyz=^^^^1234| kind of way. (For now!!) -% \begin{macrocode} -\cs_set:Npn \@@_cs_set_eq_active_char:Nw #1 = "#2 \q_nil - { - \exp_last_unbraced:NNx \cs_gset_eq:NN #1 { \Ucharcat "#2 ~ 12 ~ } - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@@_active_char_set:wc} -% We need to do some trickery to transform the |\_@@_sym:nnn| argument -% |"ABCDEF| into the \XeTeX\ `caret input' form |^^^^^abcdef|. It is \emph{very important} -% that the argument has five characters. Otherwise we need to change the number of |^| chars. -% -% To do this, turn |^| into a regular `other' character and define the macro -% to perform the lowercasing and |\let|. \cmd\scantokens\ changes the carets -% back into their original meaning after the group has ended and |^|'s catcode returns to normal. -% \begin{macrocode} -\group_begin: - \char_set_catcode_other:N \^ - \cs_new:Npn \@@_active_char_set:wc "#1 \q_nil #2 - { - \tex_lowercase:D - { - \tl_rescan:nn { \ExplSyntaxOn } - { \cs_gset_protected_nopar:Npx ^^^^^#1 { \exp_not:c {#2} } } - } - } -\group_end: -% \end{macrocode} -% Could be defined simply as the following if Ucharcar allowed active chars! -% \begin{Verbatim} -% \exp_last_unbraced:Nx \cs_gset_protected_nopar:Npx { \Ucharcat "#2 ~ 13 ~ } { \exp_not:c {#2} } -% \end{Verbatim} -% \end{macro} -% % Now give \cmd\_@@_sym:nnn\ a definition in terms of \cmd\@@_cs_set_eq_active_char:Nw\ % and we're good to go. % @@ -3038,17 +2997,15 @@ This work is "maintained" by Will Robertson. \cs_new:Nn \@@_define_math_chars: { \group_begin: - \char_set_catcode_math_superscript:N \^ \cs_set:Npn \_@@_sym:nnn ##1##2##3 { \tl_if_in:nnT { \mathord \mathalpha \mathbin \mathrel \mathpunct \mathop \mathfence } {##3} { - \@@_cs_set_eq_active_char:Nw ##2 = ##1 \q_nil \ignorespaces + \exp_last_unbraced:NNx \cs_gset_eq:NN ##2 { \Ucharcat ##1 ~ 12 ~ } } } - \char_set_catcode_other:N \# \@@_input_math_symbol_table: \group_end: } 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 06bf4687261..f127f0a17db 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 @@ -79,11 +79,9 @@ \edef\mathbotaccentwide{\string\mathbotaccentwide} \cs_new:Nn \__um_set_big_operator:nnn { - \group_begin: - \char_set_catcode_active:n {#3} - \__um_char_gmake_mathactive:n {#3} - \__um_active_char_set:wc #3 \q_nil { \cs_to_str:N #2 _sym } - \group_end: + \__um_char_gmake_mathactive:n {#3} + \cs_set_protected_nopar:Npx \__um_tmpa: { \exp_not:c { \cs_to_str:N #2 _sym } } + \char_gset_active_eq:nN {#3} \__um_tmpa: \__um_set_mathchar:cNnn {\cs_to_str:N #2 op} \mathop {#1} {#3} @@ -543,7 +541,7 @@ \tl_set:Nn \l__um_tmpa_tl { #1 } \tl_remove_all:Nn \l__um_tmpa_tl { _ } \__um_font_param_aux:ccc { __um_ #1 :N } { __um_set_ #1 :Nn } - { luatexUmath \l__um_tmpa_tl } + { Umath \l__um_tmpa_tl } } \cs_new_protected_nopar:Nn \__um_font_param:nnn { @@ -1161,38 +1159,21 @@ \exp_not:n { \__um_sym:nnn {##1} {##2} {##3} } } } -\CatchFileEdef \g__um_mathtable_tl {unicode-math-table.tex} {\__um_symbol_setup:} +\tl_set_from_file_x:Nnn \g__um_mathtable_tl {\__um_symbol_setup:} {unicode-math-table.tex} \cs_new:Nn \__um_input_math_symbol_table: {\g__um_mathtable_tl} -\cs_set:Npn \__um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil - { - \exp_last_unbraced:NNx \cs_gset_eq:NN #1 { \Ucharcat "#2 ~ 12 ~ } - } -\group_begin: - \char_set_catcode_other:N \^ - \cs_new:Npn \__um_active_char_set:wc "#1 \q_nil #2 - { - \tex_lowercase:D - { - \tl_rescan:nn { \ExplSyntaxOn } - { \cs_gset_protected_nopar:Npx ^^^^^#1 { \exp_not:c {#2} } } - } - } -\group_end: \AtBeginDocument{\__um_define_math_chars:} \cs_new:Nn \__um_define_math_chars: { \group_begin: - \char_set_catcode_math_superscript:N \^ \cs_set:Npn \__um_sym:nnn ##1##2##3 { \tl_if_in:nnT { \mathord \mathalpha \mathbin \mathrel \mathpunct \mathop \mathfence } {##3} { - \__um_cs_set_eq_active_char:Nw ##2 = ##1 \q_nil \ignorespaces + \exp_last_unbraced:NNx \cs_gset_eq:NN ##2 { \Ucharcat ##1 ~ 12 ~ } } } - \char_set_catcode_other:N \# \__um_input_math_symbol_table: \group_end: } diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex index 1babad3be0d..9d2ef42932f 100644 --- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex +++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex @@ -145,7 +145,9 @@ \UnicodeMathSymbol{"02057}{\qprime }{\mathord}{quadruple prime, not superscripted}% \UnicodeMathSymbol{"020AC}{\euro }{\mathord}{euro sign}% \UnicodeMathSymbol{"020D0}{\leftharpoonaccent }{\mathaccent}{combining left harpoon above}% +\UnicodeMathSymbol{"020D0}{\overleftharpoon }{\mathaccentwide}{combining left harpoon above}% \UnicodeMathSymbol{"020D1}{\rightharpoonaccent }{\mathaccent}{combining right harpoon above}% +\UnicodeMathSymbol{"020D1}{\overrightharpoon }{\mathaccentwide}{combining right harpoon above}% \UnicodeMathSymbol{"020D2}{\vertoverlay }{\mathaccent}{combining long vertical line overlay}% \UnicodeMathSymbol{"020D6}{\overleftarrow }{\mathaccentwide}{combining left arrow above}% \UnicodeMathSymbol{"020D7}{\overrightarrow }{\mathaccentwide}{combining left arrow above}% @@ -2440,3 +2442,5 @@ \UnicodeMathSymbol{"1D7FD}{\mttseven }{\mathord}{mathematical monospace digit 7}% \UnicodeMathSymbol{"1D7FE}{\mtteight }{\mathord}{mathematical monospace digit 8}% \UnicodeMathSymbol{"1D7FF}{\mttnine }{\mathord}{mathematical monospace digit 9}% +\UnicodeMathSymbol{"1EEF0}{\arabicmaj }{\mathop}{arabic mathematical operator meem with hah with tatweel}% +\UnicodeMathSymbol{"1EEF1}{\arabichad }{\mathop}{arabic mathematical operator hah with dal}% diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty index a5cac59aec8..e1ee6b8ea6f 100644 --- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty +++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty @@ -77,11 +77,9 @@ \edef\mathbotaccentwide{\string\mathbotaccentwide} \cs_new:Nn \__um_set_big_operator:nnn { - \group_begin: - \char_set_catcode_active:n {#3} - \__um_char_gmake_mathactive:n {#3} - \__um_active_char_set:wc #3 \q_nil { \cs_to_str:N #2 _sym } - \group_end: + \__um_char_gmake_mathactive:n {#3} + \cs_set_protected_nopar:Npx \__um_tmpa: { \exp_not:c { \cs_to_str:N #2 _sym } } + \char_gset_active_eq:nN {#3} \__um_tmpa: \__um_set_mathchar:cNnn {\cs_to_str:N #2 op} \mathop {#1} {#3} @@ -1186,38 +1184,21 @@ \exp_not:n { \__um_sym:nnn {##1} {##2} {##3} } } } -\CatchFileEdef \g__um_mathtable_tl {unicode-math-table.tex} {\__um_symbol_setup:} +\tl_set_from_file_x:Nnn \g__um_mathtable_tl {\__um_symbol_setup:} {unicode-math-table.tex} \cs_new:Nn \__um_input_math_symbol_table: {\g__um_mathtable_tl} -\cs_set:Npn \__um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil - { - \exp_last_unbraced:NNx \cs_gset_eq:NN #1 { \Ucharcat "#2 ~ 12 ~ } - } -\group_begin: - \char_set_catcode_other:N \^ - \cs_new:Npn \__um_active_char_set:wc "#1 \q_nil #2 - { - \tex_lowercase:D - { - \tl_rescan:nn { \ExplSyntaxOn } - { \cs_gset_protected_nopar:Npx ^^^^^#1 { \exp_not:c {#2} } } - } - } -\group_end: \AtBeginDocument{\__um_define_math_chars:} \cs_new:Nn \__um_define_math_chars: { \group_begin: - \char_set_catcode_math_superscript:N \^ \cs_set:Npn \__um_sym:nnn ##1##2##3 { \tl_if_in:nnT { \mathord \mathalpha \mathbin \mathrel \mathpunct \mathop \mathfence } {##3} { - \__um_cs_set_eq_active_char:Nw ##2 = ##1 \q_nil \ignorespaces + \exp_last_unbraced:NNx \cs_gset_eq:NN ##2 { \Ucharcat ##1 ~ 12 ~ } } } - \char_set_catcode_other:N \# \__um_input_math_symbol_table: \group_end: } diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty index 584b03f79e7..b587a824c65 100644 --- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty +++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty @@ -19,7 +19,7 @@ %% %% This work is "maintained" by Will Robertson. \ProvidesPackage{unicode-math} - [2015/09/09 v0.8b Unicode maths in XeLaTeX and LuaLaTeX] + [2015/09/24 v0.8c Unicode maths in XeLaTeX and LuaLaTeX] \usepackage{ifxetex,ifluatex} \ifxetex \ifdim\number\XeTeXversion\XeTeXrevision in<0.9998in% @@ -46,7 +46,6 @@ \RequirePackage{xparse} \RequirePackage{l3keys2e} \RequirePackage{fontspec}[2015/03/14] -\RequirePackage{catchfile} \RequirePackage{fix-cm} % avoid some warnings \RequirePackage{filehook} \ExplSyntaxOn -- cgit v1.2.3