diff options
Diffstat (limited to 'tex')
42 files changed, 209 insertions, 254 deletions
diff --git a/tex/context/base/anch-pgr.mkiv b/tex/context/base/anch-pgr.mkiv index f052b4ddb..af99602c7 100644 --- a/tex/context/base/anch-pgr.mkiv +++ b/tex/context/base/anch-pgr.mkiv @@ -558,12 +558,17 @@ \iftracepositions show_multi_pars \else draw_multi_pars \fi ; \stopuseMPgraphic -\startuseMPgraphic{mpos:par:sideline}{linecolor,lineoffset} +\startuseMPgraphic{mpos:par:sideline}{linecolor,lineoffset,linewidth} + begingroup ; save p ; picture p ; for i=1 upto nofmultipars : - fill leftboundary multipars[i] + p := image ( fill leftboundary multipars[i] shifted (-\MPvar{lineoffset},0) - rightenlarged 1mm withcolor \MPvar{linecolor} ; + rightenlarged \MPvar{linewidth} withcolor \MPvar{linecolor} ; + ) ; + setbounds p to multipars[i] ; + draw p ; endfor ; + endgroup ; \stopuseMPgraphic \startMPpositionmethod{mpos:par:columnset} diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua index 4ad564213..5e504e388 100644 --- a/tex/context/base/colo-ini.lua +++ b/tex/context/base/colo-ini.lua @@ -30,7 +30,6 @@ local gettexattribute = tex.getattribute local a_color = attributes.private('color') local a_transparency = attributes.private('transparency') local a_colorspace = attributes.private('colormodel') -local a_background = attributes.private('background') local register_color = colors.register local attributes_list = attributes.list diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index b73bd2cb1..b6c35d923 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.09.15 19:53} +\newcontextversion{2011.09.17 09:40} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 7dd01c0d4..9ee827ce1 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.09.15 19:53} +\newcontextversion{2011.09.17 09:40} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex e58e270c6..781926a10 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png Binary files differindex 716a502de..ca5f0a5e2 100644 --- a/tex/context/base/context-version.png +++ b/tex/context/base/context-version.png diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 2a07bf7e6..04eb70d4e 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.09.15 19:53} +\edef\contextversion{2011.09.17 09:40} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 76ccaceb5..5bb9eb360 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.09.15 19:53} +\edef\contextversion{2011.09.17 09:40} %D For those who want to use this: diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv index 01c186589..0e71ad661 100644 --- a/tex/context/base/mult-aux.mkiv +++ b/tex/context/base/mult-aux.mkiv @@ -64,14 +64,15 @@ % todo: add (relaxed) postsetup and postdefine hooks, just after the everys -\unexpanded\def\doinstallparameterhandler#1#2#3#4#5#6#7#8% +\unexpanded\def\doinstallparameterhandler#1#2#3#4#5#6#7#8#9% {\ifx#2\relax\let#2\empty\fi \def#3##1{\csname#4{#1#2}{##1}\endcsname}% \def#4##1##2{\ifcsname##1:##2\endcsname##1:##2\else\expandafter#5\csname##1:\s!parent\endcsname{##2}\fi}% \def#5##1##2{\ifx##1\relax\s!empty\else#4{##1}{##2}\fi}% is {} needed around ##1 ? \def#6##1##2{\csname#4{#1##1}{##2}\endcsname}% \def#7##1{\detokenize\expandafter\expandafter\expandafter{\csname#1:##1\endcsname}}% always root - \def#8##1{\csname\ifcsname#1#2:##1\endcsname#1#2:##1\else\s!empty\fi\endcsname}} + \def#8##1{\csname\ifcsname#1#2:##1\endcsname#1#2:##1\else\s!empty\fi\endcsname}% + \def#9##1{\csname\ifcsname#1:##1\endcsname#1:##1\else\s!empty\fi\endcsname}} \unexpanded\def\installparameterhandler#1#2% {\normalexpanded @@ -83,7 +84,8 @@ \expandafter\noexpand\csname do#2parentparameter\endcsname \expandafter\noexpand\csname named#2parameter\endcsname \expandafter\noexpand\csname detokenized#2parameter\endcsname - \expandafter\noexpand\csname strict#2parameter\endcsname}} + \expandafter\noexpand\csname strict#2parameter\endcsname + \expandafter\noexpand\csname root#2parameter\endcsname}} \unexpanded\def\doinstallparameterhashhandler#1#2#3#4#5#6#7% {\ifx#2\relax\let#2\empty\fi @@ -325,4 +327,3 @@ {\writestatus\m!system{chain: [ \doshowparentchain{#1#2}]}} \protect - diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii index 0f78b568d..6fcbc3463 100644 --- a/tex/context/base/mult-de.mkii +++ b/tex/context/base/mult-de.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{nichtverfuegbar} \setinterfacevariable{underbar}{unterstrichen} \setinterfacevariable{underbars}{unterstreichen} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{einheit} \setinterfacevariable{units}{einheiten} \setinterfacevariable{unknown}{unbekannt} diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua index 1144dba22..28ebeb7ac 100644 --- a/tex/context/base/mult-def.lua +++ b/tex/context/base/mult-def.lua @@ -11271,6 +11271,12 @@ return { ["pe"]="میلههارو", ["ro"]="supralinie", }, + ["understrike"]={ + ["en"]="understrike", + }, + ["understrikes"]={ + ["en"]="understrikes", + }, ["overstrike"]={ ["cs"]="preskrtnuto", ["de"]="durchgestrichen", diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii index f36227e25..a5e01fdb8 100644 --- a/tex/context/base/mult-en.mkii +++ b/tex/context/base/mult-en.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{unavailable} \setinterfacevariable{underbar}{underbar} \setinterfacevariable{underbars}{underbars} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{unit} \setinterfacevariable{units}{units} \setinterfacevariable{unknown}{unknown} diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii index 2c583bbf3..89efb4bfb 100644 --- a/tex/context/base/mult-fr.mkii +++ b/tex/context/base/mult-fr.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{indisponible} \setinterfacevariable{underbar}{souslignetout} \setinterfacevariable{underbars}{sousligne} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{unite} \setinterfacevariable{units}{unites} \setinterfacevariable{unknown}{inconnu} diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii index 2a971812f..4acba1e28 100644 --- a/tex/context/base/mult-it.mkii +++ b/tex/context/base/mult-it.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{nondisponibile} \setinterfacevariable{underbar}{sottolinea} \setinterfacevariable{underbars}{sottolinee} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{unita} \setinterfacevariable{units}{unita} \setinterfacevariable{unknown}{ignoto} diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua index 051303349..91fb4baf8 100644 --- a/tex/context/base/mult-low.lua +++ b/tex/context/base/mult-low.lua @@ -39,9 +39,22 @@ return { -- "uprotationangle", "rightrotatioangle", "downrotatioangle", "leftrotatioangle", -- + -- maybe a different class + -- + "startmode", "stopmode", "startnotmode", "stopnotmode", "doifmode", "doifmodeelse", "doifnotmode", + "startenvironment", "stopenvironment", "environment", + "startcomponent", "stopcomponent", "component", + "startproduct", "stopproduct", "product", + "startproject", "stopproject", "project", + "starttext", "stoptext" }, ["helpers"] = { -- + "startsetups", "stopsetups", + "startxmlsetups", "stopxmlsetups", + "starttexdefinition", "stoptexdefinition", + "starttexcode", "stoptexcode", + -- "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", -- not used -- @@ -77,7 +90,7 @@ return { -- "tracingall", "tracingnone", "loggingall", -- - "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", + "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", -- "endgraf", "empty", "null", "space", "obeyspaces", "obeylines", "normalspace", -- @@ -100,11 +113,6 @@ return { "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", -- - "startsetups", "stopsetups", - "startxmlsetups", "stopxmlsetups", - "starttexdefinition", "stoptexdefinition", - "starttexcode", "stoptexcode", - -- "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", -- "firstofoneargument", diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii index 3cae35da7..361c30db0 100644 --- a/tex/context/base/mult-nl.mkii +++ b/tex/context/base/mult-nl.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{nietbeschikbaar} \setinterfacevariable{underbar}{onderstreep} \setinterfacevariable{underbars}{onderstrepen} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{eenheid} \setinterfacevariable{units}{eenheden} \setinterfacevariable{unknown}{onbekend} diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii index 43ad6b122..0ea8547af 100644 --- a/tex/context/base/mult-pe.mkii +++ b/tex/context/base/mult-pe.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{غیرموجود} \setinterfacevariable{underbar}{میلهزیر} \setinterfacevariable{underbars}{میلههایزیر} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{واحد} \setinterfacevariable{units}{واحدها} \setinterfacevariable{unknown}{ناشناس} diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii index 50274c1d3..47a6cd401 100644 --- a/tex/context/base/mult-ro.mkii +++ b/tex/context/base/mult-ro.mkii @@ -499,6 +499,8 @@ \setinterfacevariable{unavailable}{nedisponibil} \setinterfacevariable{underbar}{sublinie} \setinterfacevariable{underbars}{sublinii} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} \setinterfacevariable{unit}{unitate} \setinterfacevariable{units}{unitati} \setinterfacevariable{unknown}{necunoscut} diff --git a/tex/context/base/node-bck.lua b/tex/context/base/node-bck.lua index e1e4d4652..a0044eb78 100644 --- a/tex/context/base/node-bck.lua +++ b/tex/context/base/node-bck.lua @@ -31,7 +31,7 @@ local a_transparency = attributes.private('transparency') local a_colorspace = attributes.private('colormodel') local a_background = attributes.private('background') -local function add_backgrounds(head) -- boxes, inline will be done too +local function add_backgrounds(head) local id = head.id if id == vlist_code or id == hlist_code then local current = head.list diff --git a/tex/context/base/node-bck.mkiv b/tex/context/base/node-bck.mkiv index f53584396..50f27aec6 100644 --- a/tex/context/base/node-bck.mkiv +++ b/tex/context/base/node-bck.mkiv @@ -20,7 +20,7 @@ \registerctxluafile{node-bck}{1.001} -\def\doinitializeboxbackgrounds +\def\doinitializeboxbackgrounds % will move to lua {\ctxlua{nodes.tasks.enableaction("shipouts","nodes.handlers.backgrounds")}% \glet\doinitializeboxbackgrounds\donothing} diff --git a/tex/context/base/node-rul.mkiv b/tex/context/base/node-rul.mkiv index cf94ac5e0..0978a650e 100644 --- a/tex/context/base/node-rul.mkiv +++ b/tex/context/base/node-rul.mkiv @@ -119,13 +119,15 @@ {\groupedcommand{\dodoruled{#1}}\relax} \def\dodoruled - {\ctxlua{nodes.rules.enable()}% + {\ctxlua{nodes.rules.enable()}% will be moved to lua \glet\dodoruled\dodoruledindeed \dodoruled} -\def\dodoruledindeed#1% maybe reverse the 1000 - {\advance\csname\??on:#1:c\endcsname\plusone % local ? +\def\dodoruledindeed#1% maybe reverse the 1000 (also maybe use more attributes instead of settings) + {\edef\currentbar{#1}% + \advance\csname\??on:#1:c\endcsname\plusone % local ? \scratchcounter\csname\??on:#1:c\endcsname + \dosetbarattributes\c!foregroundstyle\c!foregroundcolor \attribute\ruledattribute\numexpr 1000*\scratchcounter +\csname\??on#1\ifcsname\??on#1:\number\scratchcounter\s!parent\endcsname:\number\scratchcounter\fi:a\endcsname @@ -158,6 +160,7 @@ \c!offset=0, % upwards, replaces: topoffset bottomoffset \c!dy=0, \c!max=3, + \c!style=, \c!rulethickness=.1, \c!order=\v!foreground, \c!unit=ex, % so now we are relative @@ -166,13 +169,23 @@ % \definebar[touchbar] [\c!method=0,\c!dy=-0.4,\c!offset=-0.0] % \definebar[touchbars] [touchbar] [\c!continue=\v!yes] -\definebar[\v!overstrike] [\c!method=0,\c!dy= 0.4,\c!offset= 0.5,\c!continue=\v!yes] +\definebar[\v!overstrike] [\c!method=0,\c!dy=0.4,\c!offset=0.5,\c!continue=\v!yes] \definebar[\v!underbar] [\c!method=1,\c!dy=-0.4,\c!offset=-0.3,\c!continue=\v!yes] -\definebar[\v!overbar] [\c!method=1,\c!dy= 0.4,\c!offset= 1.8,\c!continue=\v!yes] +\definebar[\v!overbar] [\c!method=1,\c!dy=0.4,\c!offset=1.8,\c!continue=\v!yes] + +\definebar + [\v!understrike] + [\c!method=0, + \c!offset=1.375, + \c!rulethickness=2.5, + \c!continue=\v!yes, + \c!order=\v!background, + \c!color=lightgray] \definebar[\v!overstrikes] [\v!overstrike] [\c!continue=\v!no] \definebar[\v!underbars] [\v!underbar] [\c!continue=\v!no] \definebar[\v!overbars] [\v!overbar] [\c!continue=\v!no] +\definebar[\v!understrikes][\v!understrike][\c!continue=\v!no] % we want these always so ... diff --git a/tex/context/base/pack-box.mkiv b/tex/context/base/pack-box.mkiv index 7c755ee7f..9fab9c434 100644 --- a/tex/context/base/pack-box.mkiv +++ b/tex/context/base/pack-box.mkiv @@ -585,7 +585,7 @@ {\dowithnextbox % we could use a local setlayer command (no doif..empty) which also saves a nextbox {\setlayer[#1][\c!width=\nextboxwd,\c!height=\nextboxht,#2,\c!offset=\!!zeropoint]{\flushnextbox}}% % \hbox\framed[\c!location=\v!normal,#2]}% could be a fast one (no #2,\c!offset=\defaultframeoffset) - \hbox\localframedwithsettings[][\c!location=\v!normal,#2]}% + \hbox\normalframedwithsettings[\c!location=\v!normal,#2]}% fast call (no arg check) \def\setlayertext {\dotripleempty\dosetlayertext} diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv index face31209..ebadf90e0 100644 --- a/tex/context/base/pack-rul.mkiv +++ b/tex/context/base/pack-rul.mkiv @@ -625,6 +625,12 @@ \unexpanded\def\setupframed {\dodoubleempty\dosetupframed} +\unexpanded\def\normalframedwithsettings + {\bgroup + \advance\framednesting\plusone + \expandafter\let\csname\??ol:\the\framednesting\s!parent\endcsname\??ol + \dolocalframed[\??ol:\the\framednesting]} + % we can consider setting the parent of the regular framed to % something else in the otr so that we isolate it there diff --git a/tex/context/base/page-flt.mkiv b/tex/context/base/page-flt.mkiv index e182c1695..504e2b032 100644 --- a/tex/context/base/page-flt.mkiv +++ b/tex/context/base/page-flt.mkiv @@ -143,9 +143,9 @@ \exitloop \else \def\currentfloat{#1}% - \blank[\@@bkspacebefore]% + \blank[\rootfloatparameter\c!spacebefore]% \box\floatbox - \blank[\@@bkspaceafter] + \blank[\rootfloatparameter\c!spaceafter] \fi}} %D The following code is in transition as we don't want to break the diff --git a/tex/context/base/page-mul.mkiv b/tex/context/base/page-mul.mkiv index 6589e63bb..46fc28189 100644 --- a/tex/context/base/page-mul.mkiv +++ b/tex/context/base/page-mul.mkiv @@ -1341,7 +1341,7 @@ \getcolumnstatus\column\count255\total\dimen0\goal\dimen2\\% \dofloatsgetinfo\s!text \setbox\scratchbox\vbox % tricky met objecten ? - {\blank[\@@bkspacebefore] + {\blank[\rootfloatparameter\c!spacebefore] \snaptogrid\vbox{\vskip\floatheight}}% copy? \advance\dimen0\dimexpr\ht\scratchbox+2\openlineheight+.5\lineheight\relax\relax % needed because goal a bit higher \ifdim\dimen0>\dimen2 @@ -1374,7 +1374,7 @@ % dropped ? \else \setbox2\vbox - {\blank[\@@bkspacebefore] + {\blank[\rootfloatparameter\c!spacebefore] \snaptogrid\vbox{\vskip\floatheight}}% \advance\dimen0 \ht2 \ifdim\dimen0>\dimen2 @@ -1385,7 +1385,7 @@ \global\setbox\currenttopcolumnbox\vbox {\snaptogrid\vbox{\box\floatbox} \whitespace % nodig ? - \blank[\@@bkspaceafter]}% + \blank[\rootfloatparameter\c!spaceafter]}% \dimen4=\htdp\currenttopcolumnbox \global\advance\vsize -\dimen4 \advance\dimen4 -\pagegoal @@ -1402,12 +1402,12 @@ \par \ifdim\prevdepth<\zeropoint \else % anders bovenaan kolom witruimte \nobreak - \blank[\@@bkspacebefore] + \blank[\rootfloatparameter\c!spacebefore] \nobreak \fi \dofloatsflush\s!text{1}% \flushfloatbox - \blank[\@@bkspaceafter] + \blank[\rootfloatparameter\c!spaceafter] \fi \fi \fi @@ -1444,7 +1444,7 @@ {\copy\currenttopcolumnbox \hbox{\vphantom{\vskip\floatheight}}}% known from previous \whitespace % nodig ? - \blank[\@@bkspaceafter]}% + \blank[\rootfloatparameter\c!spaceafter]}% \else \dofloatsgetinfo\s!text \ifdim\floatwidth>\hsize @@ -1462,7 +1462,7 @@ \global\setbox\floatbox\hbox to \finalcolumntextwidth{\hss\box\floatbox\hss}% \fi % otherwise the graphic may disappear \global\setbox\floatbox\hbox to \dimen0 - {\processaction[\@@bklocation] % how easy to forget + {\processaction[\rootfloatparameter\c!location] % how easy to forget [ \v!left=>\box\floatbox\hss, \v!right=>\hss\box\floatbox, \s!default=>\hss\box\floatbox\hss, @@ -1482,7 +1482,7 @@ {\box\currenttopcolumnbox % was copy \box\floatbox} \whitespace % nodig ? - \blank[\@@bkspaceafter]}% + \blank[\rootfloatparameter\c!spaceafter]}% \fi \dimen6\htdp\currenttopcolumnbox \fi @@ -1511,9 +1511,9 @@ \forgetall % no check for width \dogetfloat - \blank[\@@bkspacebefore] + \blank[\rootfloatparameter\c!spacebefore] \snaptogrid\vbox{\copy\floatbox} - \blank[\@@bkspaceafter] + \blank[\rootfloatparameter\c!spaceafter] \egroup \else \exitloop diff --git a/tex/context/base/page-one.mkiv b/tex/context/base/page-one.mkiv index e1e47abcd..ec22dca72 100644 --- a/tex/context/base/page-one.mkiv +++ b/tex/context/base/page-one.mkiv @@ -190,11 +190,11 @@ \noffloatinserts\zerocount \let\totaltopinserted\!!zeropoint \OTRONEdodosettopinserts - \ifnum\@@bknbottom=\zerocount - \ifnum\@@bknlines>\zerocount + \ifnum\rootfloatparameter\c!nbottom=\zerocount + \ifnum\rootfloatparameter\c!nlines>\zerocount \ifdim\totaltopinserted>\zeropoint\relax - \ifdim\dimexpr\@@bknlines\lineheight+\totaltopinserted\relax>\textheight - \showmessage\m!floatblocks8\@@bknlines + \ifdim\dimexpr\rootfloatparameter\c!nlines\lineheight+\totaltopinserted\relax>\textheight + \showmessage\m!floatblocks8\rootfloatparameter\c!nlines \vfilll\eject \fi \fi @@ -221,11 +221,11 @@ \kern-\lineskip\par \prevdepth\maxdimen \else - %\blank[-\@@bkspaceafter,\@@bkspacebefore]% inserts can't look back + %\blank[-\rootfloatparameter\c!spaceafter,\rootfloatparameter\c!spacebefore]% inserts can't look back \betweenfloatblanko \fi \flushfloatbox - \blank[\@@bkspaceafter]}% + \blank[\rootfloatparameter\c!spaceafter]}% \ifsomefloatwaiting \advance\noffloatinserts \plusone \else @@ -261,7 +261,7 @@ \ifdim\botinserted<\pagegoal\relax \insert\botins {\forgetall - \blank[\@@bkspacebefore]% + \blank[\rootfloatparameter\c!spacebefore]% \flushfloatbox}% \ifsomefloatwaiting \advance\noffloatinserts \plusone @@ -289,7 +289,7 @@ \OTRONEdosettopinserts \OTRONEdosetbotinserts \ifsomefloatwaiting - \doif\@@bkcache\v!no\doflushfloats + \doif\rootfloatparameter\c!cache\v!no\doflushfloats \fi \fi} @@ -520,18 +520,18 @@ \topskipcorrection % [xx] new: see icare topbleed \kern-\lineskip\par\prevdepth\maxdimen \else - %\blank[-\@@bkspaceafter,\@@bkspacebefore]% inserts can't look back + %\blank[-\rootfloatparameter\c!spaceafter,\rootfloatparameter\c!spacebefore]% inserts can't look back \betweenfloatblanko \fi \flushfloatbox - \blank[\@@bkspaceafter]}% + \blank[\rootfloatparameter\c!spaceafter]}% \doinsertfloatinfo} \def\OTRONEsomebotsfloat[#1]% {\global\advance\botinserted\dimexpr\ht\floatbox+\dp\floatbox+\floattopskip\relax \insert\botins {\forgetall - \blank[\@@bkspacebefore]% + \blank[\rootfloatparameter\c!spacebefore]% \flushfloatbox}% %\global\nofloatpermittedtrue \doinsertfloatinfo} diff --git a/tex/context/base/page-set.mkiv b/tex/context/base/page-set.mkiv index 3c0993db4..7ef196d53 100644 --- a/tex/context/base/page-set.mkiv +++ b/tex/context/base/page-set.mkiv @@ -2022,14 +2022,14 @@ \noffloatinserts\zerocount \let\totaltopinserted\!!zeropoint \OTRSETdodosettopinserts - \ifnum\@@bknbottom=\zerocount - \ifnum\@@bknlines>\zerocount + \ifnum\rootfloatparameter\c!nbottom=\zerocount + \ifnum\rootfloatparameter\c!nlines>\zerocount \ifdim\totaltopinserted>\zeropoint\relax \dimen0\lineheight - \dimen0=\@@bknlines\dimen0 + \dimen0=\rootfloatparameter\c!nlines\dimen0 \advance\dimen0 \totaltopinserted\relax \ifdim\dimen0>\textheight % \vsize %%%%%%%%% \textheight - \showmessage\m!floatblocks8{\@@bknlines}% + \showmessage\m!floatblocks8{\rootfloatparameter\c!nlines}% \vfilll\eject \fi \fi @@ -2056,7 +2056,7 @@ \betweenfloatblanko % inserts can't look back \fi \flushfloatbox - \blank[\@@bkspaceafter]}% + \blank[\rootfloatparameter\c!spaceafter]}% \global\advance\topinserted \ht\scratchbox\relax \ifdim\topinserted>\vsize % was \textheight\relax \OTRSETresavebox\floatbox @@ -2098,7 +2098,7 @@ \ifdim\botinserted<\pagegoal\relax \insert\botins {\forgetall - \blank[\@@bkspacebefore]% + \blank[\rootfloatparameter\c!spacebefore]% \flushfloatbox}% \ifsomefloatwaiting \advance\noffloatinserts \plusone diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex 37e8ae081..c2bd7d806 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf Binary files differindex b150b502d..26089e691 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/strc-flt.mkiv b/tex/context/base/strc-flt.mkiv index fbedab659..7511a2a79 100644 --- a/tex/context/base/strc-flt.mkiv +++ b/tex/context/base/strc-flt.mkiv @@ -24,68 +24,17 @@ \unexpanded\def\placefloats{\doflushfloats} % keep this one -\let\currentfloat\empty +\installframedcommandhandler \??fl {float} \??fl +\installframedcommandhandler \??kj {floatcaption} \??kj -\def\letfloatparameter #1{\expandafter\let\csname\??fl\currentfloat#1\endcsname} - -\def\floatparameter #1{\csname\dofloatparameter{\??fl\currentfloat}#1\endcsname} -\def\floatsharedparameter#1{\csname \??fl #1\endcsname} -\def\floatparameterhash #1{\dofloatparameterhash {\??fl\currentfloat}#1} - -\def\dofloatparameter #1#2{\ifcsname#1#2\endcsname#1#2\else\expandafter\dofloatparentparameter \csname#1\s!parent\endcsname#2\fi} -\def\dofloatparameterhash#1#2{\ifcsname#1#2\endcsname #1\else\expandafter\dofloatparentparameterhash\csname#1\s!parent\endcsname#2\fi} - -\def\dofloatparentparameter #1#2{\ifx#1\relax\s!empty\else\dofloatparameter #1#2\fi} -\def\dofloatparentparameterhash#1#2{\ifx#1\relax \else\dofloatparameterhash#1#2\fi} - -\def\detokenizedfloatparameter#1{\detokenize\expandafter\expandafter\expandafter{\csname\??fl\currentfloat#1\endcsname}} - -\def\dosetfloatattributes#1#2% style color - {\edef\fontattributehash {\floatparameterhash#1}% - \edef\colorattributehash{\floatparameterhash#2}% - \ifx\fontattributehash \empty\else\dosetfontattribute \fontattributehash #1\fi - \ifx\colorattributehash\empty\else\dosetcolorattribute\colorattributehash#2\fi} - -\def\floatcaptionparameter #1{\csname\dofloatcaptionparameter{\??kj\currentfloat}#1\endcsname} -\def\floatcaptionparameterhash#1{\dofloatcaptionparameterhash {\??kj\currentfloat}#1} - -\def\dofloatcaptionparameter #1#2{\ifcsname#1#2\endcsname#1#2\else\expandafter\dofloatcaptionparentparameter \csname#1\s!parent\endcsname#2\fi} -\def\dofloatcaptionparameterhash#1#2{\ifcsname#1#2\endcsname #1\else\expandafter\dofloatcaptionparentparameterhash\csname#1\s!parent\endcsname#2\fi} - -\def\dofloatcaptionparentparameter #1#2{\ifx#1\relax\s!empty\else\dofloatcaptionparameter #1#2\fi} -\def\dofloatcaptionparentparameterhash#1#2{\ifx#1\relax \else\dofloatcaptionparameterhash#1#2\fi} - -\def\detokenizedcaptionparameter#1{\detokenize\expandafter\expandafter\expandafter{\csname\??kj\currentfloat#1\endcsname}} - -\def\dosetfloatcaptionattributes#1#2% style color - {\edef\fontattributehash {\floatcaptionparameterhash#1}% - \edef\colorattributehash{\floatcaptionparameterhash#2}% - \ifx\fontattributehash \empty\else\dosetfontattribute \fontattributehash #1\fi - \ifx\colorattributehash\empty\else\dosetcolorattribute\colorattributehash#2\fi} +\let\setupfloats \setupfloat +\let\setupcaption \setupfloatcaption +\let\setupcaptions\setupfloatcaption \def\dohandlenextfloatindent {\checknextindentation[\floatparameter\c!indentnext]% \dorechecknextindentation} -%D The two shared (parent) definitions: - -% todo: everysetupfloat everysetupcaption for all floats - -\unexpanded\def\setupfloats {\dosingleargument\dosetupfloats} % was \??bk -\unexpanded\def\setupcaptions{\dosingleargument\dosetupcaptions} - -\let\alldefinedfloats\empty - -\def\doprocessallfloats#1% - {\def\doprocesssomefloat##1{\def\currentfloat{##1}#1}% - \processcommacommand[\alldefinedfloats]\doprocesssomefloat} - -\def\dosetupfloats [#1]{\getparameters[\??fl][#1]\doprocessallfloats{\the\everysetupfloat}} -\def\dosetupcaptions[#1]{\getparameters[\??kj][#1]\doprocessallfloats{\the\everysetupcaption}} - -% \def\dosetupfloats [#1]{\getparameters[\??fl][#1]} -% \def\dosetupcaptions[#1]{\getparameters[\??kj][#1]} - \setupcaptions [\c!location=\v!bottom, \c!grid=, @@ -137,20 +86,20 @@ \c!strut=\v!no, \c!radius=.5\bodyfontsize, \c!corner=\v!rectangular, - \c!background=, - \c!backgroundcolor=, + %\c!background=, + %\c!backgroundcolor=, \c!backgroundoffset=\!!zeropoint, - \c!topframe=, - \c!bottomframe=, - \c!leftframe=, - \c!rightframe=, + %\c!topframe=, + %\c!bottomframe=, + %\c!leftframe=, + %\c!rightframe=, \c!frameoffset=\!!zeropoint, - \c!before=, - \c!after=, + %\c!before=, + %\c!after=, \c!spacebefore=\v!big, \c!spaceafter=\v!big, - \c!sidespacebefore=\floatsharedparameter\c!spacebefore, - \c!sidespaceafter=\floatsharedparameter\c!spaceafter, + \c!sidespacebefore=\rootfloatparameter\c!spacebefore, + \c!sidespaceafter=\rootfloatparameter\c!spaceafter, \c!sidealign=\v!normal, \c!textmethod=\ifgridsnapping2\else0\fi, % 0=raw 1=safe (.99pg) 2=tight (-1pt) % THIS WILL CHANGE \c!sidemethod=\ifgridsnapping2\else1\fi, % 0=raw 1=safe (.99pg) 2=tight (-1pt) % THIS WILL CHANGE @@ -167,71 +116,26 @@ \c!ntop=2, \c!nbottom=0, \c!nlines=4, - \c!local=, - \c!bottombefore=, % e.g. \vfill - \c!bottomafter=, - \c!default=, % default location + %\c!local=, + %\c!bottombefore=, % e.g. \vfill + %\c!bottomafter=, + %\c!default=, % default location \c!numbering=\v!yes] -\def\@@bknumbering {\floatsharedparameter\c!numbering } % global one -\def\@@bkspaceafter {\floatsharedparameter\c!spaceafter } % global one -\def\@@bkspacebefore{\floatsharedparameter\c!spacebefore} % global one -\def\@@bknbottom {\floatsharedparameter\c!nbottom } % global one -\def\@@bkntop {\floatsharedparameter\c!ntop } % global one -\def\@@bknlines {\floatsharedparameter\c!nlines } % global one -\def\@@bkmargin {\floatsharedparameter\c!margin } % global one -\def\@@bkcache {\floatsharedparameter\c!cache } % global one -\def\@@bklocation {\floatsharedparameter\c!location } - -% float -% -% [%\c!width=8\lineheight, % 15\bodyfontsize, -% %\c!height=6\lineheight, % 10\bodyfontsize, -% \c!offset=\v!overlay, -% \c!width=\v!fit, -% \c!height=\v!fit, -% \c!minwidth=, -% \c!maxwidth=, -% \c!maxheight=, -% \c!criterium=, -% % inherited -% \c!pageboundaries=, -% \c!default=]% - -% number -% -% [\c!text=#1, -% \c!location=\v!intext, -% \c!way=\floatcaptionparameter\c!way, -% \c!blockway=\floatcaptionparameter\c!blockway, -% \c!sectionnumber=\floatcaptionparameter\c!sectionnumber, -% \c!conversion=\floatcaptionparameter\c!conversion]% - %D Individial settings: -\unexpanded\def\setupfloat {\dodoubleargument\dosetupfloat} -\unexpanded\def\setupcaption{\dodoubleargument\dosetupcaption} - -\newtoks\everysetupfloat -\newtoks\everysetupcaption - -\def\dosetupfloat[#1][#2]% - {\def\docommand##1{\getparameters[\??fl##1][#2]\def\currentfloat{##1}\the\everysetupfloat}% - \processcommalist[#1]\docommand} - -\def\dosetupcaption[#1][#2]% - {\def\docommand##1{\getparameters[\??kj##1][#2]\def\currentfloat{##1}\the\everysetupcaption}% - \processcommalist[#1]\docommand} - -\presetstructurecountersetup\setupcaptions\sharedstructurecounterparameter +\presetstructurecountersetup\setupcaption\sharedstructurecounterparameter \appendtoks + \let\currenfloat\currentcaption \dostructurecountersetup\currentfloat\floatcaptionparameter \docheckstructurecountersetup\currentfloat -\to \everysetupcaption +\to \everysetupfloatcaption %D Definitions: +\let\saveddefinefloat\definefloat + \unexpanded\def\definefloat {\dotripleempty\dodefinefloat} @@ -244,28 +148,22 @@ \dododefinefloat[#1][#1]% \fi\fi} -\presetlocalframed[\??fl] - \def\dododefinefloat[#1][#2]% - {\inheritlocalframed[\??fl#1][\??fl]% + {\definefloatcaption[#1]% \definestructurecounter[#1]% - \addtocommalist{#1}\alldefinedfloats - \setupfloat[#1][\s!parent=\??fl]% - \setupcaption[#1][\s!parent=\??kj]% \definelist[#1]% \presetlabeltext[#1=\Word{#1}~]% \presetheadtext[#2=\Word{#2}]% - \dodefinefloatcommands[#1][#2]% - }% \newnodelocation{\v!float\@@thenumber{#1}}} + \saveddefinefloat[#1]% + \dodefinefloatcommands[#1][#2]} \def\redodefinefloat[#1][#2][#3]% - {\inheritlocalframed[\??fl#1][\??fl#3]% - \setupfloat[#1][\s!parent=\??fl#3]% - \setupcaption[#1][\s!parent=\??kj#3]% + {\definefloatcaption[#1][#3]% \definestructurecounter[#1][#3]% \definelist[#1][#3]% \presetlabeltext[#1=\Word{#3}~]% \presetheadtext[#2=\Word{#2}]% + \saveddefinefloat[#1][#3]% \dodefinefloatcommands[#1][#2]} \def\dodefinefloatcommands[#1][#2]% @@ -287,10 +185,10 @@ \def\doemptyfloatblock#1% {\framed [\c!frame=\v!on, - \c!width=\floatsharedparameter\c!width, - \c!height=\floatsharedparameter\c!height, + \c!width=\rootfloatparameter\c!width, + \c!height=\rootfloatparameter\c!height, \c!location=\v!normal, - \c!offset=\floatsharedparameter\c!offset]% + \c!offset=\rootfloatparameter\c!offset]% {\getmessage\m!floatblocks{12}\empty}} %D Data. We can generalize this to lists. @@ -299,7 +197,6 @@ \newif\ifnofloatnumber \newif\ifemptyfloatcaption -\def\getfloatparameters {\getparameters[\??fl\currentfloat]} \def\getcaptionparameters{\getparameters[\??kj\currentfloat]} \installstructurelistprocessor{float}{\usestructurelistprocessor{number+title}} @@ -312,18 +209,6 @@ \def\thecurrentfloatnumber {\ifnofloatcaption \else \ifnofloatnumber \else \ifx\currentfloatnumber\relax\else -% \dostarttagged\t!floatlabel\empty -% \labeltexts\currentfloat -% {\dostoptagged -% \dostarttagged\t!floatnumber\empty -% \ctxlua{structures.lists.savedprefixednumber("\currentfloat",\currentfloatnumber)}% -% \thecurrentfloatnumbersuffix -% \dostoptagged -% \dostarttagged\t!floatlabel\empty}% -% \dostoptagged -% \taggedlabeltexts\currentfloat\currentfloat -% {\ctxlua{structures.lists.savedprefixednumber("\currentfloat",\currentfloatnumber)}% -% \thecurrentfloatnumbersuffix}% \namedtaggedlabeltexts \t!floatlabel \currentfloat \t!floatnumber\currentfloat @@ -525,7 +410,7 @@ \fi} \def\tracefloatnumber#1% - {\doifnot{\floatsharedparameter\c!numbering}\v!nocheck{\tagnodelocation{\v!float\@@thenumber{#1}}}} + {\doifnot{\rootfloatparameter\c!numbering}\v!nocheck{\tagnodelocation{\v!float\@@thenumber{#1}}}} \newconditional\retainfloatnumber @@ -533,7 +418,7 @@ {\xdef\floatcaptionnumber{#1}% \doifelsenodelocation{\v!float\@@thenumber{#1}} \donothing {\nodelocationmode\zerocount}% - \doifelse{\floatsharedparameter\c!numbering}\v!nocheck + \doifelse{\rootfloatparameter\c!numbering}\v!nocheck {\incrementnumber[#1]% \makesectionnumber[#1]% \ifconditional\retainfloatnumber\decrementnumber[#1]\fi} @@ -595,6 +480,7 @@ \unexpanded\def\docomplexplacefloat[#1][#2]% [#3]#4% {\edef\currentfloat{#1}% + \let\currentfloatcaption\currentfloat \doifnothing\currentfloat{\let\currentfloat\v!figure}% hack \doifelsenothing{#2} {\edef\floatlocation{\floatparameter\c!default}} @@ -823,7 +709,7 @@ {float}% \getcaptionparameters \floatcaptionparameter - \detokenizedcaptionparameter + \detokenizedfloatcaptionparameter \relax \relax \relax @@ -908,14 +794,14 @@ \global\sidefloatextrashift\zeropoint \doifassignmentelse{#1}% {\bgroup - \getparameters[\??fl][\c!x=\zeropoint,\c!y=\zeropoint,#1]% + \getparameters[\??fl\??fl][\c!x=\zeropoint,\c!y=\zeropoint,#1]% \ifgridsnapping \getnoflines\@@fly \global\sidefloatdownshift\noflines\lineheight \else - \global\sidefloatdownshift\@@fly + \global\sidefloatdownshift\@@fl@@fly \fi - \global\sidefloatextrashift\@@flx + \global\sidefloatextrashift\@@fl@@flx \egroup} {\movedownsidefloat[#1]}} @@ -1026,8 +912,16 @@ \flushsidefloats % hoort eigenlijk niet hier \docomplexplacefloat[#1][\v!text,#2,\v!left][#3]} +\def\docomplexreserveblock#1#2% + {\begingroup + \edef\currentfloat{#1}% + \let\currentfloatcaption\currentfloat + \setupcurrentfloat[#2]% + \inheritedfloatframed{#1}% + \endgroup} + \long\def\docomplexreserveblock[#1][#2][#3][#4]#5% - {\getvalue{\e!place#1}[#3][#4]{#5}{\localframed[\??fl#1][#2]{#1}}} + {\getvalue{\e!place#1}[#3][#4]{#5}{\docomplexreserveblock{#1}{#2}{#1}}} \def\docomplexstartreservetextblock[#1][#2][#3][#4]% {\flushsidefloats % hoort eigenlijk niet hier @@ -1070,38 +964,38 @@ \global#1\ht\scratchbox}}} \def\calculatefloatskips - {{\docalculatefloatskip\floattopskip{\floatsharedparameter\c!spacebefore}% - \docalculatefloatskip\floatbottomskip{\floatsharedparameter\c!spaceafter}% - \docalculatefloatskip\sidefloattopskip{\floatsharedparameter\c!sidespacebefore}% - \docalculatefloatskip\sidefloatbottomskip{\floatsharedparameter\c!sidespaceafter}% + {{\docalculatefloatskip\floattopskip{\rootfloatparameter\c!spacebefore}% + \docalculatefloatskip\floatbottomskip{\rootfloatparameter\c!spaceafter}% + \docalculatefloatskip\sidefloattopskip{\rootfloatparameter\c!sidespacebefore}% + \docalculatefloatskip\sidefloatbottomskip{\rootfloatparameter\c!sidespaceafter}% \gdef\sidefloattopoffset{\openstrutdepth}% was \def - \global\floatsideskip\floatsharedparameter\c!margin + \global\floatsideskip\rootfloatparameter\c!margin \global\sidefloatleftshift\floatparameter\c!leftmargindistance \global\sidefloatrightshift\floatparameter\c!rightmargindistance - \global\noftopfloats\floatsharedparameter\c!ntop\relax - \global\nofbotfloats\floatsharedparameter\c!nbottom\relax}} + \global\noftopfloats\rootfloatparameter\c!ntop\relax + \global\nofbotfloats\rootfloatparameter\c!nbottom\relax}} % beter de laatste skip buiten de \insert uitvoeren, % bovendien bij volle flush onder baseline. % \def\betweenfloatblanko% assumes that spaceafter is present % {\bgroup -% \setbox0\vbox{\strut\blank[\floatsharedparameter\c!spacebefore]\strut}% -% \setbox2\vbox{\strut\blank[\floatsharedparameter\c!spaceafter]\strut}% +% \setbox0\vbox{\strut\blank[\rootfloatparameter\c!spacebefore]\strut}% +% \setbox2\vbox{\strut\blank[\rootfloatparameter\c!spaceafter]\strut}% % \ifdim\ht0>\ht2 -% \blank[-\floatsharedparameter\c!spaceafter,\floatsharedparameter\c!spacebefore]% +% \blank[-\rootfloatparameter\c!spaceafter,\rootfloatparameter\c!spacebefore]% % \fi % \egroup} \def\betweenfloatblanko% assumes that spaceafter is present - {\blank[\floatsharedparameter\c!spacebefore]} % or v!back,.... + {\blank[\rootfloatparameter\c!spacebefore]} % or v!back,.... \def\doplacefloatbox {%\forgetall % NO \whitespace - \blank[\floatsharedparameter\c!spacebefore] + \blank[\rootfloatparameter\c!spacebefore] \flushfloatbox - \blank[\floatsharedparameter\c!spaceafter]} + \blank[\rootfloatparameter\c!spaceafter]} \ifdefined\someherefloat\else \let\someherefloat\doplacefloatbox \fi \ifdefined\someslotfloat\else \let\someslotfloat\doplacefloatbox \fi @@ -1123,7 +1017,7 @@ \global\floatwidth\wd\floatbox \global\floatheight\ht\floatbox % forget about the depth \global\advance\floattextwidth -\floatwidth - \global\advance\floattextwidth -\floatsharedparameter\c!margin\relax % was \tfskipsize + \global\advance\floattextwidth -\rootfloatparameter\c!margin\relax % was \tfskipsize \doifinsetelse\v!tall{#1} {\floattextheight\pagegoal \advance\floattextheight -\pagetotal @@ -1184,12 +1078,12 @@ \box\floattext}}% \baselinecorrection \whitespace - \blank[\floatsharedparameter\c!spacebefore]% + \blank[\rootfloatparameter\c!spacebefore]% \doifnotinset\v!tall{#1}% {\dp\floatbox\openstrutdepth}% dp\strutbox}% % toegevoegd \box\floatbox \dostoptagged - \blank[\floatsharedparameter\c!spaceafter]% + \blank[\rootfloatparameter\c!spaceafter]% \endgroup % ** % \dostoptagged \doinsertfloatinfo} @@ -1252,10 +1146,10 @@ {\placesomeherefloat[#1]}}}} \def\borderedfloatbox - {\localframed - [\??fl\currentfloat] - [\c!location=\v!normal,\c!width=\wd\floatbox,\c!height=\htdp\floatbox] - {\box\floatbox}} + {\begingroup + \setupcurrentfloat[\c!location=\v!normal,\c!width=\v!fit,\c!height=\v!fit]% + \inheritedfloatframed{\box\floatbox}% + \endgroup} \newbox\tempfloatbox diff --git a/tex/context/base/strc-num.mkiv b/tex/context/base/strc-num.mkiv index 675fb2127..2fd8d3e72 100644 --- a/tex/context/base/strc-num.mkiv +++ b/tex/context/base/strc-num.mkiv @@ -171,13 +171,13 @@ \unexpanded\def\incrementedstructurecounter[#1]{\ctxcommand{incrementedstructurecounter("\@@thestructurecounter{#1}",1, 1)}} \unexpanded\def\decrementedstructurecounter[#1]{\ctxcommand{incrementedstructurecounter("\@@thestructurecounter{#1}",1,-1)}} -\unexpanded\def\setsubstructurecounter {\dodoubleargument\dosetsubstructurecounter} -\unexpanded\def\setsubstructurecounterown {\dodoubleargument\dosetsubstructurecounterown} -\unexpanded\def\resetsubstructurecounter {\dodoubleargument\doresetsubstructurecounter} -\unexpanded\def\restartsubstructurecounter {\dodoubleargument\dorestartsubstructurecounter} -\unexpanded\def\incrementsubstructurecounter {\dodoubleargument\doincrementsubstructurecounter} -\unexpanded\def\decrementsubstructurecounter {\dodoubleargument\dodecrementsubstructurecounter} - \def\rawsubstructurecounter {\dodoubleargument\dorawsubstructurecounter} +\unexpanded\def\setsubstructurecounter {\dodoubleargument\dosetsubstructurecounter} +\unexpanded\def\setsubstructurecounterown {\dodoubleargument\dosetsubstructurecounterown} +\unexpanded\def\resetsubstructurecounter {\dodoubleargument\doresetsubstructurecounter} +\unexpanded\def\restartsubstructurecounter {\dodoubleargument\dorestartsubstructurecounter} +\unexpanded\def\incrementsubstructurecounter{\dodoubleargument\doincrementsubstructurecounter} +\unexpanded\def\decrementsubstructurecounter{\dodoubleargument\dodecrementsubstructurecounter} + \def\rawsubstructurecounter {\dodoubleargument\dorawsubstructurecounter} \def\dosetsubstructurecounter [#1][#2]#3{\ctxcommand{setstructurecounter ("\@@thestructurecounter{#1}",#2,\number#3)}} \def\dosetsubstructurecounterown [#1][#2]#3{\ctxcommand{setownstructurecounter ("\@@thestructurecounter{#1}",#2,"#3")}} diff --git a/tex/context/base/strc-sbe.mkiv b/tex/context/base/strc-sbe.mkiv index fda7f3981..a98b67885 100644 --- a/tex/context/base/strc-sbe.mkiv +++ b/tex/context/base/strc-sbe.mkiv @@ -102,15 +102,15 @@ %D \starttyping %D \startsectionblockenvironment[frontpart] -%D \setuppagenumbering[conversion=romannumerals] +%D \setupnumber[userpage][numberconversion=romannumerals,start=1] %D \stopsectionblockenvironment %D %D \startsectionblockenvironment[bodypart] -%D \setuppagenumber[number=1] +%D \setupnumber[userpage][numberconversion=numbers,start=1] %D \stopsectionblockenvironment %D -%D \startsectionblockenvironment[frontpart] -%D \setuppagenumbering[conversion=character] +%D \startsectionblockenvironment[backpart] +%D \setupnumber[userpage][numberconversion=numbers,start=1] %D \stopsectionblockenvironment %D %D \starttext @@ -124,18 +124,6 @@ {\dosingleargument\dostartsectionblockenvironment} \def\dostartsectionblockenvironment[#1]% evt \pushendofline \popendofline - {\long\def\do##1##2{\setsectionblockenvironment{#1}{##1##2}}% - %\grabuntil{\e!stop\v!sectionblockenvironment}{\sectionblockparameter{\s!do#1}}} - \grabuntil{\e!stop\v!sectionblockenvironment}{\csname\??sb\s!do#1\endcsname}} - -% this will become: (we ran in parallel for a while during transition) - -\setvalue{\e!start\v!sectionblockenvironment}% - {\dosingleargument\dostartsectionblockenvironment} - -\def\dostartsectionblockenvironment[#1]% evt \pushendofline \popendofline - {\long\def\do##1##2{\setsectionblockenvironment{#1}{##1##2}}% - %\grabuntil{\e!stop\v!sectionblockenvironment}{\sectionblockparameter{\s!do#1}}} - \grabuntil{\e!stop\v!sectionblockenvironment}{\csname\??sb\s!do#1\endcsname}} + {\grabuntil{\e!stop\v!sectionblockenvironment}{\setsectionblockenvironment{#1}}} \protect \endinput diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index 408a290ad..a0f32c713 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -349,6 +349,8 @@ %D \type{\:} becomes a delimiter of the longer named %D \type{\reinspectnextcharacter}. +% try: \expandafter\def\firstofoneargument{\reinspect_next_character} {...} + \let\next\: \def\:{\let\blankspace= } \: @@ -362,6 +364,9 @@ \def\:{\reinspect_next_bgroup_character} \expandafter\def\: {\let\if_next_blank_space_token\iftrue\futurelet\nexttoken\inspect_next_bgroup_character} +\def\:{\reinspect_next_parenthesis_character} +\expandafter\def\: {\let\if_next_blank_space_token\iftrue\futurelet\nexttoken\inspect_next_parenthesis_character} + \let\:\next %D \macros diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml index 7027f8c0c..e2e3b985f 100644 --- a/tex/context/interface/keys-cs.xml +++ b/tex/context/interface/keys-cs.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='nedostupne'/> <cd:variable name='underbar' value='podtrzeno'/> <cd:variable name='underbars' value='podtrzeni'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='jednotka'/> <cd:variable name='units' value='jednotky'/> <cd:variable name='unknown' value='neznamy'/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index 37a3ee77d..5ef5ad82e 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='nichtverfuegbar'/> <cd:variable name='underbar' value='unterstrichen'/> <cd:variable name='underbars' value='unterstreichen'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='einheit'/> <cd:variable name='units' value='einheiten'/> <cd:variable name='unknown' value='unbekannt'/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 9bd938d43..edeec95b8 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='unavailable'/> <cd:variable name='underbar' value='underbar'/> <cd:variable name='underbars' value='underbars'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='unit'/> <cd:variable name='units' value='units'/> <cd:variable name='unknown' value='unknown'/> diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml index 51588a244..1c5850603 100644 --- a/tex/context/interface/keys-fr.xml +++ b/tex/context/interface/keys-fr.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='indisponible'/> <cd:variable name='underbar' value='souslignetout'/> <cd:variable name='underbars' value='sousligne'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='unite'/> <cd:variable name='units' value='unites'/> <cd:variable name='unknown' value='inconnu'/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index f44709875..d8b685e89 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='nondisponibile'/> <cd:variable name='underbar' value='sottolinea'/> <cd:variable name='underbars' value='sottolinee'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='unita'/> <cd:variable name='units' value='unita'/> <cd:variable name='unknown' value='ignoto'/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 67e9152b2..528446083 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='nietbeschikbaar'/> <cd:variable name='underbar' value='onderstreep'/> <cd:variable name='underbars' value='onderstrepen'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='eenheid'/> <cd:variable name='units' value='eenheden'/> <cd:variable name='unknown' value='onbekend'/> diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml index 0cdf2d2c1..d0123485e 100644 --- a/tex/context/interface/keys-pe.xml +++ b/tex/context/interface/keys-pe.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='غیرموجود'/> <cd:variable name='underbar' value='میلهزیر'/> <cd:variable name='underbars' value='میلههایزیر'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='واحد'/> <cd:variable name='units' value='واحدها'/> <cd:variable name='unknown' value='ناشناس'/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index 5b0df2880..eb18cef07 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -502,6 +502,8 @@ <cd:variable name='unavailable' value='nedisponibil'/> <cd:variable name='underbar' value='sublinie'/> <cd:variable name='underbars' value='sublinii'/> + <cd:variable name='understrike' value='understrike'/> + <cd:variable name='understrikes' value='understrikes'/> <cd:variable name='unit' value='unitate'/> <cd:variable name='units' value='unitati'/> <cd:variable name='unknown' value='necunoscut'/> diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 586f5e882..d779357af 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 09/15/11 19:53:57 +-- merge date : 09/17/11 09:40:07 do -- begin closure to overcome local limits and interference |