summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4178 -> 4177 bytes
-rw-r--r--tex/context/base/context.mkiv5
-rw-r--r--tex/context/base/core-sys.mkiv5
-rw-r--r--tex/context/base/font-otf.lua14
-rw-r--r--tex/context/base/lxml-tab.lua9
-rw-r--r--tex/context/base/math-ini.mkiv7
-rw-r--r--tex/context/base/mult-low.lua1
-rw-r--r--tex/context/base/mult-prm.lua1
-rw-r--r--tex/context/base/page-mrk.mkiv2
-rw-r--r--tex/context/base/phys-dim.lua25
-rw-r--r--tex/context/base/phys-dim.mkiv27
-rw-r--r--tex/context/base/publ-imp-apa.mkvi95
-rw-r--r--tex/context/base/publ-imp-aps.mkvi67
-rw-r--r--tex/context/base/publ-imp-default.mkvi51
-rw-r--r--tex/context/base/publ-ini.mkiv30
-rw-r--r--tex/context/base/status-files.pdfbin24472 -> 24456 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin251187 -> 251190 bytes
-rw-r--r--tex/context/base/strc-mat.mkiv32
-rw-r--r--tex/context/base/syst-ini.mkiv4
-rw-r--r--tex/context/base/trac-vis.lua30
-rw-r--r--tex/context/base/trac-vis.mkiv2
-rw-r--r--tex/context/base/util-str.lua2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua7
24 files changed, 297 insertions, 121 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index e9f259376..3f2e4199c 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2015.05.15 23:03}
+\newcontextversion{2015.05.18 12:26}
%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/context-version.pdf b/tex/context/base/context-version.pdf
index 1145082b4..5244e0ba9 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 389d784e4..9b542115e 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2015.05.15 23:03}
+\edef\contextversion{2015.05.18 12:26}
\edef\contextkind {current}
%D For those who want to use this:
@@ -483,7 +483,7 @@
\loadmarkfile{math-dis}
%loadmarkfile{math-lan}
-\loadmarkfile{phys-dim}
+%loadmarkfile{phys-dim} % moved to after typo-scr
\loadmarkfile{strc-mat}
@@ -491,6 +491,7 @@
\loadmarkfile{chem-str}
\loadmarkfile{typo-scr}
+\loadmarkfile{phys-dim}
\loadmarkfile{node-rul}
\loadmkvifile{font-sol} % font solutions
diff --git a/tex/context/base/core-sys.mkiv b/tex/context/base/core-sys.mkiv
index 3d31dee53..1358f4cce 100644
--- a/tex/context/base/core-sys.mkiv
+++ b/tex/context/base/core-sys.mkiv
@@ -211,7 +211,10 @@
{\namedstartstopparameter{#1}\c!before\relax
\bgroup
\def\currentstartstop{#1}%
- \startstopparameter\c!commands\relax % better: setups so that will show op soon
+ % we will keep this for a while:
+ \startstopparameter\c!commands\relax % obsolete
+ % this is the new method:
+ \usesetupsparameter\startstopparameter\relax % only in the display version
\dostarttagged\t!construct\currentstartstop
\usestartstopstyleandcolor\c!style\c!color}
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index 85eebaaeb..308ec4568 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -721,6 +721,8 @@ actions["prepare glyphs"] = function(data,filename,raw)
if rawcidinfo.registry then
local cidmap = fonts.cid.getmap(rawcidinfo)
if cidmap then
+-- local map = raw.map.map -- else created each time
+-- local backmap = raw.map.backmap -- else created each time
rawcidinfo.usedname = cidmap.usedname
local nofnames, nofunicodes = 0, 0
local cidunicodes, cidnames = cidmap.unicodes, cidmap.names
@@ -735,6 +737,7 @@ actions["prepare glyphs"] = function(data,filename,raw)
local glyph = cidglyphs[index]
if glyph then
local unicode = glyph.unicode
+-- local unicode = backmap[index] or -1
if unicode >= 0x00E000 and unicode <= 0x00F8FF then
unicode = -1
elseif unicode >= 0x0F0000 and unicode <= 0x0FFFFD then
@@ -743,6 +746,7 @@ actions["prepare glyphs"] = function(data,filename,raw)
unicode = -1
end
local name = glyph.name or cidnames[index]
+-- print(index,unicode,glyph.name,raw.map.map[unicode],raw.map.backmap[index])
if not unicode or unicode == -1 then -- or unicode >= criterium then
unicode = cidunicodes[index]
end
@@ -786,14 +790,13 @@ actions["prepare glyphs"] = function(data,filename,raw)
local description = {
-- width = glyph.width,
boundingbox = glyph.boundingbox,
- name = glyph.name or name or "unknown", -- uniXXXX
+ -- name = glyph.name or name or "unknown", -- uniXXXX
+ name = name or "unknown", -- uniXXXX
cidindex = cidindex,
index = index,
glyph = glyph,
}
descriptions[unicode] = description
- else
- -- report_otf("potential problem: glyph %U is used but empty",index)
end
end
end
@@ -974,8 +977,8 @@ actions["check encoding"] = function(data,filename,raw)
end
if mapdata then
- mapdata.map = { } -- clear some memory
- mapdata.backmap = { } -- clear some memory
+ mapdata.map = { } -- clear some memory (virtual and created each time anyway)
+ mapdata.backmap = { } -- clear some memory (virtual and created each time anyway)
end
end
@@ -991,7 +994,6 @@ actions["add duplicates"] = function(data,filename,raw)
local unicodes = resources.unicodes -- name to unicode
local indices = resources.indices -- index to unicodes
local duplicates = resources.duplicates
-
for unicode, d in next, duplicates do
local nofduplicates = #d
if nofduplicates > 4 then
diff --git a/tex/context/base/lxml-tab.lua b/tex/context/base/lxml-tab.lua
index 47e2cac61..510ba1bd4 100644
--- a/tex/context/base/lxml-tab.lua
+++ b/tex/context/base/lxml-tab.lua
@@ -264,8 +264,17 @@ end
-- end
-- end
+local spaceonly = lpegpatterns.whitespace^0 * P(-1)
+
local function add_text(text)
local n = #dt
+--
+-- will be an option: dataonly
+--
+-- if #text == 0 or lpegmatch(spaceonly,text) then
+-- return
+-- end
+--
if cleanup and #text > 0 then
if n > 0 then
local s = dt[n]
diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv
index 83c7554eb..9627b153f 100644
--- a/tex/context/base/math-ini.mkiv
+++ b/tex/context/base/math-ini.mkiv
@@ -2250,6 +2250,13 @@
\math_inline_openup_stop
\endgroup}
+% Also handy, especially for units:
+%
+% 0x002B=plus 0x2212=minus 0x2013=endash
+
+\unexpanded\def\mathplus {+}
+\unexpanded\def\mathminus{\ifmmode –\else\iffontchar\font`−−\else –\fi\fi}
+
\protect \endinput
% % not used (yet)
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index 9a05e59d9..5396ec723 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -266,6 +266,7 @@ return {
"singleexpandafter", "doubleexpandafter", "tripleexpandafter",
--
"dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces",
+ "removepunctuation",
--
"wait", "writestatus", "define", "defineexpandable", "redefine",
--
diff --git a/tex/context/base/mult-prm.lua b/tex/context/base/mult-prm.lua
index 3b4d84356..9d6fc7810 100644
--- a/tex/context/base/mult-prm.lua
+++ b/tex/context/base/mult-prm.lua
@@ -254,6 +254,7 @@ return {
"suppresslongerror",
"suppressoutererror",
"suppressmathparerror",
+ "matheqnogapstep",
"synctex",
},
["omega"]={
diff --git a/tex/context/base/page-mrk.mkiv b/tex/context/base/page-mrk.mkiv
index 6d0a5af94..0823464fe 100644
--- a/tex/context/base/page-mrk.mkiv
+++ b/tex/context/base/page-mrk.mkiv
@@ -102,6 +102,7 @@
\def\page_marks_add_page_indeed#1%
{\setbox#1\hbox\bgroup
+ \resetvisualizers
\let\objectoffset\pagecutmarkmargin
%\infofont
\scratchwidth \wd#1%
@@ -115,6 +116,7 @@
\def\page_marks_add_more_indeed#1%
{\setbox#1\hbox\bgroup
+ \resetvisualizers
\let\objectoffset\pagecutmarkmargin
\infofont
\scratchwidth \wd#1% these can move out
diff --git a/tex/context/base/phys-dim.lua b/tex/context/base/phys-dim.lua
index 7430b62d7..71c9b0bd4 100644
--- a/tex/context/base/phys-dim.lua
+++ b/tex/context/base/phys-dim.lua
@@ -43,6 +43,7 @@ local rawset, next = rawset, next
local V, P, S, R, C, Cc, Cs, matchlpeg = lpeg.V, lpeg.P, lpeg.S, lpeg.R, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.match
local format, lower = string.format, string.lower
local appendlpeg = lpeg.append
+local utfchartabletopattern = lpeg.utfchartabletopattern
local mergetable, mergedtable, keys, loweredkeys = table.merge, table.merged, table.keys, table.loweredkeys
local setmetatablenewindex = table.setmetatablenewindex
local utfchar = utf.char
@@ -663,11 +664,11 @@ labels.suffixes = allocate {
square = { labels = { en = [[2]] } },
cubic = { labels = { en = [[3]] } },
quadratic = { labels = { en = [[4]] } },
- inverse = { labels = { en = [[-1]] } },
- ilinear = { labels = { en = [[-1]] } },
- isquare = { labels = { en = [[-2]] } },
- icubic = { labels = { en = [[-3]] } },
- iquadratic = { labels = { en = [[-4]] } },
+ inverse = { labels = { en = [[\mathminus1]] } },
+ ilinear = { labels = { en = [[\mathminus1]] } },
+ isquare = { labels = { en = [[\mathminus2]] } },
+ icubic = { labels = { en = [[\mathminus3]] } },
+ iquadratic = { labels = { en = [[\mathminus4]] } },
}
local function dimpus(p,u,s)
@@ -774,6 +775,20 @@ local function update_parsers() -- todo: don't remap utf sequences
local p_short_operator = appendlpeg(short_operators)
local p_short_suffix = appendlpeg(short_suffixes)
+ -- more efficient but needs testing
+
+-- local p_long_prefix = utfchartabletopattern(all_long_prefixes) / all_long_prefixes
+-- local p_long_unit = utfchartabletopattern(all_long_units) / all_long_units
+-- local p_long_operator = utfchartabletopattern(all_long_operators) / all_long_operators
+-- local p_long_suffix = utfchartabletopattern(all_long_suffixes) / all_long_suffixes
+-- local p_symbol = utfchartabletopattern(all_symbol_units) / all_symbol_units
+-- local p_packaged = utfchartabletopattern(all_packaged_units) / all_packaged_units
+
+-- local p_short_prefix = utfchartabletopattern(short_prefixes) / short_prefixes
+-- local p_short_unit = utfchartabletopattern(short_units) / short_units
+-- local p_short_operator = utfchartabletopattern(short_operators) / short_operators
+-- local p_short_suffix = utfchartabletopattern(short_suffixes) / short_suffixes
+
-- we can can cleanup some space issues here (todo)
local unitparser = P { "unit",
diff --git a/tex/context/base/phys-dim.mkiv b/tex/context/base/phys-dim.mkiv
index 232edc2fc..b1bcb40c9 100644
--- a/tex/context/base/phys-dim.mkiv
+++ b/tex/context/base/phys-dim.mkiv
@@ -156,7 +156,7 @@
{\ifmmode
\expandafter\normalsuperscript
\else
- \expandafter\high
+ \expandafter\unitshigh
\fi}
% we could use a symbolset but how many symbols are there ?
@@ -170,17 +170,21 @@
% \definesymbol[units][times][\cdots]
% \definesymbol[units][times][\ifmmode\cdot\else\kern.2\emwidth\cdot\kern.2\emwidth\fi]
-\def\digitstimessymbol{\times}
-% \def\digitstimessymbol{\cdot}
-% \def\digitstimessymbol{\ifmmode\cdot\else\kern.2\emwidth\cdot\kern.2\emwidth\fi}
+\unexpanded\def\digitstextbinop#1% assumes preceding
+ {\fourperemspace\nobreak\times\fourperemspace}
+
+%def\digitstimessymbol{\ifmmode\cdot\else\digitstextbinop\cdot\fi}
+\def\digitstimessymbol{\ifmmode\times\else\digitstextbinop\times\fi}
\unexpanded\def\digitszeropadding {\hphantom{0}}
\unexpanded\def\digitsnegative {\phys_digits_normalized{0}{\phys_digits_raised{\textminus}}}
\unexpanded\def\digitspositive {\phys_digits_normalized{0}{\phys_digits_raised{\textplus}}}
\unexpanded\def\digitsnegative {\phys_digits_normalized{0}{\mathematics{\negative}}}
\unexpanded\def\digitspositive {\phys_digits_normalized{0}{\mathematics{\positive}}}
-\unexpanded\def\digitsminus {\phys_digits_normalized{0}{\mathematics{-}}}
-\unexpanded\def\digitsplus {\phys_digits_normalized{0}{\mathematics{+}}}
+%unexpanded\def\digitsminus {\phys_digits_normalized{0}{\mathematics{-}}}
+%unexpanded\def\digitsplus {\phys_digits_normalized{0}{\mathematics{+}}}
+\unexpanded\def\digitsminus {\phys_digits_normalized{0}{\mathminus}}
+\unexpanded\def\digitsplus {\phys_digits_normalized{0}{\mathplus }}
\unexpanded\def\digitsspace {\hphantom{0}}
\unexpanded\def\digitsseparatorspace{\hphantom{.}}
\unexpanded\def\digitssignspace {\hphantom{\digitsminus}}
@@ -370,6 +374,9 @@
%\c!space=..., % (maybe) small medium big
]
+\definehigh[unitshigh][\c!style=\txx]
+\definelow [unitslow] [\c!style=\txx]
+
\let\setupunits\setupunit
\newconstant \c_phys_units_mode % 0=text 1=math 2=textinmath 3=mathintext
@@ -615,22 +622,22 @@
\def\unitsraise
{\ifcase\c_phys_units_mode
- \expandafter\high
+ \expandafter\unitshigh
\or
\expandafter\normalsuperscript
\or
- \expandafter\high
+ \expandafter\unitshigh
\or
\expandafter\normalsuperscript
\fi}
\def\unitslower
{\ifcase\c_phys_units_mode
- \expandafter\low
+ \expandafter\unitslow
\or
\expandafter\normalsubscript
\or
- \expandafter\low
+ \expandafter\unitslow
\or
\expandafter\normalsubscript
\fi}
diff --git a/tex/context/base/publ-imp-apa.mkvi b/tex/context/base/publ-imp-apa.mkvi
index 9ab624bf8..85e0ebd5f 100644
--- a/tex/context/base/publ-imp-apa.mkvi
+++ b/tex/context/base/publ-imp-apa.mkvi
@@ -33,7 +33,7 @@
[apa]
[\c!default=default,
\c!specification=apa,
- \c!otherstext={\space\btxlabeltext{apa:others}},
+ \c!otherstext={\btxspace\btxlabeltext{apa:others}},
%c!journalconversion=\v!normal,
\c!monthconversion=\v!month]
@@ -57,14 +57,14 @@
\definebtx
[apa:\s!list]
[apa]
- [\c!otherstext={,\nobreakspace\textellipsis\space},
+ [\c!otherstext={\btxcomma\btxnobreakspace\textellipsis\space},
\c!etallimit=7,
\c!etaldisplay=6,
\c!etaloption=last,
\c!authorconversion=invertedshort,
- \c!separator:names:2={,\space}, % aka namesep - in this namespace
- \c!separator:names:3={,\nobreakspace\textampersand\space}, % comma separated list
- \c!separator:names:4={\nobreakspace\textampersand\space}] % last of two, no comma!
+ \c!separator:names:2={\btxcomma}, % aka namesep - in this namespace
+ \c!separator:names:3={\btxcomma\btxnobreakspace\textampersand\space}, % comma separated list
+ \c!separator:names:4={\btxnobreakspace\textampersand\space}] % last of two, no comma!
% First, we define a namespace for a few special fields
@@ -91,9 +91,9 @@
\definebtx
[apa:\s!list:\s!page]
[apa:\s!list]
- [\c!separator:2={,\space},
- \c!separator:3={,\space\btxlabeltext{apa:and}\space},
- \c!separator:4={\space\btxlabeltext{apa:and}\space},
+ [\c!separator:2={\btxcomma},
+ \c!separator:3={\btxcomma\btxlabeltext{apa:and}\space},
+ \c!separator:4={\btxspace\btxlabeltext{apa:and}\space},
\c!left={\btxleftparenthesis},
\c!right={\btxrightparenthesis},
\c!command={\wordright}]
@@ -101,7 +101,7 @@
\definebtx
[apa:\s!list:numbering]
[apa:\s!list]
- [\c!right={\space}]
+ [\c!right={\btxspace}]
\definebtx
[apa:\s!list:numbering:default]
@@ -265,15 +265,40 @@
[apa:\s!cite]
[apa]
[\c!alternative=authoryear,
- \c!otherstext={,\space\btxlabeltext{apa:others}},
+ \c!otherstext={\btxcomma\btxlabeltext{apa: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={,\space},
- \c!separator:names:3={,\space\btxlabeltext{apa:and}\space}, % not \textampersand
- \c!separator:names:4={\space\btxlabeltext{apa:and}\space}] % not \textampersand
+ \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
+
+\definebtx
+ [apa:\s!cite:name]
+ [apa:\s!cite]
+ [\c!authorconversion=\v!name]
+
+\definebtx
+ [apa:\s!cite:inverted]
+ [apa:\s!cite]
+ [\c!authorconversion=\v!invertedshort]
+
+\definebtx
+ [apa:\s!cite:invertedshort]
+ [apa:\s!cite]
+ [\c!authorconversion=\v!invertedshort]
+
+\definebtx
+ [apa:\s!cite:normalshort]
+ [apa:\s!cite]
+ [\c!authorconversion=\v!normalshort]
+
+\definebtx
+ [apa:\s!cite:normal]
+ [apa:\s!cite]
+ [\c!authorconversion=\v!normal]
\definebtx
[apa:\s!cite:author]
@@ -284,7 +309,7 @@
[apa:\s!cite:author]
[\c!left={(},
\c!right={)},
- \c!inbetween={,\space}]
+ \c!inbetween={\btxcomma}]
\definebtx
[apa:\s!cite:default]
@@ -295,7 +320,7 @@
[apa:\s!cite:authoryear]
[\c!left=,
\c!right=,
- \c!inbetween={\space}]
+ \c!inbetween={\btxspace}]
\definebtx
[apa:\s!cite:authornum]
@@ -306,7 +331,7 @@
\definebtx
[apa:\s!cite:author:num] % todo
[apa:\s!cite:authornum]
- [\c!left={\space[},
+ [\c!left={\btxspace[},
\c!right={]}]
\definebtx
@@ -317,22 +342,22 @@
[apa:\s!cite:author:years] % todo
[apa:\s!cite:authoryears]
[\c!inbetween=,
- \c!left={\space(},
+ \c!left={\btxspace(},
\c!right={)}]
\definebtx
[apa:\s!cite:year]
[apa:\s!cite]
- [\c!separator:2={,\space}, % :0 and :1 - between items of a list
- \c!separator:3={,\space\btxlabeltext{apa:and}\space}, % not \textampersand
- \c!separator:4={\space\btxlabeltext{apa:and}\space}] % not \textampersand
+ [\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
\definebtx
[apa:\s!cite:title]
[apa:\s!cite]
- [\c!separator:2={,\space}, % :0 and :1 - between items of a list
- \c!separator:3={,\space\btxlabeltext{apa:and}\space}, % not \textampersand
- \c!separator:4={\space\btxlabeltext{apa:and}\space}, % not \textampersand
+ [\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!command={\language[\currentbtxlanguage]}, % BAH
\c!sorttype=none,
\c!style=\v!italic]
@@ -359,9 +384,9 @@
[apa:\s!cite]
[\c!left=,
\c!right=,
- \c!separator:2={,\space}, % :0 and :1 - between items of a list
- \c!separator:3={,\space\btxlabeltext{apa:and}\space}, % not \textampersand
- \c!separator:4={\space\btxlabeltext{apa:and}\space}] % not \textampersand
+ \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
\definebtx
[apa:\s!cite:pages]
@@ -405,17 +430,17 @@
[apa:\s!cite:num]
[\c!left={Ref.\nbsp},
\c!right=,
- \c!separator:2={,\space},
- \c!separator:3={\space\btxlabeltext{apa:and}\space},
- \c!separator:4={\space\btxlabeltext{apa:and}\space}]
+ \c!separator:2={\btxcomma},
+ \c!separator:3={\btxspace\btxlabeltext{apa:and}\space},
+ \c!separator:4={\btxspace\btxlabeltext{apa:and}\space}]
\definebtx
[apa:\s!cite:entry]
[apa:\s!cite]
[\c!left=,
\c!right=,
- \c!inbetween={\space},
- \c!separator:2={;\space},
+ \c!inbetween={\btxspace},
+ \c!separator:2={\btxsemicolon},
\c!separator:3=\btxparameter{\c!separator:2},
\c!separator:4=\btxparameter{\c!separator:2}]
@@ -778,7 +803,13 @@
\btxflush{year}
\btxflushsuffix
} {
- \btxlabeltext{apa:nd}
+ \fastsetup{btx:apa:nd}
+ % Hans: the following won't work but should.
+ \btxdoif {suffix} {
+ \btxspace
+ \btxflushsuffix
+ % Hans: similarly, why can't \btxflush{suffix} be made to work?
+ }
}
\stoptexdefinition
diff --git a/tex/context/base/publ-imp-aps.mkvi b/tex/context/base/publ-imp-aps.mkvi
index 28af82e74..71b0dc185 100644
--- a/tex/context/base/publ-imp-aps.mkvi
+++ b/tex/context/base/publ-imp-aps.mkvi
@@ -33,15 +33,15 @@
[aps]
[\c!default=default,
\c!specification=aps,
- \c!otherstext={\space{\it\btxlabeltext{aps:others}}},
+ \c!otherstext={\btxspace{\it\btxlabeltext{aps: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={,\space},
- \c!separator:names:3={,\space\btxlabeltext{aps:and}\space}, % not \textampersand
- \c!separator:names:4= {\space\btxlabeltext{aps:and}\space}] % not \textampersand
+ \c!separator:names:2={\btxcomma},
+ \c!separator:names:3={\btxcomma\btxlabeltext{aps:and}\space},
+ \c!separator:names:4={\btxspace\btxlabeltext{aps:and}\space}]
% First, define and set list and rendering parameters
@@ -83,9 +83,9 @@
\definebtx
[aps:\s!list:\s!page]
[aps:\s!list]
- [\c!separator:2={,\space},
- \c!separator:3={,\space\btxlabeltext{aps:and}\space},
- \c!separator:4={\space\btxlabeltext{aps:and}\space},
+ [\c!separator:2={\btxcomma},
+ \c!separator:3={\btxcomma\btxlabeltext{aps:and}\space},
+ \c!separator:4={\btxspace\btxlabeltext{aps:and}\space},
\c!left={\btxleftparenthesis},
\c!right={\btxrightparenthesis},
\c!command={\wordright}]
@@ -247,11 +247,37 @@
\definebtx
[aps:\s!cite]
[aps]
- [\c!authorconversion=\v!name,
+ [\c!alternative=num,
+ \c!authorconversion=\v!name,
\c!compress=\v!yes,
\c!sorttype=normal]
\definebtx
+ [aps:\s!cite:name]
+ [aps:\s!cite]
+ [\c!authorconversion=\v!name]
+
+\definebtx
+ [aps:\s!cite:inverted]
+ [aps:\s!cite]
+ [\c!authorconversion=\v!invertedshort]
+
+\definebtx
+ [aps:\s!cite:invertedshort]
+ [aps:\s!cite]
+ [\c!authorconversion=\v!invertedshort]
+
+\definebtx
+ [aps:\s!cite:normalshort]
+ [aps:\s!cite]
+ [\c!authorconversion=\v!normalshort]
+
+\definebtx
+ [aps:\s!cite:normal]
+ [aps:\s!cite]
+ [\c!authorconversion=\v!normal]
+
+\definebtx
[aps:\s!cite:author]
[aps:\s!cite]
@@ -260,14 +286,14 @@
[aps:\s!cite:author]
[\c!left={(},
\c!right={)},
- \c!inbetween={,\space}]
+ \c!inbetween={\btxcomma}]
\definebtx
[aps:\s!cite:authoryears]
[aps:\s!cite:authoryear]
[\c!left=,
\c!right=,
- \c!inbetween={\space}]
+ \c!inbetween={\btxspace}]
\definebtx
[aps:\s!cite:authornum]
@@ -278,7 +304,7 @@
\definebtx
[aps:\s!cite:author:num] % todo
[aps:\s!cite:authornum]
- [\c!left={\space[},
+ [\c!left={\btxspace[},
\c!right={]}]
\definebtx
@@ -291,7 +317,7 @@
[aps:\s!cite:author:years] % todo
[aps:\s!cite:authoryears]
[\c!inbetween=,
- \c!left={\space(},
+ \c!left={\btxspace(},
\c!right={)}]
\definebtx
@@ -326,9 +352,9 @@
[aps:\s!cite]
[\c!left=,
\c!right=,
- \c!separator:2={,\space}, % :0 and :1 - between items of a list
- \c!separator:3={,\space\btxlabeltext{aps:and}\space}, % not \textampersand
- \c!separator:4= {\space\btxlabeltext{aps:and}\space}] % not \textampersand
+ \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}]
\definebtx
[aps:\s!cite:pages]
@@ -381,17 +407,17 @@
[aps:\s!cite:num]
[\c!left={Ref.\nbsp},
\c!command=,
- \c!separator:2={,\space},
- \c!separator:3={\space\btxlabeltext{aps:and}\space},
- \c!separator:4={\space\btxlabeltext{aps:and}\space}]
+ \c!separator:2={\btxcomma},
+ \c!separator:3={\btxspace\btxlabeltext{aps:and}\space},
+ \c!separator:4={\btxspace\btxlabeltext{aps:and}\space}]
\definebtx
[aps:\s!cite:entry]
[aps:\s!cite]
[\c!left=,
\c!right=,
- \c!inbetween={\space},
- \c!separator:2={;\space},
+ \c!inbetween={\btxspace},
+ \c!separator:2={\btxsemicolon},
\c!separator:3=\btxparameter{\c!separator:2},
\c!separator:4=\btxparameter{\c!separator:2}]
@@ -816,7 +842,6 @@
\else
#text
\fi
-
\stoptexdefinition
% Then setups, by category
diff --git a/tex/context/base/publ-imp-default.mkvi b/tex/context/base/publ-imp-default.mkvi
index c7c88d74a..6a15712ad 100644
--- a/tex/context/base/publ-imp-default.mkvi
+++ b/tex/context/base/publ-imp-default.mkvi
@@ -26,12 +26,12 @@
\definebtx
[\s!default]
[\c!default=, % we do not want to fall|-|back on ourself.
- \c!otherstext={\space\btxlabeltext{default:others}},
+ \c!otherstext={\btxspace\btxlabeltext{default:others}},
%c!journalconversion=\v!normal,
\c!monthconversion=\v!number,
- \c!separator:names:2={,\space},
- \c!separator:names:3={\space\btxlabeltext{default:and}\space},
- \c!separator:names:4={\space\btxlabeltext{default:and}\space}]
+ \c!separator:names:2={\btxcomma},
+ \c!separator:names:3={\btxspace\btxlabeltext{default:and}\space},
+ \c!separator:names:4={\btxspace\btxlabeltext{default:and}\space}]
\definebtx
[\s!default:\s!list]
@@ -46,14 +46,39 @@
\c!sorttype=normal,
\c!authorconversion=\v!name]
+\definebtx
+ [\s!default:\s!cite:name]
+ [\s!default:\s!cite]
+ [\c!authorconversion=\v!name]
+
+\definebtx
+ [\s!default:\s!cite:inverted]
+ [\s!default:\s!cite]
+ [\c!authorconversion=\v!invertedshort]
+
+\definebtx
+ [\s!default:\s!cite:invertedshort]
+ [\s!default:\s!cite]
+ [\c!authorconversion=\v!invertedshort]
+
+\definebtx
+ [\s!default:\s!cite:normalshort]
+ [\s!default:\s!cite]
+ [\c!authorconversion=\v!normalshort]
+
+\definebtx
+ [\s!default:\s!cite:normal]
+ [\s!default:\s!cite]
+ [\c!authorconversion=\v!normal]
+
% List variants, some having specific settings:
\definebtx
[\s!default:\s!list:\s!page]
[\s!default:\s!list]
- [\c!separator:2={,\space},
- \c!separator:3={,\space\btxlabeltext{default:and}\space},
- \c!separator:4={\space\btxlabeltext{default:and}\space},
+ [\c!separator:2={\btxcomma},
+ \c!separator:3={\btxcomma\btxlabeltext{default:and}\space},
+ \c!separator:4={\btxspace\btxlabeltext{default:and}\space},
\c!left={\btxleftparenthesis},
\c!right={\btxrightparenthesis}]
@@ -139,7 +164,7 @@
[\s!default:\s!cite:author]
[\c!left={(},
\c!right={)},
- \c!inbetween={,\space}]
+ \c!inbetween={\btxcomma}]
\definebtx
[\s!default:\s!cite:authoryears]
@@ -148,7 +173,7 @@
\definebtx
[\s!default:\s!cite:author:num] % todo
[\s!default:\s!cite:authornum]
- [\c!left={\space[},
+ [\c!left={\btxleftbracket},
\c!right={]}]
\definebtx
@@ -161,7 +186,7 @@
[\s!default:\s!cite:author:years] % todo
[\s!default:\s!cite:authoryears]
[\c!inbetween=,
- \c!left={\space(},
+ \c!left={\btxleftparenthesis},
\c!right={)}]
\definebtx
@@ -240,9 +265,9 @@
[\s!default:\s!cite:num]
[\c!left=, % in apa: {Ref.\nbsp} or so
\c!right=,
- \c!separator:2={,\space},
- \c!separator:3={,\space\btxlabeltext{default:and}\space},
- \c!separator:4= {\space\btxlabeltext{default:and}\space}]
+ \c!separator:2={\btxcomma},
+ \c!separator:3={\btxcomma\btxlabeltext{default:and}\space},
+ \c!separator:4={\btxspace\btxlabeltext{default:and}\space}]
\definebtx
[\s!default:\s!cite:entry]
diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv
index 233734bb6..41fbfa5a1 100644
--- a/tex/context/base/publ-ini.mkiv
+++ b/tex/context/base/publ-ini.mkiv
@@ -1749,9 +1749,10 @@
\c!refcommand=authoryears, % todo
\c!numbering=\v!yes,
%\c!saveinlist=\v!no, % maybe for before/after
+ \c!pagestate=\v!stop,
\c!textstate=\v!start,
\c!width=\v!auto,
- \c!separator={;\space},
+ \c!separator={\btxsemicolon},
\c!distance=1.5\emwidth]
% Quite some interpunction and labels are the same of at least consistent within
@@ -1760,30 +1761,29 @@
\setupbtx
[\c!interaction=\v!start,
- \c!alternative=num, % default cite form
- \c!inbetween=\space,
+ \c!alternative=num, % default cite form, normally defined in the cite namespace
+ \c!inbetween=\btxspace,
\c!range=\endash, % separator:range?
\c!compress=\v!yes, % was no?
\c!authorconversion=normal,
\c!sorttype=normal, % normal, reverse or none
\c!etallimit=3,
\c!etaldisplay=\btxparameter\c!etallimit,
- \c!otherstext={\space et al.},
- \c!separator:firstnames={\space},
- \c!separator:juniors={\space},
- \c!separator:vons={\space},
- \c!separator:initials={\space},
+ \c!otherstext={\btxspace et al.},
+ \c!separator:firstnames={\btxspace},
+ \c!separator:juniors={\btxspace},
+ \c!separator:vons={\btxspace},
+ \c!separator:initials={\btxspace},
\c!stopper:initials={.},
- %\c!surnamesep={,\space}, % is this used anywhere?
- \c!separator:invertedinitials={,\space},
- \c!separator:invertedfirstnames={,\space},
- \c!separator:names:2={,\space}, % separates multiple names
+ %\c!surnamesep={\btxcomma}, % is this used anywhere?
+ \c!separator:invertedinitials={\btxcomma},
+ \c!separator:invertedfirstnames={\btxcomma},
+ \c!separator:names:2={\btxcomma}, % separates multiple names
\c!separator:names:3=\btxparameter{\c!separator:2}, % before last name in a list
\c!separator:names:4=\btxparameter{\c!separator:2}, % between only two names
- \c!separator:2={;\space}, % aka pubsep - separates multiple objects
+ \c!separator:2={\btxsemicolon}, % aka pubsep - separates multiple objects
\c!separator:3=\btxparameter{separator:2}, % before last object in a list
- \c!separator:4=\btxparameter{separator:2}, % between only two objects
- \c!pagestate=\v!stop]
+ \c!separator:4=\btxparameter{separator:2}] % between only two objects
% Do we want these in the format? Loading them delayed is somewhat messy.
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index e43651ef8..619f76367 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 37e62b70b..63c3286e8 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-mat.mkiv b/tex/context/base/strc-mat.mkiv
index 22fa54889..225531fa8 100644
--- a/tex/context/base/strc-mat.mkiv
+++ b/tex/context/base/strc-mat.mkiv
@@ -45,7 +45,16 @@
\c!indentnext=\v!no,
\c!alternative=\s!default,
\c!strut=\v!no,
- \c!distance=\emwidth]
+ \c!distance=2\emwidth]
+
+\ifdefined\matheqnogapstep
+ % we're ok, now we have that quad in the distance which is
+ % more consistent and not depending on the text font in math
+ \matheqnogapstep\zerocount
+\else
+ % we will keep this for a while
+ \setupformulas[\c!distance=\emwidth]
+\fi
\setupsubformulas % subformulas could be last in chain
[\c!indentnext=\formulaparameter\c!indentnext]
@@ -228,18 +237,27 @@
% nested: \number\c_strc_formulas_nested_number_mode]}}
\unexpanded\def\placecurrentformulanumber
- {\rm % nodig ?
- \doif{\formulaparameter\c!location}\v!right{\hskip\formulaparameter\c!distance}%
+ {\begingroup
+ \rm % determines the distance and main font
+ \edef\p_location{\formulaparameter\c!location}%
+ \ifx\p_location\v!right
+ \hskip\formulaparameter\c!distance
+ \fi
+ \begingroup
+ \useformulastyleandcolor\c!numberstyle\c!numbercolor
\formulaparameter\c!numbercommand
- {\useformulastyleandcolor\c!numberstyle\c!numbercolor
- \strut
+ {\strut
\formulaparameter\c!left
\namedtaggedlabeltexts
\t!formulalabel \v!formula
\t!formulanumber\v!formula
{\ignorespaces\strc_formulas_place_current_number\removeunwantedspaces}%
\formulaparameter\c!right}%
- \doif{\formulaparameter\c!location}\v!left{\hskip\formulaparameter\c!distance}}
+ \endgroup
+ \ifx\p_location\v!left
+ \hskip\formulaparameter\c!distance
+ \fi
+ \endgroup}
\unexpanded\def\strc_formulas_place_current_number
{\strc_formulas_handle_current_references
@@ -433,6 +451,8 @@
%D
%D Otherwise we get a missing \type {$$} error reported.
+\let\reqno\eqno
+
\unexpanded\def\resetdisplaymatheq % when used?
{\let\normalleqno\gobbleoneargument \let\leqno\gobbleoneargument
\let\normalreqno\gobbleoneargument \let\eqno \gobbleoneargument
diff --git a/tex/context/base/syst-ini.mkiv b/tex/context/base/syst-ini.mkiv
index 8631aed90..dc5fddb63 100644
--- a/tex/context/base/syst-ini.mkiv
+++ b/tex/context/base/syst-ini.mkiv
@@ -1095,6 +1095,10 @@
\suppressoutererror \plusone
\suppressmathparerror \plusone
+\ifdefined\matheqnogapstep % for now
+ \matheqnogapstep \zerocount
+\fi
+
%D While cleaning this code up a bit I was listening to Heather Nova's \CD\ Redbird.
%D The first song on that \CD\ ends with a few lines suitable for ending this
%D initialization module:
diff --git a/tex/context/base/trac-vis.lua b/tex/context/base/trac-vis.lua
index a20e42d1a..b54182798 100644
--- a/tex/context/base/trac-vis.lua
+++ b/tex/context/base/trac-vis.lua
@@ -471,8 +471,10 @@ local function ruledbox(head,current,vertical,layer,what,simple,previous)
if wd ~= 0 then
local ht = getfield(current,"height")
local dp = getfield(current,"depth")
+ local shift = getfield(current,"shift")
local next = getnext(current)
- local prev = previous -- getprev(current) ... prev can be wrong in math mode < 0.78.3
+ local prev = previous
+ -- local prev = getprev(current) -- prev can be wrong in math mode < 0.78.3
setfield(current,"next",nil)
setfield(current,"prev",nil)
local linewidth = emwidth/fraction
@@ -533,7 +535,22 @@ local function ruledbox(head,current,vertical,layer,what,simple,previous)
new_rule(wd-2*linewidth,ht,-ht+linewidth)
)
if baseskip then
- info = linked_nodes(info,baseskip,baseline)
+ info = linked_nodes(info,baseskip,baseline) -- could be in previous linked
+ end
+ local shft
+ if shift == 0 then
+ shift = nil
+ else
+ local sh = shift > 0 and shift or 0
+ local sd = shift < 0 and - shift or 0
+ shft = fast_hpack(new_rule(2*emwidth/fraction,sh,sd))
+ setfield(shft,"width",0)
+ if sh > 0 then
+ setfield(shft,"height",0)
+ end
+ if sd > 0 then
+ setfield(shft,"depth",0)
+ end
end
setlisttransparency(info,c_text)
info = fast_hpack(info)
@@ -541,11 +558,18 @@ local function ruledbox(head,current,vertical,layer,what,simple,previous)
setfield(info,"height",0)
setfield(info,"depth",0)
setattr(info,a_layer,layer)
- local info = linked_nodes(current,new_kern(-wd),info)
+ local info = linked_nodes(shft,current,new_kern(-wd),info)
info = fast_hpack(info,wd)
if vertical then
info = vpack_nodes(info)
end
+ if shift then
+ setfield(current,"shift",0)
+ setfield(info,"width",wd)
+ setfield(info,"height",ht)
+ setfield(info,"depth",dp)
+ setfield(info,"shift",shift)
+ end
if next then
setfield(info,"next",next)
setfield(next,"prev",info)
diff --git a/tex/context/base/trac-vis.mkiv b/tex/context/base/trac-vis.mkiv
index 6ee8a6b8d..74a2c1ba2 100644
--- a/tex/context/base/trac-vis.mkiv
+++ b/tex/context/base/trac-vis.mkiv
@@ -22,7 +22,7 @@
%D
%D Control over what gets visualized happens with the tracker command:
%D
-%D \enabletrackers[visualizer.*]
+%D \enabletrackers[visualizers.*]
%D
%D Possible values are: \type {fontkern}, \type {kern}, \type {glue}, \type
%D {penalty}, \type {hbox}, \type {vbox}, \type {all}, \type {reset}, \type
diff --git a/tex/context/base/util-str.lua b/tex/context/base/util-str.lua
index de4a87e9f..c2139b155 100644
--- a/tex/context/base/util-str.lua
+++ b/tex/context/base/util-str.lua
@@ -1118,7 +1118,7 @@ function string.optionalquoted(str)
return lpegmatch(pattern,str) or str
end
-local pattern = Cs((newline / os.newline + 1)^0)
+local pattern = Cs((newline / (os.newline or "\r") + 1)^0)
function string.replacenewlines(str)
return lpegmatch(pattern,str)
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 81883b8b8..0f2fc8e26 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 05/15/15 23:03:46
+-- merge date : 05/18/15 12:26:48
do -- begin closure to overcome local limits and interference
@@ -3442,7 +3442,7 @@ local pattern=Cs(dquote*(equote-P(-2))^0*dquote)
function string.optionalquoted(str)
return lpegmatch(pattern,str) or str
end
-local pattern=Cs((newline/os.newline+1)^0)
+local pattern=Cs((newline/(os.newline or "\r")+1)^0)
function string.replacenewlines(str)
return lpegmatch(pattern,str)
end
@@ -7778,13 +7778,12 @@ actions["prepare glyphs"]=function(data,filename,raw)
indices[index]=unicode
local description={
boundingbox=glyph.boundingbox,
- name=glyph.name or name or "unknown",
+ name=name or "unknown",
cidindex=cidindex,
index=index,
glyph=glyph,
}
descriptions[unicode]=description
- else
end
end
end