% Setup a minimal bibliography
\startbuffer [bib]
@book{Author1:2016,
author={Author1},
title={Work1},
note={W1},
publisher={Publisher1},
year=2016,
}
@book{Author2:2015,
author={Author2},
title={Work2},
publisher={Publisher2},
year=2015,
}
\stopbuffer
\usebtxdataset [bib.buffer]
% Setup a new cite alternative to test the desired functionality
\startbtxrenderingdefinitions[chicago]
\definesynonyms[abbreviation][abbreviations][\infull][\inshort] % we need the \inshort command to access abbreviations by their entry tag
\startsetups btx:chicago:cite:shorthand
\fastsetup{btx:cite:concat}
\fastsetup{btx:cite:lefttext}
\begingroup
\def\currentbtxcitealternative{short}
\def\currentbtxcategory{\btxfield{category}}
\btxstartstyleandcolor[sbl:\s!list:title:\currentbtxcategory]
\btxusecommand[sbl:\s!list:title:\currentbtxcategory]{
\btxflush{note}% set the shorthand according to the current category
}
\btxstopstyleandcolor
\endgroup
\fastsetup{btx:cite:righttext}
\stopsetups
\startsetups btx:chicago:cite:test
\fastsetup{btx:cite:concat}
\fastsetup{btx:cite:lefttext}
\btxdoifelse{note} {
%\expanded{\definesynonym[yes][abbreviation][\currentbtxtag]{\fastsetup{btx:chicago:cite:shorthand}}{\fastsetup{btx:cite:entry}}}% this throws a Missing control sequence inserted error
\expanded{\definesynonym[yes][abbreviation][\currentbtxtag]{\cite[alternative=shorthand][\currentbtxtag]}{\cite[alternative=entry][\currentbtxtag]}}% this works, but recursively cites the same tag
\inshort{\currentbtxtag}
} {
\fastsetup{btx:cite:entry}
}
\fastsetup{btx:cite:righttext}
\stopsetups
\stopbtxrenderingdefinitions
% Use this cite alternative by default
\usebtxdefinitions[chicago]
\setupbtx[chicago:cite][alternative=test]
\starttext
\cite[Author1:2016]\blank
\cite[Author2:2015]\blank
\page
\startsubject[title=Abbreviations]
\placelistofabbreviations
\stopsubject
\page
\startsubject[title=Bibliography]
\placelistofpublications
\stopsubject
\stoptext
On 10/7/2021 6:38 AM, Joey McCollum via ntg-context wrote:
> 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.
I leave it to Alan to comment on this as he's the bib guru
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------