summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/math-del.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/math-del.mkiv')
-rw-r--r--tex/context/base/mkiv/math-del.mkiv89
1 files changed, 70 insertions, 19 deletions
diff --git a/tex/context/base/mkiv/math-del.mkiv b/tex/context/base/mkiv/math-del.mkiv
index be78b581f..269b6946a 100644
--- a/tex/context/base/mkiv/math-del.mkiv
+++ b/tex/context/base/mkiv/math-del.mkiv
@@ -79,6 +79,8 @@
[\c!symbol=0,
\c!command=\v!yes,
\c!factor=1.5,
+ \c!axis=\v!yes,
+ % \c!exact=\v!yes
\c!height=\exheight,
\c!depth=\exheight]
@@ -93,29 +95,78 @@
{\dodoubleempty\math_fenced_extensible_indeed}
\unexpanded\def\math_fenced_extensible_indeed[#1][#2]%
- {\mathop{%
- \edef\currentmathextensible{#1}%
- \edef\p_factor{\mathextensibleparameter\c!factor}%
- \ifsecondargument
- \doifassignmentelse{#2}
- {\setupcurrentmathextensible[#2]}%
- {\edef\p_factor{#2}}%
- \fi
- \Uvextensible
- axis % can be an option
- height \p_factor\dimexpr\mathextensibleparameter\c!height\relax
- depth \p_factor\dimexpr\mathextensibleparameter\c!depth\relax
- \Udelimiter\zerocount\zerocount\mathextensibleparameter\c!symbol
- \relax}%
- }
+ {\mathop
+ {\edef\currentmathextensible{#1}%
+ \edef\p_factor{\mathextensibleparameter\c!factor}%
+ \ifsecondargument
+ \doifassignmentelse{#2}
+ {\setupcurrentmathextensible[#2]%
+ \edef\p_factor{\mathextensibleparameter\c!factor}}%
+ {\edef\p_factor{#2}}%
+ \else
+ \edef\p_factor{\mathextensibleparameter\c!factor}%
+ \fi
+ \edef\p_exact{\mathextensibleparameter\c!exact}%
+ \edef\p_axis {\mathextensibleparameter\c!axis}%
+ \edef\p_leftoffset{\mathextensibleparameter\c!leftoffset}%
+ \edef\p_rightoffset{\mathextensibleparameter\c!rightoffset}%
+ \ifx\p_leftoffset\empty\else
+ \mskip\p_leftoffset
+ \fi
+ \Uvextensible
+ \ifx\p_exact\v!yes exact \fi
+ \ifx\p_axis \v!yes axis \fi
+ height \p_factor\dimexpr\mathextensibleparameter\c!height\relax
+ depth \p_factor\dimexpr\mathextensibleparameter\c!depth \relax
+ \Udelimiter\zerocount\zerocount\mathextensibleparameter\c!symbol
+ \relax
+ \ifx\p_rightoffset\empty\else
+ \mskip\p_rightoffset
+ \fi}}
\let\mathextensible\math_fenced_extensible
+\definemathextensible[integral][\c!symbol="222B]
+
+% \setupmathextensible[integral][rightoffset=-3mu,exact=yes,factor=2]
+%
+% \let\inlineint \int
+% \let\displayint\integral
+%
+% \unexpanded\def\int{\ifmmode\inlineordisplaymath\inlineint\displayint\else\normalint\fi}
+%
+% \startlines
+% \ruledhbox{$\integral f\frac{1}{2}$}
+% \ruledhbox{$\integral[factor=1] f\frac{1}{2}$}
+% \ruledhbox{$\integral[factor=3] f\frac{1}{2}$}
+% \ruledhbox{$\int f\frac{1}{2}$}
+% \stoplines
+
+\unexpanded\def\autointegral#1#2#3%
+ {\ifmmode
+ \setbox\nextbox\mathstylehbox{#3}%
+ \scratchdimen\ifdim\nextboxht>\nextboxdp\nextboxht\else\nextboxdp\fi
+ \mathlimop{%
+ \Uvextensible
+ height \scratchdimen
+ depth \scratchdimen
+ exact%
+ axis%
+ \Udelimiter \plusfour \zerocount "222B%
+ }%
+ \limits % nolimits needs more work: kerning and so
+ \normalsuperscript{#1}%
+ \normalsubscript{#2}%
+ \box\nextbox
+ \else
+ \char"222B\relax
+ \fi}
+
% \startformula
-% \integral[factor=3] \frac{1}{2}
-% \integral[5] \frac{1}{2}
+% a =
+% \autointegral{t}{b}1 +
+% \autointegral{t}{b}{\frac{\frac{3}{4}}{\frac{1}{2}}} +
+% \autointegral{t}{b}{\frac{\frac{\frac{\frac{1}{2}}{2}}{2}}{2}}
% \stopformula
-\definemathextensible[integral][\c!symbol="222B]
-
\protect \endinput