Short forms and abbreviations in bibliography
Hi, It is a common practice to use short forms of titles for bibliographic entries after they are cited the first time. Another practice is to use abbreviations for journal names and book series (generally for citations in the text, but possibly also in the references list), with a separate "List of Abbreviations" provided to cross-reference the abbreviations and full names. I think that these practices could be accommodated with multiple bibliographies that contain short and long forms for corresponding entries, but I wanted to ask: is there a simpler or preferred way to do this in ConTeXt? To illustrate what I mean, the biblatex-sbl package ( https://github.com/dcpurton/biblatex-sbl), which implements the SBL citation style for (Xe)LaTeX, handles this using additional fields like "shorttitle," "shortjournal," and "shortseries," so for the BibTeX-style bibliographic entry @book{Blau2010, author = {Joshua Blau}, title = {Phonology and Morphology of Biblical Hebrew}, shorttitle = {Phonology}, series = {Linguistic Studies in Ancient West Semitic}, shortseries = {LSAWS}, volume = {2}, location = {Winona Lake, IN}, publisher = {Eisenbrauns}, year = {2010} } the initial in-text citation (in SBL style) would look something like Joshua Blau, *Phonology and Morphology of Biblical Hebrew*, LSAWS 2 (Winona Lake, IN: Eisenbrauns, 2010), while subsequent in-text citations would look like Blau, *Phonology*. A separate list of abbreviations would then list "LSAWS" alongside "Linguistic Studies in Ancient West Semitic" (and likewise for other journal/series abbreviations). Thank you! Joey
Am 07.08.2021 um 21:53 schrieb Joey McCollum via ntg-context
: 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. Hraban
-----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
: 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 ________________________________________________________________ ___________________
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-examp... . 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
: 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
___________________________________________________________________________________
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
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-examp... .
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
: 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
___________________________________________________________________________________
(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
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-examp... .
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
: 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
___________________________________________________________________________________
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
(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-examp... .
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
: 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
___________________________________________________________________________________
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
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-examp... .
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
: > > 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
___________________________________________________________________________________
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
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-examp... .
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 <ntg- > 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
___________________________________________________________________________________
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
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-examp... .
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 > <ntg- > > 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 > > ___________________________________________________________________________________ >
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 -----------------------------------------------------------------
If it helps with troubleshooting, I've also tried to do this with
\fastsetup instead of \texdefinition:
```
\expanded{\abbreviation[\currentbtxtag]{\fastsetup{btx:sbl:cite:shorthand}}{
\fastsetup{btx:sbl:cite:listsubcite}}}
```
This also doesn't work, but I at least get a "Missing control sequence
inserted" error. The following MWE should reproduce the error (it modifies
the existing Chicago rendering, but since I couldn't figure out how to add
a shorthand field to the @book category in the chicago spec from within the
MWE, I just used the note field as a placeholder for it):
```
% 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
```
Joey
On Fri, Oct 8, 2021 at 7:38 AM Hans Hagen
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 -----------------------------------------------------------------
participants (4)
-
denis.maier@unibe.ch
-
Hans Hagen
-
Henning Hraban Ramm
-
Joey McCollum