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