diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx | 68 |
1 files changed, 38 insertions, 30 deletions
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 33b2a23260f..ecd20cd2d80 100644 --- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx +++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx @@ -8,9 +8,9 @@ \keepsilent \let\MetaPrefix\DoubleperCent \declarepreamble\texpreamble -Copyright 2006-2012 Will Robertson <will.robertson@latex-project.org> -Copyright 2010-2011 Philipp Stephani <st_philipp@yahoo.de> -Copyright 2012 Khaled Hosny <khaledhosny@eglug.org> +Copyright 2006-2013 Will Robertson <will.robertson@latex-project.org> +Copyright 2010-2013 Philipp Stephani <st_philipp@yahoo.de> +Copyright 2012-2013 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 @@ -60,7 +60,7 @@ This work is "author-maintained" by Will Robertson. %<preamble&XE>\ProvidesPackage{unicode-math-xetex} %<preamble&LU>\ProvidesPackage{unicode-math-luatex} %<*preamble> - [2012/07/28 v0.7a Unicode maths in XeLaTeX and LuaLaTeX] + [2013/02/22 v0.7b Unicode maths in XeLaTeX and LuaLaTeX] %</preamble> %<*internal> \documentclass[a4paper]{ltxdoc} @@ -164,7 +164,7 @@ This work is "author-maintained" by Will Robertson. % with both \XeLaTeX\ and \LuaLaTeX; resp., % \begin{quote} % \begin{verbatim} -% \setmathfont{lmmath-regular.otf} +% \setmathfont{latinmodernmath-regular.otf} % \setmathfont{Asana-Math.otf} % \setmathfont{xits-math.otf} % \end{verbatim} @@ -430,7 +430,7 @@ This work is "author-maintained" by Will Robertson. % either switches to upright for Latin letters (|bold-style=TeX|) as well or % keeps them italic (|bold-style=ISO|). % -% To match the package options for non-bold characters, for +% To match the package options for non-bold characters, with option % |bold-style=upright| all bold characters are upright, and % |bold-style=literal| does not change the upright/italic shape of the letter. % @@ -490,7 +490,7 @@ This work is "author-maintained" by Will Robertson. % your bold sans serif upright (or all vice versa, if that's even conceivable). Therefore, bold sans % serif follows from the setting for sans serif; it is completely independent of the setting for bold. % -% In other words, \cs{mathbfsf} is \cs{mathbfsfup} or \cs{mathbfsfit} based on |[sans-style=upright]| or |[sans-style=italic]|, respectively. And |[sans-style=literal]| causes \cs{mathbfsf} to retain the same italic or upright shape as the input, and turns it bold sans serif. +% In other words, \cs{mathbfsf} is either \cs{mathbfsfup} or \cs{mathbfsfit} based on |[sans-style=upright]| or |[sans-style=italic]|, respectively. And |[sans-style=literal]| causes \cs{mathbfsf} to retain the same italic or upright shape as the input, and turns it bold sans serif. % % Note well! There is no medium-weight sans serif Greek alphabet in Unicode; therefore, |\mathsf{\alpha}| does not make sense (simply produces `$\mathsf{\alpha}$') while |\mathbfsf{\alpha}| gives `$\mathsf{\alpha}$'. % @@ -501,7 +501,7 @@ This work is "author-maintained" by Will Robertson. % shape one may wish to use in mathematical notation. The complete list is shown % in \tabref{mathalphabets}. Some of these have been covered in the previous sections. % -% At present, the math font switching commands do not nest; therefore if you want +% The math font switching commands do not nest; therefore if you want % sans serif bold, you must write |\mathsfbf{...}| rather than |\mathbf{\mathsf{...}}|. % This may change in the future. % @@ -670,7 +670,7 @@ This work is "author-maintained" by Will Robertson. % confused that what they think as `normal epsilon' is actual the `variant % epsilon'. And the same problem exists for `phi'. % -% We have a package option to control this behaviour. +% We have an option to control this behaviour. % With |vargreek-shape=TeX|, % \cs{phi} and \cs{epsilon} produce $\phi$ and $\epsilon$ and % \cs{varphi} and \cs{varepsilon} produce $\varphi$ and $\varepsilon$. @@ -860,7 +860,6 @@ This work is "author-maintained" by Will Robertson. % Of the above characters, the following are allowed to be used after % \cs{left}, \cs{middle}, and \cs{right}: % \begin{itemize} -% \item \cs{solidus}; % \item \cs{fracslash}; % \item \cs{slash}; and, % \item \cs{backslash} (the only reverse slash). @@ -1502,18 +1501,25 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria % % \subsection{Engine differences} % +% \XeTeX\ before version 0.9999 did not support |\U| prefix for extended math +% primitives, and while \LuaTeX\ had it from the start, prior 0.75.0 the +% \LaTeX\ format did not provide them without the |\luatex| prefix. +% % \begin{macrocode} -\cs_new:Nn \um_cs_compat:n -%<XE> { \cs_set_eq:cc {U#1} {XeTeX#1} } -%<LU> { \cs_set_eq:cc {U#1} {luatexU#1} } -\um_cs_compat:n {mathcode} -\um_cs_compat:n {delcode} -\um_cs_compat:n {mathcodenum} -\um_cs_compat:n {mathcharnum} -\um_cs_compat:n {mathchardef} -\um_cs_compat:n {radical} -\um_cs_compat:n {mathaccent} -\um_cs_compat:n {delimiter} +%<XE>\ifdim\number\XeTeXversion\XeTeXrevision in<0.9999in +%<LU>\ifnum\luatexversion<75% + \cs_new:Nn \um_cs_compat:n +%<XE> { \cs_set_eq:cc {U#1} {XeTeX#1} } +%<LU> { \cs_set_eq:cc {U#1} {luatexU#1} } + \um_cs_compat:n {mathcode} + \um_cs_compat:n {delcode} + \um_cs_compat:n {mathcodenum} + \um_cs_compat:n {mathcharnum} + \um_cs_compat:n {mathchardef} + \um_cs_compat:n {radical} + \um_cs_compat:n {mathaccent} + \um_cs_compat:n {delimiter} +\fi % \end{macrocode} % % \begin{macrocode} @@ -2127,7 +2133,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria % The following assignments should all be fairly straightforward. % \begin{macrocode} \cs_set:Nn \um_set_mathsymbol:nNNn { - \prg_case_tl:Nnn #3 { + \tl_case:Nnn #3 { \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} } \mathopen { @@ -3597,7 +3603,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria \clist_map_inline:nn {#2} { \tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} } \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n} { - \str_if_eq:xxTF {\l_um_tmpa_tl}{misc} { + \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} { \um_maybe_init_alphabet:V \l_um_style_tl \clist_map_break: }{ @@ -3614,7 +3620,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria \clist_map_inline:nn {#2} { \tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} } \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} { - \str_if_eq:xxTF {\l_um_tmpa_tl}{misc} { + \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} { \um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)} \use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3} }{ @@ -3707,7 +3713,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria % First the function with numbers: % \begin{macrocode} \cs_set:Npn \um_map_chars_range:nnn #1#2#3 { - \prg_stepwise_inline:nnnn {0}{1}{#1-1} { + \int_step_inline:nnnn {0}{1}{#1-1} { \um_map_char_single:nn {#2+##1}{#3+##1} } } @@ -3840,7 +3846,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria % First the version that uses numbers: % \begin{macrocode} \cs_new:Npn \um_set_mathalph_range:nNnn #1#2#3#4 { - \prg_stepwise_inline:nnnn {0}{1}{#1-1} + \int_step_inline:nnnn {0}{1}{#1-1} { \um_set_mathalphabet_char:Nnn {#2} { ##1 + #3 } { ##1 + #4 } } } \cs_generate_variant:Nn \um_set_mathalph_range:nNnn {nNcc} @@ -4717,7 +4723,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria \cs_if_exist:NF \l_um_fontname_tl { % XXX: update this when lmmath-bold.otf is released - \setmathfont[BoldFont={lmmath-regular.otf}]{lmmath-regular.otf} + \setmathfont[BoldFont={latinmodernmath-regular.otf}]{latinmodernmath-regular.otf} } } % \end{macrocode} @@ -4797,7 +4803,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria } } \cs_new:Nn \um_nprimes_select:nn { - \prg_case_int:nnn {#2}{ + \int_case:nnn {#2}{ {1} { \um_superscript:n {#1} } {2} { \um_glyph_if_exist:nTF {"2033} @@ -4819,7 +4825,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria } } \cs_new:Nn \um_nbackprimes_select:nn { - \prg_case_int:nnn {#2}{ + \int_case:nnn {#2}{ {1} { \um_superscript:n {#1} } {2} { \um_glyph_if_exist:nTF {"2036} @@ -5705,6 +5711,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria % \paragraph{\pkg{amsopn}} % This code is to improve the output of analphabetic symbols in text of operator names (\cs{sin}, \cs{cos}, etc.). Just comment out the offending lines for now: % \begin{macrocode} +%<*XE> \AtEndOfPackageFile * {amsopn} { \cs_set:Npn \newmcodes@ { \mathcode`\'39\scan_stop: @@ -5718,6 +5725,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria \mathcode`\:"603A\scan_stop: } } +%</XE> % \end{macrocode} % \paragraph{Symbols} % \begin{macrocode} @@ -6419,7 +6427,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria \setmainfont[Ligatures=TeX]{TeX Gyre Pagella} \setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Candara} \setmonofont[Scale=MatchLowercase]{Consolas} -\setmathfont{Cambria Math} +\setmathfont{texgyrepagellamath-regular.otf} \newfontface\umfont{XITS Math} \usepackage{hypdoc} |