summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv57
1 files changed, 25 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv b/Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv
index 2edb91465ff..a0dda66b9b7 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/math-arr.mkiv
@@ -67,46 +67,39 @@
\def\math_arrows_construct#1#2#3#4#5% hm, looks like we do a double mathrel (a bit cleaned up .. needs checking)
{\begingroup
- \let\m_math_arrows_factor\!!plusone
- \let\m_math_arrows_extra \!!zerocount
+ \def\m_math_arrows_factor{1}%
+ \def\m_math_arrows_extra {0}%
\edef\p_math_spacing{#1}%
\csname\??matharrowsettings
\ifcsname\??matharrowsettings\p_math_spacing\endcsname\p_math_spacing\else\s!unknown\fi
\endcsname
\mathsurround\zeropoint
- \scratchmuskipone\muexpr\m_math_arrows_factor\muexpr\thirdoffourarguments #2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\firstoffourarguments #2\onemuskip\relax
- \scratchmuskiptwo\muexpr\m_math_arrows_factor\muexpr\fourthoffourarguments#2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\secondoffourarguments#2\onemuskip\relax
- \setbox\scratchboxone\hbox
- {\normalstartimath
- \scriptstyle
- \mkern\scratchmuskipone\relax
- #5\relax
- \mkern\scratchmuskiptwo\relax
- \normalstopimath}%
- \setbox\scratchboxtwo\hbox
- {\normalstartimath
- \scriptstyle
- \mkern\scratchmuskipone\relax
- #4\relax
- \mkern\scratchmuskiptwo\relax
- \normalstopimath}%
- \setbox\scratchboxthree\hbox{#3\displaystyle}%
- \scratchdimenone\wd\scratchboxone\relax
- \ifdim\wd\scratchboxtwo>\scratchdimenone
- \scratchdimenone\wd\scratchboxtwo\relax
+ \muskip0=\muexpr\m_math_arrows_factor\muexpr\thirdoffourarguments #2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\firstoffourarguments #2\onemuskip\relax
+ \muskip2=\muexpr\m_math_arrows_factor\muexpr\fourthoffourarguments#2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\secondoffourarguments#2\onemuskip\relax
+ \setbox0\hbox{\normalstartimath
+ \scriptstyle
+ \mkern\muskip0\relax
+ #5\relax
+ \mkern\muskip2\relax
+ \normalstopimath}%
+ \setbox2\hbox{\normalstartimath
+ \scriptstyle
+ \mkern\muskip0\relax
+ #4\relax
+ \mkern\muskip2\relax
+ \normalstopimath}%
+ \setbox4\hbox{#3\displaystyle}%
+ \dimen0\wd0\relax
+ \ifdim\wd2>\dimen0
+ \dimen0\wd2\relax
\fi
- \ifdim\wd\scratchboxthree>\scratchdimenone
- \scratchdimenone\wd\scratchboxthree\relax
+ \ifdim\wd4>\dimen0
+ \dimen0\wd4\relax
\fi
- \ifdim\wd\scratchboxthree=\scratchdimenone\else
- \setbox\scratchboxthree\hbox to \scratchdimenone{#3\displaystyle}%
+ \ifdim\wd4=\dimen0\else
+ \setbox4\hbox to \dimen0{#3\displaystyle}%
\fi
- \mathrel
- {\mathop
- {\hpack to \scratchdimenone{\hss\box\scratchboxthree\hss}}% pack ? copy ?
- \limits
- \normalsuperscript{\box\scratchboxone}%
- \normalsubscript {\box\scratchboxtwo}}%
+ \mathrel{\mathop{\hbox to \dimen0{\hss\copy4\hss}}\limits\normalsuperscript{\box0}\normalsubscript{\box2}}% pack ?
\endgroup}
\let\math_arrows_construct_single\math_arrows_construct