summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-07-14 22:37:31 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-07-14 22:37:31 +0200
commit1373cbe7fd26acc28c673ebee8eeab3ec120f294 (patch)
tree07389cd27a05f6d2f9a6192c04bab02ee59b214c
parent5a923dc5ac055164721b40a58e4d1614fc7f2aa1 (diff)
downloadcontext-1373cbe7fd26acc28c673ebee8eeab3ec120f294.tar.gz
2016-07-14 19:57:00
-rw-r--r--tex/context/base/context-version.pdfbin4267 -> 4270 bytes
-rw-r--r--tex/context/base/mkii/mult-de.mkii1
-rw-r--r--tex/context/base/mkii/mult-en.mkii1
-rw-r--r--tex/context/base/mkii/mult-fr.mkii1
-rw-r--r--tex/context/base/mkii/mult-it.mkii1
-rw-r--r--tex/context/base/mkii/mult-nl.mkii1
-rw-r--r--tex/context/base/mkii/mult-pe.mkii1
-rw-r--r--tex/context/base/mkii/mult-ro.mkii1
-rw-r--r--tex/context/base/mkiv/chem-str.lua5
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/math-ini.mkiv39
-rw-r--r--tex/context/base/mkiv/math-noa.lua279
-rw-r--r--tex/context/base/mkiv/mult-def.lua4
-rw-r--r--tex/context/base/mkiv/publ-imp-apa.mkvi156
-rw-r--r--tex/context/base/mkiv/publ-imp-aps.mkvi140
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9239 -> 9192 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin367248 -> 367147 bytes
-rw-r--r--tex/context/base/mkiv/tabl-tbl.mkiv55
-rw-r--r--tex/context/interface/mkii/keys-cs.xml1
-rw-r--r--tex/context/interface/mkii/keys-de.xml1
-rw-r--r--tex/context/interface/mkii/keys-en.xml1
-rw-r--r--tex/context/interface/mkii/keys-fr.xml1
-rw-r--r--tex/context/interface/mkii/keys-it.xml1
-rw-r--r--tex/context/interface/mkii/keys-nl.xml1
-rw-r--r--tex/context/interface/mkii/keys-pe.xml1
-rw-r--r--tex/context/interface/mkii/keys-ro.xml1
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin821564 -> 821565 bytes
-rw-r--r--tex/context/interface/mkiv/i-math.xml3
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60793 -> 60795 bytes
-rw-r--r--tex/context/interface/mkiv/i-tabulation.xml4
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
32 files changed, 434 insertions, 272 deletions
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 39a41087a..0d2201e42 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
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
index eba625374..6a33fa332 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index a07a2be00..7b4cd12d0 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
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
index 7b504b1e4..36e8d242e 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
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
index 5e84ca3a2..06a6d30e9 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
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