summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-aut.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/publ-aut.lua')
-rw-r--r--tex/context/base/publ-aut.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/tex/context/base/publ-aut.lua b/tex/context/base/publ-aut.lua
index 764550998..f91ba0039 100644
--- a/tex/context/base/publ-aut.lua
+++ b/tex/context/base/publ-aut.lua
@@ -56,7 +56,7 @@ local period = P(".")
local dash = P("-")
local firstcharacter = lpegpatterns.utf8byte
local utf8character = lpegpatterns.utf8character
-local p_and = space^1 * "and" * space^1
+local p_and = space^1 * (P("and") + P("&&") + P("++")) * space^1
local p_comma = space^0 * comma * space^0
local p_space = space^1
local p_shortone = C((utf8character -dash-period)^1)
@@ -93,10 +93,14 @@ local function is_upper(str)
return okay and okay.category == "lu"
end
+-- local cleaner = Cs( ( P("{}")/"" + P(1) )^1 )
+
local cache = { } -- 33% reuse on tugboat.bib
local nofhits = 0
local nofused = 0
+publications.authorcache = cache
+
local function makeinitials(firstnames)
if firstnames and #firstnames > 0 then
local initials = { }
@@ -108,7 +112,9 @@ local function makeinitials(firstnames)
end
local function splitauthorstring(str)
- if not str then
+ if str then
+ -- str = lpegmatch(cleaner,str)
+ else
return
end
nofused = nofused + 1