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: Thu, 7 Oct 2021 00:38:16 -0400	[thread overview]
Message-ID: <CAGxRUG_NpXfUMvTju71cah7HSxyCL63XfAtT=AeThSn8wwQMjw@mail.gmail.com> (raw)
In-Reply-To: <CAGxRUG9BogxdF_fqFZ6oq+T8HRtubqw8AAJbzsZHYpD4VYDyHg@mail.gmail.com>


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

A concise solution that I found would work was to define a "shorthand"
citation alternative and just print the shorthand with that:

```
% Shorthand citation setup
\startsetups btx:sbl:cite:shorthand
  \begingroup
  \def\currentbtxcategory{\btxfield{category}}
  \texdefinition{btx:sbl:inline:shorthand}
  \endgroup
  \removeunwantedspaces
  \removepunctuation
\stopsetups

...

\expanded{\abbreviation[\currentbtxtag]{\textcite[alternative=shorthand,lefttext=,righttext=][\currentbtxtag]}{\textcite[alternative=listsubcite,lefttext=,righttext=][\currentbtxtag]}}
```

Again, this works, although I'm still not sure why
invoking \texdefinition{btx:sbl:inline:shorthand} directly doesn't.

Joey

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

> 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: 17825 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-07  4:38 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
2021-10-07  4:38                 ` Joey McCollum via ntg-context [this message]
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='CAGxRUG_NpXfUMvTju71cah7HSxyCL63XfAtT=AeThSn8wwQMjw@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).