From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/113001 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Joey McCollum via ntg-context Newsgroups: gmane.comp.tex.context Subject: Re: Short forms and abbreviations in bibliography Date: Thu, 7 Oct 2021 00:38:16 -0400 Message-ID: References: <0924E179-F1D2-4B05-9D16-C3075A216E2A@fiee.net> <20888f8e8c0c4d6982a360ee587ecbe7@unibe.ch> Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3869478608847867565==" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20852"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Joey McCollum To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Thu Oct 07 06:39:20 2021 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mYLBe-00055P-TN for gctc-ntg-context-518@m.gmane-mx.org; Thu, 07 Oct 2021 06:39:18 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 14BCA287E82; Thu, 7 Oct 2021 06:38:36 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uHpkb6pSTiSh; Thu, 7 Oct 2021 06:38:34 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id E2D5A287E83; Thu, 7 Oct 2021 06:38:33 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 20BB92877E2 for ; Thu, 7 Oct 2021 06:38:32 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0ov6VtwQJeG5 for ; Thu, 7 Oct 2021 06:38:30 +0200 (CEST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.166.41; helo=mail-io1-f41.google.com; envelope-from=jmccollum20140511@gmail.com; receiver= Original-Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id E8AEB28761F for ; Thu, 7 Oct 2021 06:38:29 +0200 (CEST) Original-Received: by mail-io1-f41.google.com with SMTP id e144so5325987iof.3 for ; Wed, 06 Oct 2021 21:38:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=0fRJeB8ePskCZZYcC67gkVm3O3TYI9oapJ+tgtFS43s=; b=fyBaZ0ai6VRs4a/utQIa8I0WmX4WiCd/GGPOMNXmtFS2K97wtDilCJKygg+xf6xCLj Y0vVeZpr5IAfddEZQIeOVf3AyrWp++dNCr1DTMDxlaUS41mbrndrmegW2ehntkf0j+r7 SEhA8dJeU5Qj/9LtBE6rWJrAK0ZJ0Z/Z3Mb1JUoETO0k6gKQbkYksmSzeuqzImvS3S1q 4mkGPTqxCOlSQlreBnlAlOTIqWjvufDLQ3Qv+TM1rbq2kuOHAaVH7qfkg2jD09hIX352 WYfBsn4PqeMs/aG0Rrw4b4llGbV3ocmUjMM01L6Fe+zn+g0wpgY0ieL//emLpeZDpzfI TLgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=0fRJeB8ePskCZZYcC67gkVm3O3TYI9oapJ+tgtFS43s=; b=pMtCtNF6i1E80YOZwSH0rkoOpKQWwUUTgL5p9yuwU4JrAVbHR0WqWyLV4MVqlJ9QMf 8+1E3r7z1V04n0zAgDxNv1rttLNCEhvDHtTsMvzvbXC0WmQRiLX6aOuk9jn9du17R+xL 2xolXYW493kS84dtDOLBlS98cwoWBf0PpI3wL6AY1z0rBnrL1nA/ayOZtSihW+FMl1uI cl32W6Lxov34oi/xv0Yn7GJyzlk+HQ1DGMhs4USoCv9xE4k5VlLFB76XODxQPKK0/l81 RrPSXavdxexSWRNBdGLDg2zGoyOStZgiNZp1EUxco2YitBtK276+nLIYp+lw8AkRKYQK WLEg== X-Gm-Message-State: AOAM533WCV9WhD2u+0XSo7RxIs3bahQzK6hFgzYAhZvkUHvmqrPixGKM sjw9hA/xUdUrunGmuu1CVN7No58r2kx3cZskCCT27QjV9cI= X-Google-Smtp-Source: ABdhPJwW1Zj6e8xce2i/f8GRjuFfWAzHtralKYSMEoaInl7nApHIFT5y8UWKB+FC3Zce2znxIxWk/7NAg9DMQhBEne4= X-Received: by 2002:a05:6602:1591:: with SMTP id e17mr1569483iow.146.1633581507893; Wed, 06 Oct 2021 21:38:27 -0700 (PDT) In-Reply-To: X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:113001 Archived-At: --===============3869478608847867565== Content-Type: multipart/alternative; boundary="0000000000007d5dcc05cdbbd546" --0000000000007d5dcc05cdbbd546 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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=3Dshorthand,l= efttext=3D,righttext=3D][\currentbtxtag]}{\textcite[alternative=3Dlistsubci= te,lefttext=3D,righttext=3D][\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 wrote: > Interestingly, if I remove the contents of the btx:sbl:inline:shorthand > command and paste them inline as the third argument of \abbreviation, the= n > it works as expected: > > ``` > \expanded{\abbreviation[\currentbtxtag]{\btxdoif{shorthand}{\doifinsetels= e{\btxflush{type}}{plainttitle, > plainshorthand}{\btxflush{shorthand}}{\btxstartstyleandcolor[sbl:\s!list:= title:\currentbtxcategory]\btxusecommand[sbl:\s!list:title:\currentbtxcateg= ory]{\btxflush{shorthand}}\btxstopstyleandcolor}}}{\textcite[alternative=3D= listsubcite,lefttext=3D,righttext=3D][\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 > 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:sh= orthand}}{\textcite[alternative=3Dlistsubcite,lefttext=3D,righttext=3D][\cu= rrentbtxtag]}} >> } >> ``` >> >> 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 >> 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 l= ist >>> 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 fil= e in >>>> the https://github.com/jjmccollum/context-sbl repository.) >>>> >>>> I have another question related to abbreviations/synonyms in connectio= n >>>> with bibliographies. When a bibliographic entry has a "shorthand" fiel= d and >>>> I cite it using \cite[alternative=3Dshort], I would like to add its sh= orthand >>>> to the abbreviations list, with a longer citation as its "in-full" for= m. 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=3Da= ll" >>>> 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 adv= ance. >>>> 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 ther= e 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 form= s 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 entr= y for >>>>> the bibliography proper (i.e., the list typically placed at the end o= f 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"-styl= e >>>>> 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 u= sed. >>>>> Meanwhile, the \btxcitereference and \btxhandleciteentry macros (inv= oked >>>>> 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 stil= l >>>>> not sure if the module accommodates rendering in-text "entry" citatio= ns >>>>> 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 documen= t 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 th= is 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 work= ing. >>>>>> 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-s= bl-examples.ref.txt >>>>>> . >>>>>> >>>>>> Like you say, some parts are tricky. SBL uses "entry"-style citation= s >>>>>> by default and doesn't seem to make use of other common alternatives= (such >>>>>> as "authoryear"). I can think of some existing alternatives that mig= ht 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 shorte= ned >>>>>> form of the title as specified in the "shorttitle" field). I could m= ake >>>>>> this the sbl style's implementation of the "short" alternative, sinc= e the >>>>>> LaTeX-style bracketed number references are foreign to SBL style any= way, >>>>>> but if would be preferable just to introduce another alternative (so= mething >>>>>> 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 gl= adly >>>>>> take help. (But it would probably be better to discuss the details i= n 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=C3=BCngliche Nachricht----- >>>>>>> > Von: ntg-context Im Auftrag von >>>>>>> Henning >>>>>>> > Hraban Ramm via ntg-context >>>>>>> > Gesendet: Samstag, 7. August 2021 22:40 >>>>>>> > An: mailing list for ConTeXt users >>>>>>> > Cc: Henning Hraban Ramm >>>>>>> > Betreff: Re: [NTG-context] Short forms and abbreviations in >>>>>>> bibliography >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > > Am 07.08.2021 um 21:53 schrieb Joey McCollum via ntg-context >>>>>>> >>>>>> > 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=E2=80=99t 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. Develel= opments >>>>>>> on that front could also be useful for SBL. Don't know what came ou= t 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 >>>>>>> >>>>>>> ___________________________________________________________________= ________________ >>>>>>> >>>>>> --0000000000007d5dcc05cdbbd546 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
A concise solution that I found would work was to define a= "shorthand" citation alternative and just print the shorthand wi= th that:

```
% Shorthand citation setup
\startsetups btx:sbl:c= ite:shorthand
=C2=A0 \begingroup
=C2=A0 \def\currentbtxcategory{\btxf= ield{category}}
=C2=A0 \texdefinition{btx:sbl:inline:shorthand}
=C2= =A0 \endgroup
=C2=A0 \removeunwantedspaces
=C2=A0 \removepunctuation<= br>\stopsetups

...

\expanded{\abbreviation[\currentbtxtag]{\t= extcite[alternative=3Dshorthand,lefttext=3D,righttext=3D][\currentbtxtag]}{= \textcite[alternative=3Dlistsubcite,lefttext=3D,righttext=3D][\currentbtxta= g]}}
```

Again, this works, although I'm still not sure why i= nvoking=C2=A0\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 \ab= breviation, then it works as expected:

```
\expanded{\abbreviatio= n[\currentbtxtag]{\btxdoif{shorthand}{\doifinsetelse{\btxflush{type}}{plain= ttitle, plainshorthand}{\btxflush{shorthand}}{\btxstartstyleandcolor[sbl:\s= !list:title:\currentbtxcategory]\btxusecommand[sbl:\s!list:title:\currentbt= xcategory]{\btxflush{shorthand}}\btxstopstyleandcolor}}}{\textcite[alternat= ive=3Dlistsubcite,lefttext=3D,righttext=3D][\currentbtxtag]}}
```
But obviously, this is much less readable. So if there is a more concise s= olution that applies expansion control to \texdefinition{btx:sbl:inline:sho= rthand}, I'd love to know it!

Thanks!

=
Joey

On Wed, Oct 6, 2021 at 3:05 PM Joey McCollum <jmccollum201405= 11@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} {
=C2=A0 \e= xpanded{\abbreviation[\currentbtxtag]{\texdefinition{btx:sbl:inline:shortha= nd}}{\textcite[alternative=3Dlistsubcite,lefttext=3D,righttext=3D][\current= btxtag]}}
}
```

Thankfully, everything else gets rendered as e= xpected. But why is the \texdefinition=C2=A0not expanding? If it helps, I&#= 39;ve included it below:

```
\starttexdefinition btx:sbl:inline:s= horthand
=C2=A0 \btxdoif {shorthand} {
=C2=A0 =C2=A0 % If the entry i= s of type plaintitle or plainshorthand, then do not apply formatting to its= shorthand
=C2=A0 =C2=A0 \doifinsetelse{\btxflush{type}}{plainttitle, pl= ainshorthand} {
=C2=A0 =C2=A0 =C2=A0 \btxflush{shorthand}
=C2=A0 =C2= =A0 } {
=C2=A0 =C2=A0 =C2=A0 \btxstartstyleandcolor[sbl:\s!list:title:\c= urrentbtxcategory]
=C2=A0 =C2=A0 =C2=A0 =C2=A0 \btxusecommand[sbl:\s!lis= t:title:\currentbtxcategory]{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \btxflu= sh{shorthand}% set the shorthand according to the current category
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 \btxstopstyleandcolor=C2=A0 =C2=A0 }
=C2=A0 =C2=A0 \btxcomma
=C2=A0 }
\stoptexdefiniti= on
```

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 s= ee what I did wrong; I just needed to enclose the whole \abbreviation comma= nd in an \expanded command as follows:

```
\startsetups btx:sbl:c= ite:short
=C2=A0 ...
=C2=A0 \btxdoif {shorthand} {
=C2=A0 =C2=A0 \= expanded{\abbreviation[\currentbtxtag]{\btxflush{shorthand}}{\btxflush{titl= e}}}
=C2=A0 }
=C2=A0 ...
\stopsetups
```

It looks lik= e passing the macro \currentbtxtag as the tag for the abbreviation works fi= ne. And if I redefine the abbreviations synonyms list as follows, I can use= \inshort[\currentbtxtag]:

```
\definesynonyms[abbreviation][abbr= eviations][\infull][\inshort]
```

I'll add more t= o the thread if I run into any problems making this more complex!

Joey

On Wed, Oct 6, 2021 at 12:35 PM Joey McCollum <= ;jmccollum= 20140511@gmail.com> wrote:
(Quick note for anyone following this th= read: 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=C2=A0https://github.com/jjmccollum/conte= xt-sbl repository.)

I have another question related to abbreviat= ions/synonyms in connection with bibliographies. When a bibliographic entry= has a "shorthand" field and I cite it using \cite[alternative=3D= 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
=C2=A0 ...
=C2=A0 \btxdoif {shorthand}= {
=C2=A0 =C2=A0 \abbreviation[\currentbtxtag]{\btxflush{shorthand}}{\bt= xflush{title}}
=C2=A0 }
=C2=A0 ...
\stopsetups
```

But = even if I invoke \placelistofabbreviations with the "criterium=3Dall&q= uot; option, nothing appears in the list.

In some = ways, this issue is related to the now-resolved issue "Which way to ty= pe greek letters in synonym list?" from 2010. The problem is that in t= his case, I have to use a macro even in the first input to=C2=A0\abbreviati= on (in brackets), because I don't know what it is in advance. In additi= on, if the second and third inputs to \abbreviation (in curly braces) are n= ot expanded until the list is printed, then they will be empty/undefined at= the time when they are needed.

I'm not as fam= iliar with how to deal with expansion problems, so I could use someone'= s expertise here. Is=C2=A0there a simple way to define an abbreviation usin= g the expanded values of macros as above? And is there a way to invoke an a= bbreviation/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 workin= gs of the ConTeXt Publication modules. It looks like three "long"= citation forms are defined in publ-imp-cite.mkvi:

\startsetups btx:cite:= listelement
=C2=A0 =C2=A0 \fastsetup{\s!btx:\s!cite:concat}
=C2=A0 = =C2=A0 \fastsetup{\s!btx:\s!cite:lefttext}
=C2=A0 =C2=A0 \ifx\currentbtx= first\empty
=C2=A0 =C2=A0 =C2=A0 =C2=A0 \fastsetup{\s!btx:\s!cite:\s!emp= ty}
=C2=A0 =C2=A0 \else
=C2=A0 =C2=A0 =C2=A0 =C2=A0\texdefinition {\s= !btx:\s!cite:inject} {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\btxcite= reference
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\currentbtxfirst
= =C2=A0 =C2=A0 =C2=A0 =C2=A0}
=C2=A0 =C2=A0 \fi
=C2=A0 =C2=A0 \fastset= up{\s!btx:\s!cite:righttext}
\stopsetups

\startsetups \s!btx:\s!c= ite:entry
=C2=A0 =C2=A0 \fastsetup{\s!btx:\s!cite:concat}
=C2=A0 =C2= =A0 \fastsetup{\s!btx:\s!cite:lefttext}
=C2=A0 =C2=A0 \btxhandleciteentr= y
=C2=A0 =C2=A0 \fastsetup{\s!btx:\s!cite:righttext}
\stopsetups
<= br>\startsetups \s!btx:\s!cite:footnote
=C2=A0 =C2=A0 \startfootnote
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 \fastsetup{btx:cite:entry}
=C2=A0 =C2=A0 \st= opfootnote
\stopsetups

Intuitively, I would expect= =C2=A0btx: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=C2=A0\s!btx:\s!cite:entr= y would handle in-text citations. The third setup,=C2=A0\s!btx:\s!cite:foot= note, simply renders the "entry"-style citation in a footnote.
But as far as I can tell, the "listelement" setu= p is never used outside of publ-imp-cite.mkvi. Only the "entry" s= etup appears to be used. Meanwhile, the=C2=A0\btxcitereference=C2=A0and=C2= =A0 \btxhandleciteentry=C2=A0macros (invoked in these setups) appear to be defi= ned in publ-ini.mkiv:

\unexpanded\def\btx_cite_reference_inject
= =C2=A0 {\ifconditional\c_btx_cite_reference_injected
=C2=A0 =C2=A0\else<= br>=C2=A0 =C2=A0 =C2=A0\dontleavehmode
=C2=A0 =C2=A0 =C2=A0\iftrialtypes= etting \else
=C2=A0 =C2=A0 =C2=A0 =C2=A0\ifx\currentbtxbacklink\empty=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0% can be made empty when combining autho= r / year
=C2=A0 =C2=A0 =C2=A0 =C2=A0\else\ifnum\currentbtxbacklink>\z= erocount
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\btx_cite_reference_inject_in= deed
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\settrue\c_btx_cite_reference_inj= ected
=C2=A0 =C2=A0 =C2=A0 =C2=A0\fi\fi
=C2=A0 =C2=A0 =C2=A0\fi
= =C2=A0 \fi}

...

\let\= btxcitereference\btx_cite_reference_inject

...
=
\unexpanded\def\btxhandleciteentry
=C2=A0 {\dontleavehmode
=C2=A0= =C2=A0\begingroup
=C2=A0 =C2=A0\def\currentbtxcitealternative{entry}%=C2=A0 =C2=A0\setbtxparameterset\s!cite\currentbtxcitealternative % needs= checking
=C2=A0 =C2=A0\btxcitereference
=C2=A0 =C2=A0\btx_entry_inje= ct
=C2=A0 =C2=A0\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 d= ifferently than citations in the list.

Joey
<= /div>
O= n Mon, Aug 9, 2021 at 8:55 AM Joey McCollum <jmccollum20140511@gmail.com> w= rote:
Henning's suggestion for abbreviations should work fine for th= at issue. I could simply use the shorthand in the "series" and &q= uot;journal" fields and set up the appropriate \abbreviation calls in = the document or environment.

As for the larger issue of bibliographi= es, I've started working on publ-imp-sbl.lua and publ-imp-sbl.mkvi file= s. 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 rudim= entary version working. I'm presently using the reference for examples = from the SBL Handbook of Style, 2nd edition, available at=C2=A0https://github.com/dcpurton/biblatex-= sbl/blob/master/test/biblatex-sbl-examples.ref.txt.

= Like you say, some parts are tricky. SBL uses "entry"-style citat= ions by default and doesn't seem to make use of other common alternativ= es (such as "authoryear"). I can think of some existing alternati= ves that might get used in specific cases (e.g., "author", "= title"), but the recommended=C2=A0shorthand has the form "shortau= thor, shorttitle" (i.e., the last name(s) of the author(s) only, follo= wed by a comma and a shortened form of the title as specified in the "= shorttitle" field). I could make this the sbl style's implementati= on of the "short" alternative, since the LaTeX-style bracketed nu= mber references are foreign to SBL style anyway, but if would be preferable= just to introduce another alternative (something like "authortitle&qu= ot;), then I could also try to do that.

For my immediate purposes, I= won't need much more than the=C2=A0@book, @article, @inbook, and=C2=A0= @incollection=C2=A0entries, so my focus will be on getting those right, but= if anyone is interested in helping, I'll gladly take help. (But it wou= ld probably be better to discuss the details in a separate e-mail thread.)<= /div>

Joey

On Mon, Aug 9, 2021 at 4:12 AM Denis Mai= er via ntg-context <ntg-context@ntg.nl> wrote:


> -----Urspr=C3=BCngliche 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 bibliograp= hy
>
>
>
> > 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/de= finesynonyms
>
> 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 yo= u.
>
>
> Can=E2=80=99t help with bibliographies, sorry.

SBL is a tricky beast anyway. There were some discussions regarding impleme= nting 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 t= hough.

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/listin= fo/ntg-context
> webpage=C2=A0 : http://www.pragma-ade.nl / http://context.aanhet.ne= t archive=C2=A0 :
> https://bitbucket.org/phg/context-mirror/commi= ts/
> wiki=C2=A0 =C2=A0 =C2=A0: http://contextgarden.net
> ________________________________________________________________
> ___________________
___________________________________________________________________________= ________
If your question is of interest to others as well, please add an entry to t= he Wiki!

maillist : ntg-cont= ext@ntg.nl / http://www.ntg.nl/mailman/listinfo/nt= g-context
webpage=C2=A0 : http://www.pragma-ade.nl / http://context.aanhet.net=
archive=C2=A0 : https://bitbucket.org/phg/context-m= irror/commits/
wiki=C2=A0 =C2=A0 =C2=A0: http://contextgarden.net
___________________________________________________________________________= ________
--0000000000007d5dcc05cdbbd546-- --===============3869478608847867565== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5v cmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRn YXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --===============3869478608847867565==--