diff options
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 Binary files differindex 74bd9eedb..49b992f65 100644 --- a/doc/context/documents/general/manuals/math-mkiv.pdf +++ b/doc/context/documents/general/manuals/math-mkiv.pdf 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 Binary files differindex 45bbe7b03..4f5952d9b 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf 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 Binary files differindex 1030dfbde..08d64337b 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex ed14795e4..4582f1650 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf 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 Binary files differindex 6e5c2e428..4a675467a 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex f49b500fc..d2d76e5ba 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf 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 |