summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-des.tex4
-rw-r--r--tex/context/base/core-itm.tex27
-rw-r--r--tex/context/base/core-mar.tex224
-rw-r--r--tex/context/base/core-new.tex228
-rw-r--r--tex/context/base/core-not.tex4
-rw-r--r--tex/context/base/core-rul.tex19
-rw-r--r--tex/context/base/core-sec.tex66
-rw-r--r--tex/context/base/core-spa.tex63
-rw-r--r--tex/context/base/core-var.tex228
-rw-r--r--tex/context/base/hand-def.tex2
-rw-r--r--tex/context/base/lang-ini.tex32
-rw-r--r--tex/context/base/m-dratex.tex21
-rw-r--r--tex/context/base/meta-ini.tex18
-rw-r--r--tex/context/base/mult-com.tex6
-rw-r--r--tex/context/base/page-set.tex82
-rw-r--r--tex/context/base/s-pre-60.tex10
-rw-r--r--tex/context/base/s-syn-01.tex54
-rw-r--r--tex/context/base/supp-mpe.tex34
-rw-r--r--tex/context/base/supp-pdf.tex3
-rw-r--r--tex/context/base/syst-ext.tex2
-rw-r--r--tex/context/base/type-exa.tex11
-rw-r--r--tex/context/base/type-map.tex56
-rw-r--r--tex/context/interface/cont-cz.xml1
-rw-r--r--tex/context/interface/cont-de.xml1
-rw-r--r--tex/context/interface/cont-en.xml1
-rw-r--r--tex/context/interface/cont-it.xml1
-rw-r--r--tex/context/interface/cont-nl.xml3
-rw-r--r--tex/context/interface/cont-ro.xml1
-rw-r--r--tex/context/interface/keys-cz.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml8
-rw-r--r--tex/context/interface/keys-ro.xml2
35 files changed, 882 insertions, 340 deletions
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 047ea3570..b9b3d014a 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -31,7 +31,7 @@
%D 2004.8.30 the low level interface is english. Watch out and adapt
%D your styles an modules.
-\def\contextversion{2005.11.24}
+\def\contextversion{2005.11.30}
%D For those who want to use this:
diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex
index c7f4a976e..9d610ef5f 100644
--- a/tex/context/base/core-des.tex
+++ b/tex/context/base/core-des.tex
@@ -321,8 +321,8 @@
\def\@@stopdescription#1%
{\def\currentdescription{#1}%
- \dostopattributes
- \par % maybe better after \dostopattributes
+ % was \par \dostopattributes % here, else problems with interlinespace and font change
+ \dostopparbasedattributes % == \settrue\parbasedattributes \dostopattributes
\endgroup
\descriptionparameter\c!after
\egroup % temporary hack
diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex
index 478575184..09fcea312 100644
--- a/tex/context/base/core-itm.tex
+++ b/tex/context/base/core-itm.tex
@@ -121,6 +121,7 @@
\c!stopper,\c!placestopper,\c!indenting,
\c!n,\c!inner,\c!symbol,\c!margin,\c!items,
\c!leftmargin,\c!rightmargin,\c!indentnext,
+ \c!command,
\c!start,\c!lefttext,\c!righttext]}
\def\setupitemgroups
@@ -635,7 +636,7 @@
\else
\par
\fi
- \ignorespaces
+% \ignorespaces
\increment\noflistelements
\ifnum\itemcolumndepth=\zerocount \ifconditional\optimizelistitem
\ifnum\noflistelements=\plusone % tgv bv kolommen/nesting
@@ -720,7 +721,7 @@
\setfalse\headlistitem
\setfalse\sublistitem
\setfalse\symbollistitem
- \EveryPar{\ignorespaces}%
+ \EveryPar{\ignorespaces}% needed ?
\ignorespaces}
% For Frank Grieshaber and Mojca Miklavec:
@@ -752,7 +753,7 @@
\else
\par
\fi
- \ignorespaces
+% \ignorespaces
\ifconditional\concatnextitem % new, concat
\doitembreak\nobreak % new, concat
\fi % new, concat
@@ -793,8 +794,9 @@
\vskip-\lineheight % new, concat
\nobreak % new, concat
\fi % new, concat
- \ignorespaces
+% \ignorespaces
\dolistitem
+ \relax
\ifconditional\packlistitem
\setupwhitespace[\v!none]%
\fi
@@ -810,8 +812,24 @@
\strut % added 11-08-99
\setfalse\concatnextitem % new, concat
\hskip\itemsignal % new, concat
+ \getitemparameter\itemlevel\c!command} % \defaultitemcommand
+
+\def\defaultitemcommand
+ {\EveryPar{\ignorespaces}% needed ?
\ignorespaces}
+% For Giuseppe "Oblomov" Bilotta, inspired on a suggestion by Taco
+% Hoekwater.
+%
+% \def\MyItemCommand#1{{\bf#1}\quad}
+% \setupitemgroup[itemize][command=\MyItemCommand]
+%
+% \startitemize
+% \item {test} is this okay?
+% \item {test} is this okay?
+% \item {test} is this okay?
+% \stopitemize
+
\def\complexitem[#1]#2\par % todo: no two pass data
{\startitemgroup[#1]
\complexdoitemgroupitem[]\ignorespaces\begstrut#2\unskip\endstrut\par
@@ -932,6 +950,7 @@
\c!righttext=),
\c!start=1,
\c!option=,
+ \c!command=\defaultitemcommand,
\c!symbol=\itemlevel] % \v!niveau
\def\defineitemgroup
diff --git a/tex/context/base/core-mar.tex b/tex/context/base/core-mar.tex
index cdc09838e..836d90430 100644
--- a/tex/context/base/core-mar.tex
+++ b/tex/context/base/core-mar.tex
@@ -103,14 +103,17 @@
\ifx\decouplemarking\undefined \def\decouplemarking[#1]{} \fi
+\let\alldefinedmarks\empty
+
\def\dododefinemarking[#1][#2]%
{\getparameters[\??mk#1]
- [\c!expansion=\v!no, % saves a macro
- \c!separator={ --- }, % watch the spaces
+ [\c!expansion=\v!no, % saves a macro
+ \c!separator={\space\emdash\space},
\c!limittext=\@@kolimittext,
\c!state=\v!start]%
\decouplemarking[#1]% % no coupling with sections
\setevalue{\??mk#1\c!coupling}{#2}%
+ \doglobal\addtocommalist{#2}\alldefinedmarks
\expandafter\newmark\csname\??mk#2\endcsname
\showmessage\m!systems{13}{#1,[#2]}}
@@ -138,64 +141,221 @@
{\doifdefinedelse{\??mk#1}}
% \def\fetchmark[#1][#2]% never \unexpanded
-% {\@EA\@EA\csname\??mk\??mk#2\endcsname
-% \csname\??mk\mainmarking{#1}\endcsname}
+% {\@EA\csname\??mk\??mk#2\@EA\endcsname\csname\??mk\mainmarking{#1}\endcsname}
+
+% \beginTEX
+%
+% \def\fetchmark[#1][#2]% never \unexpanded
+% {\@EA\ifx\csname\??mk#1\c!coupling\endcsname\relax\else
+% \csname\??mk\??mk#2\@EA\endcsname
+% \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+% \fi}
+%
+% \endTEX
+%
+% \beginETEX \ifcsname
+%
+% \def\fetchmark[#1][#2]% never \unexpanded
+% {\ifcsname\??mk#1\c!coupling\endcsname
+% \csname\??mk\??mk#2\@EA\endcsname
+% \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+% \fi}
+%
+% \endETEX
+%
+% \def\fetchtwomarks[#1]%
+% {\doifsomething{\fetchmark[#1][\v!first]}
+% {\fetchmark[#1][\v!first]%
+% \doifsomething{\fetchmark[#1][\v!last]}
+% {\doifnot{\fetchmark[#1][\v!first]}{\fetchmark[#1][\v!last]}
+% {\getvalue{\??mk#1\c!separator}\fetchmark[#1][\v!last]}}}}
+%
+% \def\fetchallmarks[#1]%
+% {\doifsomething{\fetchmark[#1][\v!first]}
+% {\doifsomething{\fetchmark[#1][\v!previous]}
+% {\doifnot{\fetchmark[#1][\v!previous]}{\fetchmark[#1][\v!first]}
+% {\fetchmark[#1][\v!previous]\getvalue{\??mk#1\c!separator}}}}%
+% \fetchtwomarks[#1]}
+%
+% \def\dogetmarking[#1][#2]%
+% {\doifvalue{\??mk#1\c!state}\v!start
+% {\bgroup
+% %\def\nomarking##1{\unknown\ }%
+% \def\nomarking{\splitsequence{\getvalue{\??mk#1\c!limittext}}}%
+% \setfullsectionnumber{\??mk#1}%
+% \processaction % slow
+% [#2]
+% [ \v!both=>{\fetchtwomarks[#1]},
+% \v!all=>{\fetchallmarks[#1]},
+% \s!default=>{\fetchmark [#1][\v!first]},
+% \s!unknown=>{\fetchmark [#1][#2]}]%
+% \egroup}}
+%
+% \def\nogetmarking[#1][#2]%
+% {}
+%
+% \unexpanded\def\getmarking
+% {\dodoubleargument\dogetmarking}
\beginTEX
-\def\fetchmark[#1][#2]% never \unexpanded
- {\@EA\ifx\csname\??mk#1\c!coupling\endcsname\else
- \@EA\@EA\csname\??mk\??mk#2\endcsname
- \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+\def\fetchmark[#1][#2]% % expandable / never use \unexpanded
+ {\@EA\ifx\csname\??mk::#1\endcsname\relax
+ \@EA\ifx\csname\??mk#1\c!coupling\endcsname\relax
+ % nothing
+ \else
+ \csname\??mk\??mk#2\@EA\endcsname
+ \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+ \fi
+ \else
+ \csname\??mk::\??mk::#2\@EA\@EA\@EA\endcsname
+ \csname\??mk::#1\endcsname
\fi}
\endTEX
\beginETEX \ifcsname
-\def\fetchmark[#1][#2]% never \unexpanded
- {\ifcsname\??mk#1\c!coupling\endcsname
- % \@EA\@EA\csname\??mk\??mk#2\endcsname
- % \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+\def\fetchmark[#1][#2]% % expandable / never use \unexpanded
+ {\ifcsname\??mk::#1\endcsname % saved mark
+ \csname\??mk::\??mk::#2\@EA\@EA\@EA\endcsname
+ \csname\??mk::#1\endcsname
+ \else\ifcsname\??mk#1\c!coupling\endcsname % real mark
\csname\??mk\??mk#2\@EA\endcsname
\csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
- \fi}
+ \fi\fi}
\endETEX
+\def\fetchmark[#1][#2]% % expandable / never use \unexpanded
+ {\ifcsname\??mk::#1\endcsname % saved mark
+ \csname\??mk::\??mk::#2\@EA\@EA\@EA\endcsname
+ \csname\??mk::#1\endcsname
+ \else\ifcsname\??mk#1\c!coupling\endcsname % real mark
+ \csname\??mk\??mk#2\@EA\endcsname
+ \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+ \fi\fi}
+
+\letvalue{\??mk::\??mk::\v!previous}\firstoffourarguments
+\letvalue{\??mk::\??mk::\v!first }\secondoffourarguments
+\letvalue{\??mk::\??mk::\v!last }\thirdoffourarguments
+\letvalue{\??mk::\??mk::\v!current }\fourthoffourarguments
+
+% this version can be used when a page is built up in steps without
+% feedback of the otr'd list to the mvl (i.e.\ a page made of pages,
+% as in column sets where content is buffered)
+
+% reset at begin
+% preset before page
+% bubble in column
+% refresh at end
+
+\def\refreshsavedmark[#1][#2]% mark tag (packing saves many hash entries)
+ {\setxvalue{\??mk::#1:#2}%
+ {{\@EA\ifx\csname\??mk::#1:pp\endcsname\relax
+ % empty
+ \else
+ \csname\??mk::#1:pp\endcsname
+ \fi}%
+ {\@EA\ifx\csname\??mk::#1:ff\endcsname\relax
+ \fetchmark[#1][\v!first]%
+ \else
+ \csname\??mk::#1:ff\endcsname
+ \fi}%
+ {\fetchmark[#1][\v!last]}%
+ {\fetchmark[#1][\v!current]}}%
+ \setxvalue{\??mk::#1:pp}{\fetchmark[#1][\v!first]}%
+ \letgvalue{\??mk::#1:ff}\relax
+ }
+
+\def\bubblesavedmark[#1][#2]% no packing (not now, maybe make a six-pack later)
+ {\@EA\ifx\csname\??mk::#1:ff\endcsname\relax
+ \setxvalue{\??mk::#1:ff}{\fetchmark[#1][\v!first]}%
+ \fi}
+
+\def\resetsavedmark[#1][#2]% mark tag
+ {\doifelsenothing{\fetchmark[#1][\v!previous]}
+ {\letgvalue{\??mk::#1:pp}\relax}
+ {\setxvalue{\??mk::#1:pp}{\fetchmark[#1][\v!previous]}}%
+ \doifelsenothing{\fetchmark[#1][\v!first]}
+ {\letgvalue{\??mk::#1:ff}\relax}
+ {\setxvalue{\??mk::#1:ff}{\fetchmark[#1][\v!first]}}%
+ \letgvalue{\??mk::#1:#2}\emptysavedmark}
+
+\def\presetsavedmark[#1][#2]% mark tag
+ {\letgvalue{\??mk::#1:#2}\emptysavedmark}
+
+\def\emptysavedmark{{}{}{}{}}
+
+% new (can be used in column sets)
+%
+% \getsavedmarking[M][previous]
+% \getsavedmarking[M][first]
+% \getsavedmarking[M][last]
+
+\def\getsavedmarking
+ {\dodoubleargument\dogetsavedmarking}
+
+\def\dogetsavedmarking[#1][#2]%
+ {\doifelse{#2}\v!previous
+ {\getmarking[#1][1][\v!previous]}
+ {\doifelse{#2}\v!first
+ {\getmarking[#1][1][\v!first]}
+ {\getmarking[#1][\v!last]}}}
+
+% fetching
+
\def\fetchtwomarks[#1]%
- {\doifsomething{\fetchmark[#1][\v!first]}
- {\fetchmark[#1][\v!first]%
- \doifsomething{\fetchmark[#1][\v!last]}
- {\doifnot{\fetchmark[#1][\v!first]}{\fetchmark[#1][\v!last]}
- {\getvalue{\??mk#1\c!separator}\fetchmark[#1][\v!last]}}}}
+ {\dofetchtwomarks[#1][#1]}
\def\fetchallmarks[#1]%
- {\doifsomething{\fetchmark[#1][\v!first]}
- {\doifsomething{\fetchmark[#1][\v!previous]}
- {\doifnot{\fetchmark[#1][\v!previous]}{\fetchmark[#1][\v!first]}
- {\fetchmark[#1][\v!previous]\getvalue{\??mk#1\c!separator}}}}%
- \fetchtwomarks[#1]}
+ {\dofetchallmarks[#1][#1]}
+
+\def\dofetchtwomarks[#1][#2]% class class:tag
+ {\doifsomething{\fetchmark[#2][\v!first]}
+ {\fetchmark[#2][\v!first]%
+ \doifsomething{\fetchmark[#2][\v!last]}
+ {\doifnot{\fetchmark[#2][\v!first]}{\fetchmark[#2][\v!last]}
+ {\getvalue{\??mk#1\c!separator}\fetchmark[#2][\v!last]}}}}
+
+\def\dofetchallmarks[#1][#2]%
+ {\doifsomething{\fetchmark[#2][\v!first]}
+ {\doifsomething{\fetchmark[#2][\v!previous]}
+ {\doifnot{\fetchmark[#2][\v!previous]}{\fetchmark[#2][\v!first]}
+ {\fetchmark[#2][\v!previous]\getvalue{\??mk#1\c!separator}}}}%
+ \fetchtwomarks[#1][#2]}
+
+% \newtoks \everymarking
-\def\dogetmarking[#1][#2]%
+\def\dogetmarking[#1][#2][#3]%
{\doifvalue{\??mk#1\c!state}\v!start
{\bgroup
+ \the\everymarking
%\def\nomarking##1{\unknown\ }%
\def\nomarking{\splitsequence{\getvalue{\??mk#1\c!limittext}}}%
\setfullsectionnumber{\??mk#1}%
- \processaction % slow
- [#2]
- [ \v!both=>{\fetchtwomarks[#1]},
- \v!all=>{\fetchallmarks[#1]},
- \s!default=>{\fetchmark [#1][\v!first]},
- \s!unknown=>{\fetchmark [#1][#2]}]%
+ \ifthirdargument
+ \processaction % slow
+ [#3]
+ [ \v!both=>{\dofetchtwomarks[#1][#1:#2]},
+ \v!all=>{\dofetchallmarks[#1][#1:#2]},
+ \s!default=>{\fetchmark [#1:#2][\v!first]},
+ \s!unknown=>{\fetchmark [#1:#2][#3]}]%
+ \else
+ \processaction % slow
+ [#2]
+ [ \v!both=>{\dofetchtwomarks[#1][#1]},
+ \v!all=>{\dofetchallmarks[#1][#1]},
+ \s!default=>{\fetchmark [#1][\v!first]},
+ \s!unknown=>{\fetchmark [#1][#2]}]%
+ \fi
\egroup}}
-\def\nogetmarking[#1][#2]%
+\def\nogetmarking[#1][#2][#3]%
{}
\unexpanded\def\getmarking
- {\dodoubleargument\dogetmarking}
+ {\dotripleargument\dogetmarking}
\let\setsomemark\setmark
diff --git a/tex/context/base/core-new.tex b/tex/context/base/core-new.tex
index 71be6466a..0f3cb0c1a 100644
--- a/tex/context/base/core-new.tex
+++ b/tex/context/base/core-new.tex
@@ -15,234 +15,6 @@
\unprotect
-% Some kind of new feature, for the moment a private one.
-%
-% \enablemode[screen,paper,bound]
-%
-% \doifmodeelse {paper} {this} {that}
-% \doifmode {paper,screen} {this}
-% \doifnotmode {paper,bound} {that}
-%
-% \startmode [list]
-% \stopmode
-%
-% \startnotmode [list]
-% \stopnotmode
-%
-% system modes have a * as prefix
-%
-% to be implemented: mode naar texutil/scherm + message
-% : geen #2 en nesting (\startregels)
-
-%D Sometimes, we want to prevent a mode for being set. Think
-%D of situations where a style enables a mode, but an outer
-%D level style does not want that. Preventing can be
-%D considered a permanent disabling on forehand.
-
-% \def\systemmodeprefix{*}
-%
-% \let\currentmode \empty
-% \let\preventedmodes\empty
-%
-% \def\preventmode[#1]%
-% {\expanded{\addtocommalist{#1}\noexpand\preventedmodes}}
-%
-% \def\enablemode[#1]%
-% {\expanded
-% {\doifnotinset{#1}{\preventedmodes}
-% {\noexpand\addtocommalist{#1}\noexpand\currentmode}}}
-%
-% \def\disablemode[#1]%
-% {\expanded{\removefromcommalist{#1}\noexpand\currentmode}}
-%
-% \def\doifmodeelse{\unprotect\dodoifmodeelse}
-% \def\doifmode {\unprotect\dodoifmode }
-% \def\doifnotmode {\unprotect\dodoifnotmode }
-% \def\startmode {\unprotect\dostartmode }
-% \def\startnotmode{\unprotect\dostartnotmode}
-%
-% \long\def\dodoifmodeelse#1%
-% {\protect\expanded{\doifcommonelse{#1}{\currentmode}}}
-%
-% \long\def\dodoifmode#1%
-% {\protect\expanded{\doifcommon {#1}{\currentmode}}}
-%
-% \long\def\dodoifnotmode#1%
-% {\protect\expanded{\doifnotcommon {#1}{\currentmode}}}
-%
-% \let\stopmode \relax
-% \let\stopnotmode\relax
-%
-% \long\def\dostartmode[#1]%
-% {\protect
-% \expanded{\doifnotcommon{#1}{\currentmode}}{\gobbleuntil\stopmode}}
-%
-% \long\def\dostartnotmode[#1]%
-% {\protect
-% \expanded{\doifcommon {#1}{\currentmode}}{\gobbleuntil\stopnotmode}}
-%
-% \def\doifallmodeselse{\unprotect\dodoifallmodeselse}
-% \def\doifallmodes {\unprotect\dodoifallmodes}
-% \def\doifnotallmodes {\unprotect\dodoifnotallmodes}
-% \def\startallmodes {\unprotect\dostartallmodes}
-% \def\startnotallmodes{\unprotect\dostartnotallmodes}
-%
-% \long\def\dodoifallmodeselse#1%
-% {\protect\expanded{\doifallcommonelse{#1}{\currentmode}}}
-%
-% \long\def\dodoifallmodes#1%
-% {\protect\expanded{\doifallcommon {#1}{\currentmode}}}
-%
-% \long\def\dodoifnotallmodes#1%
-% {\protect\expanded{\doifnotallcommon {#1}{\currentmode}}}
-%
-% \let\stopallmodes \relax
-% \let\stopnotallmodes\relax
-%
-% \long\def\dostartallmodes[#1]%
-% {\protect
-% \expanded{\doifnotallcommon{#1}{\currentmode}}{\gobbleuntil\stopallmodes}}
-%
-% \long\def\dostartnotallmodes[#1]%
-% {\protect
-% \expanded{\doifallcommon {#1}{\currentmode}}{\gobbleuntil\stopnotallmodes}}
-
-% faster
-
-\def\@mode@{@md@}
-
-\def\systemmodeprefix{*}
-
-\def\disabledmode {0}
-\def\enabledmode {1}
-\def\preventedmode {2}
-
-% fast internal ones
-
-\def\setmode #1{\@EA\let\csname\@mode@#1\endcsname\enabledmode }
-\def\resetmode#1{\@EA\let\csname\@mode@#1\endcsname\disabledmode}
-
-\def\setsystemmode #1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\enabledmode }
-\def\resetsystemmode#1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\disabledmode}
-
-% user ones
-
-\def\preventmode{\unprotect\dopreventmode}
-\def\enablemode {\unprotect\doenablemode }
-\def\disablemode{\unprotect\dodisablemode}
-
-% \def\dopreventmode[#1]{\protect\rawprocesscommalist[#1]\dodopreventmode}
-% \def\doenablemode [#1]{\protect\rawprocesscommalist[#1]\dodoenablemode }
-% \def\dodisablemode[#1]{\protect\rawprocesscommalist[#1]\dododisablemode}
-%
-% better:
-
-\def\dopreventmode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodopreventmode}
-\def\doenablemode [#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodoenablemode }
-\def\dodisablemode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dododisablemode}
-
-\def\dodopreventmode#1%
- {\@EA\let\csname\@mode@#1\endcsname\preventedmode}
-
-\def\dodoenablemode#1%
- {\ifcase0\csname\@mode@#1\endcsname\relax
- \@EA\let\csname\@mode@#1\endcsname\enabledmode
- \fi}
-
-\def\dododisablemode#1%
- {\ifcase0\csname\@mode@#1\endcsname\or
- \@EA\let\csname\@mode@#1\endcsname\disabledmode
- \fi}
-
-% check macros
-
-\newif\ifcheckedmode
-
-\def\dodocheckformode#1%
- {\ifcase0\csname\@mode@#1\endcsname\or\checkedmodetrue\fi}
-
-% \def\docheckformode#1#2#3% will be sped up with a quit
-% {\protect\checkedmodefalse\rawprocesscommalist[#3]\dodocheckformode
-% \ifcheckedmode\@EA#1\else\@EA#2\fi}
-%
-% better:
-
-\def\docheckformode#1#2#3% will be sped up with a quit
- {\cleanuplabel{#3}%
- \protect\checkedmodefalse\rawprocesscommacommand[\cleanlabel]\dodocheckformode
- \ifcheckedmode\@EA#1\else\@EA#2\fi}
-
-\def\dodocheckforallmodes#1%
- {\ifcase0\csname\@mode@#1\endcsname\relax
- \checkedmodefalse\or\or\checkedmodefalse\fi}
-
-% \def\docheckforallmodes#1#2#3% will be sped up with a quit
-% {\protect\checkedmodetrue\rawprocesscommalist[#3]\dodocheckforallmodes
-% \ifcheckedmode\@EA#1\else\@EA#2\fi}
-%
-% better:
-
-\def\docheckforallmodes#1#2#3% will be sped up with a quit
- {\cleanuplabel{#3}%
- \protect\checkedmodetrue\rawprocesscommacommand[\cleanlabel]\dodocheckforallmodes
- \ifcheckedmode\@EA#1\else\@EA#2\fi}
-
-% simple ones
-
-\def\doifmodeelse{\unprotect\dodoifmodeelse}
-\def\doifmode {\unprotect\dodoifmode}
-\def\doifnotmode {\unprotect\dodoifnotmode}
-\def\startmode {\unprotect\dostartmode}
-\def\startnotmode{\unprotect\dostartnotmode}
-
-\def\dodoifmodeelse
- {\docheckformode\firstoftwoarguments\secondoftwoarguments}
-
-\def\dodoifmode
- {\docheckformode\firstofoneargument\gobbleoneargument}
-
-\def\dodoifnotmode
- {\docheckformode\gobbleoneargument\firstofoneargument}
-
-\long\def\dostartmode[#1]%
- {\docheckformode\donothing\dostopmode{#1}}
-
-\long\def\dostartnotmode[#1]%
- {\docheckformode\dostopnotmode\donothing{#1}}
-
-\let\stopmode \donothing
-\let\stopnotmode\donothing
-
-\long\def\dostopmode #1\stopmode {}
-\long\def\dostopnotmode#1\stopnotmode{}
-
-\def\doifallmodeselse{\unprotect\dodoifallmodeselse}
-\def\doifallmodes {\unprotect\dodoifallmodes}
-\def\doifnotallmodes {\unprotect\dodoifnotallmodes}
-\def\startallmodes {\unprotect\dostartallmodes}
-\def\startnotallmodes{\unprotect\dostartnotallmodes}
-
-\def\doifallmodeselse
- {\docheckforallmodes\firstoftwoarguments\secondoftwoarguments}
-
-\def\doifallmodes
- {\docheckforallmodes\firstofoneargument\gobbleoneargument}
-
-\def\doifnotallmodes
- {\docheckforallmodes\gobbleoneargument\firstofoneargument}
-
-\long\def\dostartallmodes[#1]%
- {\docheckforallmodes\donothing\dostopallmodes{#1}}
-
-\long\def\dostartnotallmodes[#1]%
- {\docheckforallmodes\dostopallmodes\donothing{#1}}
-
-\let\stopallmodes \donothing
-\let\stopnotallmodes\donothing
-
-\long\def\dostopallmodes #1\stopallmodes {}
-\long\def\dostopnotallmodes#1\stopnotallmodes{}
-
% \def\setups
% {\dosingleargument\dosetups}
%
diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex
index a3aad6e1f..b97745b50 100644
--- a/tex/context/base/core-not.tex
+++ b/tex/context/base/core-not.tex
@@ -478,7 +478,7 @@
\else
\global\notesymboltrue
\fi
- \ifvisible
+ \ifvisible % misty feature, make it obsolete
\ifreshapingbox
\@EAEAEA\gobbletwoarguments
\else
@@ -506,6 +506,8 @@
\newif\ifnotesenabled \notesenabledtrue
+\appendtoks \notesenabledfalse \to \everymarking
+
\newconditional\pagewisenotes % saves two hash entries
\def\lastnotepage{1}
diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex
index e21d6385a..1825797c4 100644
--- a/tex/context/base/core-rul.tex
+++ b/tex/context/base/core-rul.tex
@@ -2709,6 +2709,7 @@
\stopcolor
\egroup
\doif{#2}\v!none\insidefloattrue % new
+ \doif{\framedtextparameter{#1}\c!location}\v!none\insidefloattrue % newer
\ifinsidefloat
\box\framebox
\else
@@ -3126,8 +3127,10 @@
\setbox0\vbox\bgroup
\vbox to \lineheight{}\vskip\zeropoint
\blank[\v!disable]
- \advance\hsize -\@@agleftoffset
- \advance\hsize -\@@agrightoffset}
+ % \advance\hsize -\@@agleftoffset
+ % \advance\hsize -\@@agrightoffset
+ \leftskip \@@agleftoffset % new **
+ \rightskip\@@agrightoffset} % new **
%D This dummy line is removed by \type{\setbox2=\vsplit0 to
%D \lineheight}. That way \type{\topskip} takes care of the
@@ -3138,6 +3141,7 @@
{\endgraf
\removelastskip
\egroup
+ \dimen2\leftskip % new **
\forgetall
\splitmaxdepth\boxmaxdepth
\splittopskip\topskip
@@ -3172,14 +3176,13 @@
\vfill}
\@@agbefore
\ifcase\backgroundsplit\or\or % partial split
-\ifdim\pagegoal<\maxdimen
- \pagegoal=1.2\pagegoal % be a bit more tolerant
-\fi
+ \ifdim\pagegoal<\maxdimen
+ \pagegoal=1.2\pagegoal % be a bit more tolerant
+ \fi
\fi
\startlinecorrection
- \localframed
- [\??ag][\c!offset=\v!overlay]
- {\hskip\@@agleftoffset\box2\hskip\@@agrightoffset}%
+ %\localframed[\??ag][\c!offset=\v!overlay]{\hskip\@@agleftoffset\box2\hskip\@@agrightoffset}%
+ \hskip\dimen2\localframed[\??ag][\c!offset=\v!overlay]{\box2}% new **
\stoplinecorrection
\ifcase\backgroundsplit % no split
\@@agafter
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index e0712673d..7725d293b 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -305,6 +305,29 @@
\def\decouplemarking[#1]%
{\couplemarking[#1][]}
+% \def\definesection[#1]%
+% {\doifundefined{\??se#1}
+% {\doifelsenothing\firstsection
+% {\def\firstsection{#1}%
+% \setevalue{\??se#1\c!before}{\v!text}%
+% \setevalue{\??se\v!text\c!after}{#1}}
+% {\setevalue{\??se\commalistelement\c!after}{#1}%
+% \setevalue{\??se#1\c!before}{\lastsection}%
+% \setevalue{\??se\lastsection\c!after}{#1}}%
+% \advance\nofsections \plusone
+% \setevalue{\??se#1\c!level}{\the\nofsections}%
+% \letvalue{\??se#1\c!after}\empty
+% \setvalue{\e!next#1}{\@@nextsectionnumber{#1}}%
+% \setvalue{#1\c!number}{\@@longsectionnumber{#1}}%
+% \setvalue{#1\s!format}{\@@longformatnumber{#1}}%
+% \setevalue{\??by#1}{#1}%
+% \setevalue{\??by\v!by#1}{#1}%
+% \makecounter{\??se#1}%
+% \edef\lastsection{#1}%
+% \setvalue{\??sk#1}{#1}%
+% \letvalue{\??se#1\c!marking}\empty
+% \setupsection[#1][\c!previousnumber=\v!yes]}}%
+
\def\definesection[#1]%
{\doifundefined{\??se#1}
{\doifelsenothing\firstsection
@@ -323,6 +346,7 @@
\setevalue{\??by#1}{#1}%
\setevalue{\??by\v!by#1}{#1}%
\makecounter{\??se#1}%
+ \makecounter{\??se\v!last#1}% GB
\edef\lastsection{#1}%
\setvalue{\??sk#1}{#1}%
\letvalue{\??se#1\c!marking}\empty
@@ -331,16 +355,46 @@
\def\previoussection#1{\csname\??se#1\c!before\endcsname}
\def\nextsection #1{\csname\??se#1\c!after \endcsname}
+\let\preservedsection\v!unknown % \def\preservedsection{\firstsection}
+
+\def\checkpreservevalueafter#1% GB
+ {\ifnum\getvalue{\??se#1\c!level}<\nofsections
+ \edef\preservedsection{\getvalue{\??se#1\c!after}}%
+ \ifconditional\@@resetsubheadnumbers
+ \setcounter{\??se\v!last\preservedsection}\zerocount % {0}%
+ \else
+ \setcounter{\??se\v!last\preservedsection}{\countervalue{\??se\preservedsection}}%
+ \fi
+ \fi}
+
+% \def\@@setsectionnumber#1#2%
+% {\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
+% \setcounter{\??se#1}{#2}%
+% \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+% \checkpagecounter}
+
\def\@@setsectionnumber#1#2%
{\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
\setcounter{\??se#1}{#2}%
- \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+ \checkpreservevalueafter{#1}% GB
+ \resetsectioncounters{#1}%
\checkpagecounter}
-\def\@@nextsectionnumber#1%
+% \def\@@nextsectionnumber#1%
+% {\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
+% \pluscounter{\??se#1}%
+% \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+% \checkpagecounter}
+
+\def\@@nextsectionnumber#1% patched by GB
{\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
+ \ifnum\countervalue{\??se\v!last#1}>\zerocount
+ \setcounter{\??se#1}{\countervalue{\??se\v!last#1}}%
+ \setcounter{\??se\v!last#1}\zerocount % {0}%
+ \fi
\pluscounter{\??se#1}%
- \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+ \checkpreservevalueafter{#1}%
+ \resetsectioncounters{#1}%
\checkpagecounter}
\def\@@sectionvalue#1% % nog niet overal doorgevoerd
@@ -868,7 +922,7 @@
\def\dosetlocalsectionblock#1#2#3% new \edef's
{\edef\@@sectiontype {#1}%
- \edef\@@sectionblock {#2}%
+ \edef\@@sectionblock {#2}%
\edef\@@sectionblocks{#3}}
% beware, the \resetsectionmarks generates some nodes that
@@ -1722,8 +1776,8 @@
% \getvalue{\??ko#1\c!commandbefore}% strange, why here? moved 21/11/2005
\placeheadmargintexts{#1}% binnen #3?
\ifdisplaysectionhead
- \getvalue{\??ko#1\c!numbercommand}%
- {\setstrut\begstrut#3\endstrut}% can be nilled with \setnostrut
+ % can be nilled with \setnostrut
+ \getvalue{\??ko#1\c!numbercommand}{\setstrut\begstrut#3\endstrut}%
\else
\getvalue{\??ko#1\c!numbercommand}{#3}%
\fi
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index c0a1fd1e5..f6181648e 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -35,6 +35,8 @@
\appendtoks \simplesetupspacing \to \everybodyfont % nieuw
\appendtoks \setdisplayskips \to \everybodyfont % nieuw
+\appendtoks \setrelativeinterlinespace \to \everybodyfont
+
\appendtoks \updateraggedskips \to \everyfontswitch % under test
\prependtoks \let\par\endgraf \to \everypagebody % see \fillinline
@@ -171,14 +173,43 @@
\setfontparameters % redundant, can be \setstrut, test first
\updateraggedskips} % yes indeed
+% \let\currentrelativeinterlinespace\empty
+%
+% \def\setuprelativeinterlinespace[#1]%
+% {\processallactionsinset
+% [#1]
+% [ \v!on=>\oninterlineskip,
+% \v!off=>\offinterlineskip,
+% \v!reset=>\let\currentrelativeinterlinespace\empty
+% \setfontparameters,% just \setstrut, test first
+% \s!unknown=>\assignvalue{#1}\currentrelativeinterlinespace{1.00}{1.25}{1.50}%
+% \spacing\currentrelativeinterlinespace]}
+
+% \setupinterlinespace[big] \switchtobodyfont[11pt] -> forgotten
+% \setupinterlinespace[auto,big] \switchtobodyfont[11pt] -> remembered
+
+\let\currentrelativeinterlinespace\empty
+
\def\setuprelativeinterlinespace[#1]%
- {\processallactionsinset % \regelwit = dummy !
+ {\processallactionsinset
[#1]
[ \v!on=>\oninterlineskip,
\v!off=>\offinterlineskip,
- \v!reset=>\setfontparameters,% just \setstrut, test first
- \s!unknown=>\assignvalue{#1}\regelwit{1.00}{1.25}{1.50}%
- \spacing\regelwit]}
+ \v!reset=>\let\currentrelativeinterlinespace\empty
+ \let\setrelativeinterlinespace\relax
+ \setfontparameters,
+ \v!auto=>\let\setrelativeinterlinespace\dosetrelativeinterlinespace,
+ \s!unknown=>\assignvalue\commalistelement\currentrelativeinterlinespace{1.00}{1.25}{1.50}%
+ \spacing\currentrelativeinterlinespace]}
+
+\def\dosetrelativeinterlinespace
+ {\ifx\currentrelativeinterlinespace\empty\else
+ \spacing\currentrelativeinterlinespace
+ \fi}
+
+\let\setrelativeinterlinespace\relax
+
+% \appendtoks \setrelativeinterlinespace \to \everybodyfont
\def\complexsetupinterlinespace[#1]% \commalistelement ipv #1
{\doifassignmentelse{#1}\setupspecifiedinterlinespace\setuprelativeinterlinespace[#1]}
@@ -3060,12 +3091,26 @@
\endETEX
+\newconditional \parbasedattributes
+
+\def\finishparbasedattributes
+ {\ifconditional\parbasedattributes
+ \setfalse\parbasedattributes
+ \par
+ \fi}
+
+\def\dostopparbasedattributes
+ {\settrue\parbasedattributes
+ \dostopattributes}
+
\unexpanded\def\@@dostopattributes
{\stopcolor
+ \finishparbasedattributes
\endgroup}
\unexpanded\def\@@nostopattributes
- {\endgroup}
+ {\finishparbasedattributes
+ \endgroup}
\unexpanded\def\doattributes#1#2#3#4%
{\dostartattributes{#1}{#2}{#3}{#4}\dostopattributes}
@@ -3088,10 +3133,12 @@
%
% \unexpanded\def\@@dostopattributes%
% {\stopcolor
+% \finishparbasedattributes
% \endgroup}
%
% \unexpanded\def\@@nostopattributes%
-% {\endgroup}
+% {\finishparbasedattributes
+% \endgroup}
\unexpanded\def\dostartattributes#1#2#3%
{\begingroup % geen \bgroup, anders in mathmode lege \hbox
@@ -3112,10 +3159,12 @@
\unexpanded\def\@@dostopattributes
{\doglobalstopcolor
+ \finishparbasedattributes
\endgroup}
\unexpanded\def\@@nostopattributes
- {\endgroup}
+ {\finishparbasedattributes
+ \endgroup}
\endETEX
diff --git a/tex/context/base/core-var.tex b/tex/context/base/core-var.tex
index 1fe89af0e..5d0cc1d5d 100644
--- a/tex/context/base/core-var.tex
+++ b/tex/context/base/core-var.tex
@@ -15,6 +15,233 @@
\unprotect
+%D Modes:
+%D
+%D \starttyping
+%D \enablemode[screen,paper,bound]
+%D
+%D \doifmodeelse {paper} {this} {that}
+%D \doifmode {paper,screen} {this}
+%D \doifnotmode {paper,bound} {that}
+%D
+%D \startmode [list]
+%D \stopmode
+%D
+%D \startnotmode [list]
+%D \stopnotmode
+%D \stoptyping
+%D
+%D system modes have a * as prefix
+%D
+%D Sometimes, we want to prevent a mode for being set. Think
+%D of situations where a style enables a mode, but an outer
+%D level style does not want that. Preventing can be
+%D considered a permanent disabling on forehand.
+
+% \def\systemmodeprefix{*}
+%
+% \let\currentmode \empty
+% \let\preventedmodes\empty
+%
+% \def\preventmode[#1]%
+% {\expanded{\addtocommalist{#1}\noexpand\preventedmodes}}
+%
+% \def\enablemode[#1]%
+% {\expanded
+% {\doifnotinset{#1}{\preventedmodes}
+% {\noexpand\addtocommalist{#1}\noexpand\currentmode}}}
+%
+% \def\disablemode[#1]%
+% {\expanded{\removefromcommalist{#1}\noexpand\currentmode}}
+%
+% \def\doifmodeelse{\unprotect\dodoifmodeelse}
+% \def\doifmode {\unprotect\dodoifmode }
+% \def\doifnotmode {\unprotect\dodoifnotmode }
+% \def\startmode {\unprotect\dostartmode }
+% \def\startnotmode{\unprotect\dostartnotmode}
+%
+% \long\def\dodoifmodeelse#1%
+% {\protect\expanded{\doifcommonelse{#1}{\currentmode}}}
+%
+% \long\def\dodoifmode#1%
+% {\protect\expanded{\doifcommon {#1}{\currentmode}}}
+%
+% \long\def\dodoifnotmode#1%
+% {\protect\expanded{\doifnotcommon {#1}{\currentmode}}}
+%
+% \let\stopmode \relax
+% \let\stopnotmode\relax
+%
+% \long\def\dostartmode[#1]%
+% {\protect
+% \expanded{\doifnotcommon{#1}{\currentmode}}{\gobbleuntil\stopmode}}
+%
+% \long\def\dostartnotmode[#1]%
+% {\protect
+% \expanded{\doifcommon {#1}{\currentmode}}{\gobbleuntil\stopnotmode}}
+%
+% \def\doifallmodeselse{\unprotect\dodoifallmodeselse}
+% \def\doifallmodes {\unprotect\dodoifallmodes}
+% \def\doifnotallmodes {\unprotect\dodoifnotallmodes}
+% \def\startallmodes {\unprotect\dostartallmodes}
+% \def\startnotallmodes{\unprotect\dostartnotallmodes}
+%
+% \long\def\dodoifallmodeselse#1%
+% {\protect\expanded{\doifallcommonelse{#1}{\currentmode}}}
+%
+% \long\def\dodoifallmodes#1%
+% {\protect\expanded{\doifallcommon {#1}{\currentmode}}}
+%
+% \long\def\dodoifnotallmodes#1%
+% {\protect\expanded{\doifnotallcommon {#1}{\currentmode}}}
+%
+% \let\stopallmodes \relax
+% \let\stopnotallmodes\relax
+%
+% \long\def\dostartallmodes[#1]%
+% {\protect
+% \expanded{\doifnotallcommon{#1}{\currentmode}}{\gobbleuntil\stopallmodes}}
+%
+% \long\def\dostartnotallmodes[#1]%
+% {\protect
+% \expanded{\doifallcommon {#1}{\currentmode}}{\gobbleuntil\stopnotallmodes}}
+
+% faster
+
+\def\@mode@{@md@}
+
+\def\systemmodeprefix{*}
+
+\def\disabledmode {0}
+\def\enabledmode {1}
+\def\preventedmode {2}
+
+% fast internal ones
+
+\def\setmode #1{\@EA\let\csname\@mode@#1\endcsname\enabledmode }
+\def\resetmode#1{\@EA\let\csname\@mode@#1\endcsname\disabledmode}
+
+\def\setsystemmode #1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\enabledmode }
+\def\resetsystemmode#1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\disabledmode}
+
+% user ones
+
+\def\preventmode{\unprotect\dopreventmode}
+\def\enablemode {\unprotect\doenablemode }
+\def\disablemode{\unprotect\dodisablemode}
+
+% \def\dopreventmode[#1]{\protect\rawprocesscommalist[#1]\dodopreventmode}
+% \def\doenablemode [#1]{\protect\rawprocesscommalist[#1]\dodoenablemode }
+% \def\dodisablemode[#1]{\protect\rawprocesscommalist[#1]\dododisablemode}
+%
+% better:
+
+\def\dopreventmode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodopreventmode}
+\def\doenablemode [#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodoenablemode }
+\def\dodisablemode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dododisablemode}
+
+\def\dodopreventmode#1%
+ {\@EA\let\csname\@mode@#1\endcsname\preventedmode}
+
+\def\dodoenablemode#1%
+ {\ifcase0\csname\@mode@#1\endcsname\relax
+ \@EA\let\csname\@mode@#1\endcsname\enabledmode
+ \fi}
+
+\def\dododisablemode#1%
+ {\ifcase0\csname\@mode@#1\endcsname\or
+ \@EA\let\csname\@mode@#1\endcsname\disabledmode
+ \fi}
+
+% check macros
+
+\newif\ifcheckedmode
+
+\def\dodocheckformode#1%
+ {\ifcase0\csname\@mode@#1\endcsname\or\checkedmodetrue\fi}
+
+% \def\docheckformode#1#2#3% will be sped up with a quit
+% {\protect\checkedmodefalse\rawprocesscommalist[#3]\dodocheckformode
+% \ifcheckedmode\@EA#1\else\@EA#2\fi}
+%
+% better:
+
+\def\docheckformode#1#2#3% will be sped up with a quit
+ {\cleanuplabel{#3}%
+ \protect\checkedmodefalse\rawprocesscommacommand[\cleanlabel]\dodocheckformode
+ \ifcheckedmode\@EA#1\else\@EA#2\fi}
+
+\def\dodocheckforallmodes#1%
+ {\ifcase0\csname\@mode@#1\endcsname\relax
+ \checkedmodefalse\or\or\checkedmodefalse\fi}
+
+% \def\docheckforallmodes#1#2#3% will be sped up with a quit
+% {\protect\checkedmodetrue\rawprocesscommalist[#3]\dodocheckforallmodes
+% \ifcheckedmode\@EA#1\else\@EA#2\fi}
+%
+% better:
+
+\def\docheckforallmodes#1#2#3% will be sped up with a quit
+ {\cleanuplabel{#3}%
+ \protect\checkedmodetrue\rawprocesscommacommand[\cleanlabel]\dodocheckforallmodes
+ \ifcheckedmode\@EA#1\else\@EA#2\fi}
+
+% simple ones
+
+\def\doifmodeelse{\unprotect\dodoifmodeelse}
+\def\doifmode {\unprotect\dodoifmode}
+\def\doifnotmode {\unprotect\dodoifnotmode}
+\def\startmode {\unprotect\dostartmode}
+\def\startnotmode{\unprotect\dostartnotmode}
+
+\def\dodoifmodeelse
+ {\docheckformode\firstoftwoarguments\secondoftwoarguments}
+
+\def\dodoifmode
+ {\docheckformode\firstofoneargument\gobbleoneargument}
+
+\def\dodoifnotmode
+ {\docheckformode\gobbleoneargument\firstofoneargument}
+
+\long\def\dostartmode[#1]%
+ {\docheckformode\donothing\dostopmode{#1}}
+
+\long\def\dostartnotmode[#1]%
+ {\docheckformode\dostopnotmode\donothing{#1}}
+
+\let\stopmode \donothing
+\let\stopnotmode\donothing
+
+\long\def\dostopmode #1\stopmode {}
+\long\def\dostopnotmode#1\stopnotmode{}
+
+\def\doifallmodeselse{\unprotect\dodoifallmodeselse}
+\def\doifallmodes {\unprotect\dodoifallmodes}
+\def\doifnotallmodes {\unprotect\dodoifnotallmodes}
+\def\startallmodes {\unprotect\dostartallmodes}
+\def\startnotallmodes{\unprotect\dostartnotallmodes}
+
+\def\doifallmodeselse
+ {\docheckforallmodes\firstoftwoarguments\secondoftwoarguments}
+
+\def\doifallmodes
+ {\docheckforallmodes\firstofoneargument\gobbleoneargument}
+
+\def\doifnotallmodes
+ {\docheckforallmodes\gobbleoneargument\firstofoneargument}
+
+\long\def\dostartallmodes[#1]%
+ {\docheckforallmodes\donothing\dostopallmodes{#1}}
+
+\long\def\dostartnotallmodes[#1]%
+ {\docheckforallmodes\dostopallmodes\donothing{#1}}
+
+\let\stopallmodes \donothing
+\let\stopnotallmodes\donothing
+
+\long\def\dostopallmodes #1\stopallmodes {}
+\long\def\dostopnotallmodes#1\stopnotallmodes{}
+
%D \macros
%D {every...}
%D
@@ -44,6 +271,7 @@
\newevery \everybeginofpar \relax
\newevery \everyendofpar \relax
\newevery \everylistentry \relax
+\newevery \everymarking \relax
%D For shared \type {\everymath} and \type {\everydisplay}:
diff --git a/tex/context/base/hand-def.tex b/tex/context/base/hand-def.tex
index 591370cda..0a19ce270 100644
--- a/tex/context/base/hand-def.tex
+++ b/tex/context/base/hand-def.tex
@@ -476,7 +476,7 @@
% \stopfonthandling
% \definefonthandling [noligs] [noligs] [type=tag]
-% \setupfontsynonym[Serif][handling=noligs]
+ % \setupfontsynonym[Serif][handling=noligs]
% \definefont[test][Serif at 12.34pt]
%
% {``fi--ffl---ffi'' \test ``fi--ffl---ffi''}
diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex
index e435c2420..d4a6b37ea 100644
--- a/tex/context/base/lang-ini.tex
+++ b/tex/context/base/lang-ini.tex
@@ -165,11 +165,31 @@
%D the languages. The current langage is saved in the macro
%D \type {\currentlanguage}. The setup macro is mainly used
%D for cosmetic purposes.
+%D
+%D \starttyping
+%D \dorecurse{3}
+%D {\language[nl]
+%D \startmode[*en] english \stopmode
+%D \startmode[*nl] dutch \stopmode
+%D \language[en]
+%D \startmode[*en] english \stopmode
+%D \startmode[*nl] dutch \stopmode}
+%D \stoptyping
\let\currentlanguage \empty
\let\currentmainlanguage\empty
-\def\setupcurrentlanguage[#1]{\def\currentlanguage{#1}}
+\def\setupcurrentlanguage[#1]{\setcurrentlanguage\currentmainlanguage{#1}}
+
+\def\setcurrentlanguage#1#2% sets modes: **id (currentmain) *id (current)
+ {\doifsomething{#1}
+ {\ifx\currentmainlanguage\empty\else\resetsystemmode{\systemmodeprefix\currentmainlanguage}\fi
+ \edef\currentmainlanguage{#1}%
+ \setsystemmode{\systemmodeprefix\currentmainlanguage}}%
+ \doifsomething{#2}
+ {\ifx\currentlanguage\empty\else\resetsystemmode\currentlanguage\fi
+ \edef\currentlanguage{#2}%
+ \setsystemmode\currentlanguage}}
%D The internal macros will be defined later.
@@ -593,7 +613,7 @@
\ifcsname\l!prefix!\askedlanguage\endcsname
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentlanguage\askedlanguage \else
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\currentmainlanguage\askedlanguage
\docomplexlanguage
\fi
\else
@@ -613,7 +633,7 @@
\else
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentlanguage\askedlanguage \else
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\currentmainlanguage\askedlanguage
\docomplexlanguage
\fi
\fi
@@ -633,8 +653,7 @@
\ifcsname\l!prefix!\askedlanguage\endcsname
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentmainlanguage\askedlanguage \else
- \let\currentmainlanguage\askedlanguage
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\askedlanguage\askedlanguage
\docomplexlanguage
\fi
\fi
@@ -650,8 +669,7 @@
\@EA\ifx\csname\l!prefix!\askedlanguage\endcsname\relax\else
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentmainlanguage\askedlanguage \else
- \let\currentmainlanguage\askedlanguage
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\askedlanguage\askedlanguage
\docomplexlanguage
\fi
\fi
diff --git a/tex/context/base/m-dratex.tex b/tex/context/base/m-dratex.tex
new file mode 100644
index 000000000..6c088daf9
--- /dev/null
+++ b/tex/context/base/m-dratex.tex
@@ -0,0 +1,21 @@
+%D \module
+%D [ file=m-dratex,
+%D version=2005.11.25,
+%D title=\CONTEXT\ Extra Modules,
+%D subtitle=\DRATEX\ Loading Macros,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright=PRAGMA-ADE]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details
+
+\readfile{DraTex.sty}{}{\readfile{dratex.sty}{}{\endinput}}
+
+\letvalue{:NewCount}\newcount
+\letvalue{:NewDimen}\newdimen
+
+\readfile{AlDraTex.sty}{}{\readfile{aldratex.sty}{}{\endinput}}
+
+\endinput
diff --git a/tex/context/base/meta-ini.tex b/tex/context/base/meta-ini.tex
index d628e5e6c..799d441ad 100644
--- a/tex/context/base/meta-ini.tex
+++ b/tex/context/base/meta-ini.tex
@@ -668,9 +668,13 @@
\convertargument#2\to\ascii
\dodoglobal\letvalue{\@@MPT#1}\ascii}
-\def\MPtext #1{\getvalue{\@@MPT#1}}
-\def\MPstring #1{"\getvalue{\@@MPT#1}"}
-\def\MPbetex #1{btex \getvalue{\@@MPT#1} etex}
+% \def\MPtext #1{\getvalue{\@@MPT#1}}
+% \def\MPstring #1{"\getvalue{\@@MPT#1}"}
+% \def\MPbetex #1{btex \getvalue{\@@MPT#1} etex}
+
+\def\MPtext #1{\executeifdefined{\@@MPT#1}\empty}
+\def\MPstring #1{"\executeifdefined{\@@MPT#1}\empty"}
+\def\MPbetex #1{btex \executeifdefined{\@@MPT#1}\empty etex}
%D Unfortunately \METAPOST\ does not have \CMYK\ support
%D built in, but by means of specials we can supply the
@@ -961,6 +965,14 @@
% \appendtoks \closeMPgraphicfiles \to \everystoptext
+%D New:
+
+\newconditional\manyMPspecials % when set to true, > 1000 specials can be used
+
+\prependtoks
+ _special_div_ := 1000\ifconditional\manyMPspecials0\fi ;
+\to \MPextensions
+
\protect \endinput
% also:
diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.tex
index 805f68f6c..d5fe1f47a 100644
--- a/tex/context/base/mult-com.tex
+++ b/tex/context/base/mult-com.tex
@@ -1513,16 +1513,16 @@ moveformula: verplaatsformule moveformula
stopproduct: stopprodukt stopproduct
stopprodukt stopprodukt
terminaprodotto stopprodus
- startproject: startproject startproject
+ startproject: startprojekt startproject
startprojekt startprojekt
iniziaprogetto startproiect
- stopproject: stopproject stopproject
+ stopproject: stopprojekt stopproject
stopprojekt stopprojekt
terminaprogetto stopproiect
setups: instellingen setups
einstellungen nastaveni
impostazioni setari
- project: project project
+ project: projekt project
projekt projekt
progetto proiect
component: onderdeel component
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index 76866c563..67a56bf47 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -84,6 +84,72 @@
% \startcolumnset [three] \dorecurse {1}{\input tufte \par} \stopcolumnset
% \stoptext
+%D Marks in columnsets:
+%D
+%D \starttyping
+%D \definemarking[M]
+%D \setupheadertexts[\setups{show-M-marks}]
+%D \definecolumnset[test][n=3]
+%D
+%D \startsetups show-M-marks
+%D \getmarking[M][1][previous]/\getmarking[M][1][first]/\getmarking[M][1][last]\quad
+%D \getmarking[M][2][previous]/\getmarking[M][2][first]/\getmarking[M][2][last]\quad
+%D \getmarking[M][3][previous]/\getmarking[M][3][first]/\getmarking[M][3][last]\quad
+%D \getmarking[M][1][previous]/\getmarking[M][1][first]/\getmarking[M][last]\quad
+%D \getsavedmarking[M][previous]/\getsavedmarking[M][first]/\getsavedmarking[M][last]
+%D \stopsetups
+%D
+%D \startbuffer
+%D \section{Knuth} [K1]\marking[M]{k1} [K2]\marking[M]{k2} \input knuth
+%D \section{Zapf} [Z]\marking[M]{z} \input zapf
+%D \stopbuffer
+%D
+%D \startbuffer
+%D \section{Ward} [W]\marking[M]{w} \input ward
+%D \placefigure[here]{none}{\externalfigure[a][height=2cm]}
+%D \section{Davis} [D]\marking[M]{d} \input davis
+%D \section{Zapf} [Z]\marking[M]{z} \input zapf
+%D \stopbuffer
+%D
+%D \startbuffer
+%D \section{Ward} [W]\marking[M]{w} \input ward
+%D \placefigure[here]{none}{\externalfigure[a][height=2cm]}
+%D \section{Davis} [D]\marking[M]{d} \input davis
+%D \section{Zapf} [Z]\marking[M]{z} \input zapf
+%D \section{Douglas} [O]\marking[M]{o} \input douglas
+%D \stopbuffer
+%D
+%D \starttext
+%D \startcolumnset[test]
+%D \dorecurse{5}{\getbuffer}
+%D \placefigure[here]{none}{\externalfigure[a][height=2cm]}
+%D % \column % sometimes needed
+%D \stopcolumnset
+%D \stoptext
+%D \stoptyping
+
+% not ok yet, for column sets we need a special case: within a column we
+% need to bubble-up the marks; the indirectness permits overloading here
+
+\let\saveOTRSETmark \refreshsavedmark
+\let\bubbleOTRSETmark\bubblesavedmark
+\let\resetOTRSETmark \resetsavedmark
+\let\presetOTRSETmark\presetsavedmark
+
+\def\doregisterOTRSETmarks#1{\saveOTRSETmark [#1][\number\mofcolumns]}
+\def\dobubbleOTRSETmarks #1{\bubbleOTRSETmark[#1][\number\mofcolumns]}
+\def\doresetOTRSETmarks #1{\resetOTRSETmark [#1][\recurselevel]}
+\def\dopresetOTRSETmarks #1{\presetOTRSETmark[#1][\recurselevel]}
+
+\def\registerOTRSETmarks
+ {\processcommacommand[\alldefinedmarks]\doregisterOTRSETmarks}
+\def\bubbleOTRSETmarks
+ {\processcommacommand[\alldefinedmarks]\dobubbleOTRSETmarks}
+\def\resetOTRSETmarks
+ {\dorecurse\nofcolumns{\processcommacommand[\alldefinedmarks]\doresetOTRSETmarks}}
+\def\presetOTRSETmarks
+ {\dorecurse\nofcolumns{\processcommacommand[\alldefinedmarks]\dopresetOTRSETmarks}}
+
%D test case of Vit Zika (context list):
%D
%D \starttyping
@@ -529,17 +595,19 @@
\def\OTRSETdoflush
{\ifcollectingcontent
+ \registerOTRSETmarks
\global\mofcolumns\plusone
\else
\OTRSETdofinalflush
\OTRSETdofinaloutput
-\ifnum\columnsetpage>0
- \dorecurse\nofcolumns{\doresetcolumnsetlines\recurselevel}%
-\fi
-\doglobal\increment\columnsetpage
+ \ifnum\columnsetpage>0
+ \dorecurse\nofcolumns{\doresetcolumnsetlines\recurselevel}%
+ \fi
+ \doglobal\increment\columnsetpage
\OTRSETinitializecolumns
%\OTRSETdoflushfloats
\OTRSETstartnextpage
+\presetOTRSETmarks
\initializecolumntextareas
\fi}
@@ -893,7 +961,9 @@
{\OTRSETsetfreecells\mofcolumns\columnlastcell
\ifsomefreecolumncells
% okay
+ \bubbleOTRSETmarks % not robust because we reenter
\else
+ \registerOTRSETmarks % not robust because we reenter
\global\advance\mofcolumns \plusone
\ifnum\mofcolumns>\nofcolumns
\OTRSETdoflush
@@ -1708,6 +1778,7 @@
{\increment\columnsetlevel\relax
\globallet\localcolumnmaxcells\!!zerocount
\global\chardef\OTRSETfinish\zerocount
+ \resetOTRSETmarks
\ifnum\columnsetlevel=\plusone
\bgroup
\saveinterlinespace
@@ -1875,7 +1946,7 @@
{\vskip-\struttotal\verticalstrut\vfill\eject}%
\else
\ifnum\mofcolumns>\plusone
- \donetrue
+ \donetrue
\else\ifdim\pagetotal>\zeropoint % too dangerous, we loose data
\donetrue
\else
@@ -1889,6 +1960,7 @@
\fi
\vfill
\eject
+\registerOTRSETmarks
% brr, may result in empty page after nicely fit text
% or if left, then lost of first column only text
\ifnum\mofcolumns>\plusone
diff --git a/tex/context/base/s-pre-60.tex b/tex/context/base/s-pre-60.tex
index baedffaa3..9945847c2 100644
--- a/tex/context/base/s-pre-60.tex
+++ b/tex/context/base/s-pre-60.tex
@@ -11,6 +11,16 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+\startmode[paper]
+ \let\StartSteps\relax
+ \let\StopSteps \relax
+ \let\FlushStep \relax
+ \let\ResetStep \relax
+ \let\StartBusy\relax
+ \let\StopBusy \relax
+ \endinput
+\stopmode
+
\newcounter\StepCounter
\newcounter\StepMaximum
diff --git a/tex/context/base/s-syn-01.tex b/tex/context/base/s-syn-01.tex
new file mode 100644
index 000000000..d797be61e
--- /dev/null
+++ b/tex/context/base/s-syn-01.tex
@@ -0,0 +1,54 @@
+%D \module
+%D [ file=s-syn-01,
+%D version=0000.00.00,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Preliminary Syntax Stuff,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This is needed for the \METAFUN\ manual (this module was
+%D called \type {p-syn-01} on my machine).
+
+\unprotect
+
+\def\Indent #1{\ifvmode\noindent\hbox to 2em{\hss#1}\else#1\fi}
+\def\Sugar #1{\ifhmode\unskip\unskip\unskip\fi\kern.25em{#1}\kern.25em\ignorespaces}
+\def\Something#1{\Sugar{\mathematics{\langle\hbox{#1}\rangle}}}
+\def\Lbrace {\Sugar{\tttf\leftargument}}
+\def\Rbrace {\Sugar{\tttf\rightargument}}
+\def\Or {\Sugar{\mathematics{\vert}}}
+\def\Optional #1{\Sugar{\mathematics{[\hbox{#1}]}}}
+\def\Means {\Sugar{\mathematics{\rightarrow}}}
+\def\Tex #1{\Sugar{\type{#1}}}
+\def\Literal #1{\Sugar{\type{#1}}}
+\def\Syntax #1{\strut\kern-.25em{#1}\kern-.25em}
+\def\Next {\crlf\hbox to 2em{}\nobreak}
+\def\Whatever #1{\Sugar{\mathematics{(\hbox{#1})}}}
+\def\Quote #1{\Sugar{\quote{#1}}}
+
+\def\Or {\Sugar{\Indent{\mathematics{\vert}}}}
+\def\Means {\Sugar{\Indent{\mathematics{\rightarrow}}}}
+
+\def\StartSyntax
+ {\goodbreak
+ \startlines
+ \catcode`\#=12
+ \let\L \Literal
+ \let\S \Something
+ \def\FL##1{\color[darkred]{\L{##1}}}
+ \def\FS##1{\S{\color[darkred]{##1}}}
+ \let\M \Means
+ \let\O \Or
+ \let\Q \Quote
+ \let\LB\Lbrace
+ \let\RB\Rbrace}
+
+\def\StopSyntax
+ {\stoplines}
+
+\protect \endinput
diff --git a/tex/context/base/supp-mpe.tex b/tex/context/base/supp-mpe.tex
index da1641d3d..23a2410ab 100644
--- a/tex/context/base/supp-mpe.tex
+++ b/tex/context/base/supp-mpe.tex
@@ -160,14 +160,30 @@
%D version and revision number are not used. Any version number
%D greater than zero will enable special support.
-\def\handleMPspecialscomment #1.#2 #3 % version.revision signal
+\newconditional\manyMPspecials % \settrue\manyMPspecials
+
+\def\handleMPspecialscomment #1.#2 #3 % version.revision signal #4=div=1000|10000
{\doresetMPstack
\chardef\MPspecialversion #1%
\chardef\MPspecialrevision#2%
\chardef\MPspecialsignal #3%
\let\handleMPsequence\dohandleMPsequence
+ \ifnum#1=\plusone
+ \expandafter\handleMPsequence
+ \else
+ \expandafter\handleMPspecialscommentx
+ \fi}
+
+\def\handleMPspecialscommentx #1 % version 2
+ {\doifelse{#1}{10000}{\settrue\manyMPspecials}{\setfalse\manyMPspecials}% local
\handleMPsequence}
+% one can say (in meta-ini):
+%
+% \prependtoks
+% _special_div_ := 1000\ifconditional\manyMPspecials0\fi ;
+% \to \MPextensions
+
%D In case of \PDF, we need to prepare resourcs.
\newtoks\MPstartresources
@@ -256,8 +272,20 @@
%D Now we can handle special color signals. We only do this
%D when special are detected.
-\def\MPrgbnumber#1{\expandafter\doMPrgbnumber#1000.0000\relax}
-\def\doMPrgbnumber#1.#2#3#4#5\relax{#2#3#4}
+% \def\MPrgbnumber#1{\expandafter\doMPrgbnumber#1000.0000\relax}
+% \def\doMPrgbnumber#1.#2#3#4#5\relax{#2#3#4}
+
+%D We cannot use \type {\everyMPtoPDFconversion} because in \MPTOPDF\
+%D we don't have the \type {\appendtoks} macro available.
+
+\def\setMPextensions
+ {\ifconditional\manyMPspecials
+ \def\MPrgbnumber##1{\expandafter\doMPrgbnumber##10000.00000\relax}%
+ \def\doMPrgbnumber##1.##2##3##4##5##6\relax{##2##3##4##5}%
+ \else
+ \def\MPrgbnumber##1{\expandafter\doMPrgbnumber##1000.0000\relax}%
+ \def\doMPrgbnumber##1.##2##3##4##5\relax{##2##3##4}%
+ \fi}
%D The naive case looks like:
%D
diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex
index e6a6007f5..9543d3e57 100644
--- a/tex/context/base/supp-pdf.tex
+++ b/tex/context/base/supp-pdf.tex
@@ -2072,6 +2072,8 @@
\let\finishMPgraphic\egroup
\doprocessMPtoPDFfile}
+\let\setMPextensions\relax
+
\def\doprocessMPtoPDFfile#1#2#3% file xscale yscale
{% the following line is needed for latex where onepoint is not
% onepoint but a number (maxdimen); some day i'll make a latex
@@ -2082,6 +2084,7 @@
\let\onepoint\onerealpoint
%
\setMPspecials
+ \setMPextensions
\the\everyMPtoPDFconversion
\catcode`\^^M=\@@endofline
\startMPscanning
diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex
index 579eb0112..f7fef569b 100644
--- a/tex/context/base/syst-ext.tex
+++ b/tex/context/base/syst-ext.tex
@@ -2352,7 +2352,7 @@
\def\resetcounter#1%
{\letgvalue{#1}\zerocountervalue}
-\def\setcounter#1#2%
+\def\setcounter#1#2% or: \setxvalue{#1}{\number#2}
{\scratchcounter#2%
\setxvalue{#1}{\the\scratchcounter}}
diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex
index d08b565f4..71da7f0ad 100644
--- a/tex/context/base/type-exa.tex
+++ b/tex/context/base/type-exa.tex
@@ -212,6 +212,17 @@
\stoptypescript
+\starttypescript [serif,sans,mono] [handling] [noligs]
+
+ \setupfontsynonym [\typescriptprefix\typescriptone ] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Bold] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Slanted] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Italic] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone BoldSlanted] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone BoldItalic] [handling=\typescriptthree]
+
+\stoptypescript
+
% handy
\starttypescript [serif] [simple] [name] % bad, will be changed but in sycn with manuals that use it
diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex
index ddcacfee0..3b210a299 100644
--- a/tex/context/base/type-map.tex
+++ b/tex/context/base/type-map.tex
@@ -91,36 +91,56 @@
\loadmapfile[\typescriptthree-bitstrea-charter.map]
\stoptypescript
-% \starttypescript [map] [antykwa-torunska] [ec,texnansi,t5,8r]
-% \loadmapfile[\typescriptthree-public-antt.map]
+% \starttypescript [map] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,ec,qx,t5,t2a,t2b,t2c,default]
+% \loadmapfile[\typescriptthree-antt.map]
+% \loadmapfile[rm-antt.map]
+% \loadmapfile[mi-antt.map]
+% \loadmapfile[sy-antt.map]
+% \loadmapfile[ex-antt.map]
% \stoptypescript
\starttypescript [map] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,ec,qx,t5,t2a,t2b,t2c,default]
- \loadmapfile[\typescriptthree-antt.map]
- \loadmapfile[rm-antt.map]
- \loadmapfile[mi-antt.map]
- \loadmapfile[sy-antt.map]
- \loadmapfile[ex-antt.map]
+ \loadmapfile[antt-\typescriptthree.map]
+ \loadmapfile[antt-rm.map]
+ \loadmapfile[antt-mi.map]
+ \loadmapfile[antt-sy.map]
+ \loadmapfile[antt-ex.map]
\stoptypescript
\starttypescript [map] [antykwa-poltawskiego] [ec,texnansi,qx,t5]
\loadmapfile[\typescriptthree-public-antp.map]
\stoptypescript
+% \starttypescript [map] [iwona,iwona-light,iwona-medium,iwona-heavy] [ec,texnansi,qx,t5]
+% \loadmapfile[\typescriptthree-iwona.map]
+% \loadmapfile[rm-iwona.map]
+% \loadmapfile[mi-iwona.map]
+% \loadmapfile[sy-iwona.map]
+% \loadmapfile[ex-iwona.map]
+% \stoptypescript
+
\starttypescript [map] [iwona,iwona-light,iwona-medium,iwona-heavy] [ec,texnansi,qx,t5]
- \loadmapfile[\typescriptthree-iwona.map]
- \loadmapfile[rm-iwona.map]
- \loadmapfile[mi-iwona.map]
- \loadmapfile[sy-iwona.map]
- \loadmapfile[ex-iwona.map]
-\stoptypescript
+ \loadmapfile[iwona-\typescriptthree.map]
+ \loadmapfile[iwona-rm.map]
+ \loadmapfile[iwona-mi.map]
+ \loadmapfile[iwona-sy.map]
+ \loadmapfile[iwona-ex.map]
+\stoptypescript
+
+% \starttypescript [map] [kurier,kurier-light,kurier-medium,kurier-heavy] [ec,texnansi,qx,t5,default]
+% \loadmapfile[\typescriptthree-kurier.map]
+% \loadmapfile[rm-kurier.map]
+% \loadmapfile[mi-kurier.map]
+% \loadmapfile[sy-kurier.map]
+% \loadmapfile[ex-kurier.map]
+% \stoptypescript
\starttypescript [map] [kurier,kurier-light,kurier-medium,kurier-heavy] [ec,texnansi,qx,t5,default]
- \loadmapfile[\typescriptthree-kurier.map]
- \loadmapfile[rm-kurier.map]
- \loadmapfile[mi-kurier.map]
- \loadmapfile[sy-kurier.map]
- \loadmapfile[ex-kurier.map]
+ \loadmapfile[kurier-\typescriptthree.map]
+ \loadmapfile[kurier-rm.map]
+ \loadmapfile[kurier-mi.map]
+ \loadmapfile[kurier-sy.map]
+ \loadmapfile[kurier-ex.map]
\stoptypescript
\starttypescript [map] [bookman] [ec,texnansi,t5,8r]
diff --git a/tex/context/interface/cont-cz.xml b/tex/context/interface/cont-cz.xml
index d06945148..2c0da61f3 100644
--- a/tex/context/interface/cont-cz.xml
+++ b/tex/context/interface/cont-cz.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="male" default="yes"/>
<cd:constant type="stredni"/>
+ <cd:constant type="auto"/>
<cd:constant type="velke"/>
<cd:constant type="zap"/>
<cd:constant type="vyp"/>
diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml
index 0f8ab1eb8..83291e975 100644
--- a/tex/context/interface/cont-de.xml
+++ b/tex/context/interface/cont-de.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="zuruecksetzten"/>
<cd:constant type="klein" default="yes"/>
<cd:constant type="mittel"/>
+ <cd:constant type="auto"/>
<cd:constant type="gross"/>
<cd:constant type="an"/>
<cd:constant type="aus"/>
diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml
index 16610c122..74b84d064 100644
--- a/tex/context/interface/cont-en.xml
+++ b/tex/context/interface/cont-en.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="small" default="yes"/>
<cd:constant type="medium"/>
+ <cd:constant type="auto"/>
<cd:constant type="big"/>
<cd:constant type="on"/>
<cd:constant type="off"/>
diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml
index 43c74f284..2c84db728 100644
--- a/tex/context/interface/cont-it.xml
+++ b/tex/context/interface/cont-it.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reimposta"/>
<cd:constant type="piccolo" default="yes"/>
<cd:constant type="medio"/>
+ <cd:constant type="auto"/>
<cd:constant type="grande"/>
<cd:constant type="attivo"/>
<cd:constant type="disattivo"/>
diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml
index 5e145acc4..e76700875 100644
--- a/tex/context/interface/cont-nl.xml
+++ b/tex/context/interface/cont-nl.xml
@@ -3974,7 +3974,7 @@
<cd:command name="project" type="environment">
<cd:sequence>
- <cd:string value="project"/>
+ <cd:string value="projekt"/>
</cd:sequence>
<cd:arguments>
<cd:file/>
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="klein" default="yes"/>
<cd:constant type="middel"/>
+ <cd:constant type="auto"/>
<cd:constant type="groot"/>
<cd:constant type="aan"/>
<cd:constant type="uit"/>
diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml
index efde60e2d..805cd7dc6 100644
--- a/tex/context/interface/cont-ro.xml
+++ b/tex/context/interface/cont-ro.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="mic" default="yes"/>
<cd:constant type="mediu"/>
+ <cd:constant type="auto"/>
<cd:constant type="mare"/>
<cd:constant type="on"/>
<cd:constant type="dezactivat"/>
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 7bb8886fc..792c4bd8e 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="jedna"/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index f4d9ed144..936340f9d 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="eins"/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index e53c0f2fc..c73683d17 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="one"/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index e2e571890..edaf1375f 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="uno"/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 869f146fc..9b5671aea 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="een"/>
@@ -1412,10 +1412,10 @@
<cd:command name="stopcomponent" value="stoponderdeel"/>
<cd:command name="startproduct" value="startprodukt"/>
<cd:command name="stopproduct" value="stopprodukt"/>
- <cd:command name="startproject" value="startproject"/>
- <cd:command name="stopproject" value="stopproject"/>
+ <cd:command name="startproject" value="startprojekt"/>
+ <cd:command name="stopproject" value="stopprojekt"/>
<cd:command name="setups" value="instellingen"/>
- <cd:command name="project" value="project"/>
+ <cd:command name="project" value="projekt"/>
<cd:command name="component" value="onderdeel"/>
<cd:command name="product" value="produkt"/>
<cd:command name="environment" value="omgeving"/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index acdf123ef..03559bf7d 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="unu"/>