From d3d6f25833d45227a30f3f542985f309ff85f7a2 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Wed, 15 Oct 2014 14:15:04 +0200 Subject: 2014-10-15 13:31:00 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4388 -> 4382 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/math-frc.mkiv | 77 ++++++++++++++-- tex/context/base/math-ini.mkiv | 99 +++++++++++++++++++++ tex/context/base/page-mix.mkiv | 2 + tex/context/base/status-files.pdf | Bin 24720 -> 24719 bytes tex/context/base/status-lua.pdf | Bin 333864 -> 333864 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 9 files changed, 172 insertions(+), 12 deletions(-) diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 18eedbd8e..95e8c4efc 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{2014.10.15 10:39} +\newcontextversion{2014.10.15 13:29} %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 bddcada0f..9b1c309ef 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.mkiv b/tex/context/base/context.mkiv index 2afea218d..4378ee01b 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.10.15 10:39} +\edef\contextversion{2014.10.15 13:29} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/math-frc.mkiv b/tex/context/base/math-frc.mkiv index 4e5a35b29..55798150e 100644 --- a/tex/context/base/math-frc.mkiv +++ b/tex/context/base/math-frc.mkiv @@ -17,6 +17,31 @@ %D todo: struts ... depends on demand + + \installcorenamespace {partialmathtopstrut} + \installcorenamespace {partialmathbotstrut} + + \unexpanded\def\topstrut{\vrule\s!width\zeropoint\s!height\strutht\s!depth\zeropoint\relax} + \unexpanded\def\botstrut{\vrule\s!width\zeropoint\s!height\zeropoint\s!depth\strutdp\relax} + + \unexpanded\def\mathtopstrut{\setbox\scratchbox\mathstylehbox{(}\vrule\s!width\zeropoint\s!height\ht\scratchbox\s!depth\zeropoint\relax} + \unexpanded\def\mathbotstrut{\setbox\scratchbox\mathstylehbox{(}\vrule\s!width\zeropoint\s!height\zeropoint\s!depth\dp\scratchbox\relax} + + \letvalue{\??partialmathtopstrut\v!line }\topstrut + \letvalue{\??partialmathbotstrut\v!line }\botstrut + + \letvalue{\??partialmathtopstrut\v!yes }\topstrut + \letvalue{\??partialmathbotstrut\v!yes }\botstrut + + \letvalue{\??partialmathtopstrut\v!character}\mathtopstrut + \letvalue{\??partialmathbotstrut\v!character}\mathbotstrut + + \letvalue{\??partialmathtopstrut }\donothing + \letvalue{\??partialmathbotstrut }\donothing + + \unexpanded\def\math_partial_strut_top#1{\csname\??partialmathtopstrut\ifcsname\??partialmathtopstrut#1\endcsname#1\fi\endcsname} + \unexpanded\def\math_partial_strut_bot#1{\csname\??partialmathbotstrut\ifcsname\??partialmathbotstrut#1\endcsname#1\fi\endcsname} + %D This module is reimplemented in \MKIV\ style. \registerctxluafile{math-frc}{1.001} @@ -106,6 +131,7 @@ \c!rulethickness=.25\exheight, \c!left=0x2E, \c!right=0x2E, + \c!strut=, \c!topdistance=, \c!bottomdistance=, \c!rule=\v!auto] @@ -159,11 +185,26 @@ \newdimen\d_math_fraction_margin +\unexpanded\def\m_fractions_strut_top_indeed{\math_partial_strut_top\p_math_fractions_strut} +\unexpanded\def\m_fractions_strut_bot_indeed{\math_partial_strut_bot\p_math_fractions_strut} + \unexpanded\def\math_frac#1% {\begingroup \edef\currentmathfraction{#1}% + % \d_math_fraction_margin\mathfractionparameter\c!margin + % \edef\p_math_fractions_color{\mathfractionparameter\c!color}% + % + \edef\p_math_fractions_strut{\mathfractionparameter\c!strut}% + \ifx\p_math_fractions_strut\empty + \let\m_fractions_strut_top\relax + \let\m_fractions_strut_bot\relax + \else + \let\m_fractions_strut_top\m_fractions_strut_top_indeed + \let\m_fractions_strut_bot\m_fractions_strut_bot_indeed + \fi + % \ifx\p_math_fractions_color\empty \expandafter\math_frac_normal \else @@ -219,14 +260,18 @@ \def\math_fraction_inner_normal#1#2% {\Ustack{% - {\usemathstyleparameter\mathfractionparameter{#1}}\math_frac_command{\usemathstyleparameter\mathfractionparameter{#2}}% + {\usemathstyleparameter\mathfractionparameter{\m_fractions_strut_top#1}} + \math_frac_command + {\usemathstyleparameter\mathfractionparameter{\m_fractions_strut_bot#2}}% }\endgroup} \def\math_fraction_outer_normal#1#2% {\Ustack{% \usemathstyleparameter\mathfractionparameter {% - {#1}\math_frac_command{#2}% + {\m_fractions_strut_top#1}% + \math_frac_command + {\m_fractions_strut_bot#2}% }% }\endgroup} @@ -234,24 +279,34 @@ {\Ustack{% \usemathstyleparameter\mathfractionparameter {% - \usemathstyleparameter\mathfractionparameter{#1}\math_frac_command{\usemathstyleparameter\mathfractionparameter#2}% + {\usemathstyleparameter\mathfractionparameter\m_fractions_strut_top#1}% + \math_frac_command + {\usemathstyleparameter\mathfractionparameter\m_fractions_strut_bot#2}% }% }\endgroup} \def\math_fraction_inner_margin#1#2% {\Ustack{% - {\kern\d_math_fraction_margin\usemathstyleparameter\mathfractionparameter{#1}\kern\d_math_fraction_margin}% + {\kern\d_math_fraction_margin + \usemathstyleparameter\mathfractionparameter{\m_fractions_strut_top#1}% + \kern\d_math_fraction_margin}% \math_frac_command - {\kern\d_math_fraction_margin\usemathstyleparameter\mathfractionparameter{#2}\kern\d_math_fraction_margin}% + {\kern\d_math_fraction_margin + \usemathstyleparameter\mathfractionparameter{\m_fractions_strut_bot#2}% + \kern\d_math_fraction_margin}% }\endgroup} \def\math_fraction_outer_margin#1#2% {\Ustack{% \usemathstyleparameter\mathfractionparameter {% - {\kern\d_math_fraction_margin#1\kern\d_math_fraction_margin}% + {\kern\d_math_fraction_margin + \m_fractions_strut_top#1% + \kern\d_math_fraction_margin}% \math_frac_command - {\kern\d_math_fraction_margin#2\kern\d_math_fraction_margin}% + {\kern\d_math_fraction_margin + \m_fractions_strut_bot#2% + \kern\d_math_fraction_margin}% }% }\endgroup} @@ -259,9 +314,13 @@ {\Ustack{% \usemathstyleparameter\mathfractionparameter {% - {\kern\d_math_fraction_margin\usemathstyleparameter\mathfractionparameter#1\kern\d_math_fraction_margin}% + {\kern\d_math_fraction_margin + \usemathstyleparameter\mathfractionparameter\m_fractions_strut_top#1% + \kern\d_math_fraction_margin}% \math_frac_command - {\kern\d_math_fraction_margin\usemathstyleparameter\mathfractionparameter#2\kern\d_math_fraction_margin}% + {\kern\d_math_fraction_margin + \usemathstyleparameter\mathfractionparameter\m_fractions_strut_bot#2% + \kern\d_math_fraction_margin}% }% }\endgroup} diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv index 070b8d246..d988691da 100644 --- a/tex/context/base/math-ini.mkiv +++ b/tex/context/base/math-ini.mkiv @@ -1883,6 +1883,105 @@ \def\mathextensiblecode#1#2{\ctxcommand{extensiblecode(\number#1,\number#2)}} \def\mathhorizontalcode#1#2{\ctxcommand{horizontalcode(\number#1,\number#2)}} +% experimental: + +%D \starttyping +%D \enabletrackers[math.openedup] +%D +%D \dorecurse{10}{\dorecurse{#1}{whatever }} +%D +%D \startitemize[packed] +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \stopitemize +%D \startitemize[packed,columns] +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \stopitemize +%D +%D \dorecurse{5}{\dorecurse{#1}{whatever }\openedupimath{\frac{1}{2}} } +%D +%D \startitemize[packed,columns] +%D \startitem whatever \openedupimath{1+2} whatever +%D \startitem whatever \openedupimath{1+2} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{1+2} whatever +%D \startitem whatever \openedupimath{1+2} whatever +%D \stopitemize +%D +%D \dorecurse{5}{\dorecurse{#1}{whatever }\openedupimath{1+2} } +%D +%D \startitemize[packed] +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \startitem whatever \openedupimath{\frac{1}{2}} whatever +%D \stopitemize +%D +%D \dorecurse{10}{whatever } +%D \dorecurse {5}{\dorecurse{#1}{whatever }\openedupimath{\frac{1}{2}} } +%D \dorecurse{10}{whatever } +%D \stoptyping + +\def\m_math_inline_openup_ht{\dimexpr\ifinsidecolumns\strutdp\else\lineheight\fi/\plusfour\relax} +\def\m_math_inline_openup_dp{\dimexpr\ifinsidecolumns\strutdp\else\lineheight\fi/\plusfour\relax} + +% \def\m_math_inline_openup_ht{\dimexpr\lineheight/\ifinsidecolumns\pluseight\else\plusfour\fi\relax} +% \def\m_math_inline_openup_dp{\dimexpr\lineheight/\ifinsidecolumns\pluseight\else\plusfour\fi\relax} + +\installtextracker + {math.openedup} + {\let\math_inline_openup_yes\math_inline_openup_traced} + {\let\math_inline_openup_yes\math_inline_openup_normal} + +\unexpanded\def\math_inline_openup_normal + {\scratchheight\dimexpr\ht\scratchbox+\m_math_inline_openup_ht\relax + \scratchdepth \dimexpr\dp\scratchbox+\m_math_inline_openup_dp\relax + \vrule\s!width\zeropoint\s!height\scratchheight\s!depth\scratchdepth\relax + \unhbox\scratchbox + \vrule\s!width\zeropoint\s!height\scratchheight\s!depth\scratchdepth\relax} + +\unexpanded\def\math_inline_openup_traced + {\scratchtopoffset \ht\scratchbox + \scratchbottomoffset\dp\scratchbox + \scratchheight \dimexpr\scratchtopoffset +\m_math_inline_openup_ht\relax + \scratchdepth \dimexpr\scratchbottomoffset+\m_math_inline_openup_dp\relax + \vrule\s!width\zeropoint\s!height\scratchheight\s!depth\scratchdepth\relax + \begingroup + \dofastcoloractivation{darkred}% + \vrule\s!width\emwidth\s!height\scratchheight\s!depth-\scratchtopoffset\relax + \endgroup + \kern-\emwidth + \unhbox\scratchbox + \kern-\emwidth + \begingroup + \dofastcoloractivation{darkblue}% + \vrule\s!width\emwidth\s!height-\scratchbottomoffset\s!depth\scratchdepth\relax + \endgroup + \vrule\s!width\zeropoint\s!height\scratchheight\s!depth\scratchdepth\relax} + +\let\math_inline_openup_yes\math_inline_openup_normal + +\unexpanded\def\math_inline_openup_nop + {\unhbox\scratchbox} + +\unexpanded\def\openedupimath#1% + {\dontleavehmode + \begingroup + \setbox\scratchbox\ifmmode\mathstylehbox\else\hbox\fi{\startimath#1\stopimath}% + \ifdim\ht\scratchbox>\strutht + \math_inline_openup_yes + \else\ifdim\dp\scratchbox>\strutdp + \math_inline_openup_yes + \else + \math_inline_openup_nop + \fi\fi + \endgroup} + \protect \endinput % % not used (yet) diff --git a/tex/context/base/page-mix.mkiv b/tex/context/base/page-mix.mkiv index 0066f02cf..3dc170b2e 100644 --- a/tex/context/base/page-mix.mkiv +++ b/tex/context/base/page-mix.mkiv @@ -455,6 +455,8 @@ % \usemixedcolumnscolorparameter\c!color % + \insidecolumnstrue % new + % \nofcolumns\c_page_mix_n_of_columns} % public %D The otr method related hooks are defined next: diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 5552432c8..42c77184f 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 22fb4cf82..0e6d65a1e 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 50c3c04f0..26fc2421f 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 : 10/15/14 10:39:18 +-- merge date : 10/15/14 13:29:40 do -- begin closure to overcome local limits and interference -- cgit v1.2.3