diff options
author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-07-14 22:37:31 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-07-14 22:37:31 +0200 |
commit | 1373cbe7fd26acc28c673ebee8eeab3ec120f294 (patch) | |
tree | 07389cd27a05f6d2f9a6192c04bab02ee59b214c | |
parent | 5a923dc5ac055164721b40a58e4d1614fc7f2aa1 (diff) | |
download | context-1373cbe7fd26acc28c673ebee8eeab3ec120f294.tar.gz |
2016-07-14 19:57:00
32 files changed, 434 insertions, 272 deletions
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex 39a41087a..0d2201e42 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii index 5194402a8..483f249ee 100644 --- a/tex/context/base/mkii/mult-de.mkii +++ b/tex/context/base/mkii/mult-de.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{strut} \setinterfaceconstant{style}{stil} +\setinterfaceconstant{stylealternative}{stylealternative} \setinterfaceconstant{sub}{unter} \setinterfaceconstant{subtitle}{untertitel} \setinterfaceconstant{suffix}{suffix} diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii index 166682419..3519c7f0c 100644 --- a/tex/context/base/mkii/mult-en.mkii +++ b/tex/context/base/mkii/mult-en.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{strut} \setinterfaceconstant{style}{style} +\setinterfaceconstant{stylealternative}{stylealternative} \setinterfaceconstant{sub}{sub} \setinterfaceconstant{subtitle}{subtitle} \setinterfaceconstant{suffix}{suffix} diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii index 1395b2d40..79505a9b5 100644 --- a/tex/context/base/mkii/mult-fr.mkii +++ b/tex/context/base/mkii/mult-fr.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{strut} \setinterfaceconstant{style}{style} +\setinterfaceconstant{stylealternative}{stylealternative} \setinterfaceconstant{sub}{sous} \setinterfaceconstant{subtitle}{soustitre} \setinterfaceconstant{suffix}{suffix} diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii index 96eb71a08..d78800ccd 100644 --- a/tex/context/base/mkii/mult-it.mkii +++ b/tex/context/base/mkii/mult-it.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{strut} \setinterfaceconstant{style}{stile} +\setinterfaceconstant{stylealternative}{stylealternative} \setinterfaceconstant{sub}{sotto} \setinterfaceconstant{subtitle}{sottotitolo} \setinterfaceconstant{suffix}{suffix} diff --git a/tex/context/base/mkii/mult-nl.mkii b/tex/context/base/mkii/mult-nl.mkii index 9696ed009..1c52835c1 100644 --- a/tex/context/base/mkii/mult-nl.mkii +++ b/tex/context/base/mkii/mult-nl.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{strut} \setinterfaceconstant{style}{letter} +\setinterfaceconstant{stylealternative}{stylevariant} \setinterfaceconstant{sub}{sub} \setinterfaceconstant{subtitle}{subtitel} \setinterfaceconstant{suffix}{suffix} diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii index 3cfa2adfe..3915fd2b9 100644 --- a/tex/context/base/mkii/mult-pe.mkii +++ b/tex/context/base/mkii/mult-pe.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{بست} \setinterfaceconstant{style}{سبک} +\setinterfaceconstant{stylealternative}{stylealternative} \setinterfaceconstant{sub}{زیر} \setinterfaceconstant{subtitle}{زیرعنوان} \setinterfaceconstant{suffix}{پسوند} diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii index ce1cf814a..ec19dcf58 100644 --- a/tex/context/base/mkii/mult-ro.mkii +++ b/tex/context/base/mkii/mult-ro.mkii @@ -1174,6 +1174,7 @@ \setinterfaceconstant{strip}{strip} \setinterfaceconstant{strut}{strut} \setinterfaceconstant{style}{stil} +\setinterfaceconstant{stylealternative}{stylealternative} \setinterfaceconstant{sub}{sub} \setinterfaceconstant{subtitle}{subtitlu} \setinterfaceconstant{suffix}{suffix} diff --git a/tex/context/base/mkiv/chem-str.lua b/tex/context/base/mkiv/chem-str.lua index c84845ee3..13e121493 100644 --- a/tex/context/base/mkiv/chem-str.lua +++ b/tex/context/base/mkiv/chem-str.lua @@ -334,7 +334,8 @@ local f_number = formatters['chem_%s%s(%s,%s,"\\chemicaltext{%s}");'] local f_text = f_number local f_empty_normal = formatters['chem_%s(%s,%s,"");'] local f_empty_center = formatters['chem_c%s(%s,%s,"");'] -local f_transform = formatters['chem_%s(%s,%s,%q);'] +local f_transform = formatters['chem_%s(%s,%s,%s);'] +local f_fixed = formatters['chem_%s(%s,%s,%q);'] local function process(level,spec,text,n,rulethickness,rulecolor,offset,default_variant) insert(stack,{ spec = spec, text = text, n = n }) @@ -600,7 +601,7 @@ local function process(level,spec,text,n,rulethickness,rulecolor,offset,default_ m = m + 1 ; metacode[m] = f_transform(operation,variant,index or 1,factor) end elseif what == "fixed" then - m = m + 1 ; metacode[m] = f_transform(operation,variant,rulethickness,rulecolor) + m = m + 1 ; metacode[m] = f_fixed(operation,variant,rulethickness,rulecolor) elseif trace_structure then report_chemistry("level %a, ignoring undefined operation %s",level,operation) end diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index b67a53313..ad6c764c2 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2016.07.13 15:09} +\newcontextversion{2016.07.14 19:52} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 891812c86..255b31b9f 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2016.07.13 15:09} +\edef\contextversion{2016.07.14 19:52} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv index 8acdf65fe..d1e5d6a68 100644 --- a/tex/context/base/mkiv/math-ini.mkiv +++ b/tex/context/base/mkiv/math-ini.mkiv @@ -337,13 +337,13 @@ \unexpanded\def\math_set_font_style #1{\ifmmode\clf_setmathstyle{#1}\fi} \unexpanded\def\math_set_font_alternate#1{\ifmmode\clf_setmathalternate\defaultmathfamily{#1}\fi} -\installcorenamespace{mathstylealternate} % might become a setuphandler +\installcorenamespace{mathstylealternative} % might become a setuphandler \unexpanded\def\math_set_font_style_alternate#1% - {\ifcsname\??mathstylealternate\fontclass:#1\endcsname + {\ifcsname\??mathstylealternative\fontclass:#1\endcsname %\expandafter\math_set_font_alternate\csname\??mathstylealternate\fontclass:#1\endcsname \expandafter\math_set_font_alternate\lastnamedcs - \else\ifcsname\??mathstylealternate#1\endcsname + \else\ifcsname\??mathstylealternative#1\endcsname %\expandafter\math_set_font_alternate\csname\??mathstylealternate#1\endcsname \expandafter\math_set_font_alternate\lastnamedcs \fi\fi} @@ -353,19 +353,26 @@ \def\math_setup_rendering[#1][#2]% {\ifsecondargument - \getparameters[\??mathstylealternate#1:][#2]% + \getparameters[\??mathstylealternative#1:][#2]% \else - \getparameters[\??mathstylealternate][#1]% + \getparameters[\??mathstylealternative][#1]% \fi} +\appendtoks + \edef\p_stylealternative{\mathematicsparameter\c!stylealternative}% + \ifx\p_stylealternative\empty\else + \clf_presetmathalternate\defaultmathfamily{\p_stylealternative}% + \fi +\to \everymathematics + % if there were many features we could have a feature pass over math nodes but it makes no % sense now so we have commands to deal with it -\unexpanded\def\mathaltcalligraphic{\math_set_font_alternate{calligraphic}\cal} % set via goody file -%unexpanded\def\mathslashedzero {\math_set_font_alternate{zero}0} % set via goody file or automatic -\unexpanded\def\mathdotless {\math_set_font_alternate{dotless}} % set via goody file or automatic -\unexpanded\def\mathdotlessi {{\mathdotless i}} -\unexpanded\def\mathdotlessj {{\mathdotless j}} +\unexpanded\def\mathaltcalligraphic{\math_set_font_alternate{calligraphic}\cal} % set via goody file +\unexpanded\def\mathslashedzero {\begingroup\math_set_font_alternate{zero}∅\endgroup} % set via goody file or automatic +\unexpanded\def\mathdotless {\math_set_font_alternate{dotless}} % set via goody file or automatic +\unexpanded\def\mathdotlessi {\begingroup\mathdotless i\endgroup} +\unexpanded\def\mathdotlessj {\begingroup\mathdotless j\endgroup} \let\mathaltcal\mathaltcalligraphic @@ -379,11 +386,13 @@ \let\dotlessj \autodotlessj \to \everymathematics -\let\setmathattribute \math_set_attribute -\let\setmathalphabet \math_set_alphabet -\let\setmathfontstyle \math_set_font_style -\let\setmathfontalternate \math_set_font_alternate -\let\setmathfontstylealternate\math_set_font_style_alternate +\let\setmathattribute \math_set_attribute +\let\setmathalphabet \math_set_alphabet +\let\setmathfontstyle \math_set_font_style +\let\setmathfontalternate \math_set_font_alternate +\let\setmathfontalternative \math_set_font_alternate +\let\setmathfontstylealternate \math_set_font_style_alternate +\let\setmathfontstylealternative\math_set_font_style_alternate \let\mathalternate \math_set_font_alternate diff --git a/tex/context/base/mkiv/math-noa.lua b/tex/context/base/mkiv/math-noa.lua index b2384b31f..4532bf5cb 100644 --- a/tex/context/base/mkiv/math-noa.lua +++ b/tex/context/base/mkiv/math-noa.lua @@ -24,10 +24,11 @@ if not modules then modules = { } end modules ['math-noa'] = { -- nota bene: uunderdelimiter uoverdelimiter etc are radicals (we have 5 types) local utfchar, utfbyte = utf.char, utf.byte -local formatters = string.formatters +local formatters, gmatch = string.formatters, string.gmatch local sortedhash = table.sortedhash local insert, remove = table.insert, table.remove local div = math.div +local setbit, hasbit = number.setbit, number.hasbit local fonts = fonts local nodes = nodes @@ -43,6 +44,7 @@ local privateattribute = attributes.private local registertracker = trackers.register local registerdirective = directives.register local logreporter = logs.reporter +local setmetatableindex = table.setmetatableindex local trace_remapping = false registertracker("math.remapping", function(v) trace_remapping = v end) local trace_processing = false registertracker("math.processing", function(v) trace_processing = v end) @@ -119,6 +121,7 @@ local fontitalics = fonthashes.italics local variables = interfaces.variables local texsetattribute = tex.setattribute +local texgetattribute = tex.getattribute local unsetvalue = attributes.unsetvalue local implement = interfaces.implement @@ -357,7 +360,7 @@ noads.processouter = process local unknowns = { } local checked = { } -- simple case local tracked = false trackers.register("fonts.missing", function(v) tracked = v end) -local cached = table.setmetatableindex("table") -- complex case +local cached = setmetatableindex("table") -- complex case local function errorchar(font,char) local done = unknowns[char] @@ -786,7 +789,7 @@ local function convert_close(close,first,middle) return close end -local stacks = table.setmetatableindex("table") +local stacks = setmetatableindex("table") local function processfences(pointer,n,parent) local current = pointer @@ -1005,120 +1008,214 @@ end) -- todo: set alternate for specific symbols -- todo: no need to do this when already loaded -local defaults = { - dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, - -- zero = { feature = 'zero', value = 1, comment = "Slashed or Dotted Zero" }, -- in no math font (yet) -} +do -local function initializemathalternates(tfmdata) - local goodies = tfmdata.goodies - local autolist = table.copy(defaults) - - local function setthem(alternates) - local resources = tfmdata.resources -- was tfmdata.shared - local lastattribute = 0 - local attributes = { } - for k, v in sortedhash(alternates) do - lastattribute = lastattribute + 1 - v.attribute = lastattribute - attributes[lastattribute] = v - end - resources.mathalternates = alternates -- to be checked if shared is ok here - resources.mathalternatesattributes = attributes -- to be checked if shared is ok here - end + local last = 0 + + local known = setmetatableindex(function(t,k) + local v = setbit(0,2^last) + t[k] = v + last = last + 1 + return v + end) + + local defaults = { + dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, + -- zero = { feature = 'zero', value = 1, comment = "Slashed or Dotted Zero" }, -- in no math font (yet) + } - if goodies then - local done = { } - for i=1,#goodies do - -- first one counts - -- we can consider sharing the attributes ... todo (only once scan) - local mathgoodies = goodies[i].mathematics - local alternates = mathgoodies and mathgoodies.alternates - if alternates then - if trace_goodies then - report_goodies("loading alternates for font %a",tfmdata.properties.name) + local function initializemathalternates(tfmdata) + local goodies = tfmdata.goodies + local autolist = defaults -- table.copy(defaults) + + local function setthem(newalternates) + local resources = tfmdata.resources -- was tfmdata.shared + local mathalternates = resources.mathalternates + local alternates, attributes, registered, presets + if mathalternates then + alternates = mathalternates.alternates + attributes = mathalternates.attributes + registered = mathalternates.registered + else + alternates, attributes, registered = { }, { }, { } + mathalternates = { + attributes = attributes, + alternates = alternates, + registered = registered, + presets = { }, + } + resources.mathalternates = mathalternates + end + -- + for name, data in sortedhash(newalternates) do + if alternates[name] then + -- ignore + else + local attr = known[name] + attributes[attr] = data + alternates[name] = attr + registered[#registered+1] = attr end - for k, v in next, autolist do - if not alternates[k] then - alternates[k] = v + end + end + + if goodies then + local done = { } + for i=1,#goodies do + -- first one counts + -- we can consider sharing the attributes ... todo (only once scan) + local mathgoodies = goodies[i].mathematics + local alternates = mathgoodies and mathgoodies.alternates + if alternates then + if trace_goodies then + report_goodies("loading alternates for font %a",tfmdata.properties.name) end + for k, v in next, autolist do + if not alternates[k] then + alternates[k] = v + end + end + setthem(alternates) + return end - setthem(alternates) - return end end - end - if trace_goodies then - report_goodies("loading default alternates for font %a",tfmdata.properties.name) - end - setthem(autolist) + if trace_goodies then + report_goodies("loading default alternates for font %a",tfmdata.properties.name) + end + setthem(autolist) -end + end -registerotffeature { - name = "mathalternates", - description = "additional math alternative shapes", - initializers = { - base = initializemathalternates, - node = initializemathalternates, + registerotffeature { + name = "mathalternates", + description = "additional math alternative shapes", + initializers = { + base = initializemathalternates, + node = initializemathalternates, + } } -} --- local getalternate = otf.getalternate (runtime new method so ...) + -- local getalternate = otf.getalternate (runtime new method so ...) --- todo: not shared but copies ... one never knows + -- todo: not shared but copies ... one never knows + + local a_mathalternate = privateattribute("mathalternate") + local alternate = { } -- processors.alternate = alternate + + local function getalternate(fam,tag) + local id = font_of_family(fam) + local tfmdata = fontdata[id] + local resources = tfmdata.resources -- was tfmdata.shared + local attribute = unsetvalue + if resources then + local mathalternates = resources.mathalternates + if mathalternates then + local presets = mathalternates.presets + if presets then + attribute = presets[tag] + if not attribute then + attribute = 0 + local alternates = mathalternates.alternates + for s in gmatch(tag,"[^, ]+") do + local a = alternates[s] -- or known[s] + if a then + attribute = attribute + a + end + end + if attribute == 0 then + attribute = unsetvalue + end + presets[tag] = attribute + end + end + end + end + return attribute + end -local a_mathalternate = privateattribute("mathalternate") + local function presetalternate(fam,tag) + texsetattribute(a_mathalternate,getalternate(fam,tag)) + end -local alternate = { } -- processors.alternate = alternate + implement { + name = "presetmathalternate", + actions = presetalternate, + arguments = { "integer", "string" } + } -function mathematics.setalternate(fam,tag) - local id = font_of_family(fam) - local tfmdata = fontdata[id] - local resources = tfmdata.resources -- was tfmdata.shared - if resources then - local mathalternates = resources.mathalternates - if mathalternates then - local m = mathalternates[tag] - texsetattribute(a_mathalternate,m and m.attribute or unsetvalue) +-- local function setalternate(fam,tag) +-- local id = font_of_family(fam) +-- local tfmdata = fontdata[id] +-- local resources = tfmdata.resources -- was tfmdata.shared +-- if resources then +-- local mathalternates = resources.mathalternates +-- if mathalternates then +-- local v = mathalternates.alternates[tag] +-- if v then +-- local a = texgetattribute(a_mathalternate) +-- if a and a > 0 then +-- v = setbit(a,v) +-- end +-- texsetattribute(a_mathalternate,v) +-- end +-- end +-- end +-- end + + local function setalternate(fam,tag) + local a = texgetattribute(a_mathalternate) + local v = getalternate(fam,tag) + if a and a > 0 then + v = a + v end + texsetattribute(a_mathalternate,v) end -end -implement { - name = "setmathalternate", - actions = mathematics.setalternate, - arguments = { "integer", "string" } -} + implement { + name = "setmathalternate", + actions = setalternate, + arguments = { "integer", "string" } + } -alternate[math_char] = function(pointer) - local a = getattr(pointer,a_mathalternate) - if a and a > 0 then - setattr(pointer,a_mathalternate,0) - local tfmdata = fontdata[getfont(pointer)] - local resources = tfmdata.resources -- was tfmdata.shared - if resources then - local mathalternatesattributes = resources.mathalternatesattributes - if mathalternatesattributes then - local what = mathalternatesattributes[a] - local char = getchar(pointer) - local alt = otf.getalternate(tfmdata,char,what.feature,what.value) - if alt ~= char then - if trace_alternates then - report_alternates("alternate %a, value %a, replacing glyph %U by glyph %U", - tostring(what.feature),tostring(what.value),getchar(pointer),alt) + alternate[math_char] = function(pointer) -- slow + local a = getattr(pointer,a_mathalternate) + if a and a > 0 then + setattr(pointer,a_mathalternate,0) + local tfmdata = fontdata[getfont(pointer)] + local resources = tfmdata.resources -- was tfmdata.shared + if resources then + local mathalternates = resources.mathalternates + if mathalternates then + local attributes = mathalternates.attributes + local registered = mathalternates.registered + for i=1,#registered do + local r = registered[i] + if hasbit(a,r) then + local what = attributes[r] + local char = getchar(pointer) + local alt = otf.getalternate(tfmdata,char,what.feature,what.value) + if alt ~= char then + if trace_alternates then + report_alternates("alternate %a, value %a, replacing glyph %U by glyph %U", + tostring(what.feature),tostring(what.value),getchar(pointer),alt) + end + setchar(pointer,alt) + break + end + end end - setchar(pointer,alt) end end end end -end -function handlers.alternates(head,style,penalties) - processnoads(head,alternate,"alternate") - return true + function handlers.alternates(head,style,penalties) + processnoads(head,alternate,"alternate") + return true + end + end -- italics: we assume that only characters matter diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua index 97b7a2cff..6b55c7626 100644 --- a/tex/context/base/mkiv/mult-def.lua +++ b/tex/context/base/mkiv/mult-def.lua @@ -6574,6 +6574,10 @@ return { ["pe"]="جایگزین", ["ro"]="alternativ", }, + ["stylealternative"]={ + ["en"]="stylealternative", + ["nl"]="stylevariant", + }, ["anchor"]={ ["en"]="anchor", ["nl"]="anker", diff --git a/tex/context/base/mkiv/publ-imp-apa.mkvi b/tex/context/base/mkiv/publ-imp-apa.mkvi index 5600b5722..8031c34b1 100644 --- a/tex/context/base/mkiv/publ-imp-apa.mkvi +++ b/tex/context/base/mkiv/publ-imp-apa.mkvi @@ -33,7 +33,7 @@ [apa] [\c!default=default, \c!specification=apa, - \c!otherstext={\btxspace\btxlabeltext{apa:others}}, + \c!otherstext={\btxspace\btxlabeltext{others}}, %c!journalconversion=\v!normal, \c!monthconversion=\v!month] @@ -101,8 +101,8 @@ [apa:\s!list:\s!page] [apa:\s!list] [\c!separator:2={\btxcomma}, - \c!separator:3={\btxcomma\btxlabeltext{apa:and}\space}, - \c!separator:4={\btxspace\btxlabeltext{apa:and}\space}, + \c!separator:3={\btxcomma\btxlabeltext{and}\space}, + \c!separator:4={\btxspace\btxlabeltext{and}\space}, \c!left={\btxleftparenthesis}, \c!right={\btxrightparenthesis}, \c!command={\wordright}] @@ -274,15 +274,15 @@ [apa:\s!cite] [apa] [\c!alternative=authoryear, - \c!otherstext={\btxcomma\btxlabeltext{apa:others}}, + \c!otherstext={\btxcomma\btxlabeltext{others}}, \c!etallimit=5, \c!etaldisplay=1, % TODO: when 2-4, show all first time, etaldisplay subsequently... \c!authorconversion=\v!name, \c!sorttype=normal, \c!compress=\v!yes, % note that cite sorts only work with compress=yes. \c!separator:names:2={\btxcomma}, - \c!separator:names:3={\btxcomma\btxlabeltext{apa:and}\space}, % not \textampersand - \c!separator:names:4={\btxspace\btxlabeltext{apa:and}\space}] % not \textampersand + \c!separator:names:3={\btxcomma\btxlabeltext{and}\space}, % not \textampersand + \c!separator:names:4={\btxspace\btxlabeltext{and}\space}] % not \textampersand \definebtx [apa:\s!cite:name] @@ -358,15 +358,15 @@ [apa:\s!cite:year] [apa:\s!cite] [\c!separator:2={\btxcomma}, % :0 and :1 - between items of a list - \c!separator:3={\btxcomma\btxlabeltext{apa:and}\space}, % not \textampersand - \c!separator:4={\btxspace\btxlabeltext{apa:and}\space}] % not \textampersand + \c!separator:3={\btxcomma\btxlabeltext{and}\space}, % not \textampersand + \c!separator:4={\btxspace\btxlabeltext{and}\space}] % not \textampersand \definebtx [apa:\s!cite:title] [apa:\s!cite] [\c!separator:2={\btxcomma}, % :0 and :1 - between items of a list - \c!separator:3={\btxcomma\btxlabeltext{apa:and}\space}, % not \textampersand - \c!separator:4={\btxspace\btxlabeltext{apa:and}\space}, % not \textampersand + \c!separator:3={\btxcomma\btxlabeltext{and}\space}, % not \textampersand + \c!separator:4={\btxspace\btxlabeltext{and}\space}, % not \textampersand \c!command={\language[\currentbtxlanguage]}, % BAH \c!sorttype=none, \c!style=\v!italic] @@ -394,8 +394,8 @@ [\c!left=, \c!right=, \c!separator:2={\btxcomma}, % :0 and :1 - between items of a list - \c!separator:3={\btxcomma\btxlabeltext{apa:and}\space}, % not \textampersand - \c!separator:4={\btxspace\btxlabeltext{apa:and}\space}] % not \textampersand + \c!separator:3={\btxcomma\btxlabeltext{and}\space}, % not \textampersand + \c!separator:4={\btxspace\btxlabeltext{and}\space}] % not \textampersand \definebtx [apa:\s!cite:pages] @@ -440,8 +440,8 @@ [\c!left={Ref.\nbsp}, \c!right=, \c!separator:2={\btxcomma}, - \c!separator:3={\btxspace\btxlabeltext{apa:and}\space}, - \c!separator:4={\btxspace\btxlabeltext{apa:and}\space}] + \c!separator:3={\btxspace\btxlabeltext{and}\space}, + \c!separator:4={\btxspace\btxlabeltext{and}\space}] \definebtx [apa:\s!cite:entry] @@ -463,21 +463,21 @@ \setupbtxlabeltext [en] - [apa:and=and, + [%apa:and=and, apa:number={no.}, apa:edition={ed.}, apa:Editor={Ed.}, apa:Editors={Eds.}, apa:Volume={Vol.}, apa:Volumes={Vols.}, - apa:others={et al.}, + %apa:others={et al.}, apa:with=with, - apa:page={p.}, - apa:pages={pp.}, + %apa:page={p.}, + %apa:pages={pp.}, apa:nd={n.d.}, % no date - apa:mastersthesis={Master's thesis}, - apa:phdthesis={Doctoral dissertation}, - apa:technicalreport={Tech. Rep.}, % Technical report + %apa:mastersthesis={Master's thesis}, + %apa:phdthesis={Doctoral dissertation}, + %apa:technicalreport={Tech. Rep.}, % Technical report apa:supplement={Suppl.}, % Supplement (not used?) apa:patent=Patent, apa:MotionPicture={Motion picture}, @@ -489,26 +489,26 @@ apa:Author=Author, apa:Translator={Trans.}, % Translator(s) apa:Advanced={Advanced online publication}, - apa:Retrieved={Available from}, % {Retrieved from}, - apa:In=In] + apa:Retrieved={Available from}] % {Retrieved from}, + %apa:In=In] \setupbtxlabeltext [nl] - [apa:and=en, + [%apa:and=en, apa:number={nr.}, apa:edition={ed.}, % editie apa:Editor=Editor, % Ed./Eds. apa:Editors=Editors, apa:Volume={Vol.}, apa:Volumes={Vols.}, - apa:others={et al.}, + %apa:others={et al.}, apa:with=met, - apa:page={p.}, - apa:pages={pp.}, + %apa:page={p.}, + %apa:pages={pp.}, apa:nd={g.d.} % geen datum - apa:mastersthesis=Masterproef, - apa:phdthesis=Proefschrift, - apa:technicalreport={Technisch rapport}, % Technical report + %apa:mastersthesis=Masterproef, + %apa:phdthesis=Proefschrift, + %apa:technicalreport={Technisch rapport}, % Technical report apa:supplement=Supplement, apa:patent=Octrooi, apa:MotionPicture=Film, % ? @@ -520,26 +520,26 @@ apa:Author=Auteur, apa:Translator=Vertaler, apa:Advanced={Geavanceerde online publicatie}, - apa:Retrieved={Beschikbaar vanaf}, % {Ontvangen van}, - apa:In=In] + apa:Retrieved={Beschikbaar vanaf}] % {Ontvangen van}, + %apa:In=In] \setupbtxlabeltext [fr] - [apa:and=et, + [%apa:and=et, apa:number={n\high{o}}, apa:edition={édition}, apa:Editor=Éditeur, apa:Editors=Éditeurs, apa:Volume=Volume, apa:Volumes=Volumes, - apa:others={et al.}, + %apa:others={et al.}, apa:with=avec, - apa:page={p.}, - apa:pages={pp.}, + %apa:page={p.}, + %apa:pages={pp.}, apa:nd={s.d.} % sans date - apa:mastersthesis={Thèse de master (DEA, DESS, master)}, - apa:phdthesis={Thèse de doctorat}, - apa:technicalreport={Rapport technique}, + %apa:mastersthesis={Thèse de master (DEA, DESS, master)}, + %apa:phdthesis={Thèse de doctorat}, + %apa:technicalreport={Rapport technique}, apa:supplement=Supplément, apa:patent=Brevet, apa:MotionPicture={Film cinématographique}, @@ -551,26 +551,26 @@ apa:Author=Auteur, apa:Translator=Traducteur, apa:Advanced={Publication en ligne anticipée}, - apa:Retrieved={Disponible à}, % {Téléchargé de}, - apa:In=Dans] + apa:Retrieved={Disponible à}] % {Téléchargé de}, + %apa:In=Dans] \setupbtxlabeltext [de] - [apa:and=und, + [%apa:and=und, apa:number={nr.}, apa:edition=Auf\/lage, apa:Editor=Herausgeber, % Hrsg./Hg. apa:Editors=Herausgeber, apa:Volume=Band, % Bd. apa:Volumes={Bände}, - apa:others={et al.}, + %apa:others={et al.}, apa:with=mit, - apa:page={S.}, - apa:pages={S.}, + %apa:page={S.}, + %apa:pages={S.}, apa:nd={o.D.}, % ohne Datum (mostly: o.J. / ohne Jahr) - apa:mastersthesis={Masterarbeit}, - apa:phdthesis={Dissertation}, - apa:technicalreport={Technischer Bericht}, + %apa:mastersthesis={Masterarbeit}, + %apa:phdthesis={Dissertation}, + %apa:technicalreport={Technischer Bericht}, apa:supplement={Beilage}, % Supplement apa:patent=Patent, apa:MotionPicture=Kinofilm, % ? @@ -582,28 +582,28 @@ apa:Author=Autor, apa:Translator={Übersetzer}, % Übers. apa:Advanced={Erweiterte Online-Publikation}, - apa:Retrieved={heruntergeladen von}, - apa:In=In] + apa:Retrieved={heruntergeladen von}] + %apa:In=In] % thanks: Andrea Valle \setupbtxlabeltext [it] - [apa:and=e, + [%apa:and=e, apa:number={nº}, apa:edition={ed.}, % edizione apa:Editor={A cura di}, apa:Editors={A cura di}, apa:Volume={Vol.}, % Volume apa:Volumes={Vol.}, % Volumi - apa:others={et al.}, + %apa:others={et al.}, apa:with=con, - apa:page={p.}, - apa:pages={pp.}, + %apa:page={p.}, + %apa:pages={pp.}, apa:nd={s.d.}, % senza data - apa:mastersthesis={Tesi di laurea}, - apa:phdthesis={Tesi di dottorato}, - apa:technicalreport={Relazione tecnica}, + %apa:mastersthesis={Tesi di laurea}, + %apa:phdthesis={Tesi di dottorato}, + %apa:technicalreport={Relazione tecnica}, apa:supplement={Supplemento}, apa:patent=Brevetto, apa:MotionPicture=Film, % ? @@ -615,26 +615,26 @@ apa:Author=Autore, apa:Translator={Trad.}, % Translator(s) apa:Advanced={Pre-pubblicazione on line}, - apa:Retrieved={Accessible online}, - apa:In=In] + apa:Retrieved={Accessible online}] + %apa:In=In] \setupbtxlabeltext [es] - [apa:and=y, + [%apa:and=y, apa:number={nº}, apa:edition={ed.}, % edición apa:Editor=Editor, % Ed./Eds. apa:Editors=Editores, apa:Volume={Vol.}, % Volumen apa:Volumes={Vols.}, % Volúmenes - apa:others={et al.}, + %apa:others={et al.}, apa:with=con, - apa:page={p.}, - apa:pages={pp.}, + %apa:page={p.}, + %apa:pages={pp.}, apa:nd={s.f.}, % sin fecha - apa:mastersthesis={Tesis de maestría}, - apa:phdthesis={Tesis doctoral}, - apa:technicalreport={Informe técnico}, + %apa:mastersthesis={Tesis de maestría}, + %apa:phdthesis={Tesis doctoral}, + %apa:technicalreport={Informe técnico}, apa:supplement=Suplemento, apa:patent=Patente, apa:MotionPicture=Cinematográfica, @@ -646,8 +646,8 @@ apa:Author=Autor, apa:Translator=Traductor, apa:Advanced={Publicación en línea avanzada}, - apa:Retrieved={Disponible desde}, % {Obtenido de}, - apa:In=En] + apa:Retrieved={Disponible desde}] % {Obtenido de}, + %apa:In=En] % cite setups @@ -686,9 +686,9 @@ \startsetups [btx:apa:list:page-or-pages] \ifx\currentbtxlastpage\empty - \btxlabeltext{apa:page} + \btxlabeltext{p}. \else - \btxlabeltext{apa:pages} + \btxlabeltext{pp}. \fi \btxnbsp \stopsetups @@ -918,7 +918,7 @@ \starttexdefinition unexpanded btx:apa:editor-in \btxdoif {booktitle} { - \btxlabeltext{apa:In} + \btxlabeltext{In} \doifnot {\btxfoundname{author}} {editor} { \btxspace \texdefinition{btx:apa:author-or-editor} {editor} @@ -950,7 +950,7 @@ \btxflush{type} } } { - \btxlabeltext{apa:technicalreport} + \btxlabeltext{technicalreport} } } \btxdoif {volume} { @@ -978,9 +978,9 @@ \btxdoif {pages} { \texdefinition{btx:apa:leftparenthesis-or-comma} \btxoneorrange {pages} { - \btxlabeltext{apa:page} + \btxlabeltext{p}. } { - \btxlabeltext{apa:pages} + \btxlabeltext{pp}. } \btxnbsp \btxflush{pages} @@ -1030,9 +1030,9 @@ \btxcomma \doif {\currentbtxcategory} {newspaper} { \btxoneorrange {pages} { - \btxlabeltext{apa:page} + \btxlabeltext{p}. } { - \btxlabeltext{apa:pages} + \btxlabeltext{pp}. } \btxnbsp } @@ -1285,7 +1285,7 @@ \btxflush{type} } } { - \btxlabeltext{apa:\currentbtxcategory} + \btxlabeltext{\currentbtxcategory} } \btxrightparenthesis \btxdoif {school} { @@ -1439,7 +1439,7 @@ } \doifnot {\btxfoundname{title}} {album} { \btxdoif {album} { - \btxlabeltext{apa:In} + \btxlabeltext{In} \btxspace \btxflush{album} \btxperiod diff --git a/tex/context/base/mkiv/publ-imp-aps.mkvi b/tex/context/base/mkiv/publ-imp-aps.mkvi index 674245714..73ea9775b 100644 --- a/tex/context/base/mkiv/publ-imp-aps.mkvi +++ b/tex/context/base/mkiv/publ-imp-aps.mkvi @@ -33,15 +33,15 @@ [aps] [\c!default=default, \c!specification=aps, - \c!otherstext={\btxspace{\it\btxlabeltext{aps:others}}}, + \c!otherstext={\btxspace{\it\btxlabeltext{others}}}, \c!etallimit=10, \c!etaldisplay=\btxparameter\c!etallimit, %c!journalconversion=\v!normal, \c!monthconversion=\v!month, \c!title=\v!yes, \c!separator:names:2={\btxcomma}, - \c!separator:names:3={\btxcomma\btxlabeltext{aps:and}\space}, - \c!separator:names:4={\btxspace\btxlabeltext{aps:and}\space}] + \c!separator:names:3={\btxcomma\btxlabeltext{and}\space}, + \c!separator:names:4={\btxspace\btxlabeltext{and}\space}] % First, define and set list and rendering parameters @@ -84,8 +84,8 @@ [aps:\s!list:\s!page] [aps:\s!list] [\c!separator:2={\btxcomma}, - \c!separator:3={\btxcomma\btxlabeltext{aps:and}\space}, - \c!separator:4={\btxspace\btxlabeltext{aps:and}\space}, + \c!separator:3={\btxcomma\btxlabeltext{and}\space}, + \c!separator:4={\btxspace\btxlabeltext{and}\space}, \c!left={\btxleftparenthesis}, \c!right={\btxrightparenthesis}, \c!command={\wordright}] @@ -353,8 +353,8 @@ [\c!left=, \c!right=, \c!separator:2={\btxcomma}, % :0 and :1 - between items of a list - \c!separator:3={\btxcomma\btxlabeltext{aps:and}\space}, - \c!separator:4={\btxspace\btxlabeltext{aps:and}\space}] + \c!separator:3={\btxcomma\btxlabeltext{and}\space}, + \c!separator:4={\btxspace\btxlabeltext{and}\space}] \definebtx [aps:\s!cite:pages] @@ -408,8 +408,8 @@ [\c!left={Ref.\nbsp}, \c!command=, \c!separator:2={\btxcomma}, - \c!separator:3={\btxspace\btxlabeltext{aps:and}\space}, - \c!separator:4={\btxspace\btxlabeltext{aps:and}\space}] + \c!separator:3={\btxspace\btxlabeltext{and}\space}, + \c!separator:4={\btxspace\btxlabeltext{and}\space}] \definebtx [aps:\s!cite:entry] @@ -429,139 +429,139 @@ \setupbtxlabeltext [en] - [aps:and=and, + [%aps:and=and, aps:number={no.}, aps:edition={ed.}, aps:Editor={Ed.}, aps:Editors={Eds.}, aps:Volume={Vol.}, aps:Volumes={Vols.}, - aps:others={et al.}, - aps:page={p.}, - aps:pages={pp.}, - aps:mastersthesis={Master's thesis}, - aps:phdthesis={Doctoral dissertation}, - aps:technicalreport={Tech. Rep.}, % Technical report + %aps:others={et al.}, + %aps:page={p.}, + %aps:pages={pp.}, + %aps:mastersthesis={Master's thesis}, + %aps:phdthesis={Doctoral dissertation}, + %aps:technicalreport={Tech. Rep.}, % Technical report aps:supplement={Suppl.}, % Supplement (not used?) aps:patent=Patent, aps:inpress={in press}, aps:tobe={to be published}, - aps:unpublished={unpublished}, - aps:In=In] + aps:unpublished={unpublished}] + %aps:In=In] % Check this (google translate!!): \setupbtxlabeltext [nl] - [aps:and=en, + [%aps:and=en, aps:number={nr.}, aps:edition={ed.}, % editie aps:Editor=Editor, % Ed./Eds. aps:Editors=Editors, aps:Volume={Vol.}, aps:Volumes={Vols.}, - aps:others={et al.}, - aps:page={p.}, - aps:pages={pp.}, - aps:mastersthesis=Masterproef, - aps:phdthesis=Proefschrift, - aps:technicalreport={Technisch rapport}, % Technical report + %aps:others={et al.}, + %aps:page={p.}, + %aps:pages={pp.}, + %aps:mastersthesis=Masterproef, + %aps:phdthesis=Proefschrift, + %aps:technicalreport={Technisch rapport}, % Technical report aps:supplement=Supplement, aps:patent=Octrooi, aps:inpress={in press}, % CHECK THESE! aps:tobe={worden gepubliceerd}, - aps:unpublished={onuitgegeven}, - aps:In=In] + aps:unpublished={onuitgegeven}] + %aps:In=In] \setupbtxlabeltext [fr] - [aps:and=et, + [%aps:and=et, aps:number={n\high{o}}, aps:edition={édition}, aps:Editor=Éditeur, aps:Editors=Éditeurs, aps:Volume=Volume, aps:Volumes=Volumes, - aps:others={et al.}, - aps:page={p.}, - aps:pages={pp.}, - aps:mastersthesis={Thèse de master (DEA, DESS, master)}, - aps:phdthesis={Thèse de doctorat}, - aps:technicalreport={Rapport technique}, + %aps:others={et al.}, + %aps:page={p.}, + %aps:pages={pp.}, + %aps:mastersthesis={Thèse de master (DEA, DESS, master)}, + %aps:phdthesis={Thèse de doctorat}, + %aps:technicalreport={Rapport technique}, aps:supplement=Supplément, aps:patent=Brevet, aps:inpress={sous impression}, aps:tobe={à paraître}, - aps:unpublished={inédit}, % pour un livre - aps:In=Dans] + aps:unpublished={inédit}] % pour un livre + %aps:In=Dans] \setupbtxlabeltext [de] - [aps:and=und, + [%aps:and=und, aps:number={nr.}, aps:edition=Auf\/lage, aps:Editor=Herausgeber, % Hrsg./Hg. aps:Editors=Herausgeber, aps:Volume=Band, % Bd. aps:Volumes={Bände}, - aps:others={et al.}, - aps:page={S.}, - aps:pages={S.}, - aps:mastersthesis={Masterarbeit}, - aps:phdthesis={Dissertation}, - aps:technicalreport={Technischer Bericht}, + %aps:others={et al.}, + %aps:page={S.}, + %aps:pages={S.}, + %aps:mastersthesis={Masterarbeit}, + %aps:phdthesis={Dissertation}, + %aps:technicalreport={Technischer Bericht}, aps:supplement={Beilage}, % Supplement aps:patent=Patent, aps:inpress={in der Presse}, % CHECK THESE! aps:tobe={veröffentlicht werden}, - aps:unpublished={unveröffentlicht}, - aps:In=In] + aps:unpublished={unveröffentlicht}] + %aps:In=In] % thanks: Andrea Valle \setupbtxlabeltext [it] - [aps:and=e, + [%aps:and=e, aps:number={nº}, aps:edition={ed.}, % edizione aps:Editor={A cura di}, aps:Editors={A cura di}, aps:Volume={Vol.}, % Volume aps:Volumes={Vol.}, % Volumi - aps:others={et al.}, - aps:page={p.}, - aps:pages={pp.}, - aps:mastersthesis={Tesi di laurea}, - aps:phdthesis={Tesi di dottorato}, - aps:technicalreport={Relazione tecnica}, + %aps:others={et al.}, + %aps:page={p.}, + %aps:pages={pp.}, + %aps:mastersthesis={Tesi di laurea}, + %aps:phdthesis={Tesi di dottorato}, + %aps:technicalreport={Relazione tecnica}, aps:supplement={Supplemento}, aps:patent=Brevetto, aps:inpress={in press}, % CHECK THESE! aps:tobe={da pubblicare}, - aps:unpublished={inedito}, - aps:In=In] + aps:unpublished={inedito}] + %aps:In=In] \setupbtxlabeltext [es] - [aps:and=y, + [%aps:and=y, aps:number={nº}, aps:edition={ed.}, % edición aps:Editor=Editor, % Ed./Eds. aps:Editors=Editores, aps:Volume={Vol.}, % Volumen aps:Volumes={Vols.}, % Volúmenes - aps:others={et al.}, - aps:page={p.}, - aps:pages={pp.}, - aps:mastersthesis={Tesis de maestría}, - aps:phdthesis={Tesis doctoral}, - aps:technicalreport={Informe técnico}, + %aps:others={et al.}, + %aps:page={p.}, + %aps:pages={pp.}, + %aps:mastersthesis={Tesis de maestría}, + %aps:phdthesis={Tesis doctoral}, + %aps:technicalreport={Informe técnico}, aps:supplement=Suplemento, aps:patent=Patente, aps:inpress={en prensa}, % CHECK THESE! aps:tobe={que se publicará}, - aps:unpublished={inédito}, - aps:In=En] + aps:unpublished={inédito}] + %aps:In=En] % cite setups @@ -604,9 +604,9 @@ \startsetups [btx:aps:list:page-or-pages] \ifx\currentbtxlastpage\empty - \btxlabeltext{aps:page} + \btxlabeltext{p}. \else - \btxlabeltext{aps:pages} + \btxlabeltext{pp}. \fi \btxnbsp \stopsetups @@ -706,7 +706,7 @@ \starttexdefinition unexpanded btx:aps:editor-in \btxdoif {booktitle} { - \btxlabeltext{aps:In} + \btxlabeltext{In} \doifnot {\btxfoundname{author}} {editor} { \btxspace \texdefinition{btx:aps:author-or-editor} {editor} @@ -724,7 +724,7 @@ \btxflush{type} } } { - \btxlabeltext{aps:technicalreport} + \btxlabeltext{technicalreport} } \btxcomma } @@ -752,9 +752,9 @@ } \btxdoif {pages} { \btxoneorrange {pages} { - \btxlabeltext{aps:page} + \btxlabeltext{p}. } { - \btxlabeltext{aps:pages} + \btxlabeltext{pp}. } \btxnbsp \btxflush{pages} @@ -981,7 +981,7 @@ \btxflush{type} } } { - \btxlabeltext{aps:\currentbtxcategory} + \btxlabeltext{\currentbtxcategory} } \btxrightparenthesis \btxdoif {school} { diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex eba625374..6a33fa332 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex a07a2be00..7b4cd12d0 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/tabl-tbl.mkiv b/tex/context/base/mkiv/tabl-tbl.mkiv index 4cd839bd6..315844db3 100644 --- a/tex/context/base/mkiv/tabl-tbl.mkiv +++ b/tex/context/base/mkiv/tabl-tbl.mkiv @@ -787,7 +787,7 @@ \global\d_tabl_tabulate_vrulethickness\d_tabl_tabulate_vrulethickness_default \rawprocesscommalist[#1]\tabl_tabulate_set_vrule_command \fi - \tabl_tabulate_set_preamble#2\relax\relax % permits i without n + \tabl_tabulate_set_preamble#2\relax\relax % permits i without n \ifcase\c_tabl_tabulate_modus\relax \tabl_tabulate_set_width_normal \or % fixed width @@ -1213,10 +1213,28 @@ % todo: spacing around tabulate when bodyfont is set +\let\tabl_tabulate_inside_before \relax +\let\tabl_tabulate_inside_after \relax +\let\tabl_tabulate_inside_inbetween\relax + +\def\tabl_tabulate_outside_before + {\whitespace + \tabulationparameter\c!before} + +\def\tabl_tabulate_outside_after + {\tabulationparameter\c!after} + +\def\tabl_tabulate_outside_inbetween + {\doifempty{\tabulationparameter\c!after} + {\vskip\strutdp + \verticalstrut + \vskip-\struttotal}} + \unexpanded\def\tabl_tabulate_start_building - {\ifinsidefloat \else - \whitespace - \tabulationparameter\c!before + {\ifinsidefloat + \tabl_tabulate_inside_before + \else + \tabl_tabulate_outside_before \fi \bgroup % settings % @@ -1232,6 +1250,15 @@ \edef\p_rulethickness{\tabulationparameter\c!rulethickness}% \edef\p_bodyfont {\tabulationparameter\c!bodyfont} \edef\p_indenting {\tabulationparameter\c!indenting}% + \edef\p_keeptogether {\tabulationparameter\c!keeptogether}% + % + \ifx\p_keeptogether\v!no + \settrue \c_tabl_tabulate_tolerant_break + %\setfalse\c_tabl_tabulate_handlepbreak + \else + \setfalse\c_tabl_tabulate_tolerant_break + %\settrue \c_tabl_tabulate_handlepbreak + \fi % \settrue\c_tabl_tabulate_split \csname\??tabulatesplit\tabulationparameter\c!split\endcsname @@ -1958,11 +1985,10 @@ \tabl_tabulate_column_rule_separator_inject \tabl_tabulate_nobreak_inject \tabl_tabulate_hrule_inject - \ifinsidefloat\else - \doifempty{\tabulationparameter\c!after} - {\vskip\strutdp - \verticalstrut - \vskip-\struttotal}% + \ifinsidefloat + \tabl_tabulate_inside_inbetween + \else + \tabl_tabulate_outside_inbetween \fi \stoptabulatenoalign} @@ -2164,18 +2190,19 @@ \dontcomplain \forgetall % hm, interference with preceding \forgetparindent probably bug, to be solved \everypar\everytabulatepar - \setbox0\vbox % outside \if because of line counting + \setbox\scratchbox\vbox % outside \if because of line counting {\notesenabledfalse \d_tabl_tabulate_indent\zeropoint \settrialtypesetting % very important \expandafter\halign\expandafter{\the\t_tabl_tabulate_preamble\crcr\tabl_tabulate_insert_content\crcr}}% \ifnum\c_tabl_tabulate_nofauto>\zerocount % so, even if the natural size is larger, in the final run, we force the calculated width - \d_tabl_tabulate_width\dimexpr\hsize-\wd0-\d_tabl_tabulate_width_p-\d_tabl_tabulate_width_w\relax + \d_tabl_tabulate_width\dimexpr\hsize-\wd\scratchbox-\d_tabl_tabulate_width_p-\d_tabl_tabulate_width_w\relax \ifnum\c_tabl_tabulate_nofauto>\zerocount \divide\d_tabl_tabulate_width \c_tabl_tabulate_nofauto\relax \fi \fi + \setbox\scratchbox\emptybox % free memory \ifconditional\c_tabl_tabulate_split \splittopskip\strutht \glet\tabl_tabulate_flush_collected_indeed\empty @@ -2232,8 +2259,10 @@ \tabl_split_box\b_tabl_tabulate \fi % - \ifinsidefloat \else - \tabulationparameter\c!after + \ifinsidefloat + \tabl_tabulate_inside_after + \else + \tabl_tabulate_outside_after \fi \egroup} % whole thing diff --git a/tex/context/interface/mkii/keys-cs.xml b/tex/context/interface/mkii/keys-cs.xml index b69905b97..e459a1fad 100644 --- a/tex/context/interface/mkii/keys-cs.xml +++ b/tex/context/interface/mkii/keys-cs.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='pismeno'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='pod'/> <cd:constant name='subtitle' value='podtitulek'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkii/keys-de.xml b/tex/context/interface/mkii/keys-de.xml index 32f8ded67..22b1229cd 100644 --- a/tex/context/interface/mkii/keys-de.xml +++ b/tex/context/interface/mkii/keys-de.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='stil'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='unter'/> <cd:constant name='subtitle' value='untertitel'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkii/keys-en.xml b/tex/context/interface/mkii/keys-en.xml index 94a77a6d4..4276f6423 100644 --- a/tex/context/interface/mkii/keys-en.xml +++ b/tex/context/interface/mkii/keys-en.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='style'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='sub'/> <cd:constant name='subtitle' value='subtitle'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkii/keys-fr.xml b/tex/context/interface/mkii/keys-fr.xml index 5df08a40b..8780bad1d 100644 --- a/tex/context/interface/mkii/keys-fr.xml +++ b/tex/context/interface/mkii/keys-fr.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='style'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='sous'/> <cd:constant name='subtitle' value='soustitre'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkii/keys-it.xml b/tex/context/interface/mkii/keys-it.xml index ddeb35689..7aad6a96e 100644 --- a/tex/context/interface/mkii/keys-it.xml +++ b/tex/context/interface/mkii/keys-it.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='stile'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='sotto'/> <cd:constant name='subtitle' value='sottotitolo'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkii/keys-nl.xml b/tex/context/interface/mkii/keys-nl.xml index 7e8bd0d4a..709813a8c 100644 --- a/tex/context/interface/mkii/keys-nl.xml +++ b/tex/context/interface/mkii/keys-nl.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='letter'/> + <cd:constant name='stylealternative' value='stylevariant'/> <cd:constant name='sub' value='sub'/> <cd:constant name='subtitle' value='subtitel'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkii/keys-pe.xml b/tex/context/interface/mkii/keys-pe.xml index ec216beae..8410625e3 100644 --- a/tex/context/interface/mkii/keys-pe.xml +++ b/tex/context/interface/mkii/keys-pe.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='بست'/> <cd:constant name='style' value='سبک'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='زیر'/> <cd:constant name='subtitle' value='زیرعنوان'/> <cd:constant name='suffix' value='پسوند'/> diff --git a/tex/context/interface/mkii/keys-ro.xml b/tex/context/interface/mkii/keys-ro.xml index bad10a1a2..16d18db5c 100644 --- a/tex/context/interface/mkii/keys-ro.xml +++ b/tex/context/interface/mkii/keys-ro.xml @@ -1180,6 +1180,7 @@ <cd:constant name='strip' value='strip'/> <cd:constant name='strut' value='strut'/> <cd:constant name='style' value='stil'/> + <cd:constant name='stylealternative' value='stylealternative'/> <cd:constant name='sub' value='sub'/> <cd:constant name='subtitle' value='subtitlu'/> <cd:constant name='suffix' value='suffix'/> diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf Binary files differindex 7b504b1e4..36e8d242e 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-math.xml b/tex/context/interface/mkiv/i-math.xml index 3381a4273..ab05c6259 100644 --- a/tex/context/interface/mkiv/i-math.xml +++ b/tex/context/interface/mkiv/i-math.xml @@ -91,6 +91,9 @@ <cd:constant type="displaylimits"/> <cd:constant type="none"/> </cd:parameter> + <cd:parameter name="stylealternative"> + <cd:constant type="cd:list"/> + </cd:parameter> <cd:parameter name="default"> <cd:constant type="normal"/> <cd:constant type="italic" default="yes"/> diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex 5e84ca3a2..06a6d30e9 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/context/interface/mkiv/i-tabulation.xml b/tex/context/interface/mkiv/i-tabulation.xml index 1e6dfc1fc..e6686e5ac 100644 --- a/tex/context/interface/mkiv/i-tabulation.xml +++ b/tex/context/interface/mkiv/i-tabulation.xml @@ -91,6 +91,10 @@ <cd:parameter name="title"> <cd:constant type="cd:text"/> </cd:parameter> + <cd:parameter name="keeptogether"> + <cd:constant type="yes" default="yes"/> + <cd:constant type="no"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index e6738ea9e..ed3791419 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 07/13/16 15:09:54 +-- merge date : 07/14/16 19:52:26 do -- begin closure to overcome local limits and interference |