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.lua33
1 files changed, 7 insertions, 26 deletions
diff --git a/tex/context/base/publ-aut.lua b/tex/context/base/publ-aut.lua
index ba492a93b..c549b2d16 100644
--- a/tex/context/base/publ-aut.lua
+++ b/tex/context/base/publ-aut.lua
@@ -19,6 +19,8 @@ local concat = table.concat
local lpeg = lpeg
local utfchar = utf.char
+local P, C, V, Cs, Ct, lpegmatch, lpegpatterns = lpeg.P, lpeg.C, lpeg.V, lpeg.Cs, lpeg.Ct, lpeg.match, lpeg.patterns
+
local publications = publications or { }
local datasets = publications.datasets or { }
@@ -27,8 +29,6 @@ publications.datasets = datasets
publications.authors = publications.authors or { }
local authors = publications.authors
-local P, C, V, Cs, Ct, lpegmatch, lpegpatterns = lpeg.P, lpeg.C, lpeg.V, lpeg.Cs, lpeg.Ct, lpeg.match, lpeg.patterns
-
-- local function makesplitter(separator)
-- return Ct { "start",
-- start = (Cs((V("outer") + (1-separator))^1) + separator^1)^1,
@@ -230,6 +230,7 @@ local settings = { }
-- local defaultsettings = {
-- firstnamesep = " ",
+-- initialsep = " ",
-- vonsep = " ",
-- surnamesep = " ",
-- juniorsep = " ",
@@ -254,6 +255,7 @@ local defaultsettings = {
juniorjuniorsep = [[\btxlistvariantparameter{juniorjuniorsep}]],
surnamefirstnamesep = [[\btxlistvariantparameter{surnamefirstnamesep}]],
surnameinitialsep = [[\btxlistvariantparameter{surnameinitialsep}]],
+ initialsep = [[\btxlistvariantparameter{initialsep}]],
namesep = [[\btxlistvariantparameter{namesep}]],
lastnamesep = [[\btxlistvariantparameter{lastnamesep}]],
finalnamesep = [[\btxlistvariantparameter{finalnamesep}]],
@@ -300,7 +302,7 @@ function authors.normalshort(author,settings)
local initials, vons, surnames, juniors = author.initials, author.vons, author.surnames, author.juniors
local result, settings = { }, settings or defaultsettings
if initials and #initials > 0 then
- result[#result+1] = concat(initials," ")
+ result[#result+1] = concat(the_initials(initials)," ")
result[#result+1] = settings.initialsep or defaultsettings.initialsep
end
if vons and #vons > 0 then
@@ -371,6 +373,8 @@ function authors.invertedshort(author,settings)
return concat(result)
end
+authors.short = authors.normalshort
+
local lastconcatsize = 1
local function concatnames(t,settings)
@@ -426,29 +430,6 @@ function commands.btxauthor(...)
context(authors.concat(...))
end
-function authors.short(author,year)
- -- todo
--- local result = { }
--- if author then
--- local authors = splitauthors(author)
--- for a=1,#authors do
--- local aa = authors[a]
--- local initials = aa.initials
--- for i=1,#initials do
--- result[#result+1] = initials[i]
--- end
--- local surnames = aa.surnames
--- for s=1,#surnames do
--- result[#result+1] = utfchar(lpegmatch(firstcharacter,surnames[s]))
--- end
--- end
--- end
--- if year then
--- result[#result+1] = year
--- end
--- return concat(result)
-end
-
-- We can consider creating a hashtable key -> entry but I wonder if
-- pays off.