summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/context/documents/general/manuals/math-mkiv.pdfbin2866911 -> 2906190 bytes
-rw-r--r--doc/context/sources/general/manuals/math/math-mkiv.tex697
-rw-r--r--tex/context/base/context-version.pdfbin4245 -> 4249 bytes
-rw-r--r--tex/context/base/mkii/mult-de.mkii2
-rw-r--r--tex/context/base/mkii/mult-en.mkii2
-rw-r--r--tex/context/base/mkii/mult-fr.mkii2
-rw-r--r--tex/context/base/mkii/mult-it.mkii2
-rw-r--r--tex/context/base/mkii/mult-nl.mkii2
-rw-r--r--tex/context/base/mkii/mult-pe.mkii2
-rw-r--r--tex/context/base/mkii/mult-ro.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/mult-def.lua4
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9218 -> 9210 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin269049 -> 269096 bytes
-rw-r--r--tex/context/base/mkiv/strc-mat.mkiv38
-rw-r--r--tex/context/fonts/mkiv/minion-math.lfg4
-rw-r--r--tex/context/fonts/mkiv/minion.lfg54
-rw-r--r--tex/context/fonts/mkiv/type-imp-minion.mkiv40
-rw-r--r--tex/context/interface/mkii/keys-cs.xml2
-rw-r--r--tex/context/interface/mkii/keys-de.xml2
-rw-r--r--tex/context/interface/mkii/keys-en.xml2
-rw-r--r--tex/context/interface/mkii/keys-fr.xml2
-rw-r--r--tex/context/interface/mkii/keys-it.xml2
-rw-r--r--tex/context/interface/mkii/keys-nl.xml2
-rw-r--r--tex/context/interface/mkii/keys-pe.xml2
-rw-r--r--tex/context/interface/mkii/keys-ro.xml2
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin821219 -> 821347 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60790 -> 60789 bytes
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
30 files changed, 139 insertions, 734 deletions
diff --git a/doc/context/documents/general/manuals/math-mkiv.pdf b/doc/context/documents/general/manuals/math-mkiv.pdf
index 74bd9eedb..49b992f65 100644
--- a/doc/context/documents/general/manuals/math-mkiv.pdf
+++ b/doc/context/documents/general/manuals/math-mkiv.pdf
Binary files differ
diff --git a/doc/context/sources/general/manuals/math/math-mkiv.tex b/doc/context/sources/general/manuals/math/math-mkiv.tex
index f16359fcb..8f3a62705 100644
--- a/doc/context/sources/general/manuals/math/math-mkiv.tex
+++ b/doc/context/sources/general/manuals/math/math-mkiv.tex
@@ -1,693 +1,28 @@
% language=uk
-\setupbodyfont
- [pagella]
+\environment math-layout
-\setupwhitespace
- [big]
+\startproduct math-mkiv
-\setuppagenumbering
- [alternative=doublesided]
+\startdocument
-\setuplayout
- [backspace=2cm,
- width=middle,
- cutspace=2cm,
- topspace=2cm,
- header=2cm,
- height=middle,
- footer=0pt,
- bottomspace=2cm]
+\component math-titlepage
-\usemodule[x][setups-basics]
+\startfrontmatter
+ \component math-contents
+ \component math-introduction
+\stopfrontmatter
-\usemodule[visual]
+\startbodymatter
+ \component math-spacing
+ \component math-framing
+ \component math-numbering
+ \component math-combining
+\stopbodymatter
-\loadsetups[i-context]
+\stopdocument
-\starttext
-
-\startMPpage
-
-StartPage;
- fill Page withcolor .35magenta ;
- picture p ; p := image ( draw outlinetext.b
- ("\textdollar")
- (withcolor .35green)
- (withcolor .5yellow withpen pencircle scaled .1) ;
- ) ;
- p := p xysized(PaperWidth - 20pt,PaperHeight - 20pt ) ;
- p := p shifted - llcorner p shifted (10pt,10pt) ;
- draw p ;
- picture p ; p := image ( draw outlinetext.b
- ("math")
- (withcolor .35green)
- (withcolor .5yellow withpen pencircle scaled .2) ;
- ) ;
- p := p xsized(PaperWidth/2 - 40pt) ;
- p := p shifted - llcorner p shifted (10pt,10pt) ;
- draw p shifted (PaperWidth/2 + 20pt,20pt);
-StopPage;
-
-\stopMPpage
-
-\page[empty] \setuppagenumber[number=1]
-
-\setuplayout
- [backspace=2cm,
- topspace=2cm,
- header=2cm,
- height=middle,
- width=middle]
-
-\setuphead
- [chapter]
- [header=high,
- style=\bfc,
- color=darkmagenta]
-
-\setuphead
- [section]
- [style=\bfb]
-
-\setuphead
- [subsection]
- [style=\bfa]
-
-\starttitle[title=Introduction]
-
-This manual is not a systematic discussion about math in \CONTEXT\ but more a
-collection of wrap|-|ups. The file also serves as testcase. The content can
-change over time and can also serve as a trigger for discussions on the mailing
-list. Feel free to contribute.
-
-\startlines
-Hans Hagen
-Hasselt NL
-% May 2016
-\stoplines
-
-\stoptitle
-
-\startchapter[title=Vertical spacing]
-
-The low level way to input inline math in \TEX\ is
-
-\starttyping
-$ e = mc^2 $
-\stoptyping
-
-while display math can be entered like:
-
-\starttyping
-$$ e = mc^2 $$
-\stoptyping
-
-The inline method is still valid, but for display math the \type {$$} method
-should not be used. This has to do with the fact that we want to control spacing
-in a consistent way. In \CONTEXT\ the vertical spacing model is rather stable
-although in \MKIV\ the implementation is quite different. It has always been a
-challenge to let this mechanism work well with space round display formulas. This
-has to do with the fact that (in the kind of documents that we have to produce)
-interaction with already present spacing is somewhat tricky.
-
-Of course much can be achieved in \TEX\ but in \CONTEXT\ we need to have control
-over the many mechanisms that can interact. Given the way \TEX\ handles space
-around display math there is no real robust solution possible that gives visually
-consistent space in all cases so that is why we basically disable the existing
-spacing model. Disabling is easier in \LUATEX\ and recent versions of \MKIV\ have
-been adapted to that.
-
-In pure \TEX\ what happens is this:
-
-\startbuffer
-$$ x $$
-\stopbuffer
-
-\typebuffer \par \start \showboxes \getbuffer \par \stop
-
-A horizontal box get added which triggers a baselineskip. Then the formula is put
-below it. We can get rid of that box with \type {\noindent}:
-
-\startbuffer
-\noindent $$ x $$
-\stopbuffer
-
-\typebuffer \par \start \showboxes \getbuffer \par \stop
-
-In addition (not shown here) vertical space is added before and after the formula
-and left- and rightskip on the edges. In fact typesetting display math goes like this:
-
-\startitemize[packed]
- \startitem
- typeset the formula using display mode and wrap it in a box
- \stopitem
- \startitem
- add an equation number, if possible in the same line, otherwise on a line
- below
- \stopitem
- \startitem
- in the process center the formula using the available display width and
- required display indentation
- \stopitem
- \startitem
- add vertical space above and below (depending also in displays being
- short in relation to the previous line
- \stopitem
- \startitem
- at the same time also add penalties that determine the break across
- pages
- \stopitem
-\stopitemize
-
-Apart from the spacing around the formula and the equation number, typesetting is
-not different from:
-
-\starttyping
-\hbox {$ \displaystyle x $}
-\stoptyping
-
-This spacing around math is a sensitive issue. Because math itself can have a
-narrow band, for instance a lone $x$, or relative much depth, as with $y$, or
-both depth and height as in $(1,2)$ and $x^2 + y_2$ and because a preceding line
-can have no or little depth and a following line little height, the visual
-appearance can become inconsistent. The default approach is to force consistent
-spacing, but when needed we can implement variants.
-
-Spacing around display math is set up with \type {\setupformulas}:
-
-\starttyping
- \setupformulas
- [spacebefore=big,
- spaceafter=big]
-\stoptyping
-
-When the whitespace is larger that setting wins because as usual the larger
-of blanks or whitespace wins.
-
-% \showdefinition[setupformula]
-% \showdefinition[setupmathematics]
-
-In \in {figures} [whitespace-no], \in {figures} [whitespace-medium] \in {and}
-[whitespace-big] we see how things interact. We show lines with and without
-maximum line height and depth (enforced by struts) alongside.
-
-% no whitespace
-
-\startbuffer[demo-1]
-\disablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=none,spaceafter=none]
-\setupwhitespace[none]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-2]
-\enablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=none,spaceafter=none]
-\setupwhitespace[none]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-3]
-\disablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=medium,spaceafter=medium]
-\setupwhitespace[none]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-4]
-\enablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=medium,spaceafter=medium]
-\setupwhitespace[none]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startplacefigure[location=page,reference=whitespace-no,title={No whitespace.}]
- \startcombination[2*2]
- {\typesetbuffer[demo-1][height=.45\textheight]} {\tttf natural + none + ws none}
- {\typesetbuffer[demo-2][height=.45\textheight]} {\tttf strut + none + ws none}
- {\typesetbuffer[demo-3][height=.45\textheight]} {\tttf natural + medium + ws none}
- {\typesetbuffer[demo-4][height=.45\textheight]} {\tttf strut + medium + ws none}
- \stopcombination
-\stopplacefigure
-
-% whitespace medium same as medium spacing around math
-
-\startbuffer[demo-1]
-\disablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=none,spaceafter=none]
-\setupwhitespace[medium]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-2]
-\enablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=none,spaceafter=none]
-\setupwhitespace[medium]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-3]
-\disablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=medium,spaceafter=medium]
-\setupwhitespace[medium]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-4]
-\enablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=medium,spaceafter=medium]
-\setupwhitespace[medium]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startplacefigure[location=page,reference=whitespace-medium,title={Whitespace the same as display spacing.}]
- \startcombination[2*2]
- {\typesetbuffer[demo-1][height=.45\textheight]} {\tttf natural + none + ws medium}
- {\typesetbuffer[demo-2][height=.45\textheight]} {\tttf strut + none + ws medium}
- {\typesetbuffer[demo-3][height=.45\textheight]} {\tttf natural + medium + ws medium}
- {\typesetbuffer[demo-4][height=.45\textheight]} {\tttf strut + medium + ws medium}
- \stopcombination
-\stopplacefigure
-
-% whitespace big wins from medium spacing around math
-
-\startbuffer[demo-1]
-\disablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=none,spaceafter=none]
-\setupwhitespace[big]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-2]
-\enablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=none,spaceafter=none]
-\setupwhitespace[big]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-3]
-\disablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=medium,spaceafter=medium]
-\setupwhitespace[big]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startbuffer[demo-4]
-\enablemode[with-struts]
-\showmakeup
-\setupformulas[spacebefore=medium,spaceafter=medium]
-\setupwhitespace[big]
-\input math-spacing-001.tex
-\stopbuffer
-
-\startplacefigure[location=page,reference=whitespace-big,title={Whitespace larger than display spacing.}]
- \startcombination[2*2]
- {\typesetbuffer[demo-1][height=.45\textheight]} {\tttf natural + none + ws big}
- {\typesetbuffer[demo-2][height=.45\textheight]} {\tttf strut + none + ws big}
- {\typesetbuffer[demo-3][height=.45\textheight]} {\tttf natural + medium + ws big}
- {\typesetbuffer[demo-4][height=.45\textheight]} {\tttf strut + medium + ws big}
- \stopcombination
-\stopplacefigure
-
-Because we want to have control over the placement of the formula number but also
-want to be able to align the formula with the left or right edge of the text
-area, we don't use the native display handler by default. We still have a way to
-force this, but this is only for testing purposes. By default a formula is placed
-centered relative to the current text, including left and right margins.
-
-\startbuffer
-\fakewords{20}{40}
-
-\startitemize
- \startitem
- \fakewords{20}{40}
- \placeformula
- \startformula
- \fakeformula
- \stopformula
- \stopitem
- \startitem
- \fakewords{20}{40}
- \stopitem
-\stopitemize
-
-\fakewords{20}{40}\epar
-\stopbuffer
-
-\typebuffer
-
-\start \getbuffer \stop
-
-In the next examples we explicitly align formulas to the left (\type
-{flushleft}), center (\type {middle}) and right (\type {flushright}):
-
-\startbuffer[demo]
-\setupformulas[align=flushleft]
-\startformula\fakeformula\stopformula
-\setupformulas[align=middle]
-\startformula\fakeformula\stopformula
-\setupformulas[align=flushright]
-\startformula\fakeformula\stopformula
-\stopbuffer
-
-\typebuffer[demo]
-
-The three cases show up as:
-
-\start \getbuffer[demo] \stop
-
-You can also set a left and|/|or right margin:
-
-\startbuffer[setting]
-\setupformulas
- [leftmargin=3cm,
- rightmargin=3cm]
-\stopbuffer
-
-\start \getbuffer[setting] \getbuffer[demo] \stop
-
-With formula numbers these formulas look as follows:
-
-\startbuffer[demo]
-\setupformulas[align=flushleft]
-\placeformula \startformula\fakeformula\stopformula
-\setupformulas[align=middle]
-\placeformula \startformula\fakeformula\stopformula
-\setupformulas[align=flushright]
-\placeformula \startformula\fakeformula\stopformula
-\stopbuffer
-
-\start \getbuffer[demo] \stop
-
-and the same with margins:
-
-\start \getbuffer[setting] \getbuffer[demo] \stop
-
-\page
-
-When the \type {margin} option is set to \type {standard} or \type {yes} the
-current indentation (when set) or left skip is added to the left side.
-
-\startbuffer
-\setupformulas[align=flushleft]
-\startformula \fakeformula \stopformula
-\placeformula \startformula \fakeformula \stopformula
-\stopbuffer
-
-\typebuffer \start \getbuffer \stop
-
-\startbuffer
-\setupformulas[align=flushleft,margin=standard]
-\startformula \fakeformula \stopformula
-\placeformula \startformula \fakeformula \stopformula
-\stopbuffer
-
-\typebuffer \start \getbuffer \stop
-
-The distance between the formula and the number is only applied when the formula
-is left or right aligned.
-
-\startbuffer
-\setupformulas[align=flushright,distance=0pt]
-\startformula \fakeformula \stopformula
-\placeformula \startformula \fakeformula \stopformula
-\stopbuffer
-
-\typebuffer \start \getbuffer \stop
-
-\startbuffer
-\setupformulas[align=flushright,distance=2em]
-\startformula \fakeformula \stopformula
-\placeformula \startformula \fakeformula \stopformula
-\stopbuffer
-
-\typebuffer \start \getbuffer \stop
-
-\stopchapter
-
-% \startchapter[title=Numbering]
-
-% \stopchapter
-
-\startchapter[title=Framing]
-
-The \type {\framed} macro is one of the core constructors in \CONTEXT\ and it's
-used all over the place. This macro is unlikely to change its behaviour and as it
-has evolved over years it comes with quite some options and some can interfere
-with the expectations one has. In general using this macro works out well but you
-need to keep an eye on using struts and alignment.
-
-\startbuffer
-\framed{$e=mc^2$}
-\stopbuffer
-
-\typebuffer
-
-The outcome of this is:
-
-\startlinecorrection \getbuffer \stoplinecorrection
-
-There is a bit of offset (that you can set) but also struts are added as can be
-seen when we visualize them:
-
-\startlinecorrection \showstruts \getbuffer \stoplinecorrection
-
-These struts can be disabled:
-
-\startbuffer
-\framed[strut=no]{$e=mc^2$}
-\stopbuffer
-
-\typebuffer
-
-Now the result is more tight.
-
-\startlinecorrection \showstruts \getbuffer \stoplinecorrection
-
-These struts are the way to get a consistent look and feel and are used
-frequently in \CONTEXT. We mention these struts because they get in the way when
-we frame a display formula. Let's first look at what happens when we
-just package a formula in a box:
-
-\startbuffer
-\vbox\bgroup
- \startformula
- e = mc^2
- \stopformula
-\egroup
-\stopbuffer
-
-\typebuffer
-
-We get:
-
-\startlinecorrection \start \showmakeup \getbuffer \stop \stoplinecorrection
-
-Now there are a few properties of displaymath that one needs to keep in mind when
-messing around with them this way. First of all display math is meant to be used
-as part of the page stream. This means that spacing above and below is adapted to
-what comes before and after. It also means that, because formulas can be numbered,
-we have some settings that relate to horizontal placement.
-
-The default vertical spacing is easy to get rid of:
-
-\startbuffer
-\vbox\bgroup
- \startformula[packed]
- e = mc^2
- \stopformula
-\egroup
-\stopbuffer
-
-\typebuffer
-
-This gives:
-
-\startlinecorrection \start \showmakeup \getbuffer \stop \stoplinecorrection
-
-Another handy keyword is \type {tight}:
-
-\startbuffer
-\vbox\bgroup
- \startformula[tight]
- e = mc^2
- \stopformula
-\egroup
-\stopbuffer
-
-\typebuffer
-
-This gives:
-
-\startlinecorrection \start \showmakeup \getbuffer \stop \stoplinecorrection
-
-We can combine these two:
-
-\startbuffer
-\vbox\bgroup
- \startformula[packed,tight]
- e = mc^2
- \stopformula
-\egroup
-\stopbuffer
-
-\typebuffer
-
-This gives:
-
-\startlinecorrection \start \showmakeup \getbuffer \stop \stoplinecorrection
-
-Just in case you wonder why we need to go through these troubles: keep in mind
-that we are wrapping something (math) that normally goes in a vertical list with
-text above and below.
-
-The \type {packed} and \type {tight} options can help when we want to wrap
-a formula in a frame:
-
-\startbuffer
-\framed
- [strut=no]
- {
- \startformula[packed,tight]
- e = mc^2
- \stopformula
- }
-\stopbuffer
-
-\typebuffer
-
-which renders as:
-
-\startlinecorrection \getbuffer \stoplinecorrection
-
-There is a dedicated math framed instance that is tuned to give better results
-and automatically switches to math mode:
-
-\startbuffer
-\mframed {
- e = mc^2
-}
-\stopbuffer
-
-\typebuffer
-
-becomes:
-
-\startlinecorrection \getbuffer \stoplinecorrection
-
-Multiple formulas can be combined:
-
-\startbuffer
-\startformulas
- \startformula
- a + b = c
- \stopformula
- \startformula
- d - e = f
- \stopformula
-\stopformulas
-\stopbuffer
-
-\typebuffer
-
-We might add some more control in the future, but this is what you get:
-
-\startlinecorrection \getbuffer \stoplinecorrection
-
-Framing a formula is also supported as a option, where the full power of framed can
-be applied to the formula. We will illustrate this in detail on the next pages. For this
-we use the following sample:
-
-\typefile{math-framing-001.tex}
-
-In \in {figure} [framing-flushleft], \in [framing-middle] \in {and}
-[framing-flushright] you see some combinations. You can run this example on your
-machine and see the details.
-
-\startplacefigure[location=page,reference=framing-flushleft,title={Framed formulas flushed left.}]
- \startcombination[2*2]
- {\typesetfile[math-framing-001.tex][page=01,height=.45\textheight]} {\tttf right + flushleft}
- {\typesetfile[math-framing-001.tex][page=02,height=.45\textheight]} {\tttf right + flushleft}
- {\typesetfile[math-framing-001.tex][page=07,height=.45\textheight]} {\tttf left + flushleft + tight}
- {\typesetfile[math-framing-001.tex][page=08,height=.45\textheight]} {\tttf left + flushleft + tight}
- \stopcombination
-\stopplacefigure
-
-\startplacefigure[location=page,reference=framing-middle,title={Framed formulas centered.}]
- \startcombination[2*2]
- {\typesetfile[math-framing-001.tex][page=03,height=.45\textheight]} {\tttf right + middle}
- {\typesetfile[math-framing-001.tex][page=04,height=.45\textheight]} {\tttf right + middle}
- {\typesetfile[math-framing-001.tex][page=09,height=.45\textheight]} {\tttf left + middle + tight}
- {\typesetfile[math-framing-001.tex][page=10,height=.45\textheight]} {\tttf left + middle + tight}
- \stopcombination
-\stopplacefigure
-
-\startplacefigure[location=page,reference=framing-flushright,title={Framed formulas flushed right.}]
- \startcombination[2*2]
- {\typesetfile[math-framing-001.tex][page=05,height=.45\textheight]} {\tttf right + flushright}
- {\typesetfile[math-framing-001.tex][page=06,height=.45\textheight]} {\tttf right + flushright}
- {\typesetfile[math-framing-001.tex][page=11,height=.45\textheight]} {\tttf left + flushright + tight}
- {\typesetfile[math-framing-001.tex][page=12,height=.45\textheight]} {\tttf left + flushright + tight}
- \stopcombination
-\stopplacefigure
-
-\stopchapter
-
-With each formula class a framed variants is automatically created:
-
-\startbuffer
-\defineformula
- [foo]
-
-\setupformulaframed
- [foo]
- [frame=on,
- framecolor=red]
-
-\startfooformula[frame]
- e=mc^2
-\stopfooformula
-\stopbuffer
-
-\typebuffer
-
-This time you get a red frame:
-
-\getbuffer
-
-You can also frame the number, as in:
-
-\startbuffer
-\setupformulaframed[framecolor=red,frame=on,offset=1ex]
-\setupformula[option=frame,color=blue]
-\setupformula[numbercommand={\inframed[framecolor=green]}]
-
-\startplaceformula
- \startformula
- 2 + 2 = 2x
- \stopformula
-\stopplaceformula
-\stopbuffer
-
-\typebuffer
-
-The boxes get properly aligned:
-
-\start \showboxes \getbuffer \stop
-
-\stoptext
+\stopproduct
% when we compare these tables with the one that the ff loader produces we notice
% some differences: this is because (deduced from source) that ff does some kind
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 45bbe7b03..4f5952d9b 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii
index 249e18523..67bacc727 100644
--- a/tex/context/base/mkii/mult-de.mkii
+++ b/tex/context/base/mkii/mult-de.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{zwinge}
\setinterfacevariable{foreground}{vordergrund}
\setinterfacevariable{formula}{formel}
-\setinterfacevariable{formulae}{formeln}
+\setinterfacevariable{formulas}{formeln}
\setinterfacevariable{forward}{vorwaerts}
\setinterfacevariable{four}{vier}
\setinterfacevariable{frame}{rahmen}
diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii
index 3ea8f87c5..ba08baa65 100644
--- a/tex/context/base/mkii/mult-en.mkii
+++ b/tex/context/base/mkii/mult-en.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{force}
\setinterfacevariable{foreground}{foreground}
\setinterfacevariable{formula}{formula}
-\setinterfacevariable{formulae}{formulae}
+\setinterfacevariable{formulas}{formulas}
\setinterfacevariable{forward}{forward}
\setinterfacevariable{four}{four}
\setinterfacevariable{frame}{frame}
diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii
index 9a1f53a52..d80cfe21e 100644
--- a/tex/context/base/mkii/mult-fr.mkii
+++ b/tex/context/base/mkii/mult-fr.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{force}
\setinterfacevariable{foreground}{premierplan}
\setinterfacevariable{formula}{formule}
-\setinterfacevariable{formulae}{formules}
+\setinterfacevariable{formulas}{formules}
\setinterfacevariable{forward}{avance}
\setinterfacevariable{four}{quatre}
\setinterfacevariable{frame}{cadre}
diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii
index 4d68bc4df..c038379e8 100644
--- a/tex/context/base/mkii/mult-it.mkii
+++ b/tex/context/base/mkii/mult-it.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{forza}
\setinterfacevariable{foreground}{foreground}
\setinterfacevariable{formula}{formula}
-\setinterfacevariable{formulae}{formule}
+\setinterfacevariable{formulas}{formule}
\setinterfacevariable{forward}{avanti}
\setinterfacevariable{four}{quattro}
\setinterfacevariable{frame}{cornice}
diff --git a/tex/context/base/mkii/mult-nl.mkii b/tex/context/base/mkii/mult-nl.mkii
index 0711108d1..dccbfa42d 100644
--- a/tex/context/base/mkii/mult-nl.mkii
+++ b/tex/context/base/mkii/mult-nl.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{forceer}
\setinterfacevariable{foreground}{voorgrond}
\setinterfacevariable{formula}{formule}
-\setinterfacevariable{formulae}{formules}
+\setinterfacevariable{formulas}{formules}
\setinterfacevariable{forward}{vooruit}
\setinterfacevariable{four}{vier}
\setinterfacevariable{frame}{kader}
diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii
index de5030276..d103eab63 100644
--- a/tex/context/base/mkii/mult-pe.mkii
+++ b/tex/context/base/mkii/mult-pe.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{اجبار}
\setinterfacevariable{foreground}{پیش‌زمینه}
\setinterfacevariable{formula}{فرمول}
-\setinterfacevariable{formulae}{فرمولها}
+\setinterfacevariable{formulas}{فرمولها}
\setinterfacevariable{forward}{به‌جلو}
\setinterfacevariable{four}{چهار}
\setinterfacevariable{frame}{قالب}
diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii
index 44e01db6a..83d68a61e 100644
--- a/tex/context/base/mkii/mult-ro.mkii
+++ b/tex/context/base/mkii/mult-ro.mkii
@@ -207,7 +207,7 @@
\setinterfacevariable{force}{fortat}
\setinterfacevariable{foreground}{primplan}
\setinterfacevariable{formula}{formula}
-\setinterfacevariable{formulae}{formule}
+\setinterfacevariable{formulas}{formule}
\setinterfacevariable{forward}{avans}
\setinterfacevariable{four}{patru}
\setinterfacevariable{frame}{incadrat}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 9d03d82da..852e0fddd 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.06.18 16:28}
+\newcontextversion{2016.06.19 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/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index ec4da7bd0..c441cf7ad 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.06.18 16:28}
+\edef\contextversion{2016.06.19 13:29}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index f59851f49..da982d949 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -13538,10 +13538,10 @@ return {
["pe"]="فرمول",
["ro"]="formula",
},
- ["formulae"]={
+ ["formulas"]={
["cs"]="rovnice",
["de"]="formeln",
- ["en"]="formulae",
+ ["en"]="formulas",
["fr"]="formules",
["it"]="formule",
["nl"]="formules",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 1030dfbde..08d64337b 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index ed14795e4..4582f1650 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-mat.mkiv b/tex/context/base/mkiv/strc-mat.mkiv
index 554dc84ca..272b5d9b5 100644
--- a/tex/context/base/mkiv/strc-mat.mkiv
+++ b/tex/context/base/mkiv/strc-mat.mkiv
@@ -968,10 +968,21 @@
\unexpanded\def\startformulas
{\dosingleempty\strc_formulas_start_formulas}
-\unexpanded\def\startformulas
- {\dosingleempty\strc_formulas_start_formulas}
+\expandafter\let\csname\e!stop\v!formulas\endcsname\relax
+
+\unexpanded\def\strc_formulas_nested_formula_start
+ {\hbox to \displaywidth \bgroup
+ \hsize\displaywidth
+ \hss
+ \Ustartmath}
+
+\unexpanded\def\strc_formulas_nested_formula_stop
+ {\Ustopmath
+ \hss
+ \egroup
+ \hss}
-\def\strc_formulas_start_formulas[#1]#2\stopformulas % new / to be internationalized
+\normalexpanded{\def\noexpand\strc_formulas_start_formulas[#1]#2\csname\e!stop\v!formulas\endcsname}%
{\startformula
\dostarttagged\t!formulaset\empty
\global\settrue\c_strc_formulas_inside_formulas
@@ -979,8 +990,9 @@
\strc_formulas_handle_number
\let\currentformula\empty
\strc_formulas_forget_display_skips
- \unexpanded\def\startformula##1\stopformula
- {\advance\scratchcounter\plusone}%
+ \unexpanded\def\startformula
+ {\advance\scratchcounter\plusone
+ \expandafter\gobbleuntil\csname\e!stop\v!formula\endcsname}%
\scratchcounter\zerocount
#2% preroll
\hbox to \displaywidth \bgroup
@@ -997,22 +1009,6 @@
\hangafter\minusone % added for side floats
\hangindent\zeropoint} % added for side floats
-\unexpanded\def\strc_formulas_nested_formula_start
- {\hbox to \displaywidth \bgroup
- \hsize\displaywidth
- \Ustartmath
- \vcenter\bgroup % not optimal
- \vskip-\strutdepth
- \Ustartdisplaymath}
-
-\unexpanded\def\strc_formulas_nested_formula_stop
- {\Ustopdisplaymath
- \obeydepth
- \egroup
- \Ustopmath
- \egroup
- \hss}
-
% place
\def\m_strc_formulas_flag_inhibit{-}
diff --git a/tex/context/fonts/mkiv/minion-math.lfg b/tex/context/fonts/mkiv/minion-math.lfg
index a867a00e3..72bf7d436 100644
--- a/tex/context/fonts/mkiv/minion-math.lfg
+++ b/tex/context/fonts/mkiv/minion-math.lfg
@@ -14,6 +14,10 @@ return {
["9.8pt"] = "file:MinionMath-Capt.otf",
default = "file:MinionMath-Regular.otf",
},
+ ["Minion-BoldMath"] = {
+ default = "file:MinionMath-Semibold.otf",
+ ["Minion-MediumMath"] = {
+ default = "file:MinionMath-Semibold.otf",
},
mathematics = {
kerns = {
diff --git a/tex/context/fonts/mkiv/minion.lfg b/tex/context/fonts/mkiv/minion.lfg
new file mode 100644
index 000000000..84f01b6a9
--- /dev/null
+++ b/tex/context/fonts/mkiv/minion.lfg
@@ -0,0 +1,54 @@
+-- We just assume that Minion Pro is used. After all it's a commercial font so
+-- that is probably whey people will buy.
+
+return {
+ name = "minion",
+ version = "1.00",
+ comment = "Goodies that complement minion pro.",
+ author = "Hans Hagen and Mathias Schickel",
+ copyright = "ConTeXt development team",
+ designsizes = {
+ ["Minion-Regular"] = {
+ ["9.5pt"] = "file:MinionPro-Capt.otf",
+ ["12.5pt"] = "file:MinionPro-Regular.otf",
+ ["14.5pt"] = "file:MinionPro-Subh.otf",
+ ["16pt"] = "file:MinionPro-Disp.otf",
+ default = "file:MinionPro-Regular.otf",
+ },
+ ["Minion-Italic"] = {
+ ["9.5pt"] = "file:MinionPro-ItCapt.otf",
+ ["12.5pt"] = "file:MinionPro-It.otf",
+ ["14.5pt"] = "file:MinionPro-ItSubh.otf",
+ ["16pt"] = "file:MinionPro-ItDisp.otf",
+ default = "file:MinionPro-It.otf",
+ },
+ ["Minion-Bold"] = {
+ ["9.5pt"] = "file:MinionPro-BoldCapt.otf",
+ ["12.5pt"] = "file:MinionPro-Bold.otf",
+ ["14.5pt"] = "file:MinionPro-BoldSubh.otf",
+ ["16pt"] = "file:MinionPro-BoldDisp.otf",
+ default = "file:MinionPro-Bold.otf",
+ },
+ ["Minion-BoldItalic"] = {
+ ["9.5pt"] = "file:MinionPro-BoldItCapt.otf",
+ ["12.5pt"] = "file:MinionPro-BoldIt.otf",
+ ["14.5pt"] = "file:MinionPro-BoldItSubh.otf",
+ ["16pt"] = "file:MinionPro-BoldItDisp.otf",
+ default = "file:MinionPro-It.otf",
+ },
+ ["Minion-Medium"] = {
+ ["9.5pt"] = "file:MinionPro-SemiboldCapt.otf",
+ ["12.5pt"] = "file:MinionPro-Semibold.otf",
+ ["14.5pt"] = "file:MinionPro-SemiboldSubh.otf",
+ ["16pt"] = "file:MinionPro-SemiboldDisp.otf",
+ default = "file:MinionPro-Semibold.otf",
+ },
+ ["Minion-MediumItalic"] = {
+ ["9.5pt"] = "file:MinionPro-SemiboldItCapt.otf",
+ ["12.5pt"] = "file:MinionPro-SemiboldIt.otf",
+ ["14.5pt"] = "file:MinionPro-SemiboldItSubh.otf",
+ ["16pt"] = "file:MinionPro-SemiboldItDisp.otf",
+ default = "file:MinionPro-SemiboldIt.otf",
+ },
+ },
+}
diff --git a/tex/context/fonts/mkiv/type-imp-minion.mkiv b/tex/context/fonts/mkiv/type-imp-minion.mkiv
index a09bc6264..06bc842ac 100644
--- a/tex/context/fonts/mkiv/type-imp-minion.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-minion.mkiv
@@ -11,28 +11,44 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-
-\definefontfallback[MinionMathFallback][file:latinmodern-math.otf][uppercasescript]
+\definefontfallback[MinionMathFallback] [file:latinmodern-math.otf][uppercasescript]
+\definefontfallback[MinionBoldMathFallback][file:latinmodern-math.otf][uppercasescript]
\starttypescriptcollection[minion]
\starttypescript [\s!serif][minion][\s!all]
- \definefontsynonym[\s!Serif] [\s!file:MinionPro-Regular.otf][\s!features=\s!default]
- \definefontsynonym[\s!SerifBold] [\s!file:MinionPro-Bold.otf] [\s!features=\s!default]
- \definefontsynonym[\s!SerifItalic] [\s!file:MinionPro-It.otf] [\s!features=\s!default]
- \definefontsynonym[\s!SerifBoldItalic][\s!file:MinionPro-BoldIt.otf] [\s!features=\s!default]
+ \loadfontgoodies[minion]
+ \definefontsynonym[\s!Serif] [Minion-Regular] [\s!features=\s!default,\s!goodies=minion]
+ \definefontsynonym[\s!SerifBold] [Minion-Bold] [\s!features=\s!default,\s!goodies=minion]
+ \definefontsynonym[\s!SerifItalic] [Minion-Italic] [\s!features=\s!default,\s!goodies=minion]
+ \definefontsynonym[\s!SerifBoldItalic][Minion-BoldItalic][\s!features=\s!default,\s!goodies=minion]
+ \stoptypescript
+
+ \starttypescript [\s!serif][minion-medium][\s!all]
+ \loadfontgoodies[minion]
+ \definefontsynonym[\s!Serif] [Minion-Regular] [\s!features=\s!default,\s!goodies=minion]
+ \definefontsynonym[\s!SerifBold] [Minion-Medium] [\s!features=\s!default,\s!goodies=minion]
+ \definefontsynonym[\s!SerifItalic] [Minion-Italic] [\s!features=\s!default,\s!goodies=minion]
+ \definefontsynonym[\s!SerifBoldItalic][Minion-MediumItalic][\s!features=\s!default,\s!goodies=minion]
\stoptypescript
\starttypescript [\s!math][minion][\s!all]
\loadfontgoodies[minion-math]
- \definefontsynonym[\s!MathRoman][Minion-Math][\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
+ \definefontsynonym[\s!MathRoman] [Minion-Math] [\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
+ \definefontsynonym[\s!MathRomanBold][Minion-BoldMath][\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionBoldMathFallback]
+ \stoptypescript
+
+ \starttypescript [\s!math][minion-medium][\s!all]
+ \loadfontgoodies[minion-math]
+ \definefontsynonym[\s!MathRoman] [Minion-Math] [\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
+ \definefontsynonym[\s!MathRomanBold][Minion-MediumMath][\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionBoldMathFallback]
\stoptypescript
- \starttypescript [minion]
- \definetypeface [\typescriptone] [\s!rm] [\s!serif] [minion] [\s!default]
- \definetypeface [\typescriptone] [\s!ss] [\s!sans] [dejavu] [\s!default] [\s!rscale=0.8]
- \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] [\s!rscale=0.8]
- \definetypeface [\typescriptone] [\s!mm] [\s!math] [minion] [\s!default]
+ \starttypescript [minion,minion-medium]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [dejavu] [\s!default] [\s!rscale=0.8]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] [\s!rscale=0.8]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default]
\stoptypescript
\stoptypescriptcollection
diff --git a/tex/context/interface/mkii/keys-cs.xml b/tex/context/interface/mkii/keys-cs.xml
index 8d3f17a4e..473756022 100644
--- a/tex/context/interface/mkii/keys-cs.xml
+++ b/tex/context/interface/mkii/keys-cs.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='sila'/>
<cd:variable name='foreground' value='popredi'/>
<cd:variable name='formula' value='rovnice'/>
- <cd:variable name='formulae' value='rovnice'/>
+ <cd:variable name='formulas' value='rovnice'/>
<cd:variable name='forward' value='vpred'/>
<cd:variable name='four' value='ctyri'/>
<cd:variable name='frame' value='ramecek'/>
diff --git a/tex/context/interface/mkii/keys-de.xml b/tex/context/interface/mkii/keys-de.xml
index 2f6fc9bcc..bef6a9b73 100644
--- a/tex/context/interface/mkii/keys-de.xml
+++ b/tex/context/interface/mkii/keys-de.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='zwinge'/>
<cd:variable name='foreground' value='vordergrund'/>
<cd:variable name='formula' value='formel'/>
- <cd:variable name='formulae' value='formeln'/>
+ <cd:variable name='formulas' value='formeln'/>
<cd:variable name='forward' value='vorwaerts'/>
<cd:variable name='four' value='vier'/>
<cd:variable name='frame' value='rahmen'/>
diff --git a/tex/context/interface/mkii/keys-en.xml b/tex/context/interface/mkii/keys-en.xml
index ab91bf43e..599609f29 100644
--- a/tex/context/interface/mkii/keys-en.xml
+++ b/tex/context/interface/mkii/keys-en.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='force'/>
<cd:variable name='foreground' value='foreground'/>
<cd:variable name='formula' value='formula'/>
- <cd:variable name='formulae' value='formulae'/>
+ <cd:variable name='formulas' value='formulas'/>
<cd:variable name='forward' value='forward'/>
<cd:variable name='four' value='four'/>
<cd:variable name='frame' value='frame'/>
diff --git a/tex/context/interface/mkii/keys-fr.xml b/tex/context/interface/mkii/keys-fr.xml
index 03e20c347..7f7f99094 100644
--- a/tex/context/interface/mkii/keys-fr.xml
+++ b/tex/context/interface/mkii/keys-fr.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='force'/>
<cd:variable name='foreground' value='premierplan'/>
<cd:variable name='formula' value='formule'/>
- <cd:variable name='formulae' value='formules'/>
+ <cd:variable name='formulas' value='formules'/>
<cd:variable name='forward' value='avance'/>
<cd:variable name='four' value='quatre'/>
<cd:variable name='frame' value='cadre'/>
diff --git a/tex/context/interface/mkii/keys-it.xml b/tex/context/interface/mkii/keys-it.xml
index 616d491fe..7f917eb8e 100644
--- a/tex/context/interface/mkii/keys-it.xml
+++ b/tex/context/interface/mkii/keys-it.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='forza'/>
<cd:variable name='foreground' value='foreground'/>
<cd:variable name='formula' value='formula'/>
- <cd:variable name='formulae' value='formule'/>
+ <cd:variable name='formulas' value='formule'/>
<cd:variable name='forward' value='avanti'/>
<cd:variable name='four' value='quattro'/>
<cd:variable name='frame' value='cornice'/>
diff --git a/tex/context/interface/mkii/keys-nl.xml b/tex/context/interface/mkii/keys-nl.xml
index da812cb7b..33fe35c39 100644
--- a/tex/context/interface/mkii/keys-nl.xml
+++ b/tex/context/interface/mkii/keys-nl.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='forceer'/>
<cd:variable name='foreground' value='voorgrond'/>
<cd:variable name='formula' value='formule'/>
- <cd:variable name='formulae' value='formules'/>
+ <cd:variable name='formulas' value='formules'/>
<cd:variable name='forward' value='vooruit'/>
<cd:variable name='four' value='vier'/>
<cd:variable name='frame' value='kader'/>
diff --git a/tex/context/interface/mkii/keys-pe.xml b/tex/context/interface/mkii/keys-pe.xml
index a6c908796..522778150 100644
--- a/tex/context/interface/mkii/keys-pe.xml
+++ b/tex/context/interface/mkii/keys-pe.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='اجبار'/>
<cd:variable name='foreground' value='پیش‌زمینه'/>
<cd:variable name='formula' value='فرمول'/>
- <cd:variable name='formulae' value='فرمولها'/>
+ <cd:variable name='formulas' value='فرمولها'/>
<cd:variable name='forward' value='به‌جلو'/>
<cd:variable name='four' value='چهار'/>
<cd:variable name='frame' value='قالب'/>
diff --git a/tex/context/interface/mkii/keys-ro.xml b/tex/context/interface/mkii/keys-ro.xml
index 7a5da9946..9011c24d6 100644
--- a/tex/context/interface/mkii/keys-ro.xml
+++ b/tex/context/interface/mkii/keys-ro.xml
@@ -210,7 +210,7 @@
<cd:variable name='force' value='fortat'/>
<cd:variable name='foreground' value='primplan'/>
<cd:variable name='formula' value='formula'/>
- <cd:variable name='formulae' value='formule'/>
+ <cd:variable name='formulas' value='formule'/>
<cd:variable name='forward' value='avans'/>
<cd:variable name='four' value='patru'/>
<cd:variable name='frame' value='incadrat'/>
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 6e5c2e428..4a675467a 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index f49b500fc..d2d76e5ba 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index e19ac93fa..6c33374c7 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 : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 06/18/16 16:28:26
+-- merge date : 06/19/16 13:29:04
do -- begin closure to overcome local limits and interference