From 879d5ce7b956e5a328acb175c32db7fcb393f089 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sat, 6 Apr 2013 23:27:00 +0200 Subject: beta 2013.04.06 23:27 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4135 -> 4134 bytes tex/context/base/context-version.png | Bin 40352 -> 40321 bytes tex/context/base/context.mkiv | 3 +- tex/context/base/math-frc.mkiv | 280 ++++++++++----------- tex/context/base/math-ini.mkiv | 10 +- tex/context/base/math-mis.mkiv | 60 +++++ tex/context/base/mult-aux.mkiv | 19 +- tex/context/base/status-files.pdf | Bin 24790 -> 24753 bytes tex/context/base/status-lua.pdf | Bin 211713 -> 211790 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 11 files changed, 217 insertions(+), 159 deletions(-) create mode 100644 tex/context/base/math-mis.mkiv (limited to 'tex') diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index ec48d6bae..9c6e824b0 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.04.05 22:00} +\newcontextversion{2013.04.06 23:27} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index bccf8fc16..044e9c791 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index 0a8bac0da..6c5d44ac4 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index e4442fdcd..2888cea6a 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2013.04.05 22:00} +\edef\contextversion{2013.04.06 23:27} \edef\contextkind {beta} %D For those who want to use this: @@ -423,6 +423,7 @@ %loadmarkfile{math-arr} \loadmkvifile{math-stc} \loadmarkfile{math-frc} +\loadmarkfile{math-mis} \loadmarkfile{math-scr} \loadmarkfile{math-int} \loadmarkfile{math-del} diff --git a/tex/context/base/math-frc.mkiv b/tex/context/base/math-frc.mkiv index ae78b9290..ea3a737aa 100644 --- a/tex/context/base/math-frc.mkiv +++ b/tex/context/base/math-frc.mkiv @@ -1,9 +1,9 @@ %D \module %D [ file=math-frc, -%D version=2007.07.19, +%D version=2013.04.06, % 2007.07.19, %D title=\CONTEXT\ Math Macros, %D subtitle=Fractions, -%D author={Hans Hagen \& Taco Hoekwater}, +%D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C @@ -15,17 +15,18 @@ \unprotect -% quite old ... still needed? +%D todo: struts ... depends on demand + +%D This module is reimplemented in \MKIV\ style. %D \macros %D {frac, xfrac, xxfrac} %D -%D This is another one Tobias asked for. It replaces the -%D primitive \type {\over}. We also take the opportunity to -%D handle math style restoring, which makes sure units and -%D chemicals come out ok. -%D The \type {\frac} macro kind of replaces the awkward \type -%D {\over} primitive. Say that we have the following formulas: +%D This is another one Tobias asked for. It replaces the primitive \type +%D {\over}. We also take the opportunity to handle math style restoring, +%D which makes sure units and chemicals come out ok. The \type {\frac} +%D macro kind of replaces the awkward \type {\over} primitive. Say that +%D we have the following formulas: %D %D \startbuffer[sample] %D test $\frac {1}{2}$ test $$1 + \frac {1}{2} = 1.5$$ @@ -65,120 +66,85 @@ %D %D \typebuffer[code] \getbuffer[code,sample] %D -%D So we stick to the next definitions (watch the local -%D overloading of \type {\xfrac}). - -% \def\math_fractions_forced#1#2#3{\relax\mathematics{\Ustack{{#1{#2}}\normalover{#1{#3}}}}} -% \def\math_fractions_auto #1#2{\relax\mathematics{\Ustack{{#1}\normalover{#2}}}} - -\def\math_fractions_forced#1#2#3% - {\normalexpanded{\vcenter\bgroup\hbox\bgroup\startimath\triggermathstyle\normalmathstyle}% - \Ustack{{#1{#2}}\normalover{#1{#3}}}% - \stopimath\egroup\egroup} - -\def\math_fractions_auto#1#2% - {\normalexpanded{\vcenter\bgroup\hbox\bgroup\startimath\triggermathstyle\normalmathstyle}% - \Ustack{{#1}\normalover{#2}}% - \stopimath\egroup\egroup} - -% \def\math_fractions_auto{\math_fractions_forced\firstofoneargument} +%D So we stick to the next definitions (watch the local overloading of +%D \type {\xfrac}). +%D +%D In the meantime, in \LUATEX, we have better control over styles so the +%D following macros are different from the \MKII\ ones. +% obsolete, is now c!mathstyle +% +% 0=auto, 1=displaystyle, 2=textstyle, 3=scriptstyle, 4=scriptscriptstyle, 5=mathstyle +% % $\mathfracmode0 \frac{1}{2}$ % $\mathfracmode1 \frac{1}{2}$ % $\mathfracmode2 \frac{1}{2}$ % $\mathfracmode3 \frac{1}{2}$ % $\mathfracmode4 \frac{1}{2}$ % $\mathfracmode5 \frac{1}{2}$ - -% 0=auto, 1=displaystyle, 2=textstyle, 3=scriptstyle, 4=scriptscriptstyle, 5=mathstyle +% +% we keep the constant for a while \setnewconstant\mathfracmode\zerocount -\unexpanded\def\frac - {\ifcase\mathfracmode - \expandafter\math_fractions_auto - \or - \expandafter\math_fractions_forced\expandafter\displaystyle - \or - \expandafter\math_fractions_forced\expandafter\textstyle - \or - \expandafter\math_fractions_forced\expandafter\scriptstyle - \or - \expandafter\math_fractions_forced\expandafter\scriptscriptstyle - \else - \expandafter\math_fractions_forced\expandafter\mathstyle - \fi} - -\unexpanded\def\xfrac#1#2% - {\begingroup - \let\xfrac\xxfrac - \math_fractions_forced\scriptstyle{#1}{#2}% - \endgroup} +\installcorenamespace{mathfractions} +\installcorenamespace{mathfractionstyle} +\installcorenamespace{mathfractionalign} +\installcorenamespace{mathfractionalternative} -\unexpanded\def\xxfrac#1#2% - {\begingroup - \math_fractions_forced\scriptscriptstyle{#1}{#2}% - \endgroup} +\installcommandhandler \??mathfractions {mathfraction} \??mathfractions -%D The \type {xx} variant looks still ugly, so maybe it's -%D best to say: +\let\setupmathfractions\setupmathfraction -\unexpanded\def\xxfrac#1#2% +\setupmathfractions + [\c!mathstyle=\v!auto, + \c!align=\v!normal, + \c!alternative=\v!inner, + \c!command=\normalover] % beware a variant + +\appendtoks + \setuevalue{\currentmathfraction}{\math_frac{\currentmathfraction}}% +\to \everydefinemathfraction + +\letvalue{\??mathfractionalign\v!normal}\mathstylehbox +\letvalue{\??mathfractionalign\v!lohi }\mathstylevcenteredhbox + +\def\math_frac_align + {\expandnamespaceparameter\??mathfractionalign\mathfractionparameter\c!align\v!normal} + +\unexpanded\def\math_frac#1% {\begingroup - \math_fractions_forced\scriptscriptstyle{#1}{\raise.25ex\hbox{$\scriptscriptstyle#2$}}% + \edef\currentmathfraction{#1}% + \expandnamespaceparameter\??mathfractionstyle\mathfractionparameter\c!mathstyle\s!math} + +\setvalue{\??mathfractionalternative\v!inner}#1#2#3% + {\math_frac_align{\Ustack{{#1{#2}}\mathfractionparameter\c!command{#1{#3}}}}% \endgroup} -%D Something low level for scientific calculator notation: +\setvalue{\??mathfractionalternative\v!outer}#1#2#3% + {\math_frac_align{\Ustack{{#1{{#2}\mathfractionparameter\c!command{#3}}}}}% + \endgroup} -\unexpanded\def\scinot#1#2% - {#1\times10^{#2}} +\def\math_frac_alternative + {\expandnamespaceparameter\??mathfractionalternative\mathfractionparameter\c!alternative\v!inner} -% I have no clue what \mthfrac and \mthsqrt are supposed to do but -% I guess that it can be done with tweaking luatex's math parameters. -% Otherwise I'll write something from scratch. +\setvalue{\??mathfractionstyle\v!auto }{\math_frac_alternative\firstofoneargument} % was: 0 +\setvalue{\??mathfractionstyle\s!display }{\math_frac_alternative\displaystyle} % was: 1 +\setvalue{\??mathfractionstyle\s!text }{\math_frac_alternative\textstyle} % was: 2 +\setvalue{\??mathfractionstyle\s!script }{\math_frac_alternative\scriptstyle} % was: 3 +\setvalue{\??mathfractionstyle\s!scriptscript}{\math_frac_alternative\scriptscriptstyle} % was: 4 +\setvalue{\??mathfractionstyle\s!math }{\math_frac_alternative\mathstyle} % was: else -% \def\math_stylebuilders_frac#1#2#3#4#5#6#7% -% {\begingroup -% \mathsurround\zeropoint -% \setbox0\hbox{$#1 #6$}% -% \setbox2\hbox{$#1 #7$}% -% \dimen0\wd\ifdim\wd2>\wd0 2\else 0\fi -% \setbox4\hbox to \dimen0{\leaders\hbox{#4}\hss#5}% -% \mathord{\vcenter{{\offinterlineskip -% \hbox to \dimen0{\hss\box0\hss}% -% \kern\ht4% -% \hbox to \dimen0{\hss\copy4\hss}% -% \kern\ht4% -% \hbox to \dimen0{\hss\box2\hss}}}}% -% \endgroup} -% -% \def\math_stylebuilders_sqrt#1#2#3#4#5% -% {\begingroup -% \mathsurround\zeropoint -% \setbox0\hbox{$#1 #5$}% -% \ht0\dimexpr1.05\ht0+\onepoint\relax -% \dp0\dimexpr1.05\dp0+\onepoint\relax -% \setbox4\hbox to \wd0{\mr#2\leaders\hbox{#3}\hfill#4}% -% \delimitershortfall\zeropoint -% \nulldelimiterspace\zeropoint -% \setbox2\hbox{$\left\delimiter"0270370 \vrule \s!height\ht0 \s!depth \dp0 \s!width\zeropoint\right.$}% is this the right code point? -% \mathord{\vcenter{\hbox{\copy2\rlap{\raise\dimexpr\ht2-\ht4\relax\copy4}\copy0}}}% -% \endgroup} -% -% \def\mthfrac#1#2#3#4#5{\mathchoice -% {\math_stylebuilders_frac\displaystyle \textface {#1}{#2}{#3}{#4}{#5}}% -% {\math_stylebuilders_frac\textstyle \textface {#1}{#2}{#3}{#4}{#5}}% -% {\math_stylebuilders_frac\scriptstyle \scriptface {#1}{#2}{#3}{#4}{#5}}% -% {\math_stylebuilders_frac\scriptscriptstyle\scriptscriptface{#1}{#2}{#3}{#4}{#5}}} -% -% \def\mthsqrt#1#2#3{\mathchoice -% {\math_stylebuilders_sqrt\displaystyle \textface{#1}{#2}{#3}}% -% {\math_stylebuilders_sqrt\textstyle \textface{#1}{#2}{#3}}% -% {\math_stylebuilders_sqrt\scriptstyle \textface{#1}{#2}{#3}}% -% {\math_stylebuilders_sqrt\scriptscriptstyle\textface{#1}{#2}{#3}}} +\definemathfraction[frac][\c!mathstyle=\v!auto] -\unexpanded\def\mthfrac#1#2#3{[mthfrac: #1 #2 #3]} -\unexpanded\def\mthsqrt#1#2#3{[mthsqrt: #1 #2 #3]} +\unexpanded\def\xfrac {\begingroup\let\xfrac\xxfrac\math_frac_alternative\scriptstyle} +\unexpanded\def\xxfrac{\begingroup \math_frac_alternative\scriptscriptstyle} + +%D The \type {xx} variant looks still ugly, so maybe it's best to say: + +\unexpanded\def\xxfrac#1#2% + {\begingroup + \math_frac_alternative\scriptscriptstyle{#1}{\raise.25\exheight\hbox{$\scriptscriptstyle#2$}}} %D \macros %D {dfrac, tfrac, frac, dbinom, tbinom, binom} @@ -191,21 +157,26 @@ %D \typebuffer %D \getbuffer -% extra {} after displaystyle etc are needed +% \unexpanded\def\dfrac #1#2{{\displaystyle {{#1}\normalover {#2}}}} +% \unexpanded\def\tfrac #1#2{{\textstyle {{#1}\normalover {#2}}}} -%unexpanded\def\frac #1#2{{ {{#1}\normalover {#2}}}} -%unexpanded\def\xfrac #1#2{{\scriptstyle {{#1}\normalover {#2}}}} -%unexpanded\def\xxfrac#1#2{{\scriptscriptstyle{{#1}\normalover {#2}}}} -\unexpanded\def\dfrac #1#2{{\displaystyle {{#1}\normalover {#2}}}} -\unexpanded\def\tfrac #1#2{{\textstyle {{#1}\normalover {#2}}}} +\definemathfraction[dfrac][\c!alternative=\v!outer,\c!mathstyle=\s!display] +\definemathfraction[tfrac][\c!alternative=\v!outer,\c!mathstyle=\s!text] +\definemathfraction[sfrac][\c!alternative=\v!outer,\c!mathstyle=\s!script] -%unexpanded\def\binom #1#2{{ {{#1}\normalabovewithdelims()\zeropoint{#2}}}} -\unexpanded\def\dbinom#1#2{{\displaystyle {{#1}\normalabovewithdelims()\zeropoint{#2}}}} -\unexpanded\def\tbinom#1#2{{\textstyle {{#1}\normalabovewithdelims()\zeropoint{#2}}}} +\def\normaloverbinum{\normalabovewithdelims()\zeropoint} -\unexpanded\def\binom #1#2{{\Ustack{{#1}\normalabovewithdelims()\zeropoint{#2}}}} +% \definemathfraction[ddfrac][\c!mathstyle=\s!display] +% \definemathfraction[ttfrac][\c!mathstyle=\s!text] +% \definemathfraction[ssfrac][\c!mathstyle=\s!script] -% \let\frac\math_fractions_auto +% \unexpanded\def\binom #1#2{{\Ustack {{#1}\normalabovewithdelims()\zeropoint{#2}}}} +% \unexpanded\def\dbinom#1#2{{\displaystyle{{#1}\normalabovewithdelims()\zeropoint{#2}}}} +% \unexpanded\def\tbinom#1#2{{\textstyle {{#1}\normalabovewithdelims()\zeropoint{#2}}}} + +\definemathfraction[binom] [\c!alternative=\v!outer,\c!command=\normaloverbinum,\c!mathstyle=\s!auto] +\definemathfraction[dbinom][\c!alternative=\v!outer,\c!command=\normaloverbinum,\c!mathstyle=\s!display] +\definemathfraction[tbinom][\c!alternative=\v!outer,\c!command=\normaloverbinum,\c!mathstyle=\s!text] %D \macros %D {cfrac} @@ -278,42 +249,51 @@ \unexpanded\def\splitdfrac#1#2% {{\displaystyle{{ #1\quad\hfill}\normalabove\zeropoint{ \hfill\quad\mathstrut#2}}}} -%D For thee moment here, but it might move: - -%D \macros -%D {qedsymbol} -%D -%D [HH] The general Quod Erat Domonstrandum symbol is defined -%D in such a way that we can configure it. Because this symbol -%D is also used in text mode, we make it a normal text symbol -%D with special behavior. - -\unexpanded\def\qedsymbol#1% - {\ifhmode - \unskip\nobreakspace\hfill#1\par - \else\ifmmode - #1\relax % leading \eqno removed - \else - \dontleavehmode\emptyhbox\hfill#1\par - \fi\fi} - -\definesymbol [qed] [\qedsymbol{\mathematics{\square}}] - -%D \macros -%D {QED} -%D -%D [HH] For compatbility reasons we also provide the \type -%D {\QED} command. In case this command is overloaded, we still -%D have the symbol available. \symbol[qed] - -\unexpanded\def\QED{\symbol[qed]} +\protect \endinput -%D \macros -%D {boxed} -%D -%D [HH] Another macro that users might expect (slightly adapted): +% I have no clue what \mthfrac and \mthsqrt are supposed to do but +% I guess that it can be done with tweaking luatex's math parameters. +% Otherwise I'll write something from scratch. -\unexpanded\def\boxed % maybe obsolete - {\ifmmode\expandafter\mframed\else\expandafter\framed\fi} +% \def\math_stylebuilders_frac#1#2#3#4#5#6#7% +% {\begingroup +% \mathsurround\zeropoint +% \setbox0\hbox{$#1 #6$}% +% \setbox2\hbox{$#1 #7$}% +% \dimen0\wd\ifdim\wd2>\wd0 2\else 0\fi +% \setbox4\hbox to \dimen0{\leaders\hbox{#4}\hss#5}% +% \mathord{\vcenter{{\offinterlineskip +% \hbox to \dimen0{\hss\box0\hss}% +% \kern\ht4% +% \hbox to \dimen0{\hss\copy4\hss}% +% \kern\ht4% +% \hbox to \dimen0{\hss\box2\hss}}}}% +% \endgroup} +% +% \def\math_stylebuilders_sqrt#1#2#3#4#5% +% {\begingroup +% \mathsurround\zeropoint +% \setbox0\hbox{$#1 #5$}% +% \ht0\dimexpr1.05\ht0+\onepoint\relax +% \dp0\dimexpr1.05\dp0+\onepoint\relax +% \setbox4\hbox to \wd0{\mr#2\leaders\hbox{#3}\hfill#4}% +% \delimitershortfall\zeropoint +% \nulldelimiterspace\zeropoint +% \setbox2\hbox{$\left\delimiter"0270370 \vrule \s!height\ht0 \s!depth \dp0 \s!width\zeropoint\right.$}% is this the right code point? +% \mathord{\vcenter{\hbox{\copy2\rlap{\raise\dimexpr\ht2-\ht4\relax\copy4}\copy0}}}% +% \endgroup} +% +% \def\mthfrac#1#2#3#4#5{\mathchoice +% {\math_stylebuilders_frac\displaystyle \textface {#1}{#2}{#3}{#4}{#5}}% +% {\math_stylebuilders_frac\textstyle \textface {#1}{#2}{#3}{#4}{#5}}% +% {\math_stylebuilders_frac\scriptstyle \scriptface {#1}{#2}{#3}{#4}{#5}}% +% {\math_stylebuilders_frac\scriptscriptstyle\scriptscriptface{#1}{#2}{#3}{#4}{#5}}} +% +% \def\mthsqrt#1#2#3{\mathchoice +% {\math_stylebuilders_sqrt\displaystyle \textface{#1}{#2}{#3}}% +% {\math_stylebuilders_sqrt\textstyle \textface{#1}{#2}{#3}}% +% {\math_stylebuilders_sqrt\scriptstyle \textface{#1}{#2}{#3}}% +% {\math_stylebuilders_sqrt\scriptscriptstyle\textface{#1}{#2}{#3}}} -\protect \endinput +% \unexpanded\def\mthfrac#1#2#3{[mthfrac: #1 #2 #3]} +% \unexpanded\def\mthsqrt#1#2#3{[mthsqrt: #1 #2 #3]} diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv index 4253ee6e7..891160847 100644 --- a/tex/context/base/math-ini.mkiv +++ b/tex/context/base/math-ini.mkiv @@ -1152,23 +1152,23 @@ \unexpanded\def\mathstylehbox#1% {\normalexpanded{\hbox\bgroup - $\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1$\egroup} + \startimath\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1\stopimath\egroup} \unexpanded\def\mathstylevbox#1% {\normalexpanded{\vbox\bgroup - $\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1$\egroup} + \startimath\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1\stopimath\egroup} \unexpanded\def\mathstylevcenter#1% {\normalexpanded{\vcenter\bgroup - $\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1$\egroup} + \startimath\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1\stopimath\egroup} \unexpanded\def\mathstylevcenteredhbox#1% {\normalexpanded{\vcenter\bgroup\hbox\bgroup - $\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1$\egroup\egroup} + \startimath\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1\stopimath\egroup\egroup} \unexpanded\def\mathstylevcenteredvbox#1% {\normalexpanded{\vcenter\bgroup\vbox\bgroup - $\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1$\egroup\egroup} + \startimath\triggermathstyle\normalmathstyle}\mathsurround\zeropoint#1\stopimath\egroup\egroup} \unexpanded\def\setmathsmalltextbox#1#2#% {\normalizebodyfontsize\m_math_text_choice_face{\mathsmallstyleface\normalmathstyle}% diff --git a/tex/context/base/math-mis.mkiv b/tex/context/base/math-mis.mkiv new file mode 100644 index 000000000..6346da9a0 --- /dev/null +++ b/tex/context/base/math-mis.mkiv @@ -0,0 +1,60 @@ +%D \module +%D [ file=math-mis, +%D version=2013.04.06, % 2007.07.19, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Miscellaneous, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Math Macros / Miscellaneous} + +\unprotect + +%D This file contains left-overs moved from other files. It's mostly old stuff +%D that we keep around for compatbility reasons. + +%D \macros +%D {qedsymbol} +%D +%D [HH] The general Quod Erat Demonstrandum symbol is defined in such a way that +%D we can configure it. Because this symbol is also used in text mode, we make it +%D a normal text symbol with special behavior. + +\unexpanded\def\qedsymbol#1% + {\ifhmode + \unskip\nobreakspace\hfill#1\par + \else\ifmmode + #1\relax % leading \eqno removed + \else + \dontleavehmode\emptyhbox\hfill#1\par + \fi\fi} + +\definesymbol [qed] [\qedsymbol{\mathematics{\square}}] + +%D \macros +%D {QED} +%D +%D [HH] For compatbility reasons we also provide the \type {\QED} command. In case +%D this command is overloaded, we still have the symbol available. \symbol[qed] + +\unexpanded\def\QED{\symbol[qed]} + +%D \macros +%D {boxed} +%D +%D [HH] Another macro that users might expect (slightly adapted): + +\unexpanded\def\boxed % maybe obsolete + {\ifmmode\expandafter\mframed\else\expandafter\framed\fi} + +%D Something low level for scientific calculator notation: + +\unexpanded\def\scinot#1#2% + {#1\times10^{#2}} + +\protect \endinput diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv index 97b330248..763ae9605 100644 --- a/tex/context/base/mult-aux.mkiv +++ b/tex/context/base/mult-aux.mkiv @@ -798,7 +798,7 @@ \expandafter\mult_interfaces_show_parent_chain\csname#1:\s!parent\endcsname \fi} -%D Another helper: +%D Another helper (needs to be applied): \unexpanded\def\doifelsecommandhandler#1#2% namespace name {\ifcsname#1#2:\s!parent\endcsname @@ -823,6 +823,23 @@ \let\doifcommandhandlerelse\doifelsecommandhandler +% another helper: +% +% \def\math_frac_alternative +% {\expandnamespaceparameter\??mathfractionalternative\mathfractionparameter\c!alternative\v!inner} +% +% \def\expandnamespaceparameter#1#2#3% \??xx \yyparameter \c!aa \c!bb +% {\expandafter\expandafter\expandafter\mult_aux_expand_namespace_parameter\expandafter\expandafter\expandafter#1#2#3} +% +% \def\mult_aux_expand_namespace_parameter#1#2#3% +% {\csname#1\ifcsname#1#2\endcsname#2\else#3\fi\endcsname} + +\def\expandnamespaceparameter#1#2#3% \??xx \getp \c!xx \c!yy + {\csname#1\ifcsname#1\expandafter\expandafter\expandafter\mult_aux_expand_namespace_parameter#2#3} + +\def\mult_aux_expand_namespace_parameter#1#2% \cs \c!yy + {#1\endcsname#1\else#2\fi\endcsname} + %D Conventions: %D %D \starttyping diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 28cb15781..9e6dd13f8 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 8cc75d46c..f9ffcd721 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index d1b4bcda9..786c3647c 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 04/05/13 22:00:23 +-- merge date : 04/06/13 23:27:35 do -- begin closure to overcome local limits and interference -- cgit v1.2.3