summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2006-12-01 10:42:41 +0000
committerTaco Hoekwater <taco@elvenkind.com>2006-12-01 10:42:41 +0000
commit93211732ba767f3d2be8e4b948553a42791302c8 (patch)
treeca5509bc7a7e9aa8e310dc5278a3c7c9bdbad7dc /Master/texmf-dist/tex/context/base
parentc407afe4a4284ab98479d51d2553287055f0ce1c (diff)
context release 2006.11.29
git-svn-id: svn://tug.org/texlive/trunk@2572 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base')
-rw-r--r--Master/texmf-dist/tex/context/base/cont-fil.tex3
-rw-r--r--Master/texmf-dist/tex/context/base/cont-new.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/context.tex6
-rw-r--r--Master/texmf-dist/tex/context/base/core-itm.tex7
-rw-r--r--Master/texmf-dist/tex/context/base/core-sec.tex13
-rw-r--r--Master/texmf-dist/tex/context/base/core-spa.tex83
-rw-r--r--Master/texmf-dist/tex/context/base/core-var.tex13
-rw-r--r--Master/texmf-dist/tex/context/base/core-vis.tex71
-rw-r--r--Master/texmf-dist/tex/context/base/enco-ans.tex1
-rw-r--r--Master/texmf-dist/tex/context/base/font-uni.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/math-ext.tex114
-rw-r--r--Master/texmf-dist/tex/context/base/math-tex.tex1
-rw-r--r--Master/texmf-dist/tex/context/base/meta-ini.tex5
-rw-r--r--Master/texmf-dist/tex/context/base/page-mul.tex22
-rw-r--r--Master/texmf-dist/tex/context/base/s-map-10.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/s-ptj-01.tex52
-rw-r--r--Master/texmf-dist/tex/context/base/spec-dpx.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/spec-tst.tex1
-rw-r--r--Master/texmf-dist/tex/context/base/supp-mps.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/symb-glm.tex36
-rw-r--r--Master/texmf-dist/tex/context/base/syst-xtx.tex4
-rw-r--r--Master/texmf-dist/tex/context/base/unic-cjk.tex4
-rw-r--r--Master/texmf-dist/tex/context/base/x-newmml.tex62
-rw-r--r--Master/texmf-dist/tex/context/base/x-om2cml.xsl24
24 files changed, 314 insertions, 218 deletions
diff --git a/Master/texmf-dist/tex/context/base/cont-fil.tex b/Master/texmf-dist/tex/context/base/cont-fil.tex
index dcd3ce9d35f..3ff54d356ec 100644
--- a/Master/texmf-dist/tex/context/base/cont-fil.tex
+++ b/Master/texmf-dist/tex/context/base/cont-fil.tex
@@ -111,4 +111,7 @@
%definefilesynonym [practexjournal] [ptj-01]
\definefilesynonym [pracjourn] [ptj-01]
+\definefilesynonym [maps] [map-10]
+\definefilesynonym [map-se] [map-10] % for some time
+
\endinput
diff --git a/Master/texmf-dist/tex/context/base/cont-new.tex b/Master/texmf-dist/tex/context/base/cont-new.tex
index b9d5a9f934f..2b2110fe022 100644
--- a/Master/texmf-dist/tex/context/base/cont-new.tex
+++ b/Master/texmf-dist/tex/context/base/cont-new.tex
@@ -13,7 +13,7 @@
% it's about time to clean up this file ...
-\newcontextversion{2006.11.20 11:37}
+\newcontextversion{2006.11.29 09:55}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/Master/texmf-dist/tex/context/base/context.tex b/Master/texmf-dist/tex/context/base/context.tex
index dc863ef6a26..dd6a50af891 100644
--- a/Master/texmf-dist/tex/context/base/context.tex
+++ b/Master/texmf-dist/tex/context/base/context.tex
@@ -42,7 +42,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2006.11.20 11:37}
+\edef\contextversion{2006.11.29 09:55}
%D For those who want to use this:
@@ -148,6 +148,8 @@
\loadcorefile{syst-var.tex}
\loadcorefile{syst-str.tex}
+%loadcorefile{syst-tra.tex}
+
\loadcorefile{syst-rtp.tex}
\loadcorefile{math-pln.tex}
@@ -175,7 +177,6 @@
\loadmkivfile{luat-ini.tex}
% \loadmkivfile{luat-lib.tex}
\loadmkivfile{luat-lmx.tex}
-\loadmkivfile{luat-deb.tex}
\loadmkivfile{luat-uni.tex}
@@ -192,6 +193,7 @@
%D modules implement some basic typesetting functionality.
\loadcorefile{core-var.tex}
+\loadmkivfile{luat-deb.tex}
\loadcorefile{supp-box.tex}
\loadcorefile{supp-mrk.tex}
diff --git a/Master/texmf-dist/tex/context/base/core-itm.tex b/Master/texmf-dist/tex/context/base/core-itm.tex
index 364501f23a3..9f132a96ab2 100644
--- a/Master/texmf-dist/tex/context/base/core-itm.tex
+++ b/Master/texmf-dist/tex/context/base/core-itm.tex
@@ -494,9 +494,10 @@
\ifnum\itemlevel>\plusone
\letitemparameter\itemlevel\c!inbetween\empty
\fi
- \else\ifconditional\packlistitem
+ \fi
+ \ifconditional\packlistitem
\letitemparameter\itemlevel\c!inbetween\empty
- \fi\fi
+ \fi
\doifinset\v!columns{#1}%
{\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount
\globallet\itemcolumndepth\itemlevel
@@ -881,7 +882,7 @@
\fi
\fi
\else
-\ifconditional\inlinelistitem
+\ifconditional\textlistitem % was bugged: \inlinelistitem
% \removeunwantedspaces\hskip\interwordspace\!!plus\emwidth\relax % new per 2006/10/20
\removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax % new per 2006/10/20
\else
diff --git a/Master/texmf-dist/tex/context/base/core-sec.tex b/Master/texmf-dist/tex/context/base/core-sec.tex
index 1e8188ea0d4..50032edcd24 100644
--- a/Master/texmf-dist/tex/context/base/core-sec.tex
+++ b/Master/texmf-dist/tex/context/base/core-sec.tex
@@ -1852,7 +1852,7 @@
%D [frame=off,offset=.5em,align=middle,width=broad]
%D {\sc\def\stretchedspaceamount{.3em}\stretchednormalcase{#1}}}
%D
-%D \definehead[MySubject]
+%D \definehead[MySubject][subject]
%D \setuphead [MySubject][deeptextcommand=\StretchedBox]
%D
%D \MySubject{feeling stretched feeling stretched feeling stretched feeling stretched}
@@ -2169,7 +2169,7 @@
\let\@@kolist=\empty
-\def\dodefinehead[#1][#2]% % don't preset prefix to much
+\def\dododefinehead#1#2% % don't preset prefix to much
{\presetlabeltext[#1=]%
\getparameters
[\??ko#1]
@@ -2265,6 +2265,15 @@
\setevalue{\??by\v!by#1}{\getvalue{\??ko#1\c!section}}%
\setvalue{#1}{\dodoubleempty\doconstructhead[#1]}}
+\def\dodefinehead[#1][#2]%
+ {\doifelsenothing{#2}
+ {% todo: message that it's an invalid definition
+ \setvalue{#1}{\endgraf[#1]\kern.5em}}
+ {\doifassignmentelse{#2}
+ {\dododefinehead{#1}{#2}}
+ {\doifdefined{\??ko#2\c!section}
+ {\dododefinehead{#1}{#2}}}}}
+
\def\definehead
{\dodoubleemptywithset\dodefinehead}
diff --git a/Master/texmf-dist/tex/context/base/core-spa.tex b/Master/texmf-dist/tex/context/base/core-spa.tex
index c498ee0153d..e41f1921536 100644
--- a/Master/texmf-dist/tex/context/base/core-spa.tex
+++ b/Master/texmf-dist/tex/context/base/core-spa.tex
@@ -3823,51 +3823,52 @@
% \setupalign[reset,new,right,old]
-
\def\@@align@@rl{\if!!donea\veryraggedleft \else\raggedleft \fi}
\def\@@align@@rr{\if!!donea\veryraggedright \else\raggedright \fi}
\def\@@align@@rc{\if!!donea\veryraggedcenter\else\raggedcenter\fi}
-\setvalue{@@align@@\v!new }{\@@asraggedfalse}
-\setvalue{@@align@@\v!old }{\@@asraggedtrue}
-\setvalue{@@align@@ }{}
-
-\setvalue{@@align@@\v!line }{\baselinebottom}
-\setvalue{@@align@@\v!bottom }{\raggedbottom}
-\setvalue{@@align@@\v!height }{\normalbottom}
-\setvalue{@@align@@\v!width }{\notragged}
-\setvalue{@@align@@\v!normal }{\notragged}
-\setvalue{@@align@@\v!yes }{\notragged}
-\setvalue{@@align@@\v!no }{\raggedright}
-\setvalue{@@align@@\v!inner }{\if@@asragged \setraggedparagraphmode\@@align@@rl\@@align@@rr \else
- \setraggedparagraphmode\@@align@@rr\@@align@@rl \fi}
-\setvalue{@@align@@\v!outer }{\if@@asragged \setraggedparagraphmode\@@align@@rr\@@align@@rl \else
- \setraggedparagraphmode\@@align@@rl\@@align@@rr \fi}
-\setvalue{@@align@@\v!left }{\if@@asragged\@@align@@rl\else\@@align@@rr\fi}
-\setvalue{@@align@@\v!right }{\if@@asragged\@@align@@rr\else\@@align@@rl\fi}
-\setvalue{@@align@@\v!middle }{\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
-\setvalue{@@align@@\v!flushleft }{\if!!donea\veryraggedright \else\raggedright\fi}
-\setvalue{@@align@@\v!flushright }{\if!!donea\veryraggedleft \else\raggedleft \fi}
-\setvalue{@@align@@\v!flushouter }{\setraggedparagraphmode\raggedleft\raggedright}
-\setvalue{@@align@@\v!flushinner }{\setraggedparagraphmode\raggedright\raggedleft}
-\setvalue{@@align@@\v!center }{\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
-\setvalue{@@align@@\v!hanging }{\enableprotruding}
-\setvalue{@@align@@\v!nothanging }{\disableprotruding}
-\setvalue{@@align@@\v!hz }{\enableadjusting}
-\setvalue{@@align@@\v!nohz }{\disableadjusting}
-\setvalue{@@align@@\v!spacing }{\enablespacehandling \enablekernhandling}
-\setvalue{@@align@@\v!nospacing }{\disablespacehandling\disablekernhandling}
-\setvalue{@@align@@\v!hyphenated }{\dohyphens}
-\setvalue{@@align@@\v!nothyphenated}{\nohyphens}
-\setvalue{@@align@@\v!new }{\@@asraggedfalse} % so new will give you consistency
-\setvalue{@@align@@\v!reset }{\notragged\normalbottom}
-
-\setvalue{@@align@@\v!tolerant }{\tolerance3000 \relax}
-\setvalue{@@align@@\v!verytolerant}{\tolerance4500 \relax}
-\setvalue{@@align@@\v!stretch }{\emergencystretch\bodyfontsize}
-
-\setvalue{@@ngila@@\v!broad }{\!!doneatrue}
-\setvalue{@@ngila@@\v!wide }{\!!donebtrue}
+\setvalue{@@ngila@@\v!broad }{\!!doneatrue}
+\setvalue{@@ngila@@\v!wide }{\!!donebtrue}
+
+\def\installalign#1#2{\setvalue{@@align@@#1}{#2}} % can be used for overloads
+
+\installalign \v!new {\@@asraggedfalse}
+\installalign \v!old {\@@asraggedtrue}
+\installalign \empty {}
+
+\installalign \v!line {\baselinebottom}
+\installalign \v!bottom {\raggedbottom}
+\installalign \v!height {\normalbottom}
+\installalign \v!width {\notragged}
+\installalign \v!normal {\notragged}
+\installalign \v!yes {\notragged}
+\installalign \v!no {\raggedright}
+\installalign \v!inner {\if@@asragged \setraggedparagraphmode\@@align@@rl\@@align@@rr \else
+ \setraggedparagraphmode\@@align@@rr\@@align@@rl \fi}
+\installalign \v!outer {\if@@asragged \setraggedparagraphmode\@@align@@rr\@@align@@rl \else
+ \setraggedparagraphmode\@@align@@rl\@@align@@rr \fi}
+\installalign \v!left {\if@@asragged\@@align@@rl\else\@@align@@rr\fi}
+\installalign \v!right {\if@@asragged\@@align@@rr\else\@@align@@rl\fi}
+\installalign \v!middle {\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
+\installalign \v!flushleft {\if!!donea\veryraggedright \else\raggedright\fi}
+\installalign \v!flushright {\if!!donea\veryraggedleft \else\raggedleft \fi}
+\installalign \v!flushouter {\setraggedparagraphmode\raggedleft\raggedright}
+\installalign \v!flushinner {\setraggedparagraphmode\raggedright\raggedleft}
+\installalign \v!center {\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
+\installalign \v!hanging {\enableprotruding}
+\installalign \v!nothanging {\disableprotruding}
+\installalign \v!hz {\enableadjusting}
+\installalign \v!nohz {\disableadjusting}
+\installalign \v!spacing {\enablespacehandling \enablekernhandling}
+\installalign \v!nospacing {\disablespacehandling\disablekernhandling}
+\installalign \v!hyphenated {\dohyphens}
+\installalign \v!nothyphenated {\nohyphens}
+\installalign \v!new {\@@asraggedfalse} % so new will give you consistency
+\installalign \v!reset {\notragged\normalbottom}
+
+\installalign \v!tolerant {\tolerance3000 \relax}
+\installalign \v!verytolerant {\tolerance4500 \relax}
+\installalign \v!stretch {\emergencystretch\bodyfontsize}
\def\dodosetupalign#1{\csname @@align@@#1\endcsname}
\def\dodosetupngila#1{\csname @@ngila@@#1\endcsname}
diff --git a/Master/texmf-dist/tex/context/base/core-var.tex b/Master/texmf-dist/tex/context/base/core-var.tex
index eba38fdc565..4db5cb6e55e 100644
--- a/Master/texmf-dist/tex/context/base/core-var.tex
+++ b/Master/texmf-dist/tex/context/base/core-var.tex
@@ -143,7 +143,7 @@
\def\dodopreventmode#1%
{\@EA\let\csname\@mode@#1\endcsname\preventedmode}
-\def\dodoenablemode#1%
+\def\dodoenablemode#1% mode can be relax
{\ifcase0\csname\@mode@#1\endcsname\relax
\@EA\let\csname\@mode@#1\endcsname\enabledmode
\fi}
@@ -153,6 +153,17 @@
\@EA\let\csname\@mode@#1\endcsname\disabledmode
\fi}
+% handy for mp
+
+\def\booleanmodevalue#1% can be \relax
+ {\expandafter\ifx\csname\@mode@#1\endcsname\relax
+ fals%
+ \else\ifnum0\csname\@mode@#1\endcsname=0
+ fals%
+ \else
+ tru%
+ \fi\fi e}
+
% check macros
\newif\ifcheckedmode
diff --git a/Master/texmf-dist/tex/context/base/core-vis.tex b/Master/texmf-dist/tex/context/base/core-vis.tex
index ed469e2e074..b20c9b9ce0b 100644
--- a/Master/texmf-dist/tex/context/base/core-vis.tex
+++ b/Master/texmf-dist/tex/context/base/core-vis.tex
@@ -319,19 +319,6 @@
\normalvskip\zeropoint\!!plus\ruleddepth}%
\fi}
-% \def\cutmarksymbols
-% {\setbox\scratchbox\normalvbox to \cutmarklength
-% {\normalvfill
-% \normalhbox to \cutmarklength
-% {\normalhfill\ssxx\cutmarksymbol\normalhfill}%
-% \normalvfill}%
-% \normalhbox to \ruledwidth
-% {\scratchdimen\cutmarklength
-% \divide\scratchdimen 2
-% \llap{\copy\scratchbox\normalhskip\cutmarkoffset\scratchdimen}%
-% \normalhfill
-% \rlap{\normalhskip\cutmarkoffset\scratchdimen\copy\scratchbox}}}
-
\def\cutmarksymbols#1%
{\normalhbox to \ruledwidth
{\setbox\scratchbox\normalhbox to \cutmarklength
@@ -348,64 +335,6 @@
\normalvss}%
\normalhss}}
-% \def\makecutbox#1%
-% {\edef\ruledheight{\the\ht#1}%
-% \edef\ruleddepth {\the\dp#1}%
-% \edef\ruledwidth {\the\wd#1}%
-% \setbox#1\normalhbox
-% {\dontcomplain
-% \forgetall
-% \boxmaxdepth\maxdimen
-% \offinterlineskip
-% \scratchdimen\cutmarklength
-% \divide\scratchdimen 2
-% \hsize\ruledwidth
-% \setbox\scratchbox\normalvbox
-% {\setbox\scratchbox\normalhbox{\horizontalcuts}%
-% \normalvskip-\cutmarkoffset\scratchdimen
-% \normalvskip-2\scratchdimen
-% \copy\scratchbox
-% \normalvskip\cutmarkoffset\scratchdimen
-% \hbox to \ruledwidth
-% {\setbox\scratchbox\normalhbox{\verticalcuts}%
-% \llap{\copy\scratchbox\normalhskip\cutmarkoffset\scratchdimen}%
-% \bgroup
-% \setbox\scratchbox\normalhbox{\baselinecuts}%
-% \llap{\copy\scratchbox\normalhskip\cutmarkoffset\scratchdimen}%
-% \normalhfill
-% \rlap{\normalhskip\cutmarkoffset\scratchdimen\copy\scratchbox}%
-% \egroup
-% \rlap{\normalhskip\cutmarkoffset\scratchdimen\copy\scratchbox}}%
-% \normalvskip\cutmarkoffset\scratchdimen
-% \copy\scratchbox}%
-% \ht\scratchbox\ruledheight
-% \dp\scratchbox\ruleddepth
-% \wd\scratchbox\zeropoint
-% \resetcolorseparation
-% \localstartcolor[\defaulttextcolor]%
-% \box\scratchbox
-% \ifx\cutmarksymbol\relax \else
-% \setbox\scratchbox\normalvbox
-% {\setbox\scratchbox\normalhbox{\cutmarksymbols}%
-% \vskip-\cutmarkoffset\scratchdimen
-% \vskip-\cutmarklength
-% \copy\scratchbox
-% \vskip\cutmarkoffset\scratchdimen
-% \vskip\ruledheight
-% \vskip\ruleddepth
-% \vskip\cutmarkoffset\scratchdimen
-% \copy\scratchbox}%
-% \ht\scratchbox\ruledheight
-% \dp\scratchbox\ruleddepth
-% \wd\scratchbox\zeropoint
-% \box\scratchbox
-% \fi
-% \localstopcolor
-% \box#1}%
-% \wd#1=\ruledwidth
-% \ht#1=\ruledheight
-% \dp#1=\ruleddepth}
-
\def\makecutbox#1% simplier with layers, todo
{\edef\ruledheight{\the\ht#1}%
\edef\ruleddepth {\the\dp#1}%
diff --git a/Master/texmf-dist/tex/context/base/enco-ans.tex b/Master/texmf-dist/tex/context/base/enco-ans.tex
index 6c7acf73189..7a48b5b5548 100644
--- a/Master/texmf-dist/tex/context/base/enco-ans.tex
+++ b/Master/texmf-dist/tex/context/base/enco-ans.tex
@@ -114,6 +114,7 @@
\definecharacter textasciitilde 158
\definecharacter textbackslash 92
\definecharacter textbraceleft 123
+\definecharacter textbar 124
\definecharacter textbraceright 125
\definecharacter textunderscore 95
diff --git a/Master/texmf-dist/tex/context/base/font-uni.tex b/Master/texmf-dist/tex/context/base/font-uni.tex
index 3dee48ec48f..5d9e7a8819f 100644
--- a/Master/texmf-dist/tex/context/base/font-uni.tex
+++ b/Master/texmf-dist/tex/context/base/font-uni.tex
@@ -450,7 +450,7 @@
% the following \relax's are realy needed
\doifvalue{\??uc#1\c!interlinespace}\v!yes
\setupinterlinespace\relax
- \doifvalue{\??uc#1\c!strut}\v!yes
+ \doifelsevalue{\??uc#1\c!strut}\v!yes
{\setunicodestrut\unicodeheight\unicodedepth}
{\resetunicodestrut}%
\getvalue{\??uc#1\c!commands}\relax}
diff --git a/Master/texmf-dist/tex/context/base/math-ext.tex b/Master/texmf-dist/tex/context/base/math-ext.tex
index 177e3c8a4a9..e2155503db4 100644
--- a/Master/texmf-dist/tex/context/base/math-ext.tex
+++ b/Master/texmf-dist/tex/context/base/math-ext.tex
@@ -63,6 +63,13 @@
% temp here
+%D We next define extensible arrows. Extensible arrows are arrows that change
+%D their length accoding to the width of the text to be placed above and below
+%D the arrow. Since we need to define a lot of arrows, we first define some
+%D helper macros. The basic idea is to measure the width of the box to be
+%D placed above and below the arrow, and make the \quotation{body} of the
+%D arrow as long as the bigger of the two widths.
+
\def\mtharrfactor{1}
\def\mtharrextra {0}
@@ -109,6 +116,9 @@
\let\domthxarrsingle\domthxarr
+%D There are some arrows which are created by stacking two arrows. The next
+%D macro helps in defining such \quotation{double arrows}.
+
\def\domthxarrdouble#1#2#3#4#5#6#7% opt l r sp rs top bot
{\mathrel
{\scratchdimen.22ex\relax
@@ -118,6 +128,67 @@
\kern-\wd2
\lower\scratchdimen\box2}}
+%D \macros{definematharrow}
+%D Macro for defining new arrows. We can define two types of arrows|<|single
+%D arrows and double arrows. Single arrows are defined as
+%D \starttyping
+%D \definematharrow [xrightarrow] [0359] [\rightarrowfill]
+%D \stoptyping
+%D The first argument is the name of the arrow (\tex{xrightarrow} in this case.)
+%D The second argument consists of a set of 4 numbers and specify the spacing
+%D correction in math units~\type{mu}. These numbers define:
+%D \startlines
+%D 1st number: arrow||tip correction
+%D 2nd number: arrow||tip correction
+%D 3rd number: space (multiplied by \tex{matharrfactor} and advanced by \tex{matharrextra})
+%D 4th number: space (multiplied by \tex{matharrfactor} and advanced by \tex{matharrextra})
+%D \stoplines
+%D
+%D The third argument is the name of the extensible fill. The third argument
+%D is optional when the arrow is redefined later (this is useful for font
+%D specific tweaking of the skips.) For example,
+%D \startbuffer
+%D \math{\xrightarrow{above}}
+%D \definematharrow[xrightarrow][0000]
+%D \math{\xrightarrow{above}}
+%D \definematharrow[xrightarrow][55{50}{50}]
+%D \math{\xrightarrow{above}}
+%D \stopbuffer
+%D \typebuffer gives {\getbuffer}
+%D
+%D The double arrows are defined as follows
+%D \starttyping
+%D \definematharrow [xrightleftharpoons] [3095,0359]
+%D [\rightharpoonupfill,\leftharpoondownfill]
+%D \stoptyping
+%D The second and the third set of arguments consist of comma separated
+%D values. The first element of the second argument (\type{3095}) corresponds
+%D to the spacing correction of top arrow fill (\tex{rightarrowupfill}).
+%D Similarly, \type{0359} corresponds to bottom arrow fill
+%D \tex{leftharpoondownfill}). Stacking them on top of each other we get
+%D $\xrightleftharpoons[big]{above}{below}$.
+%D The following math arrows are defined
+%D \midaligned{\starttable[|l|m|]
+%D \NC \tex{xrightarrow } \NC \xrightarrow [big] \NC \NR
+%D \NC \tex{xleftarrow } \NC \xleftarrow [big] \NC \NR
+%D \NC \tex{xequal } \NC \xequal [big] \NC \NR
+%D \NC \tex{xRightarrow } \NC \xRightarrow [big] \NC \NR
+%D \NC \tex{xLeftarrow } \NC \xLeftarrow [big] \NC \NR
+%D \NC \tex{xLeftrightarrow } \NC \xLeftrightarrow [big] \NC \NR
+%D \NC \tex{xleftrightarrow } \NC \xleftrightarrow [big] \NC \NR
+%D \NC \tex{xmapsto } \NC \xmapsto [big] \NC \NR
+%D \NC \tex{xtwoheadrightarrow } \NC \xtwoheadrightarrow [big] \NC \NR
+%D \NC \tex{xtwoheadleftarrow } \NC \xtwoheadleftarrow [big] \NC \NR
+%D \NC \tex{xrightharpoondown } \NC \xrightharpoondown [big] \NC \NR
+%D \NC \tex{xrightharpoonup } \NC \xrightharpoonup [big] \NC \NR
+%D \NC \tex{xleftharpoondown } \NC \xleftharpoondown [big] \NC \NR
+%D \NC \tex{xleftharpoonup } \NC \xleftharpoonup [big] \NC \NR
+%D \NC \tex{xhookleftarrow } \NC \xhookleftarrow [big] \NC \NR
+%D \NC \tex{xhookrightarrow } \NC \xhookrightarrow [big] \NC \NR
+%D \NC \tex{xleftrightharpoons } \NC \xleftrightharpoons [big] \NC \NR
+%D \NC \tex{xrightleftharpoons } \NC \xrightleftharpoons [big] \NC \NR
+%D \stoptable}
+
\def\definematharrow
{\doquadrupleargument\dodefinematharrow}
@@ -166,6 +237,14 @@
% Adapted from amsmath.
+%D \macros{mtharrowfill,defaultmtharrowfill}
+%D To extend the arrows we need to define a \quotation{math arrow fill}. This
+%D command takes 7 arguments: the first four correspond the second argument of
+%D \tex{definematharrow} explained above. The other three specify the tail,
+%D body and head of the arrow. \tex{defaultmtharrowfill} has values tweaked to
+%D match latin modern fonts. For fonts that are significantly different (e.g.
+%D cows) a different set of values need to be determined.
+
\def\mtharrowfill#1#2#3#4#5#6#7%
{$\mathsurround 0pt
\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
@@ -176,7 +255,8 @@
\def\defaultmtharrowfill{\mtharrowfill 7227}
-% Maybe redefine leftarrowfill and rightarrowfill using arrowfill
+%D We now define some arrow fills that will be used for defining the arrows.
+%D \tex{leftarrowfill} and \tex{rightarrowfill} are redefined using \tex{defaultmtharrowfill}.
\def\rightarrowfill {\defaultmtharrowfill \relbar \relbar \rightarrow }
\def\leftarrowfill {\defaultmtharrowfill \leftarrow \relbar \relbar }
@@ -196,7 +276,9 @@
\def\hookleftfill {\defaultmtharrowfill \leftarrow \relbar{\relbar\joinrel\rhook}}
\def\hookrightfill{\defaultmtharrowfill{\lhook\joinrel\relbar}\relbar \rightarrow}
-% From amsmath.sty, extarrows.sty, extpfel.sty and mathtools.sty(ams)
+%D Now we define most commonly used arrows. These include arrows defined in
+%D \filename{amsmath.sty}, \filename{extarrows.sty}, \filename{extpfel.sty}
+%D and mathtools.sty packages for \LATEX.
\definematharrow [xrightarrow] [0359] [\rightarrowfill]
\definematharrow [xleftarrow] [3095] [\leftarrowfill]
@@ -216,17 +298,21 @@
\definematharrow [xleftrightharpoons] [3399,3399] [\leftharpoonupfill,\rightharpoondownfill]
\definematharrow [xrightleftharpoons] [3399,3399] [\rightharpoonupfill,\leftharpoondownfill]
-\definematharrow [xhdefaultookleftarrow] [3095] [\hookleftfill]
-\definematharrow [xhdefaultookrightarrow] [0395] [\hookrightfill]
-
-% \startformula \xrightarrow{stuff on top}\stopformula
-% \startformula \xrightarrow{}{stuff on top}\stopformula
-% \startformula \xrightarrow{stuff below}{}\stopformula
-% \startformula \xrightarrow{stuff below}{stuff on top}\stopformula
-
-% \startformula \xleftarrow [none]{stuff below}{stuff on top}\stopformula
-% \startformula \xleftarrow [small]{stuff below}{stuff on top}\stopformula
-% \startformula \xleftarrow [medium]{stuff below}{stuff on top}\stopformula
-% \startformula \xleftarrow [big]{stuff below}{stuff on top}\stopformula
+\definematharrow [xhookleftarrow] [3095] [\hookleftfill]
+\definematharrow [xhookrightarrow] [0395] [\hookrightfill]
+
+%D These arrows can be used as folows:
+%D \startbuffer
+%D \startformula \xrightarrow{stuff on top}\stopformula
+%D \startformula \xrightarrow{}{stuff on top}\stopformula
+%D \startformula \xrightarrow{stuff below}{}\stopformula
+%D \startformula \xrightarrow{stuff below}{stuff on top}\stopformula
+%D
+%D \startformula \xleftarrow [none]{stuff below}{stuff on top}\stopformula
+%D \startformula \xleftarrow [small]{stuff below}{stuff on top}\stopformula
+%D \startformula \xleftarrow [medium]{stuff below}{stuff on top}\stopformula
+%D \startformula \xleftarrow [big]{stuff below}{stuff on top}\stopformula
+%D \stopbuffer
+%D \typebuffer which gives \getbuffer
\protect \endinput
diff --git a/Master/texmf-dist/tex/context/base/math-tex.tex b/Master/texmf-dist/tex/context/base/math-tex.tex
index d2516bc62c6..fc3cd7ae610 100644
--- a/Master/texmf-dist/tex/context/base/math-tex.tex
+++ b/Master/texmf-dist/tex/context/base/math-tex.tex
@@ -414,6 +414,7 @@
\definemathsymbol [grave] [accent] [mr] ["12]
\definemathsymbol [ddot] [accent] [mr] ["7F]
\definemathsymbol [tilde] [accent] [mr] ["7E]
+\definemathsymbol [mathring] [accent] [mr] ["17]
\definemathsymbol [bar] [accent] [mr] ["16]
\definemathsymbol [breve] [accent] [mr] ["15]
\definemathsymbol [check] [accent] [mr] ["14]
diff --git a/Master/texmf-dist/tex/context/base/meta-ini.tex b/Master/texmf-dist/tex/context/base/meta-ini.tex
index d00a8a6b196..e2f9fa1f9f7 100644
--- a/Master/texmf-dist/tex/context/base/meta-ini.tex
+++ b/Master/texmf-dist/tex/context/base/meta-ini.tex
@@ -761,6 +761,11 @@
\stopMPinitializations
\appendtoks
+ \disablediscretionaries
+ \disablecompoundcharacters
+\to\everyMPgraphic
+
+\appendtoks
\expanded{\definecolor[currentcolor][\currentcolorname]}%
\to \everyMPgraphic
diff --git a/Master/texmf-dist/tex/context/base/page-mul.tex b/Master/texmf-dist/tex/context/base/page-mul.tex
index 4fd0979f8b8..edbf6206e02 100644
--- a/Master/texmf-dist/tex/context/base/page-mul.tex
+++ b/Master/texmf-dist/tex/context/base/page-mul.tex
@@ -1654,14 +1654,20 @@
\doifelse\@@klbalance\v!yes
\balancecolumnstrue
\balancecolumnsfalse
- \processaction % ook nog: laatsteuitlijnen
- [\@@klalign]
- [ \v!yes=>\stretchcolumnstrue
- \inheritcolumnsfalse,
- \v!no=>\stretchcolumnsfalse
- \inheritcolumnsfalse,
- \v!text=>\stretchcolumnsfalse
- \inheritcolumnstrue]%
+\installalign\v!yes {\stretchcolumnstrue \inheritcolumnsfalse}% todo: new key
+\installalign\v!no {\stretchcolumnsfalse\inheritcolumnsfalse}% todo: new key
+\installalign\v!text{\stretchcolumnsfalse\inheritcolumnstrue }%
+\stretchcolumnsfalse
+\inheritcolumnstrue
+\doifsomething\@@klalign{\expanded{\setupalign[\@@klalign]}}%
+% \processaction
+% [\@@klalign]
+% [ \v!yes=>\stretchcolumnstrue
+% \inheritcolumnsfalse,
+% \v!no=>\stretchcolumnsfalse
+% \inheritcolumnsfalse,
+% \v!text=>\stretchcolumnsfalse
+% \inheritcolumnstrue]%
\nofcolumns=\@@kln
%
% probably more is needed, and how about nesting save's
diff --git a/Master/texmf-dist/tex/context/base/s-map-10.tex b/Master/texmf-dist/tex/context/base/s-map-10.tex
index 800eb5c156f..ec7ef6128b2 100644
--- a/Master/texmf-dist/tex/context/base/s-map-10.tex
+++ b/Master/texmf-dist/tex/context/base/s-map-10.tex
@@ -36,6 +36,8 @@
\doifmode{asym}{\enablemode[onecolumn]} % implies onecolumn
\doifnotmode{onecolumn}{\MapsInColumnstrue}
+\enablemode[realfonts]
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% fonts
diff --git a/Master/texmf-dist/tex/context/base/s-ptj-01.tex b/Master/texmf-dist/tex/context/base/s-ptj-01.tex
index 98ec3ae031f..188af73bd7e 100644
--- a/Master/texmf-dist/tex/context/base/s-ptj-01.tex
+++ b/Master/texmf-dist/tex/context/base/s-ptj-01.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=s-ptj-01,
-%D version=2006.11.14,
+%D version=2006.11.28,
%D title=\CONTEXT\ Style File,
%D subtitle=PracTeX Journal Style,
%D author=Aditya Mahajan,
@@ -11,41 +11,31 @@
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%C
-%C This work may be distributed and|/|or modified under the
-%C conditions of the \LATEX\ Project Public License, either version~1.3
-%C of this license or (at your option) any later version.
-%C The latest version of this license is in
-%C \hyphenatedurl{http://www.latex-project.org/lppl.txt}
-%C and version~1.3 or later is part of all distributions of \LATEX\
-%C version~2005/12/01 or later.
-%C
-%C This work has the LPPL maintenance status \quote{maintained}.
-%C
-%C The Current Maintainer of this work is Aditya Mahajan.
-%C
-%C The Base Interpreter for this work is any \CONTEXT||formal.
-%C
-%C This work consists of the file \filename{t-pracjourn.tex}.
%M % These macros are needed to compile the documentation.
%M \def\PracTeX{Prac\kern-0.07em\TeX}
%M \def\PRACTEX{\PracTeX}
%M \def\TPJ {The \PRACTEX\ Journal}
%M \useurl[TPJ][http://www.tug.org/pracjourn/][][\TPJ]
+%M \useurl[texgyre][http://www.gust.org.pl/projects/e-foundry/tex-gyre/]
\writestatus {loading} {Context Module for the PracTeX Journal}
%D This module is for producing acticles for \from[TPJ]. It merely copies the
%D layout of the the \LATEX\ class \filename{pracjourn.cls} available from
-%D \TPJ\ website (\url[TPJ]). A sample document is given at the end of this
-%D file. The typeset sample can be obtained by
+%D \TPJ\ website (\url[TPJ]). This module has a filename synonym
+%D \filename{pracjourn}. So to use this module, you can write:
%D \starttyping
-%D texexec --mode=demo s-pracjourn.tex
+%D \usemodule[pracjourn]
+%D \stoptyping
+%D A sample document is given at the end of this file. The typeset sample can
+%D be obtained by
+%D \starttyping
+%D texmfstart texexec --mode=demo s-ptj-01.tex
%D \stoptyping
%D The documentation is written as comments. If you want to see a \PDF\ copy
%D \starttyping
-%D texexec --module s-pracjourn.tex
+%D texmfstart texexec --module s-ptj-01.tex
%D \stoptyping
\startmodule[pracjourn]
@@ -78,14 +68,14 @@
footerdistance=.25in,
]
-
%D Next we do the font setup. \TPJ\ uses mathpazo for roman and math faces and
%D uses latin modern for sans serif and monotype. For the main face, 12pt is
%D used with a 15.5pt baseline skip. Font protrusion is enabled, but font
-%D expansion is not. We follow these conventions, but use
-%D Pagella fonts from \TEX{gyre} project, and scale latin modern fonts by
-%D 1.1 for better matching. Most of the numbers (page numbers, figure numbers,
-%D section numbers) are set in oldstyle.
+%D expansion is not. We follow these conventions, but use Pagella fonts from
+%D \TEX{gyre} project, and scale latin modern fonts by 1.1 for better
+%D matching. Right now, the \TEX{gyre} fonts are not distributed with
+%D \CONTEXT. They can be downloaded from \url[texgyre]. Most of the numbers
+%D (page numbers, figure numbers, section numbers) are set in oldstyle.
\usetypescript [serif,sans,mono] [hanging] [pure]
\setupalign [hanging]
@@ -235,8 +225,8 @@
{\doadditionalinfo{Address}{\getvariable{pracjourn}{address}}}
\iftitleskipdone \blank[big] \fi
\doadditionalinfo{Abstract}%
- {\setupindenting[yes]
- \setupinterlinespace
+ {\setupindenting[yes]%
+ \setupinterlinespace%
\getbuffer[abstract]
\endgraf}
\egroup
@@ -368,8 +358,9 @@
\setupwhitespace [medium]
\setupblank [medium]
-%D We define logos for \PRACTEX\ and \TPJ. These can be accessed by
-%D \type|\PracTeX|, \type|\PRACTEX| and \type|\TPJ|.
+%D We define logos for \PRACTEX\ and \TPJ. These definitions are copied from
+%D \filename{pracjourn.cls} and can be accessed by \type|\PracTeX|,
+%D \type|\PRACTEX| and \type|\TPJ|.
\def\PracTeX{Prac\kern-0.07em\TeX}
\def\PRACTEX{\PracTeX}
@@ -409,6 +400,7 @@
\immediate\closein\scratchread
\protect
+
\stopmodule
\doifnotmode{demo}{\endinput}
diff --git a/Master/texmf-dist/tex/context/base/spec-dpx.tex b/Master/texmf-dist/tex/context/base/spec-dpx.tex
index 0f038034272..1522304e7d3 100644
--- a/Master/texmf-dist/tex/context/base/spec-dpx.tex
+++ b/Master/texmf-dist/tex/context/base/spec-dpx.tex
@@ -119,7 +119,7 @@
% \definefileinsertion{dpx}{mps}{\handleepsimage}
-\definefileinsertion{tpd}{mps}
+\definefileinsertion{dpx}{mps}
{\hbox
{\convertMPtoPDF\@@DriverImageFile{1}{1}%
\global\let\PDFimagereference\empty}}
diff --git a/Master/texmf-dist/tex/context/base/spec-tst.tex b/Master/texmf-dist/tex/context/base/spec-tst.tex
index 9f150dfe367..b8424e18ee1 100644
--- a/Master/texmf-dist/tex/context/base/spec-tst.tex
+++ b/Master/texmf-dist/tex/context/base/spec-tst.tex
@@ -31,6 +31,7 @@
\long\def\sanitizePDFuniencoding#1\to#2%
{\enablePDFunicrlf
+ \simplifycommands % added due to Dohyun Kim
\let\unicodechar\relax % prevent further expansion
\retainlccodes\lccode32=255 % slooow
\lowercasestring\PDFunicodetrigger#1\to#2%
diff --git a/Master/texmf-dist/tex/context/base/supp-mps.tex b/Master/texmf-dist/tex/context/base/supp-mps.tex
index e03ef826c35..d6e015372ee 100644
--- a/Master/texmf-dist/tex/context/base/supp-mps.tex
+++ b/Master/texmf-dist/tex/context/base/supp-mps.tex
@@ -388,6 +388,8 @@
\fi
\next}
+\appendtoks \obeyMPlines \to \everyMPgraphic % more efficient than in each following grouped write
+
\long\def\writeMPgraphiclongR#1% fast, no scanning
{\bgroup
\let\par\space
diff --git a/Master/texmf-dist/tex/context/base/symb-glm.tex b/Master/texmf-dist/tex/context/base/symb-glm.tex
index 63ac4ed2664..b07a3a42669 100644
--- a/Master/texmf-dist/tex/context/base/symb-glm.tex
+++ b/Master/texmf-dist/tex/context/base/symb-glm.tex
@@ -36,26 +36,26 @@
%
% but was also one of the reasons for triggering the lm project, so:
-\definefontsynonym [GuilSerif] [cork-lmr10] [encoding=ec]
-\definefontsynonym [GuilSerifBold] [cork-lmbx10] [encoding=ec]
-\definefontsynonym [GuilSerifItalic] [cork-lmti10] [encoding=ec]
-\definefontsynonym [GuilSerifSlanted] [cork-lmsl10] [encoding=ec]
-\definefontsynonym [GuilSerifBoldItalic] [cork-lmbxti10] [encoding=ec]
-\definefontsynonym [GuilSerifBoldSlanted] [cork-lmbxsl10] [encoding=ec]
+\definefontsynonym [GuilSerif] [ec-lmr10] [encoding=ec]
+\definefontsynonym [GuilSerifBold] [ec-lmbx10] [encoding=ec]
+\definefontsynonym [GuilSerifItalic] [ec-lmti10] [encoding=ec]
+\definefontsynonym [GuilSerifSlanted] [ec-lmsl10] [encoding=ec]
+\definefontsynonym [GuilSerifBoldItalic] [ec-lmbxti10] [encoding=ec]
+\definefontsynonym [GuilSerifBoldSlanted] [ec-lmbxsl10] [encoding=ec]
-\definefontsynonym [GuilSans] [cork-lmss10] [encoding=ec]
-\definefontsynonym [GuilSansBold] [cork-lmssbx10] [encoding=ec]
-\definefontsynonym [GuilSansItalic] [cork-lmssi10] [encoding=ec]
-\definefontsynonym [GuilSansSlanted] [cork-lmssi10] [encoding=ec]
-\definefontsynonym [GuilSansBoldItalic] [cork-lmssbi10] [encoding=ec]
-\definefontsynonym [GuilSansBoldSlanted] [cork-lmssbi10] [encoding=ec]
+\definefontsynonym [GuilSans] [ec-lmss10] [encoding=ec]
+\definefontsynonym [GuilSansBold] [ec-lmssbx10] [encoding=ec]
+\definefontsynonym [GuilSansItalic] [ec-lmssi10] [encoding=ec]
+\definefontsynonym [GuilSansSlanted] [ec-lmssi10] [encoding=ec]
+\definefontsynonym [GuilSansBoldItalic] [ec-lmssbi10] [encoding=ec]
+\definefontsynonym [GuilSansBoldSlanted] [ec-lmssbi10] [encoding=ec]
-\definefontsynonym [GuilMono] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoBold] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoSlanted] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoItalic] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoBoldItalic] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoBoldSlanted] [cork-lmtt10] [encoding=ec]
+\definefontsynonym [GuilMono] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoBold] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoSlanted] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoItalic] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoBoldItalic] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoBoldSlanted] [ec-lmtt10] [encoding=ec]
\definesymbol [xleftguillemot] [\getglyph{Guil}{\char19}]
\definesymbol [xrightguillemot] [\getglyph{Guil}{\char20}]
diff --git a/Master/texmf-dist/tex/context/base/syst-xtx.tex b/Master/texmf-dist/tex/context/base/syst-xtx.tex
index 3c60b7824ed..3cf5aa29bac 100644
--- a/Master/texmf-dist/tex/context/base/syst-xtx.tex
+++ b/Master/texmf-dist/tex/context/base/syst-xtx.tex
@@ -39,6 +39,10 @@
\input enco-xtx.tex
\fi
+\ifx\XeTeXuseglyphmetrics\undefined \else
+ \XeTeXuseglyphmetrics=1
+\fi
+
% patch needed for turkish
\setcclcuc 201C 201C 201C
diff --git a/Master/texmf-dist/tex/context/base/unic-cjk.tex b/Master/texmf-dist/tex/context/base/unic-cjk.tex
index 2835e6cf147..a4155f13605 100644
--- a/Master/texmf-dist/tex/context/base/unic-cjk.tex
+++ b/Master/texmf-dist/tex/context/base/unic-cjk.tex
@@ -11,6 +11,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\dostepwiserecurse{40}{159}{1}{\expanded{\defineunicodecommand {\recurselevel}} {\lookaheaduchar}}
+\dostepwiserecurse {40}{159}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}}
+\dostepwiserecurse{172}{215}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}}
+\dostepwiserecurse{249}{250}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}}
\endinput
diff --git a/Master/texmf-dist/tex/context/base/x-newmml.tex b/Master/texmf-dist/tex/context/base/x-newmml.tex
index 690c9ca7043..803190ee44d 100644
--- a/Master/texmf-dist/tex/context/base/x-newmml.tex
+++ b/Master/texmf-dist/tex/context/base/x-newmml.tex
@@ -100,6 +100,16 @@
\def\setupMMLappearance[#1]{\dodoubleargument\getparameters[@@MML#1]}
+\def\startusingMMLarguments % optional maken
+ {\begingroup
+ %\expandXMLta % expand entities first
+ \getXMLta}
+
+\def\stopusingMMLarguments % optional maken
+ {\endgroup}
+
+\def\MMLargumentprefix{@@MML\currentXMLelement}
+
%D We will apply inner math to all bits and pieces made up by an
%D \type {apply}.
@@ -138,7 +148,7 @@
{\donetrue}
{\XMLdoifonstackelse{apply}
{\defXMLfirstnamedtext\ascii{apply}%
- \startsavingXMLelements % best use a substack so that we donnot need to \edef
+ \startsavingXMLelements % best use a substack so that we do not need to \edef
\ascii
\stopsavingXMLelements}
{}%
@@ -993,35 +1003,41 @@
\defineXMLcommand [rem] {\flushXMLstackwith\plustwo{\getXMLentity{mod}}}
-\defineXMLcommand [times] {\directsetup{mmc:times}}
-
\setupMMLappearance [times] [\c!symbol=\v!no,\c!auto=\v!yes] % new, auto catches cn cn cn
+\defineXMLcommand [times] [\MMLargumentprefix] [] {\directsetup{mmc:times}}
+
\startsetups mmc:times
- \setMMLcreset{\MMLcfunctionlist,\MMLcconstructlist}%
- \doifelse\@@MMLtimesauto\v!no {
- \let\@@MMLtimes@@symbol\@@MMLtimessymbol
- } {
- \countXMLnamedstack {cn}
- \ifnum\scratchcounter>\plusone
- \let\@@MMLtimes@@symbol\v!yes
- \else
- \let\@@MMLtimes@@symbol\@@MMLtimessymbol
- \fi
- }
- \doifelse\@@MMLtimes@@symbol\v!yes {
- \flushXMLstackwith\plustwo\times
- } {
- \doifelse\@@MMLtimes@@symbol{dot} {
- \flushXMLstackwith\plustwo\cdot
+ \startusingMMLarguments
+ \setMMLcreset{\MMLcfunctionlist,\MMLcconstructlist}%
+ \doifelse\@@MMLtimesauto\v!no {
+ \let\@@MMLtimes@@symbol\@@MMLtimessymbol
} {
- \doifelse\@@MMLtimes@@symbol{times} {
- \flushXMLstackwith\plustwo\times
+ \countXMLnamedstack {cn}
+ \ifnum\scratchcounter>\plusone
+ \doifinsetelse\@@MMLtimessymbol{\v!yes,\v!no} {
+ \let\@@MMLtimes@@symbol\v!yes
+ } {
+ \let\@@MMLtimes@@symbol\@@MMLtimessymbol
+ }
+ \else
+ \let\@@MMLtimes@@symbol\@@MMLtimessymbol
+ \fi
+ }
+ \doifelse\@@MMLtimes@@symbol\v!yes {
+ \flushXMLstackwith\plustwo\times
+ } {
+ \doifelse\@@MMLtimes@@symbol{dot} {
+ \flushXMLstackwith\plustwo\cdot
} {
- \flushXMLstackwith\plustwo\empty
+ \doifelse\@@MMLtimes@@symbol{times} {
+ \flushXMLstackwith\plustwo\times
+ } {
+ \flushXMLstackwith\plustwo\empty
+ }
}
}
- }
+ \stopusingMMLarguments
\stopsetups
\defineXMLcommand [root] {\directsetup{mmc:root}}
diff --git a/Master/texmf-dist/tex/context/base/x-om2cml.xsl b/Master/texmf-dist/tex/context/base/x-om2cml.xsl
index 60888c10d7c..4bc1818078b 100644
--- a/Master/texmf-dist/tex/context/base/x-om2cml.xsl
+++ b/Master/texmf-dist/tex/context/base/x-om2cml.xsl
@@ -177,7 +177,29 @@
<!-- Trivial Cases: abs, divide, gcd, lcm, minus, plus -->
<xsl:template match="om:OMS[@cd='arith1']">
- <xsl:element name="{@name}"/>
+ <xsl:element name="{@name}">
+ <xsl:choose>
+ <xsl:when test="@name='times'">
+ <xsl:choose>
+ <xsl:when test="../@style='empty'">
+ <xsl:attribute name='symbol'></xsl:attribute>
+ </xsl:when>
+ <xsl:when test="../@style='cross'">
+ <xsl:attribute name='symbol'>times</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="../@style=''">
+ <!-- inherit from parent times -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name='symbol'><xsl:value-of select="../@style"/></xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- forget about it -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
</xsl:template>
<!-- unary_minus -->