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 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 > 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 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’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 >>>>> >>>>> ___________________________________________________________________________________ >>>>> >>>>