diff options
author | Mojca Miklavec <mojca.miklavec@gmail.com> | 2012-05-22 21:04:25 +0000 |
---|---|---|
committer | Mojca Miklavec <mojca.miklavec@gmail.com> | 2012-05-22 21:04:25 +0000 |
commit | a115fb4ebf3890ee3cabdf98f3f945a349860752 (patch) | |
tree | e4d25217d24f4c1b6d863007725f538169379e87 /Master/texmf-dist/tex/context/base | |
parent | d36378879c10c7378bc52d9fe7d1ce9c3677d98b (diff) |
ConTeXt 2012.05.22 16:12
git-svn-id: svn://tug.org/texlive/trunk@26572 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base')
35 files changed, 460 insertions, 199 deletions
diff --git a/Master/texmf-dist/tex/context/base/colo-ini.lua b/Master/texmf-dist/tex/context/base/colo-ini.lua index 08f1a303f05..747e2116f08 100644 --- a/Master/texmf-dist/tex/context/base/colo-ini.lua +++ b/Master/texmf-dist/tex/context/base/colo-ini.lua @@ -835,3 +835,45 @@ commands.startcolorset = colors.pushset commands.stopcolorset = colors.popset commands.usecolors = colors.usecolors + +-- bonus + +function commands.pgfxcolorspec(ca) -- {}{}{colorspace}{list} + -- local cv = attributes.colors.values[ca] + local cv = colorvalues[ca] + if cv then + local model = cv[1] + if model == 2 then + context("{gray}{%1.3f}",cv[2]) + elseif model == 3 then + context("{rgb}{%1.3f,%1.3f,%1.3f}",cv[3],cv[4],cv[5]) + elseif model == 4 then + context("{cmyk}{%1.3f,%1.3f,%1.3f,%1.3f}",cv[6],cv[7],cv[8],cv[9]) + else + context("{gray}{%1.3f}",cv[2]) + end + else + context("{gray}{0}") + end +end + +-- function commands.pgfregistercolor(name,attribute) +-- local cv = colorvalues[ca] +-- context.pushcatcodes('prt') +-- if cv then +-- local model = forcedmodel(cv[1]) +-- if model == 2 then +-- context["pgfutil@definecolor"]("{%s}{gray}{%1.3f}",name,cv[2]) +-- elseif model == 3 then +-- context["pgfutil@definecolor"]("{%s}{rgb}{%1.3f,%1.3f,%1.3f}",name,cv[3],cv[4],cv[5]) +-- elseif model == 4 then +-- context["pgfutil@definecolor"]("{%s}{cmyk}{%1.3f,%1.3f,%1.3f,%1.3f}",name,cv[6],cv[7],cv[8],cv[9]) +-- else +-- context["pgfutil@definecolor"]("{%s}{gray}{0}",name) +-- end +-- else +-- context["pgfutil@definecolor"]("{%s}{gray}{0}",name) +-- end +-- context.popcatcodes() +-- end + diff --git a/Master/texmf-dist/tex/context/base/colo-ini.mkii b/Master/texmf-dist/tex/context/base/colo-ini.mkii index f14f1e15e04..56b9d14da80 100644 --- a/Master/texmf-dist/tex/context/base/colo-ini.mkii +++ b/Master/texmf-dist/tex/context/base/colo-ini.mkii @@ -2693,6 +2693,18 @@ \def\dointernalspotcolorname#1:#2:#3:#4:#5:#6:#7:#8\end{\if#1P\ifcase0#3 #1\else#2\fi\else#1\fi} \def\dointernalspotcolorsize#1:#2:#3:#4:#5:#6:#7:#8\end{\if#1P\ifcase0#3 0\else#3\fi\else 0\fi} +%D Because it's a persitent issue, we also provide + +\def\pgf@context@registercolor#1% + {\handlecolorwith\pgf@context@registercolor@indeed\csname\??cr#1\endcsname:::::::>#1\end} + +\def\pgf@context@registercolor@indeed#1:#2:#3:#4:#5:#6>#7\end + {\setevalue{\string\color@#7}{\noexpand\xcolor@{}{}% + \if#1R{rgb}{#2,#3,#4}\else + \if#1C{cmyk}{#2,#3,#4,#5}\else + \if#1S{gray}{#2}\else + {gray}{0}\fi\fi\fi}} + %D Slow but ok \unknown \def\colorcomponents#1% might be broken diff --git a/Master/texmf-dist/tex/context/base/colo-ini.mkiv b/Master/texmf-dist/tex/context/base/colo-ini.mkiv index 164b39262ff..5721bb513bb 100644 --- a/Master/texmf-dist/tex/context/base/colo-ini.mkiv +++ b/Master/texmf-dist/tex/context/base/colo-ini.mkiv @@ -702,6 +702,51 @@ "#5",false,\iffreezecolors true\else false\fi)}% not global \unexpanded\setvalue{#1}{\colo_helpers_activate{#1}}} +%D Here is a more efficient helper for pgf: +%D +%D \starttying +%D \startluacode +%D function commands.pgfxcolorspec(ca) -- {}{}{colorspace}{list} +%D local cv = attributes.colors.values[ca] +%D if cv then +%D local model = cv[1] +%D if model == 2 then +%D context("{}{}{gray}{%1.3f}",cv[2]) +%D elseif model == 3 then +%D context("{}{}{rgb}{%1.3f,%1.3f,%1.3f}",cv[3],cv[4],cv[5]) +%D elseif model == 4 then +%D context("{}{}{cmyk}{%1.3f,%1.3f,%1.3f,%1.3f}",cv[6],cv[7],cv[8],cv[9]) +%D else +%D context("{}{}{gray}{%1.3f}",cv[2]) +%D end +%D else +%D context("{}{}{gray}{0}") +%D end +%D end +%D \stopluacode +%D +%D \def\pgfutil@registercolor#1% +%D {\setevalue{\string\color@#1}{\noexpand\xcolor@\ctxcommand{pgfxcolorspec(\thecolorattribute{#1})}}} +%D +%D \definecolor [darkblue] [r=0,g=0,b=0.5] +%D +%D \starttikzpicture +%D \fill [blue] (0,0) circle(1); +%D \fill [darkblue] (0,0) circle(1); +%D \stoptikzpicture +%D \stoptyping +%D +%D \stopmode + +\def\pgf@context@registercolor#1% bonus macro + {\setevalue{\string\color@#1}{\noexpand\xcolor@{}{}\ctxcommand{pgfxcolorspec(\thecolorattribute{#1})}}} + +%D \starttyping +%D \ifdefined\pgf@context@registercolor +%D \let\pgfutil@registercolor\pgf@context@registercolor +%D \fi +%D \stoptyping + %D \macros %D {doifcolorelse, doifcolor} %D diff --git a/Master/texmf-dist/tex/context/base/cont-new.mkii b/Master/texmf-dist/tex/context/base/cont-new.mkii index 400df7282f6..055b2f5e5bd 100644 --- a/Master/texmf-dist/tex/context/base/cont-new.mkii +++ b/Master/texmf-dist/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.05.14 16:00} +\newcontextversion{2012.05.22 16:12} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/Master/texmf-dist/tex/context/base/cont-new.mkiv b/Master/texmf-dist/tex/context/base/cont-new.mkiv index 772d5780a70..5b49b0f7e2c 100644 --- a/Master/texmf-dist/tex/context/base/cont-new.mkiv +++ b/Master/texmf-dist/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.05.14 16:00} +\newcontextversion{2012.05.22 16:12} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/Master/texmf-dist/tex/context/base/context-version.pdf b/Master/texmf-dist/tex/context/base/context-version.pdf Binary files differindex 69902446d12..07c6ef6c153 100644 --- a/Master/texmf-dist/tex/context/base/context-version.pdf +++ b/Master/texmf-dist/tex/context/base/context-version.pdf diff --git a/Master/texmf-dist/tex/context/base/context-version.png b/Master/texmf-dist/tex/context/base/context-version.png Binary files differindex 044c6d7825d..c2460b13287 100644 --- a/Master/texmf-dist/tex/context/base/context-version.png +++ b/Master/texmf-dist/tex/context/base/context-version.png diff --git a/Master/texmf-dist/tex/context/base/context.mkii b/Master/texmf-dist/tex/context/base/context.mkii index 5ab89d934e0..ea32dc04830 100644 --- a/Master/texmf-dist/tex/context/base/context.mkii +++ b/Master/texmf-dist/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2012.05.14 16:00} +\edef\contextversion{2012.05.22 16:12} %D For those who want to use this: diff --git a/Master/texmf-dist/tex/context/base/context.mkiv b/Master/texmf-dist/tex/context/base/context.mkiv index fcbe7872c35..95f8ae0c97e 100644 --- a/Master/texmf-dist/tex/context/base/context.mkiv +++ b/Master/texmf-dist/tex/context/base/context.mkiv @@ -23,7 +23,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2012.05.14 16:00} +\edef\contextversion{2012.05.22 16:12} %D For those who want to use this: diff --git a/Master/texmf-dist/tex/context/base/core-sys.mkiv b/Master/texmf-dist/tex/context/base/core-sys.mkiv index 88e0ebf23f1..66f2a43803f 100644 --- a/Master/texmf-dist/tex/context/base/core-sys.mkiv +++ b/Master/texmf-dist/tex/context/base/core-sys.mkiv @@ -212,31 +212,38 @@ \dotaghighlight} {\dostoptagged}} +\unexpanded\def\defineexpandable + {\doifnextoptionalelse + {\syst_basics_define_yes\def}% + {\syst_basics_define_nop\def}} + \unexpanded\def\define - {\doifnextoptionalelse\syst_basics_define_yes\syst_basics_define_nop} + {\doifnextoptionalelse + {\syst_basics_define_yes{\unexpanded\def}}% + {\syst_basics_define_nop{\unexpanded\def}}} -\unexpanded\def\syst_basics_define_yes[#1]#2#3% +\unexpanded\def\syst_basics_define_yes#1[#2]#3#4% + {\ifdefined#3% + \showmessage\m!system4{\string#3}% + \fi + \ifcase0#2\relax + #1#3{#4}\or + #1#3##1{#4}\or + #1#3##1##2{#4}\or + #1#3##1##2##3{#4}\or + #1#3##1##2##3##4{#4}\or + #1#3##1##2##3##4##5{#4}\or + #1#3##1##2##3##4##5##6{#4}\or + #1#3##1##2##3##4##5##6##7{#4}\or + #1#3##1##2##3##4##5##6##7##8{#4}\or + #1#3##1##2##3##4##5##6##7##8##9{#4}\else + #1#3{#4}\fi} + +\unexpanded\def\syst_basics_define_nop#1#2#3% {\ifdefined#2% \showmessage\m!system4{\string#2}% \fi - \ifcase0#1\relax - \def#2{#3}\or - \def#2##1{#3}\or - \def#2##1##2{#3}\or - \def#2##1##2##3{#3}\or - \def#2##1##2##3##4{#3}\or - \def#2##1##2##3##4##5{#3}\or - \def#2##1##2##3##4##5##6{#3}\or - \def#2##1##2##3##4##5##6##7{#3}\or - \def#2##1##2##3##4##5##6##7##8{#3}\or - \def#2##1##2##3##4##5##6##7##8##9{#3}\else - \def#2{#3}\fi} - -\unexpanded\def\syst_basics_define_nop#1#2% - {\ifdefined#1% - \showmessage\m!system4{\string#1}% - \fi - \def#1{#2}} + #1#2{#3}} % \startluacode % local contextsprint, ctxcatcodes = context.sprint, tex.ctxcatcodes diff --git a/Master/texmf-dist/tex/context/base/font-ini.mkvi b/Master/texmf-dist/tex/context/base/font-ini.mkvi index f581a1685f2..61fa7afd118 100644 --- a/Master/texmf-dist/tex/context/base/font-ini.mkvi +++ b/Master/texmf-dist/tex/context/base/font-ini.mkvi @@ -1441,13 +1441,6 @@ % the rest is a size, although in practice one will seldom define the size directly. We might even % drop that as it gives faster code. -% \unexpanded\def\font_basics_define_body_font_nop_xx[#one#two#rest=#value]% local -% {\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi -% \expandafter\let\csname\??fontinstanceclass\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname\undefined -% \unexpanded\expandafter\normaledef\csname\??fontinstanceready\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname -% {\font_helpers_trigger{\m_font_asked_body-\m_font_asked_style-#one#two#rest}{\noexpand\font_rscale_xx{\m_font_asked_style}}{\m_font_asked_body}{\normalunexpanded{#value}}}% -% } - \unexpanded\def\font_basics_define_body_font_nop_xx[#one#two#rest=#value]% local {\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi \expandafter\let\csname\??fontinstanceclass\m_font_asked_body-\m_font_asked_style-#one#two-#rest-0\endcsname\undefined @@ -1461,15 +1454,6 @@ {\font_helpers_trigger{\m_font_asked_body-\m_font_asked_style-#one#two#rest}{\noexpand\font_rscale_xx{\m_font_asked_style}}{\m_font_asked_body}{\normalunexpanded{#value}}}% } -% \writestatus{fonts}{define \m_asked_style\space nop: \expandafter\meaning\csname\m_font_asked_body\m_font_asked_style#one#two#rest\endcsname}% - -% \unexpanded\def\font_basics_define_body_font_yes_xx[#one#two#rest=#value]% global -% {\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi -% \global\expandafter\let\csname\??fontinstanceclass\fontclass-\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname\undefined -% \unexpanded\expandafter\normalxdef\csname\??fontinstanceready\fontclass-\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname -% {\font_helpers_trigger{\m_font_asked_body-\m_font_asked_style-#one#two#rest}{\number\p_font_rscale}{\m_font_asked_body}{\normalunexpanded{#value}}}% -% } - \unexpanded\def\font_basics_define_body_font_yes_xx[#one#two#rest=#value]% global {\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi \global\expandafter\let\csname\??fontinstanceclass\fontclass-\m_font_asked_body-\m_font_asked_style-#one#two-#rest-1\endcsname\undefined @@ -1677,7 +1661,7 @@ \else \setcurrentfontclass\m_font_keyword \ifcase#method\relax - \let\globalfontclass\globalfontclass + \let\globalfontclass\globalfontclass % -) \else \let\globalfontclass\fontclass \fi diff --git a/Master/texmf-dist/tex/context/base/font-mat.mkvi b/Master/texmf-dist/tex/context/base/font-mat.mkvi index 7ef0f2b777a..c8ab45b7582 100644 --- a/Master/texmf-dist/tex/context/base/font-mat.mkvi +++ b/Master/texmf-dist/tex/context/base/font-mat.mkvi @@ -167,10 +167,38 @@ \font_helpers_set_math_family_bold_indeed#mbfam#familytag#mrfam% \fi} +%D It can happen that we use a bodyfont with no math in which case +%D we have a problem with setting the global bodyfont size in the +%D page builder. For instance in: +%D +%D \starttext +%D \definetypeface[test][rm][serif][pagella][default] +%D \setupbodyfont[test] +%D test +%D \stoptext +%D +%D This is why we need the check: + +% \def\font_helpers_preset_math_family_indeed#fam#familytag% +% {\expandafter\ifx\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname\relax +% \writestatus{fonts}{math: unset for global bodyfont \fontclass\space at \fontbody}% +% \else +% \scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname +% \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname +% \textfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname +% \fi} +% +% Uglier but more efficient (esp in tracing): + \def\font_helpers_preset_math_family_indeed#fam#familytag% - {\scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname - \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname - \textfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname} + {\expandafter\let\expandafter\v_font_math_one\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname + \ifx\v_font_math_one\relax + \writestatus{fonts}{math: unset for global bodyfont \fontclass\space at \fontbody}% + \else + \scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname + \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname + \textfont #fam\v_font_math_one + \fi} \let\font_helpers_reset_fontclass_math_families\gobbleoneargument diff --git a/Master/texmf-dist/tex/context/base/grph-inc.lua b/Master/texmf-dist/tex/context/base/grph-inc.lua index 15aff892505..8a9fd6b47d2 100644 --- a/Master/texmf-dist/tex/context/base/grph-inc.lua +++ b/Master/texmf-dist/tex/context/base/grph-inc.lua @@ -1083,6 +1083,7 @@ end local function runprogram(template,binary,...) local command = format(template,binary,...) + local binary = match(binary,"[%S]+") -- to be sure if os.which(binary) then if trace_conversion or trace_programs then report_inclusion("running: %s",command) @@ -1166,7 +1167,6 @@ local gifconverter = { } converters.gif = gifconverter programs.convert = { - -- command = "convert" -- imagemagick command = "gm convert" -- graphicmagick } diff --git a/Master/texmf-dist/tex/context/base/luat-mac.lua b/Master/texmf-dist/tex/context/base/luat-mac.lua index 75d52781c93..f8f87a25ae7 100644 --- a/Master/texmf-dist/tex/context/base/luat-mac.lua +++ b/Master/texmf-dist/tex/context/base/luat-mac.lua @@ -14,12 +14,6 @@ if not modules then modules = { } end modules ['luat-mac'] = { -- -- \def\foo#1{\expandafter\normaldef\csname#1\endcsname} --- todo: --- --- \def\dosomething#content{%%%<= fine with “#1” --- % { %%% Open unbalanced brace breaks macros. --- } - local P, V, S, R, C, Cs, Cmt, Carg = lpeg.P, lpeg.V, lpeg.S, lpeg.R, lpeg.C, lpeg.Cs, lpeg.Cmt, lpeg.Carg local lpegmatch, patterns = lpeg.match, lpeg.patterns @@ -116,7 +110,7 @@ local always = patterns.alwaysmatched local commenttoken = P("%") local crorlf = S("\n\r") -local commentline = commenttoken * ((Carg(1) * C((1-crorlf)^0))/function(strip,s) return strip and "" or s end) +----- commentline = commenttoken * ((Carg(1) * C((1-crorlf)^0))/function(strip,s) return strip and "" or s end) local commentline = commenttoken * ((1-crorlf)^0) local leadingcomment = (commentline * crorlf^1)^1 local furthercomment = (crorlf^1 * commentline)^1 @@ -166,6 +160,7 @@ local grammar = { "converter", + V("texcode") + V("braced") + furthercomment + + leadingcomment -- new per 2012-05-15 (message on mailing list) + nobrace )^0 -- * rightbrace^-1, -- the -1 catches errors @@ -291,7 +286,14 @@ end -- {\normalexpanded{\def\noexpand\next#content\expandafter\noexpand\csname stop#name\endcsname}{#name : #content}% -- \next} -- ]])) - +-- +-- print(macros.preprocessed([[ +-- \def\dosomething#content{%%% {{ +-- % { }{{ %% +-- \bgroup\italic#content\egroup +-- } +-- ]])) +-- -- Just an experiment: -- -- \catcode\numexpr"10FF25=\commentcatcode %% > 110000 is invalid diff --git a/Master/texmf-dist/tex/context/base/lxml-aux.lua b/Master/texmf-dist/tex/context/base/lxml-aux.lua index 7df6179a055..09411bfc0d5 100644 --- a/Master/texmf-dist/tex/context/base/lxml-aux.lua +++ b/Master/texmf-dist/tex/context/base/lxml-aux.lua @@ -559,6 +559,36 @@ function xml.cdatatotext(e) end end +-- local x = xml.convert("<x><a>1<b>2</b>3</a></x>") +-- xml.texttocdata(xml.first(x,"a")) +-- print(x) -- <x><![CDATA[1<b>2</b>3]]></x> + +function xml.texttocdata(e) -- could be a finalizer + local dt = e.dt + local s = xml.tostring(dt) -- no shortcut? + e.tg = "@cd@" + e.special = true + e.ns = "" + e.rn = "" + e.dt = { s } + e.at = nil +end + +-- local x = xml.convert("<x><a>1<b>2</b>3</a></x>") +-- xml.tocdata(xml.first(x,"a")) +-- print(x) -- <x><![CDATA[<a>1<b>2</b>3</a>]]></x> + +function xml.elementtocdata(e) -- could be a finalizer + local dt = e.dt + local s = xml.tostring(e) -- no shortcut? + e.tg = "@cd@" + e.special = true + e.ns = "" + e.rn = "" + e.dt = { s } + e.at = nil +end + xml.builtinentities = table.tohash { "amp", "quot", "apos", "lt", "gt" } -- used often so share local entities = characters and characters.entities or nil diff --git a/Master/texmf-dist/tex/context/base/lxml-tab.lua b/Master/texmf-dist/tex/context/base/lxml-tab.lua index 0a43f435274..fddd55a0971 100644 --- a/Master/texmf-dist/tex/context/base/lxml-tab.lua +++ b/Master/texmf-dist/tex/context/base/lxml-tab.lua @@ -1312,7 +1312,7 @@ xml.tocdata(e,"error") </typing> --ldx]]-- -function xml.tocdata(e,wrapper) +function xml.tocdata(e,wrapper) -- a few more in the aux module local whatever = type(e) == "table" and xmltostring(e.dt) or e or "" if wrapper then whatever = format("<%s>%s</%s>",wrapper,whatever,wrapper) diff --git a/Master/texmf-dist/tex/context/base/lxml-tex.lua b/Master/texmf-dist/tex/context/base/lxml-tex.lua index 22f98980528..0b21e0a9c86 100644 --- a/Master/texmf-dist/tex/context/base/lxml-tex.lua +++ b/Master/texmf-dist/tex/context/base/lxml-tex.lua @@ -148,6 +148,9 @@ local finalizers = xml.finalizers finalizers.xml = finalizers.xml or { } finalizers.tex = finalizers.tex or { } +local xmlfinalizers = finalizers.xml +local texfinalizers = finalizers.tex + -- serialization with entity handling local ampersand = P("&") @@ -1009,8 +1012,6 @@ end -- finalizers -local finalizers = xml.finalizers.tex - local function first(collected) if collected and #collected > 0 then xmlsprint(collected[1]) @@ -1248,30 +1249,30 @@ local function concat(collected,separator,lastseparator,textonly) -- test this o concatrange(collected,false,false,separator,lastseparator,textonly) end -finalizers.first = first -finalizers.last = last -finalizers.all = all -finalizers.reverse = reverse -finalizers.count = count -finalizers.command = command -finalizers.attribute = attribute -finalizers.text = text -finalizers.stripped = stripped -finalizers.lower = lower -finalizers.upper = upper -finalizers.ctxtext = ctxtext -finalizers.context = ctxtext -finalizers.position = position -finalizers.match = match -finalizers.index = index -finalizers.concat = concat -finalizers.concatrange = concatrange -finalizers.chainattribute = chainattribute -finalizers.default = all -- !! +texfinalizers.first = first +texfinalizers.last = last +texfinalizers.all = all +texfinalizers.reverse = reverse +texfinalizers.count = count +texfinalizers.command = command +texfinalizers.attribute = attribute +texfinalizers.text = text +texfinalizers.stripped = stripped +texfinalizers.lower = lower +texfinalizers.upper = upper +texfinalizers.ctxtext = ctxtext +texfinalizers.context = ctxtext +texfinalizers.position = position +texfinalizers.match = match +texfinalizers.index = index +texfinalizers.concat = concat +texfinalizers.concatrange = concatrange +texfinalizers.chainattribute = chainattribute +texfinalizers.default = all -- !! local concat = table.concat -function finalizers.tag(collected,n) +function texfinalizers.tag(collected,n) if collected then local nc = #collected if nc > 0 then @@ -1291,7 +1292,7 @@ function finalizers.tag(collected,n) end end -function finalizers.name(collected,n) +function texfinalizers.name(collected,n) if collected then local nc = #collected if nc > 0 then @@ -1314,7 +1315,7 @@ function finalizers.name(collected,n) end end -function finalizers.tags(collected,nonamespace) +function texfinalizers.tags(collected,nonamespace) if collected then local nc = #collected if nc > 0 then @@ -1636,7 +1637,7 @@ lxml.get_id = getid lxml.obsolete.get_id = getid -- goodies: -function xml.finalizers.tex.lettered(collected) +function texfinalizers.lettered(collected) if collected then local nc = #collected if nc > 0 then @@ -1647,7 +1648,7 @@ function xml.finalizers.tex.lettered(collected) end end ---~ function xml.finalizers.tex.apply(collected,what) -- to be tested +--~ function texfinalizers.apply(collected,what) -- to be tested --~ if collected then --~ for c=1,#collected do --~ contextsprint(ctxcatcodes,what(collected[c].dt[1])) @@ -1682,3 +1683,6 @@ function lxml.tofile(id,pattern,filename,comment) os.remove(filename) -- get rid of old content end end + +texfinalizers.upperall = xmlfinalizers.upperall +texfinalizers.lowerall = xmlfinalizers.lowerall diff --git a/Master/texmf-dist/tex/context/base/lxml-xml.lua b/Master/texmf-dist/tex/context/base/lxml-xml.lua index 7e7922cfb25..d0e25607820 100644 --- a/Master/texmf-dist/tex/context/base/lxml-xml.lua +++ b/Master/texmf-dist/tex/context/base/lxml-xml.lua @@ -7,7 +7,7 @@ if not modules then modules = { } end modules ['lxml-xml'] = { } local concat = table.concat -local find = string.find +local find, lower, upper = string.find, string.lower, string.upper local xml = xml @@ -403,3 +403,43 @@ end function xml.textonly(e) -- no pattern return concat(textonly(e,{})) end + +-- + +-- local x = xml.convert("<x><a x='+'>1<B>2</B>3</a></x>") +-- xml.filter(x,"**/lowerall()") print(x) +-- xml.filter(x,"**/upperall()") print(x) + +function finalizers.lowerall(collected) + for c=1,#collected do + local e = collected[c] + if not e.special then + e.tg = lower(e.tg) + local eat = e.at + if eat then + local t = { } + for k,v in next, eat do + t[lower(k)] = v + end + e.at = t + end + end + end +end + +function finalizers.upperall(collected) + for c=1,#collected do + local e = collected[c] + if not e.special then + e.tg = upper(e.tg) + local eat = e.at + if eat then + local t = { } + for k,v in next, eat do + t[upper(k)] = v + end + e.at = t + end + end + end +end diff --git a/Master/texmf-dist/tex/context/base/mlib-run.lua b/Master/texmf-dist/tex/context/base/mlib-run.lua index 32c80649766..59dc88b909d 100644 --- a/Master/texmf-dist/tex/context/base/mlib-run.lua +++ b/Master/texmf-dist/tex/context/base/mlib-run.lua @@ -257,7 +257,7 @@ else if not mpx then result = { status = 99, error = "out of memory"} else - result = mpx:execute(format(preamble, file.addsuffix(name,"mp"))) + result = mpx:execute(format(preamble, file.addsuffix(name,"mp"))) -- addsuffix is redundant end stoptiming(mplib) metapost.reporterror(result) diff --git a/Master/texmf-dist/tex/context/base/mult-sys.mkiv b/Master/texmf-dist/tex/context/base/mult-sys.mkiv index 4ec4c222109..cdf73b6121c 100644 --- a/Master/texmf-dist/tex/context/base/mult-sys.mkiv +++ b/Master/texmf-dist/tex/context/base/mult-sys.mkiv @@ -94,10 +94,6 @@ \definesystemconstant {Slanted} \definesystemconstant {Unicode} -\definesystemconstant {Serif} -\definesystemconstant {Sans} -\definesystemconstant {Mono} -\definesystemconstant {Math} \definesystemconstant {Handwriting} \definesystemconstant {Calligraphy} \definesystemconstant {Casual} @@ -106,6 +102,13 @@ \definesystemconstant {Support} \definesystemconstant {Type} +\definesystemconstant {Math} +\definesystemconstant {MathBold} + +\definesystemconstant {MathRoman} +\definesystemconstant {MathRomanBold} + +\definesystemconstant {Serif} \definesystemconstant {SerifBold} \definesystemconstant {SerifItalic} \definesystemconstant {SerifBoldItalic} @@ -114,6 +117,7 @@ \definesystemconstant {SerifCaps} % \definesystemconstant {SerifCapsSlanted} +\definesystemconstant {Sans} \definesystemconstant {SansBold} \definesystemconstant {SansItalic} \definesystemconstant {SansBoldItalic} @@ -122,6 +126,7 @@ \definesystemconstant {SansCaps} % \definesystemconstant {SansCapsSlanted} +\definesystemconstant {Mono} \definesystemconstant {MonoBold} \definesystemconstant {MonoItalic} \definesystemconstant {MonoBoldItalic} @@ -133,9 +138,6 @@ \definesystemconstant {DefaultFont} -\definesystemconstant {MathRoman} -\definesystemconstant {MathRomanBold} - \definesystemconstant {Simple} \definesystemconstant {Normal} \definesystemconstant {Caps} diff --git a/Master/texmf-dist/tex/context/base/pack-rul.mkiv b/Master/texmf-dist/tex/context/base/pack-rul.mkiv index f65641b96ca..d7e41dd7076 100644 --- a/Master/texmf-dist/tex/context/base/pack-rul.mkiv +++ b/Master/texmf-dist/tex/context/base/pack-rul.mkiv @@ -803,6 +803,7 @@ {\bgroup \advance\framednesting\plusone \expandafter\let\csname\??ol:\the\framednesting\s!parent\endcsname\??ol + \iffirstargument\secondargumenttrue\fi % dirty trick \pack_framed_process[\??ol:\the\framednesting][#1]% \bgroup} diff --git a/Master/texmf-dist/tex/context/base/page-box.mkvi b/Master/texmf-dist/tex/context/base/page-box.mkvi index 42db40e5f62..58a5627cbfc 100644 --- a/Master/texmf-dist/tex/context/base/page-box.mkvi +++ b/Master/texmf-dist/tex/context/base/page-box.mkvi @@ -166,6 +166,8 @@ % backgroundoffset=10mm,background=color,backgroundcolor=red] % \starttext \dorecurse{10}{\input tufte \par} \stoptext +% best use private variables + \newconditional\c_page_boxes_clip_print \settrue\c_page_boxes_clip_print \def\page_boxes_apply_clip_print_left % box diff --git a/Master/texmf-dist/tex/context/base/page-imp.mkiv b/Master/texmf-dist/tex/context/base/page-imp.mkiv index 71c30a7e19e..9d0f722fe28 100644 --- a/Master/texmf-dist/tex/context/base/page-imp.mkiv +++ b/Master/texmf-dist/tex/context/base/page-imp.mkiv @@ -560,18 +560,23 @@ \def\handlearrangedpageTWOUP {\splitoffarrangedpagesTWO + \ht\arrangedpageA\paperheight + \ht\arrangedpageB\paperheight \ifconditional\arrangedswapstate \global\setbox\arrangedpageA\hbox - {\page_boxes_apply_clip_print_left \arrangedpageA\box\arrangedpageA - \page_boxes_apply_clip_print_right\arrangedpageB\box\arrangedpageB}% + {\page_boxes_apply_clip_print_left \arrangedpageA + \box\arrangedpageA + \page_boxes_apply_clip_print_right\arrangedpageB + \box\arrangedpageB}% \setfalse\arrangedswapstate \else \global\setbox\arrangedpageA\hbox - {\page_boxes_apply_clip_print_left \arrangedpageB\box\arrangedpageB - \page_boxes_apply_clip_print_right\arrangedpageA\box\arrangedpageA}% + {\page_boxes_apply_clip_print_left \arrangedpageB + \box\arrangedpageB + \page_boxes_apply_clip_print_right\arrangedpageA + \box\arrangedpageA}% \settrue\arrangedswapstate \fi - \ht\arrangedpageA\paperheight \global\setbox\arrangedpageB\box\scratchbox} \def\handlearrangedpageTWODOWN @@ -580,13 +585,17 @@ \ht\arrangedpageB\paperheight \ifconditional\arrangedswapstate \global\setbox\arrangedpageA\vbox - {\offinterlineskip\vskip\paperheight - \box\arrangedpageA\box\arrangedpageB}% + {\offinterlineskip + \vskip\paperheight + \box\arrangedpageA + \box\arrangedpageB}% \setfalse\arrangedswapstate \else \global\setbox\arrangedpageA\vbox - {\offinterlineskip\vskip\paperheight - \box\arrangedpageB\box\arrangedpageA}% + {\offinterlineskip + \vskip\paperheight + \box\arrangedpageB + \box\arrangedpageA}% \settrue\arrangedswapstate \fi \global\setbox\arrangedpageB\box\scratchbox} @@ -616,6 +625,7 @@ {\offinterlineskip \unvbox\arrangedpageB \allowbreak + \setbox#1\vbox{\box#1}% really needed in order to keep real dimensions \ht#1\onepoint \dp#1\zeropoint \vbox{\box#1}}} diff --git a/Master/texmf-dist/tex/context/base/s-pre-06.tex b/Master/texmf-dist/tex/context/base/s-pre-06.tex index 21e7236e7fd..47948262c8c 100644 --- a/Master/texmf-dist/tex/context/base/s-pre-06.tex +++ b/Master/texmf-dist/tex/context/base/s-pre-06.tex @@ -120,7 +120,6 @@ \defineoverlay [Joke] [\useMPgraphic{background}] \startuseMPgraphic{background} - input mp-tool ; width := \overlaywidth ; height := \overlayheight ; picture p ; p := char 79 infont "\truefontname{Regular}" scaled 1 ; diff --git a/Master/texmf-dist/tex/context/base/spac-ver.mkiv b/Master/texmf-dist/tex/context/base/spac-ver.mkiv index 23229b65078..72ee80d4f02 100644 --- a/Master/texmf-dist/tex/context/base/spac-ver.mkiv +++ b/Master/texmf-dist/tex/context/base/spac-ver.mkiv @@ -563,7 +563,7 @@ \blank[\v!white,\the\d_spac_lines_correction_before]% \blank[\v!white]\dotopbaselinecorrection \fi \nointerlineskip % new - \dontleavehmode + \noindent % not just \dontleavehmode (MKII compatible) \box\scratchbox \endgraf \blank[\the\d_spac_lines_correction_after]% \dobotbaselinecorrection diff --git a/Master/texmf-dist/tex/context/base/status-files.pdf b/Master/texmf-dist/tex/context/base/status-files.pdf Binary files differindex 071753577c6..e3fce3daa7f 100644 --- a/Master/texmf-dist/tex/context/base/status-files.pdf +++ b/Master/texmf-dist/tex/context/base/status-files.pdf diff --git a/Master/texmf-dist/tex/context/base/status-lua.pdf b/Master/texmf-dist/tex/context/base/status-lua.pdf Binary files differindex fd66c594f93..09a6e0843b8 100644 --- a/Master/texmf-dist/tex/context/base/status-lua.pdf +++ b/Master/texmf-dist/tex/context/base/status-lua.pdf diff --git a/Master/texmf-dist/tex/context/base/strc-con.mkvi b/Master/texmf-dist/tex/context/base/strc-con.mkvi index 3068fda0ba7..220de809a3b 100644 --- a/Master/texmf-dist/tex/context/base/strc-con.mkvi +++ b/Master/texmf-dist/tex/context/base/strc-con.mkvi @@ -233,6 +233,10 @@ \constructionparameter\c!before \begingroup \edef\currentconstructionalternative{\constructionparameter\c!alternative}% + % \checkconstructionalternativeparent % this catches an unknown alternative + \doifnotsetups{\constructionalternativeparameter\c!renderingsetup} + {\letconstructionparameter\c!alternative\v!left + \let\currentconstructionalternative\v!left}% \doadaptleftskip{\constructionparameter\c!margin}% \setlocalhsize % so we can use \localhsize in width assignments \constructionsheaddistance\constructionalternativeparameter\c!distance\relax @@ -257,9 +261,11 @@ \setbox\constructionheadbox\hbox {\forgetall \dontcomplain - \doifelse{\constructionparameter\c!alternative}\v!serried % brrr, hack, will change - {\csname\??constructionmainhandler\currentconstructionhandler\endcsname\currentconstructiontext} - {\csname\??constructionmainhandler\currentconstructionhandler\endcsname{\boxedconstructionhead\currentconstructiontext}}}% + \ifx\currentconstructionalternative\v!serried % brrr, hack, will change + \csname\??constructionmainhandler\currentconstructionhandler\endcsname\currentconstructiontext + \else + \csname\??constructionmainhandler\currentconstructionhandler\endcsname{\boxedconstructionhead\currentconstructiontext}% + \fi}% \doifelse{\constructionparameter\c!aligntitle}\v!no {\leftconstructionskip \leftskip \rightconstructionskip\rightskip} @@ -276,8 +282,8 @@ \fi \strc_constructions_close_symbol_reset % - \doifnotsetups {\constructionalternativeparameter\c!renderingsetup} - {\let\currentconstructionalternative\v!left}% + % \doifnotsetups {\constructionalternativeparameter\c!renderingsetup} + % {\let\currentconstructionalternative\v!left}% \directsetup{\constructionalternativeparameter\c!renderingsetup}\relax % \dostoptagged % tag diff --git a/Master/texmf-dist/tex/context/base/strc-des.mkvi b/Master/texmf-dist/tex/context/base/strc-des.mkvi index 1b29c864fbc..f2943d0f983 100644 --- a/Master/texmf-dist/tex/context/base/strc-des.mkvi +++ b/Master/texmf-dist/tex/context/base/strc-des.mkvi @@ -95,6 +95,8 @@ % \startdescription [reference]{title} text \stopdescription % \startdescription [title=,title=,reference=] text \stopdescription +% A bit over the top, the optional title but mkii has it too. + \unexpanded\def\strc_descriptions_start#1% {\begingroup \strc_constructions_initialize{#1}% @@ -114,7 +116,17 @@ \expandafter\strc_descriptions_start_yes_normal \fi} -\unexpanded\def\strc_descriptions_start_yes_titled[#1]#2% todo userdata +% \unexpanded\def\strc_descriptions_start_yes_titled[#1]#2% todo userdata +% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]% +% \csname\??constructionstarthandler\currentconstructionhandler\endcsname} + +\unexpanded\def\strc_descriptions_start_yes_titled[#1]% + {\doifnextbgroupelse + {\strc_descriptions_start_yes_titled_indeed[#1]}% + {\setfalse\c_strc_constructions_title_state + \strc_descriptions_start_yes_normal[#1]}} + +\unexpanded\def\strc_descriptions_start_yes_titled_indeed[#1]#2% todo userdata {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]% \csname\??constructionstarthandler\currentconstructionhandler\endcsname} @@ -129,7 +141,18 @@ \expandafter\strc_descriptions_start_nop_normal \fi} -\unexpanded\def\strc_descriptions_start_nop_titled#1% +% \unexpanded\def\strc_descriptions_start_nop_titled#1% +% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]% +% \csname\??constructionstarthandler\currentconstructionhandler\endcsname} +% \csname\??constructionstarthandler\currentconstructionhandler\endcsname} + +\unexpanded\def\strc_descriptions_start_nop_titled + {\doifnextbgroupelse + {\strc_descriptions_start_nop_titled_indeed}% + {\setfalse\c_strc_constructions_title_state + \strc_descriptions_start_nop_normal}}% + +\unexpanded\def\strc_descriptions_start_nop_titled_indeed#1% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]% \csname\??constructionstarthandler\currentconstructionhandler\endcsname} @@ -159,6 +182,16 @@ {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]% \csname\??constructioncommandhandler\currentconstructionhandler\endcsname} +\unexpanded\def\strc_descriptions_yes_titled[#1]% + {\doifnextbgroupelse + {\strc_descriptions_yes_titled_indeed[#1]}% + {\setfalse\c_strc_constructions_title_state + \strc_descriptions_yes_normal[#1]}} + +\unexpanded\def\strc_descriptions_yes_titled_indeed[#1]#2% + {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]% + \csname\??constructioncommandhandler\currentconstructionhandler\endcsname} + \unexpanded\def\strc_descriptions_yes_normal[#1]% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title=,\c!bookmark=,\c!list=][]% \csname\??constructioncommandhandler\currentconstructionhandler\endcsname} @@ -170,7 +203,17 @@ \expandafter\strc_descriptions_nop_normal \fi} -\unexpanded\def\strc_descriptions_nop_titled#1% +% \unexpanded\def\strc_descriptions_nop_titled#1% +% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]% +% \csname\??constructioncommandhandler\currentconstructionhandler\endcsname} + +\unexpanded\def\strc_descriptions_nop_titled + {\doifnextbgroupelse + {\strc_descriptions_nop_titled_yes_indeed}% + {\setfalse\c_strc_constructions_title_state + \strc_descriptions_nop_normal}} + +\unexpanded\def\strc_descriptions_nop_titled_indeed#1% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]% \csname\??constructioncommandhandler\currentconstructionhandler\endcsname} diff --git a/Master/texmf-dist/tex/context/base/strc-not.mkvi b/Master/texmf-dist/tex/context/base/strc-not.mkvi index 5f1f041e35e..20a664420be 100644 --- a/Master/texmf-dist/tex/context/base/strc-not.mkvi +++ b/Master/texmf-dist/tex/context/base/strc-not.mkvi @@ -242,7 +242,7 @@ {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]% \csname\??constructionnotehandler\currentconstructionhandler\endcsname \strc_constructions_finalize - \endgroup} + \normalexpanded{\endgroup\noteparameter\c!next}} \unexpanded\def\strc_notations_command_yes[#1]% {\doifassignmentelse{#1}\strc_notations_command_assignment\strc_notations_command_argument[#1]} @@ -251,13 +251,13 @@ {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title=,\c!bookmark=,\c!list=,#1][]% \csname\??constructionnotehandler\currentconstructionhandler\endcsname \strc_constructions_finalize - \endgroup} + \normalexpanded{\endgroup\noteparameter\c!next}} \unexpanded\def\strc_notations_command_argument[#1]#2% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]% \csname\??constructionnotehandler\currentconstructionhandler\endcsname \strc_constructions_finalize - \endgroup} + \normalexpanded{\endgroup\noteparameter\c!next}} \unexpanded\def\strc_notations_start#1#2% {\begingroup @@ -272,13 +272,13 @@ {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]% \csname\??constructionnotehandler\currentconstructionhandler\endcsname \strc_constructions_finalize - \endgroup} + \normalexpanded{\endgroup\noteparameter\c!next}} \unexpanded\def\strc_notations_start_nop#1% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]% \csname\??constructionnotehandler\currentconstructionhandler\endcsname \strc_constructions_finalize - \endgroup} + \normalexpanded{\endgroup\noteparameter\c!next}} \unexpanded\def\strc_notations_stop {} @@ -863,7 +863,7 @@ \installcorenamespace{notepositionvariant} \installcorenamespace{notelocation} -% \newconditional\c_strc_notes_delayed +\newconditional\c_strc_notes_delayed \setvalue{\??notelocation\v!page }{\letvalue{\??notelocationvariant\currentnote}\strc_notes_set_location_page} \setvalue{\??notelocation\v!columns }{\letvalue{\??notelocationvariant\currentnote}\strc_notes_set_location_columns} @@ -910,7 +910,7 @@ \fi} \def\strc_notes_set_location_page - {%\setfalse\c_strc_notes_delayed + {\setfalse\c_strc_notes_delayed \strc_notes_set_distance \strc_notes_set_columns \global\count\currentnoteins\numexpr\plusthousand/\c_strc_notes_columns\relax @@ -918,7 +918,7 @@ \global\skip \currentnoteins\s_strc_notes_distance} \def\strc_notes_set_location_columns - {%\setfalse\c_strc_notes_delayed + {\setfalse\c_strc_notes_delayed \strc_notes_set_distance \strc_notes_set_columns \ifnum\currentnofcolumns=\zerocount @@ -929,7 +929,7 @@ \global\skip \currentnoteins\s_strc_notes_distance} \def\strc_notes_set_location_firstcolumn - {%\setfalse\c_strc_notes_delayed + {\setfalse\c_strc_notes_delayed \strc_notes_set_distance \strc_notes_set_columns \global\count\currentnoteins\plusthousand @@ -939,7 +939,7 @@ \let\strc_notes_set_location_lastcolumn\strc_notes_set_location_firstcolumn \def\strc_notes_set_location_text % we don't use inserts anyway (e.g. endnotes) - {%\settrue\c_strc_notes_delayed + {\settrue\c_strc_notes_delayed \ctxlua{structures.notes.setstate("\currentnote","store")}% \global\dimen\currentnoteins\maxdimen \global\count\currentnoteins\zerocount @@ -1185,9 +1185,10 @@ {\strc_notes_process\strc_notes_place_inserts} \def\strc_notes_place_inserts - {%\ifconditional\c_strc_notes_delayed \else - \ifdim\ht\currentnoteins>\zeropoint % or a faster delayed test - \strc_notes_place_inserts_indeed + {\ifconditional\c_strc_notes_delayed \else + \ifdim\ht\currentnoteins>\zeropoint % or a faster delayed test + \strc_notes_place_inserts_indeed + \fi \fi} \def\strc_notes_place_inserts_indeed diff --git a/Master/texmf-dist/tex/context/base/strc-ref.mkvi b/Master/texmf-dist/tex/context/base/strc-ref.mkvi index d3c9325984a..161502c9bf5 100644 --- a/Master/texmf-dist/tex/context/base/strc-ref.mkvi +++ b/Master/texmf-dist/tex/context/base/strc-ref.mkvi @@ -821,23 +821,30 @@ %D shows one of: \hbox {$^\goforwardcharacter$ %D $^\gobackwardcharacter$ $^\gonowherecharacter$}, depending %D on the direction to go. +%D +%D \starttyping +%D ... \somewhere{backward text}{forward text}[someref] ... +%D ... \atpage[someref] ... +%D \stoptyping % 0 = unknown % 1 = same % 2 = before % 3 = after -% \def\strc_references_by_reference_page_state#unknown#before#current#after% -% {\ifcase\referencepagestate\relax#unknown\or#current\or#before\or#after\fi} -% -% this fails in an expansion as the \relax stays, so we need: - \def\strc_references_by_reference_page_state#unknown#before#current#after% {\ifcase\referencepagestate\space#unknown\or#current\or#before\or#after\fi} +% \unexpanded\def\somewhere#backward#foreward#dummy[#label]% #dummy gobbles space around #foreward +% {\doifreferencefoundelse{#label}% usage needs checking (useless) +% {\goto{\strc_references_by_reference_page_state{#label}{#backward}{}{#foreward}}[#label]} +% {[#label]}} +% +% better: + \unexpanded\def\somewhere#backward#foreward#dummy[#label]% #dummy gobbles space around #foreward - {\doifreferencefoundelse{#label}% usage needs checking (useless) - {\goto{\strc_references_by_reference_page_state{#label}{#backward}{}{#foreward}}[#label]} + {\doifreferencefoundelse{#label}% + {\strc_references_by_reference_page_state{#label}{\goto{#backward}[#label]}{}{\goto{#foreward}[#label]}} {[#label]}} \unexpanded\def\atpage[#label]% todo @@ -1518,23 +1525,6 @@ %D The previous definitions are somewhat obsolete so we don't %D use it here. -%D A still very rudimentary|/|experimental forward|/|backward -%D reference mechanism is provided by the macro \type{\atpage}: -%D -%D \starttyping -%D ... \somewhere{backward text}{forward text}[someref] ... -%D ... \atpage[someref] ... -%D \stoptyping -%D -%D In future versions there will be more sophisticated - -% 0 = no page reference -% 1 = same page -% 2 = preceding page -% 3 = following page -% 4 = backward, same page (todo) -% 5 = forward, same page (todo) - %D We can cross link documents by using: %D %D \showsetup{coupledocument} diff --git a/Master/texmf-dist/tex/context/base/strc-ren.mkiv b/Master/texmf-dist/tex/context/base/strc-ren.mkiv index 543c55fff67..b2d23c1084e 100644 --- a/Master/texmf-dist/tex/context/base/strc-ren.mkiv +++ b/Master/texmf-dist/tex/context/base/strc-ren.mkiv @@ -462,17 +462,27 @@ \fi #2}} +% \unexpanded\def\placeheadmarginalternative#1#2% +% {\vbox +% {\localheadsetup +% \begstrut % use one \strut here! +% \dontleavehmode % in case there is no strut, else side effects with llap +% \ifconditional\headshownumber +% \llap{\hbox{\hfill{#1}\hskip\localheadskip\hskip\leftmargindistance}}% introduces whitespace +% % maybe better: +% % \inleftmargin{\hbox{\hss{#1}\hskip\localheadskip}}% +% \fi +% {#2}}} + \unexpanded\def\placeheadmarginalternative#1#2% - {\vbox - {\localheadsetup - \begstrut % use one \strut here! - \dontleavehmode % in case there is no strut, else side effects with llap - \ifconditional\headshownumber - \llap{\hbox{\hfill{#1}\hskip\localheadskip\hskip\leftmargindistance}}% introduces whitespace - % maybe better: - % \inleftmargin{\hbox{\hss{#1}\hskip\localheadskip}}% - \fi - {#2}}} + {\vbox + {\localheadsetup + \begstrut % use one \strut here! + \dontleavehmode % in case there is no strut, else side effects with llap + \ifconditional\headshownumber + \llap{\hbox{\hfill{#1}\hskip\dimexpr\localheadskip+\doifoddpageelse\leftmargindistance\rightmargindistance\relax}}% introduces whitespace + \fi + {#2}}} \defineheadplacement[\v!inmargin][\v!vertical]#1#2{\placeheadmarginalternative{#1}{#2}} \defineheadplacement[\v!margin] [\v!vertical]#1#2{\placeheadmarginalternative{#1}{#2}} diff --git a/Master/texmf-dist/tex/context/base/supp-tpi.mkii b/Master/texmf-dist/tex/context/base/supp-tpi.mkii index 16e42359689..dc230563b71 100644 --- a/Master/texmf-dist/tex/context/base/supp-tpi.mkii +++ b/Master/texmf-dist/tex/context/base/supp-tpi.mkii @@ -118,7 +118,7 @@ \aftergroup\stopTPICspecials \resetMPdrawing \startMPdrawing - input mp-tool.mp; + input mp-tool.mpii ; pair p[]; \stopMPdrawing} diff --git a/Master/texmf-dist/tex/context/base/type-imp-latinmodern.mkiv b/Master/texmf-dist/tex/context/base/type-imp-latinmodern.mkiv index a9fddad7dfa..698834a4bc4 100644 --- a/Master/texmf-dist/tex/context/base/type-imp-latinmodern.mkiv +++ b/Master/texmf-dist/tex/context/base/type-imp-latinmodern.mkiv @@ -28,44 +28,6 @@ \starttypescriptcollection[latinmodern] - \starttypescript [modern-designsize] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] - \definetypeface [\typescriptone] [\s!ss] [\s!sans] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] - \quittypescriptscanning - \stoptypescript - - \starttypescript [modern,modern-base] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default] - \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] - \quittypescriptscanning - \stoptypescript - - \starttypescript [modernvariable,modern-variable] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable] [\s!default] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable] [\s!default] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] - \quittypescriptscanning - \stoptypescript - - \starttypescript [modernvariablelight,modern-variable-light] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable-light] [\s!default] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable-light] [\s!default] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] - \quittypescriptscanning - \stoptypescript - - \starttypescript [modern-mono,modern-base-mono] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default] - \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-light] [\s!default] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] - \quittypescriptscanning - \stoptypescript - \starttypescript [\s!serif] [simple] [\s!name]% for old times sake (manuals) \definefontsynonym [\s!Simple] [\s!file:lmmonoproplt10-regular] [\s!features=\s!default] \stoptypescript @@ -213,11 +175,49 @@ \definefontsynonym [LMMathRoman-Bold] [\v!file:lmmath-regular.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=lm] \stoptypescript + \starttypescript [modern-designsize] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto] + \quittypescriptscanning + \stoptypescript + + \starttypescript [modern,modern-base] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] + \quittypescriptscanning + \stoptypescript + + \starttypescript [modernvariable,modern-variable] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] + \quittypescriptscanning + \stoptypescript + + \starttypescript [modernvariablelight,modern-variable-light] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable-light] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable-light] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] + \quittypescriptscanning + \stoptypescript + + \starttypescript [modern-mono,modern-base-mono] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-light] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default] + \quittypescriptscanning + \stoptypescript + \stoptypescriptcollection %D It doesn't hurt to have these, at least for the moment (can go to type-imp-symbol) -\definefontsynonym [ZapfDingbats] [\s!file:uzdr] [\s!goodies=dingbats] +\definefontsynonym [ZapfDingbats] [\s!file:uzdr] [\s!features=dingbats] % [\s!goodies=dingbats] %definefontsynonym [MartinVogel] [\s!file:marvosym.ttf] %definefontsynonym [RalfSmithFormalScript] [\s!file:rsfs10] diff --git a/Master/texmf-dist/tex/context/base/type-imp-xits.mkiv b/Master/texmf-dist/tex/context/base/type-imp-xits.mkiv index 5a0c4d15316..cf3856eaeb8 100644 --- a/Master/texmf-dist/tex/context/base/type-imp-xits.mkiv +++ b/Master/texmf-dist/tex/context/base/type-imp-xits.mkiv @@ -23,9 +23,12 @@ \starttypescript [\s!math] [xits,xitsbidi] [\s!name] \loadfontgoodies[xits-math] - \definefontsynonym[\s!MathRoman ][\s!file:xits-math.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=xits-math] - \definefontsynonym[\s!MathRoman L2R][\s!file:xits-math.otf][\s!features=\s!math\mathsizesuffix-l2r,\s!goodies=xits-math] - \definefontsynonym[\s!MathRoman R2L][\s!file:xits-math.otf][\s!features=\s!math\mathsizesuffix-r2l,\s!goodies=xits-math] + \definefontsynonym[\s!MathRoman ][\s!file:xits-math.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=xits-math] + \definefontsynonym[\s!MathRoman L2R][\s!file:xits-math.otf] [\s!features=\s!math\mathsizesuffix-l2r,\s!goodies=xits-math] + \definefontsynonym[\s!MathRoman R2L][\s!file:xits-math.otf] [\s!features=\s!math\mathsizesuffix-r2l,\s!goodies=xits-math] + \definefontsynonym[\s!MathBold ][\s!file:xits-mathbold.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=xits-math] + \definefontsynonym[\s!MathBold L2R][\s!file:xits-mathbold.otf][\s!features=\s!math\mathsizesuffix-l2r,\s!goodies=xits-math] + \definefontsynonym[\s!MathBold R2L][\s!file:xits-mathbold.otf][\s!features=\s!math\mathsizesuffix-r2l,\s!goodies=xits-math] \stoptypescript \starttypescript [\s!serif] [xits] [\s!name] |