Name suffixes

Here’s a nasty little problem that’s been hiding in plain sight:

Frank Bennett, Jr.
John Doe III

The join for suffixes is irregular in normal usage. If names are
broken into their constituent elements (as is right, I think), we need
somehow to determine the correct join for these cases. It’s a pain,
because it’s much cleaner inside the machine to apply a uniform join
to all of the elements:

Frank Bennett Jr.
John Doe III

Fine with me personally, but I fear that other authors and editors may
not be so broad-minded … how important do you-all think it is to
provide for the first form (with a comma delimiter on Jr.)?

If discriminate handling is needed, I’m completely stumped on how to
do it, and would be very happy for suggestions (and I’m genuinely
hopeful that I’ve missed an obvious solution that will make me look
silly when it is revealed). We might fudge things with a heuristic –
stuff that looks like a roman numeral gets the standard delimiter,
everything else gets a comma, uh, at least for names in romanish
scripts, oh, but maybe not for people who write their name the other
way. That’s extremely messy, and just thinking about it gives me the
shivers. Alternatively, we could require some hint in the input, but
that’s cumbersome and will probably lead to confusion and acrimony
sooner or later.

A separate question is what should be done with a suffix when
rendering in short form with disambiguation? Should it just be left
out altogether (I hope I hope)? If it should be included by
add-names, what would be its priority order? Or would an all-singing
all-dancing implementation have another disambiguation switch for this

I don’t mean to stir things up gratuitously with this item; I’m
building the names handling routines in citeproc-js at the moment,
working from the bottom up. It’s going to be a deep stack of
operations, and I would very much like to be able to weld a steel
plate over it once it’s built. :slight_smile:

Frank Bennett, Jr.

So FWIW here’s how it gets handled in BibTeX:

Essentially if there is a comma then they handle the 4th part, if
there is no comma then you have to wrap it into the last name using {}
which qualifies as a hint. But that doesn’t really help since that is
bad for author-date styles (Doe III & Another, 1999).

So not really much help here except to say that one possibility is to
offer people the option of inputting the different variants required
by different styles. eg full name, initialized name, in-line citation
name etc.