ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Joey McCollum via ntg-context <ntg-context@ntg.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Joey McCollum <jmccollum20140511@gmail.com>
Subject: Re: Different author rendering in entry citation vs. list
Date: Thu, 26 Aug 2021 15:38:59 -0400	[thread overview]
Message-ID: <CAGxRUG_dhZ65TgumMgHmHV+Q4nmQqZ=8YrRanTvFwYh9qHLvLw@mail.gmail.com> (raw)
In-Reply-To: <CAGxRUG-invWz67vajvrBSWfpnk4B=26gHMDj3Lu=eaJj9WCCMQ@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4090 bytes --]

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 <jmccollum20140511@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
>

[-- Attachment #1.2: Type: text/html, Size: 4755 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
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	other threads:[~2021-08-26 19:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-25 21:45 Joey McCollum via ntg-context
2021-08-26 19:38 ` Joey McCollum via ntg-context [this message]
2021-08-27  3:10   ` Joey McCollum via ntg-context
2021-08-27 11:21     ` Ágoston Volcz via ntg-context
2021-08-27 22:33       ` Joey McCollum via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGxRUG_dhZ65TgumMgHmHV+Q4nmQqZ=8YrRanTvFwYh9qHLvLw@mail.gmail.com' \
    --to=ntg-context@ntg.nl \
    --cc=jmccollum20140511@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).