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 15:05:51 -0400	[thread overview]
Message-ID: <CAGxRUG-Gnh7=5kT2d=2HYXdqEsgvqOw3jWX8wqmhbR-T5Pgx_g@mail.gmail.com> (raw)
In-Reply-To: <CAGxRUG_v0LH6Yuvja2NVFojXgvS2kfbA6S355oCCfpScejz0kQ@mail.gmail.com>


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

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: 15433 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 19:05 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 [this message]
2021-10-06 21:58               ` Joey McCollum via ntg-context
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='CAGxRUG-Gnh7=5kT2d=2HYXdqEsgvqOw3jWX8wqmhbR-T5Pgx_g@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).