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=shorthand,lefttext=,righttext=][\currentbtxtag]}{\textcite[alternative=listsubcite,lefttext=,righttext=][\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, 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 >>>>>>> >>>>>>> ___________________________________________________________________________________ >>>>>>> >>>>>>