Okay, I've made some progress! Thankfully, the authorconversion rules can
be overridden using some of the methods defined in publ-ini.mkiv. I now
have something like this in my rendering's .mkvi file:

```
\doifelse {\currentbtxcitealternative} {entry} {
    % Normal order for in-text citations
    \btxflushauthornormal{author}
} {
    % Inverted order for list citations
    % TODO: need to print the first name inverted, with all subsequent
names in normal order
    \btxflushauthorinverted{author}
}
```

This fixes the citation alternative-dependent authorconversion, but I still
have to do the same for the etallimit and etaldisplay settings, and
unfortunately, it doesn't look like there are similar commands for
overriding this locally.

Digging a bit more in publ-imp-chicago.lua and publ-imp-chicago.mkvi, I
notice that it deals with a similar problem for the "editor" field: if the
editor occurs in the "author" position (i.e., at the start of the citation,
which happens when a book has an editor but no author), then the
authorconversion should be inverted, but if the editor occurs after the
author position (which happens when a book also has an author), then its
authorconversion should be normalshort. The publ-imp-chicago.lua file
addresses this by specifying an "ineditor" set containing only the "editor"
field (essentially making it an alias to be used later), and then
publ-imp-chicago.mkvi defines a style specifically for this field. I could
solve the authorconversion, etallimit, and etaldisplay problems using an
"entryauthor" field, but is this actually the recommended way to do this?
Using this approach, I would have to have duplicate sets for nearly all
"author"-type fields to ensure that they have different formatting in entry
citations than they do in the list.

Joey

On Wed, Aug 25, 2021 at 5:45 PM Joey McCollum <jmccollum20140...@gmail.com>
wrote:

> Hi,
>
> I'm trying to implement a custom bibliography rendering where in-text
> citations (specifically, citations with alternative=entry) are not
> identical to the entries in the bibliography list. Following a pattern I've
> seen in publ-imp-chicago.mkvi, I've been able to implement most of the
> features I'm interested in by using conditional formatting with a mode that
> is specifically set for citations with the "entry" alternative. I'd also
> like for author names in entry citations to be different author names in
> list entries, in the following ways:
>
>    - In entry citations, authorconversion should be normal, while in list
>    entries, authorconversion should be inverted (more specifically, the first
>    name should be inverted, while all subsequent names should be in normal
>    order...but if this is too complicated, then it may be an issue for another
>    e-mail thread, and we can just focus on normal vs. inverted for now).
>    - In entry citations, "et al." should be used for any names after the
>    third name, while in list entries, all names should be printed in full.
>
> I thought that the following settings would work:
>
> \definebtx
>   [sbl:\s!list]
>   [sbl]
>   [\c!otherstext=,
>   \c!etallimit=,
>   \c!etaldisplay=,
>   \c!etaloption=,
>   \c!authorconversion=inverted] % TODO: need to print the first name
> inverted, with all subsequent names in normal order
>
> \definebtx
>   [sbl:\s!cite]
>   [sbl]
>   [\c!otherstext={\btxspace\btxlabeltext{others}}, % use et al. for
> truncated author / editor list
>    \c!etallimit=3, % don't use et al. for 3 or fewer authors
>    \c!etaldisplay=3, %
>    \c!authorconversion=\v!normal] % by default, use normal name order for
> in-text citations
>
> But only the "list" settings seem to be used. I suspect this might be
> because the setup for "entry" citations invokes \btxhandleciteentry and
> therefore uses "list" settings everywhere except where I check modes for
> conditional formatting. But is there a command or environment I can use to
> change authorconversion locally, based on the current mode, in the helper
> methods I've defined for rendering bibliography entries?
>
> Thanks!
>
> Joey
>
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to