summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/math-int.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/math-int.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/math-int.mkiv145
1 files changed, 78 insertions, 67 deletions
diff --git a/Master/texmf-dist/tex/context/base/math-int.mkiv b/Master/texmf-dist/tex/context/base/math-int.mkiv
index 84c51cb2477..6b480961b6a 100644
--- a/Master/texmf-dist/tex/context/base/math-int.mkiv
+++ b/Master/texmf-dist/tex/context/base/math-int.mkiv
@@ -19,12 +19,10 @@
%D $\int _a^b f(x) dx $ and also
%D $\iint _a^b f(x,y) dxdy$,
%D $\iiint _a^b f(x,y) dxdy$,
-%D $\iiiint _a^b f(x) dx $.
%D \startformula
%D \int _a^b f(x) dx \quad
%D \iint _a^b f(x) dx \quad
%D \iiint _a^b f(x) dx \quad
-%D \iiiint _a^b f(x) dx \quad
%D \stopformula
%D \stopbuffer
%D
@@ -38,7 +36,7 @@
\installcorenamespace{mathintegral}
-\newconstant\mathintlimitmode % 0 nolimits 1 displaylimits 2 limits
+\newconstant\mathintlimitmode
\def\intlimits % also used elsewhere
{\ifcase\mathintlimitmode
@@ -47,84 +45,97 @@
\displaylimits
\or
\limits
+ \or
+ % auto
+ \ifcase\normalmathstyle\displaylimits\or\displaylimits\else\limits\fi
+ % \ifnum\attribute\mathmodeattribute=\plusone % we need a proper flag
+ % \displaylimits
+ % \else
+ % \limits
+ % \fi
+ \else
+ % none
\fi}
\letvalue{\??mathintegral nolimits}\zerocount
\letvalue{\??mathintegral displaylimits}\plusone
\letvalue{\??mathintegral limits}\plustwo
+\letvalue{\??mathintegral autolimits}\plusthree
+\letvalue{\??mathintegral none}\plusfour
\appendtoks
\mathintlimitmode\executeifdefined{\??mathintegral\mathematicsparameter\s!integral}\zerocount
\to \everyswitchmathematics
\setupmathematics
- [\v!integral=nolimits]
+% [\v!integral=nolimits]
+ [\v!integral=autolimits]
%D The following code is used for fallbacks and might become obsolete once
%D we have enough \OPENTYPE\ math fonts.
-\def\math_repeated_integal_i
- {\int}
-
-\def\math_repeated_integal_ii
- {\math_repeated_integal_i
- \math_repeated_integral_kern
- \math_repeated_integal_i
- \math_repeat_integral_finish
- \intlimits}
-
-\def\math_repeated_integal_iii
- {\math_repeated_integal_i
- \math_repeated_integral_kern
- \math_repeated_integal_ii}
-
-\def\math_repeated_integal_iiii
- {\math_repeated_integal_i
- \math_repeated_integral_kern
- \math_repeated_integal_iii}
-
-\unexpanded\def\math_repeat_integral#1%
- {\let\math_repeat_integral_finish\donothing
- \iffontchar\textfont\zerocount#1\relax
- \expandafter\math_repeat_integral_real
- \else
- \expandafter\math_repeat_integral_fake
- \fi}
-
-\def\math_repeat_integral_fake#1#2%
- {\let\math_repeat_integral_fake_symbol#2%
- \futurelet\next\math_repeat_integral_fake_indeed}
-
-\def\math_repeat_integral_real#1#2%
- {#1}
-
-\definemathcommand [iint] {\math_repeat_integral{"0222C}\normalint \math_repeated_integal_ii } % double
-\definemathcommand [iiint] {\math_repeat_integral{"0222D}\normaliint \math_repeated_integal_iii } % tripple
-\definemathcommand [iiiint] {\math_repeat_integral{"FFFFF}\normaliiint\math_repeated_integal_iiii} % quadruple
-
-\def\math_repeated_integral_kern
- {\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}}
-
-\def\math_repeat_integral_fake_indeed
- {\ifx\next\limits
- \math_repeated_integral_correction
- \else\ifx\next\displaylimits
- \math_repeated_integral_correction
- \else\ifx\next\nolimits
- % nothing
- \else\ifcase\mathintlimitmode
- % nothing
- \else
- \math_repeated_integral_correction
- \fi\fi\fi\fi
- \math_repeat_integral_fake_symbol}
-
-\def\math_repeated_integral_correction
- {\mkern-7mu\mathchoice{\mkern-2mu}{}{}{}%
- \mathop\bgroup\mkern7mu\mathchoice{\mkern2mu}{}{}{}\let\math_repeat_integral_finish\egroup}
-
-%D If the \type{\limits} option is used after \type {\iint}, use \type
-%D {\mathop} and fudge the left hand space a bit to make the subscript
-%D visually centered.
+% \def\math_repeated_integal_i
+% {\int}
+
+% \def\math_repeated_integal_ii
+% {\math_repeated_integal_i
+% \math_repeated_integral_kern
+% \math_repeated_integal_i
+% \math_repeat_integral_finish
+% \intlimits}
+
+% \def\math_repeated_integal_iii
+% {\math_repeated_integal_i
+% \math_repeated_integral_kern
+% \math_repeated_integal_ii}
+%
+% \def\math_repeated_integal_iiii
+% {\math_repeated_integal_i
+% \math_repeated_integral_kern
+% \math_repeated_integal_iii}
+%
+% \unexpanded\def\math_repeat_integral#1%
+% {\let\math_repeat_integral_finish\donothing
+% \iffontchar\textfont\zerocount#1\relax
+% \expandafter\math_repeat_integral_real
+% \else
+% \expandafter\math_repeat_integral_fake
+% \fi}
+%
+% \def\math_repeat_integral_fake#1#2%
+% {\let\math_repeat_integral_fake_symbol#2%
+% \futurelet\next\math_repeat_integral_fake_indeed}
+%
+% \def\math_repeat_integral_real#1#2%
+% {#1}
+%
+% \definemathcommand [iint] {\math_repeat_integral{"0222C}\normalint \math_repeated_integal_ii } % double
+% \definemathcommand [iiint] {\math_repeat_integral{"0222D}\normaliint \math_repeated_integal_iii } % tripple
+% \definemathcommand [iiiint] {\math_repeat_integral{"FFFFF}\normaliiint\math_repeated_integal_iiii} % quadruple
+%
+% \def\math_repeated_integral_kern
+% {\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}}
+%
+% \def\math_repeat_integral_fake_indeed
+% {\ifx\next\limits
+% \math_repeated_integral_correction
+% \else\ifx\next\displaylimits
+% \math_repeated_integral_correction
+% \else\ifx\next\nolimits
+% % nothing
+% \else\ifcase\mathintlimitmode
+% % nothing
+% \else
+% \math_repeated_integral_correction
+% \fi\fi\fi\fi
+% \math_repeat_integral_fake_symbol}
+%
+% \def\math_repeated_integral_correction
+% {\mkern-7mu\mathchoice{\mkern-2mu}{}{}{}%
+% \mathop\bgroup\mkern7mu\mathchoice{\mkern2mu}{}{}{}\let\math_repeat_integral_finish\egroup}
+%
+% %D If the \type{\limits} option is used after \type {\iint}, use \type
+% %D {\mathop} and fudge the left hand space a bit to make the subscript
+% %D visually centered.
\protect \endinput