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: Short forms and abbreviations in bibliography
Date: Wed, 6 Oct 2021 17:58:34 -0400	[thread overview]
Message-ID: <CAGxRUG9BogxdF_fqFZ6oq+T8HRtubqw8AAJbzsZHYpD4VYDyHg@mail.gmail.com> (raw)
In-Reply-To: <CAGxRUG-Gnh7=5kT2d=2HYXdqEsgvqOw3jWX8wqmhbR-T5Pgx_g@mail.gmail.com>


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

Interestingly, if I remove the contents of the btx:sbl:inline:shorthand
command and paste them inline as the third argument of \abbreviation, then
it works as expected:

```
\expanded{\abbreviation[\currentbtxtag]{\btxdoif{shorthand}{\doifinsetelse{\btxflush{type}}{plainttitle,
plainshorthand}{\btxflush{shorthand}}{\btxstartstyleandcolor[sbl:\s!list:title:\currentbtxcategory]\btxusecommand[sbl:\s!list:title:\currentbtxcategory]{\btxflush{shorthand}}\btxstopstyleandcolor}}}{\textcite[alternative=listsubcite,lefttext=,righttext=][\currentbtxtag]}}
```

But obviously, this is much less readable. So if there is a more concise
solution that applies expansion control to
\texdefinition{btx:sbl:inline:shorthand}, I'd love to know it!

Thanks!

Joey

On Wed, Oct 6, 2021 at 3:05 PM Joey McCollum <jmccollum20140511@gmail.com>
wrote:

> Okay, I had a follow-up question sooner than I thought! Enclosing the
> \abbreviation command doesn't quite work when I want to typeset the
> abbreviated form with a \texdefinition, as follows:
>
> ```
> \texdefinition{btx:sbl:doifownfield} {shorthand} {
>
> \expanded{\abbreviation[\currentbtxtag]{\texdefinition{btx:sbl:inline:shorthand}}{\textcite[alternative=listsubcite,lefttext=,righttext=][\currentbtxtag]}}
> }
> ```
>
> Thankfully, everything else gets rendered as expected. But why is the
> \texdefinition not expanding? If it helps, I've included it below:
>
> ```
> \starttexdefinition btx:sbl:inline:shorthand
>   \btxdoif {shorthand} {
>     % If the entry is of type plaintitle or plainshorthand, then do not
> apply formatting to its shorthand
>     \doifinsetelse{\btxflush{type}}{plainttitle, plainshorthand} {
>       \btxflush{shorthand}
>     } {
>       \btxstartstyleandcolor[sbl:\s!list:title:\currentbtxcategory]
>         \btxusecommand[sbl:\s!list:title:\currentbtxcategory]{
>           \btxflush{shorthand}% set the shorthand according to the current
> category
>         }
>       \btxstopstyleandcolor
>     }
>     \btxcomma
>   }
> \stoptexdefinition
> ```
>
> Do I have to apply expansion control somewhere else or in some other way?
>
> Joey
>
> On Wed, Oct 6, 2021 at 2:35 PM Joey McCollum <jmccollum20140511@gmail.com>
> wrote:
>
>> All right, I think I see what I did wrong; I just needed to enclose the
>> whole \abbreviation command in an \expanded command as follows:
>>
>> ```
>> \startsetups btx:sbl:cite:short
>>   ...
>>   \btxdoif {shorthand} {
>>
>> \expanded{\abbreviation[\currentbtxtag]{\btxflush{shorthand}}{\btxflush{title}}}
>>   }
>>   ...
>> \stopsetups
>> ```
>>
>> It looks like passing the macro \currentbtxtag as the tag for the
>> abbreviation works fine. And if I redefine the abbreviations synonyms list
>> as follows, I can use \inshort[\currentbtxtag]:
>>
>> ```
>> \definesynonyms[abbreviation][abbreviations][\infull][\inshort]
>> ```
>>
>> I'll add more to the thread if I run into any problems making this more
>> complex!
>>
>> Joey
>>
>> On Wed, Oct 6, 2021 at 12:35 PM Joey McCollum <
>> jmccollum20140511@gmail.com> wrote:
>>
>>> (Quick note for anyone following this thread: I've figured out how to
>>> implement different typesetting rules for list, inline, and short-form
>>> citations; you can see how I've done this in the publ-imp-sbl.mkvi file in
>>> the https://github.com/jjmccollum/context-sbl repository.)
>>>
>>> I have another question related to abbreviations/synonyms in connection
>>> with bibliographies. When a bibliographic entry has a "shorthand" field and
>>> I cite it using \cite[alternative=short], I would like to add its shorthand
>>> to the abbreviations list, with a longer citation as its "in-full" form. My
>>> first thought was that I could accomplish this with something like the
>>> following:
>>>
>>> ```
>>> \startsetups btx:sbl:cite:short
>>>   ...
>>>   \btxdoif {shorthand} {
>>>     \abbreviation[\currentbtxtag]{\btxflush{shorthand}}{\btxflush{title}}
>>>   }
>>>   ...
>>> \stopsetups
>>> ```
>>>
>>> But even if I invoke \placelistofabbreviations with the "criterium=all"
>>> option, nothing appears in the list.
>>>
>>> In some ways, this issue is related to the now-resolved issue "Which way
>>> to type greek letters in synonym list?" from 2010. The problem is that in
>>> this case, I have to use a macro even in the first input to \abbreviation
>>> (in brackets), because I don't know what it is in advance. In addition, if
>>> the second and third inputs to \abbreviation (in curly braces) are not
>>> expanded until the list is printed, then they will be empty/undefined at
>>> the time when they are needed.
>>>
>>> I'm not as familiar with how to deal with expansion problems, so I could
>>> use someone's expertise here. Is there a simple way to define an
>>> abbreviation using the expanded values of macros as above? And is there a
>>> way to invoke an abbreviation/synonym at this level of abstraction?
>>> (Something like \inshort[\currentbtxtag]?)
>>>
>>> Thanks!
>>>
>>> Joey
>>>
>>> On Sun, Aug 22, 2021 at 6:11 PM Joey McCollum <
>>> jmccollum20140511@gmail.com> wrote:
>>>
>>>> Just continuing to talk my way through the inner workings of the
>>>> ConTeXt Publication modules. It looks like three "long" citation forms are
>>>> defined in publ-imp-cite.mkvi:
>>>>
>>>> \startsetups btx:cite:listelement
>>>>     \fastsetup{\s!btx:\s!cite:concat}
>>>>     \fastsetup{\s!btx:\s!cite:lefttext}
>>>>     \ifx\currentbtxfirst\empty
>>>>         \fastsetup{\s!btx:\s!cite:\s!empty}
>>>>     \else
>>>>        \texdefinition {\s!btx:\s!cite:inject} {
>>>>            \btxcitereference
>>>>            \currentbtxfirst
>>>>        }
>>>>     \fi
>>>>     \fastsetup{\s!btx:\s!cite:righttext}
>>>> \stopsetups
>>>>
>>>> \startsetups \s!btx:\s!cite:entry
>>>>     \fastsetup{\s!btx:\s!cite:concat}
>>>>     \fastsetup{\s!btx:\s!cite:lefttext}
>>>>     \btxhandleciteentry
>>>>     \fastsetup{\s!btx:\s!cite:righttext}
>>>> \stopsetups
>>>>
>>>> \startsetups \s!btx:\s!cite:footnote
>>>>     \startfootnote
>>>>         \fastsetup{btx:cite:entry}
>>>>     \stopfootnote
>>>> \stopsetups
>>>>
>>>> Intuitively, I would expect btx:cite:listelement [why not
>>>> \s!btx:\s!cite:listelement?] to handle rendering a bibliographic entry for
>>>> the bibliography proper (i.e., the list typically placed at the end of a
>>>> document), while \s!btx:\s!cite:entry would handle in-text citations. The
>>>> third setup, \s!btx:\s!cite:footnote, simply renders the "entry"-style
>>>> citation in a footnote.
>>>>
>>>> But as far as I can tell, the "listelement" setup is never used outside
>>>> of publ-imp-cite.mkvi. Only the "entry" setup appears to be used.
>>>> Meanwhile, the \btxcitereference and  \btxhandleciteentry macros (invoked
>>>> in these setups) appear to be defined in publ-ini.mkiv:
>>>>
>>>> \unexpanded\def\btx_cite_reference_inject
>>>>   {\ifconditional\c_btx_cite_reference_injected
>>>>    \else
>>>>      \dontleavehmode
>>>>      \iftrialtypesetting \else
>>>>        \ifx\currentbtxbacklink\empty
>>>>          % can be made empty when combining author / year
>>>>        \else\ifnum\currentbtxbacklink>\zerocount
>>>>          \btx_cite_reference_inject_indeed
>>>>          \settrue\c_btx_cite_reference_injected
>>>>        \fi\fi
>>>>      \fi
>>>>   \fi}
>>>>
>>>> ...
>>>>
>>>> \let\btxcitereference\btx_cite_reference_inject
>>>>
>>>> ...
>>>>
>>>> \unexpanded\def\btxhandleciteentry
>>>>   {\dontleavehmode
>>>>    \begingroup
>>>>    \def\currentbtxcitealternative{entry}%
>>>>    \setbtxparameterset\s!cite\currentbtxcitealternative % needs checking
>>>>    \btxcitereference
>>>>    \btx_entry_inject
>>>>    \endgroup}
>>>>
>>>> My next step will be to figure out what these are doing, but I'm still
>>>> not sure if the module accommodates rendering in-text "entry" citations
>>>> differently than citations in the list.
>>>>
>>>> Joey
>>>>
>>>> On Mon, Aug 9, 2021 at 8:55 AM Joey McCollum <
>>>> jmccollum20140511@gmail.com> wrote:
>>>>
>>>>> Henning's suggestion for abbreviations should work fine for that
>>>>> issue. I could simply use the shorthand in the "series" and "journal"
>>>>> fields and set up the appropriate \abbreviation calls in the document or
>>>>> environment.
>>>>>
>>>>> As for the larger issue of bibliographies, I've started working on
>>>>> publ-imp-sbl.lua and publ-imp-sbl.mkvi files. I knew I would need this for
>>>>> my own project soon, and I felt it would be useful to myself and the
>>>>> ConTeXt community if I could at least get a rudimentary version working.
>>>>> I'm presently using the reference for examples from the *SBL Handbook
>>>>> of Style*, 2nd edition, available at
>>>>> https://github.com/dcpurton/biblatex-sbl/blob/master/test/biblatex-sbl-examples.ref.txt
>>>>> .
>>>>>
>>>>> Like you say, some parts are tricky. SBL uses "entry"-style citations
>>>>> by default and doesn't seem to make use of other common alternatives (such
>>>>> as "authoryear"). I can think of some existing alternatives that might get
>>>>> used in specific cases (e.g., "author", "title"), but the
>>>>> recommended shorthand has the form "shortauthor, shorttitle" (i.e., the
>>>>> last name(s) of the author(s) only, followed by a comma and a shortened
>>>>> form of the title as specified in the "shorttitle" field). I could make
>>>>> this the sbl style's implementation of the "short" alternative, since the
>>>>> LaTeX-style bracketed number references are foreign to SBL style anyway,
>>>>> but if would be preferable just to introduce another alternative (something
>>>>> like "authortitle"), then I could also try to do that.
>>>>>
>>>>> For my immediate purposes, I won't need much more than the @book,
>>>>> @article, @inbook, and @incollection entries, so my focus will be on
>>>>> getting those right, but if anyone is interested in helping, I'll gladly
>>>>> take help. (But it would probably be better to discuss the details in a
>>>>> separate e-mail thread.)
>>>>>
>>>>> Joey
>>>>>
>>>>> On Mon, Aug 9, 2021 at 4:12 AM Denis Maier via ntg-context <
>>>>> ntg-context@ntg.nl> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>> > Von: ntg-context <ntg-context-bounces@ntg.nl> Im Auftrag von
>>>>>> Henning
>>>>>> > Hraban Ramm via ntg-context
>>>>>> > Gesendet: Samstag, 7. August 2021 22:40
>>>>>> > An: mailing list for ConTeXt users <ntg-context@ntg.nl>
>>>>>> > Cc: Henning Hraban Ramm <texml@fiee.net>
>>>>>> > Betreff: Re: [NTG-context] Short forms and abbreviations in
>>>>>> bibliography
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > > Am 07.08.2021 um 21:53 schrieb Joey McCollum via ntg-context <ntg-
>>>>>> > context@ntg.nl>:
>>>>>> > >
>>>>>> > > A separate list of abbreviations would then list "LSAWS"
>>>>>> alongside "Linguistic
>>>>>> > Studies in Ancient West Semitic" (and likewise for other
>>>>>> journal/series
>>>>>> > abbreviations).
>>>>>> >
>>>>>> > Regarding abbreviations have a look at
>>>>>> > https://wiki.contextgarden.net/Command/definesynonyms
>>>>>> >
>>>>>> > It should be as easy as
>>>>>> >
>>>>>> > \abbreviation{LSAWS}{Linguistic Studies in Ancient West Semitic}
>>>>>> >
>>>>>> > The full name of \quote{LSAWS} is \infull{LSAWS}.
>>>>>> >
>>>>>> > \placelistofabbreviations
>>>>>> >
>>>>>> >
>>>>>> > I had a case where mostly abbreviations were used in the text but
>>>>>> the full name
>>>>>> > should appear in the index.
>>>>>> > I can provide the setup (including Lua functions), if it might help
>>>>>> you.
>>>>>> >
>>>>>> >
>>>>>> > Can’t help with bibliographies, sorry.
>>>>>>
>>>>>> SBL is a tricky beast anyway. There were some discussions regarding
>>>>>> implementing Chicago Manual of Style a couple of weeks ago. Develelopments
>>>>>> on that front could also be useful for SBL. Don't know what came out of
>>>>>> this though.
>>>>>>
>>>>>> Denis
>>>>>>
>>>>>> >
>>>>>> > Hraban
>>>>>> > ________________________________________________________________
>>>>>> > ___________________
>>>>>> > 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
>>>>>> > ________________________________________________________________
>>>>>> > ___________________
>>>>>>
>>>>>> ___________________________________________________________________________________
>>>>>> 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
>>>>>>
>>>>>> ___________________________________________________________________________________
>>>>>>
>>>>>

[-- Attachment #1.2: Type: text/html, Size: 16641 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-10-06 21:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-07 19:53 Joey McCollum via ntg-context
2021-08-07 20:40 ` Henning Hraban Ramm via ntg-context
2021-08-09  8:12   ` Denis Maier via ntg-context
2021-08-09 12:55     ` Joey McCollum via ntg-context
2021-08-22 22:11       ` Joey McCollum via ntg-context
2021-10-06 16:35         ` Joey McCollum via ntg-context
2021-10-06 18:35           ` Joey McCollum via ntg-context
2021-10-06 19:05             ` Joey McCollum via ntg-context
2021-10-06 21:58               ` Joey McCollum via ntg-context [this message]
2021-10-07  4:38                 ` Joey McCollum via ntg-context
2021-10-08 11:38                   ` Hans Hagen via ntg-context
2021-10-11 14:24                     ` 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=CAGxRUG9BogxdF_fqFZ6oq+T8HRtubqw8AAJbzsZHYpD4VYDyHg@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).