I mentioned this in an earlier e-mail but thought that now might be a good
time to describe this issue in detail. I'd like to define a new
authorconversion that renders the first author in a list differently than
the remaining authors in the list. Specifically, I'd like to use the
"inverted" authorconversion for the first author and the "normal"
authorconversion for the rest.
In the newer bibl-bib.lua file, I can see what I might have to modify to
accomplish this (I added the if combiner == "invertedfirst" block):
if type(combiner) == "string" then
combiner = authors[combiner or "normal"] or authors.normal
local split = splitauthors(author)
local setting = settings[what]
local etallimit, etaldisplay, etaltext = 1000, 1000, ""
if setting then
etallimit = settings.etallimit or 1000
etaldisplay = settings.etaldisplay or etallimit
etalltext = settings.etaltext or ""
local max = #split
if max > etallimit and etaldisplay < max then
max = etaldisplay
if combiner == "invertedfirst" then
for i=1,max do
if i == 1 then
split[i] = authors.inverted(split[i],settings)
split[i] = authors.normal(split[i],settings)
for i=1,max do
split[i] = combiner(split[i],settings)
local result = bibtexconcat(split,settings)
if max < #split then
return result .. etaltext
Unfortunately, this doesn't seem to do anything. It's not clear to me
how bibl-bib.lua and bibl-bib.mkiv are being used by the other publication
support modules, if they're being used at all (publ-ini.mkiv doesn't appear
to register it, anyway). Is there another file I'd have to change to make
"invertedfirst" a working authorconversion? Is there a similar block of
code in publ-ini.lua where I should be implementing this change instead?