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