Why are back-to-back \autocite commands not working in ConTeXt-SBL?
I am using the ConTeXt-SBL module to handle the citations in my article. Using the plain \cite[na2006] command has worked fine. But there are some situations where I want the footnote to include page number details. I tried using \cite[extra=2][na2006], but that doesn't seem compatible with ConTeXt-SBL. I checked the documentation, and if I understand correctly, I should use the autocite command to add page numbers to my citation? Like this: \autocite[{\loc[2]}][]{na2006} This solution works in 95% of cases, but when I need to cite another book immediately after that, it throws up errors: This won't compile: \autocite[{\loc[2]}][]{na2006} \autocite[{\loc[2]}][]{clark1989} This won't compile: \autocite[{\loc[2]}][]{na2006}%% \autocite[{\loc[2]}][]{clark1989} This also won't compile: \autocite[{\loc[2]}][]{na2006}\autocite[{\loc[2]}][]{clark1989} After much trial and error, I found this will compile: \autocite[{\loc[2]}][]{na2006} \autocite[{\loc[2]}][]{clark1989} The problem with this last example, is if my citations appear within the paragraph, then I end up with a paragraph break in the wrong place! Here is my minimum working example, which won't compile unless I add a blank line between the two citations. \usemodule[publ-imp-sbl] \startbuffer [bib] @Article{na2006, title={Volcanoes \word{of} New Mexico}, year={2006}, journal={New Mexico Earth Matters}, publisher={New Mexico Bureau \word{of} Geology \word{and} Mineral Resources}, volume={6}, number={1}, location={Socorro, New Mexico} } @Book{clark1989, author = {Clark, William}, title = {Railroads \word{and} railroad towns \word{in} New Mexico}, publisher = {New Mexico Magazine}, year = {1989}, address = {Albuquerque, New Mexico}, isbn = {9780937206126} } \stopbuffer \usebtxdataset[bib.buffer] \setupbtx[dataset=default] \usebtxdefinitions[sbl] \setupbtx[sbl] \starttext \autocite[{\loc[2]}][]{na2006} \autocite[{\loc[3]}][]{clark1989} \startchapter[title=Bibliography] \placelistofpublications \stopchapter \stoptext Is the autocite command the wrong tool for what I need? How can I place citations right next to each other, but also include page number information with ConTeXt-SBL? --Joel
Joel,
Thanks for mentioning this! I think I've run into the same issue before,
but I wasn't sure how I should go about fixing it, so this might be a good
place to get suggestions from others.
The \autocite, \inlinecite, \parencite, and \footcite helper commands are
intended to handle trailing punctuation intelligently (in order to do
things like move punctuation after a footnote citation before the footnote
marker), so they treat the next character after the command as a "hidden"
parameter. This works as expected if the next character is a punctuation
character or something like a \blank command, but if it's something like a
\section command (or another \autocite command, as you've discovered), then
this causes problems.
That said, I think you should be able to get your ConTeXt to compile if you
follow your \autocite command with punctuation or some form of whitespace
(which is why a double newline works, as you've discovered, while a single
newline does not).
I'd like to keep the intelligent trailing punctuation adjustment feature if
possible, but this problem definitely needs to be fixed. If anyone has any
suggestions, I welcome them! My hope is that this can be resolved with a
simple check.
Joey
On Fri, Dec 24, 2021 at 9:37 AM Joel via ntg-context
I am using the ConTeXt-SBL module to handle the citations in my article. Using the plain \cite[na2006] command has worked fine.
But there are some situations where I want the footnote to include page number details. I tried using \cite[extra=2][na2006], but that doesn't seem compatible with ConTeXt-SBL. I checked the documentation, and if I understand correctly, I should use the autocite command to add page numbers to my citation? Like this:
\autocite[{\loc[2]}][]{na2006}
This solution works in 95% of cases, but when I need to cite another book immediately after that, it throws up errors:
This won't compile:
\autocite[{\loc[2]}][]{na2006} \autocite[{\loc[2]}][]{clark1989}
This won't compile:
\autocite[{\loc[2]}][]{na2006}% % \autocite[{\loc[2]}][]{clark1989}
This also won't compile:
\autocite[{\loc[2]}][]{na2006}\autocite[{\loc[2]}][]{clark1989}
After much trial and error, I found this will compile:
\autocite[{\loc[2]}][]{na2006}
\autocite[{\loc[2]}][]{clark1989}
The problem with this last example, is if my citations appear within the paragraph, then I end up with a paragraph break in the wrong place!
Here is my minimum working example, which won't compile unless I add a blank line between the two citations.
\usemodule[publ-imp-sbl] \startbuffer [bib]
@Article{na2006, title={Volcanoes \word{of} New Mexico}, year={2006}, journal={New Mexico Earth Matters}, publisher={New Mexico Bureau \word{of} Geology \word{and} Mineral Resources}, volume={6}, number={1}, location={Socorro, New Mexico} }
@Book{clark1989, author = {Clark, William}, title = {Railroads \word{and} railroad towns \word{in} New Mexico}, publisher = {New Mexico Magazine}, year = {1989}, address = {Albuquerque, New Mexico}, isbn = {9780937206126} }
\stopbuffer
\usebtxdataset[bib.buffer]
\setupbtx[dataset=default] \usebtxdefinitions[sbl] \setupbtx[sbl]
\starttext
\autocite[{\loc[2]}][]{na2006} \autocite[{\loc[3]}][]{clark1989}
\startchapter[title=Bibliography] \placelistofpublications \stopchapter
\stoptext
Is the autocite command the wrong tool for what I need? How can I place citations right next to each other, but also include page number information with ConTeXt-SBL?
--Joel
___________________________________________________________________________________ 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
___________________________________________________________________________________
Additionally, if you want to cite page numbers, the key to use in
ConTeXt-SBL is "loctext". (I was not aware of an "extra" key when I was
developing the module.) So, you should be able to make the ConTeXt-style
\cite command work as follows:
```
\cite[loctext=2][na2006]
```
I hope this helps, too!
Joey
On Fri, Dec 24, 2021 at 9:43 AM Joey McCollum
Joel,
Thanks for mentioning this! I think I've run into the same issue before, but I wasn't sure how I should go about fixing it, so this might be a good place to get suggestions from others.
The \autocite, \inlinecite, \parencite, and \footcite helper commands are intended to handle trailing punctuation intelligently (in order to do things like move punctuation after a footnote citation before the footnote marker), so they treat the next character after the command as a "hidden" parameter. This works as expected if the next character is a punctuation character or something like a \blank command, but if it's something like a \section command (or another \autocite command, as you've discovered), then this causes problems.
That said, I think you should be able to get your ConTeXt to compile if you follow your \autocite command with punctuation or some form of whitespace (which is why a double newline works, as you've discovered, while a single newline does not).
I'd like to keep the intelligent trailing punctuation adjustment feature if possible, but this problem definitely needs to be fixed. If anyone has any suggestions, I welcome them! My hope is that this can be resolved with a simple check.
Joey
On Fri, Dec 24, 2021 at 9:37 AM Joel via ntg-context
wrote: I am using the ConTeXt-SBL module to handle the citations in my article. Using the plain \cite[na2006] command has worked fine.
But there are some situations where I want the footnote to include page number details. I tried using \cite[extra=2][na2006], but that doesn't seem compatible with ConTeXt-SBL. I checked the documentation, and if I understand correctly, I should use the autocite command to add page numbers to my citation? Like this:
\autocite[{\loc[2]}][]{na2006}
This solution works in 95% of cases, but when I need to cite another book immediately after that, it throws up errors:
This won't compile:
\autocite[{\loc[2]}][]{na2006} \autocite[{\loc[2]}][]{clark1989}
This won't compile:
\autocite[{\loc[2]}][]{na2006}% % \autocite[{\loc[2]}][]{clark1989}
This also won't compile:
\autocite[{\loc[2]}][]{na2006}\autocite[{\loc[2]}][]{clark1989}
After much trial and error, I found this will compile:
\autocite[{\loc[2]}][]{na2006}
\autocite[{\loc[2]}][]{clark1989}
The problem with this last example, is if my citations appear within the paragraph, then I end up with a paragraph break in the wrong place!
Here is my minimum working example, which won't compile unless I add a blank line between the two citations.
\usemodule[publ-imp-sbl] \startbuffer [bib]
@Article{na2006, title={Volcanoes \word{of} New Mexico}, year={2006}, journal={New Mexico Earth Matters}, publisher={New Mexico Bureau \word{of} Geology \word{and} Mineral Resources}, volume={6}, number={1}, location={Socorro, New Mexico} }
@Book{clark1989, author = {Clark, William}, title = {Railroads \word{and} railroad towns \word{in} New Mexico}, publisher = {New Mexico Magazine}, year = {1989}, address = {Albuquerque, New Mexico}, isbn = {9780937206126} }
\stopbuffer
\usebtxdataset[bib.buffer]
\setupbtx[dataset=default] \usebtxdefinitions[sbl] \setupbtx[sbl]
\starttext
\autocite[{\loc[2]}][]{na2006} \autocite[{\loc[3]}][]{clark1989}
\startchapter[title=Bibliography] \placelistofpublications \stopchapter
\stoptext
Is the autocite command the wrong tool for what I need? How can I place citations right next to each other, but also include page number information with ConTeXt-SBL?
--Joel
___________________________________________________________________________________ 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
___________________________________________________________________________________
That may work with something like ``` \cite[loctext={{2},{2}}][{na2006,clark1989}] ``` or ``` \autocite[{{\loc[2]},{\loc[2]}}]{{na2006,clark1989}} ``` (I know that the ConTeXt \cite command supports multicites with comma-separated entries, but I forget exactly what the expected syntax looks like.) Joey On Fri, Dec 24, 2021 at 10:14 AM Denis Maier via ntg-context < ntg-context@ntg.nl> wrote:
biblatex has special multicite commands=> e.g. autocites. could that be used in that case?
Denis
Joey McCollum via ntg-context
hat am 24.12.2021 15:43 geschrieben: Joel,
Thanks for mentioning this! I think I've run into the same issue before, but I wasn't sure how I should go about fixing it, so this might be a good place to get suggestions from others.
The \autocite, \inlinecite, \parencite, and \footcite helper commands are intended to handle trailing punctuation intelligently (in order to do things like move punctuation after a footnote citation before the footnote marker), so they treat the next character after the command as a "hidden" parameter. This works as expected if the next character is a punctuation character or something like a \blank command, but if it's something like a \section command (or another \autocite command, as you've discovered), then this causes problems.
That said, I think you should be able to get your ConTeXt to compile if you follow your \autocite command with punctuation or some form of whitespace (which is why a double newline works, as you've discovered, while a single newline does not).
I'd like to keep the intelligent trailing punctuation adjustment feature if possible, but this problem definitely needs to be fixed. If anyone has any suggestions, I welcome them! My hope is that this can be resolved with a simple check.
Joey
On Fri, Dec 24, 2021 at 9:37 AM Joel via ntg-context
wrote: I am using the ConTeXt-SBL module to handle the citations in my article. Using the plain \cite[na2006] command has worked fine.
But there are some situations where I want the footnote to include page number details. I tried using \cite[extra=2][na2006], but that doesn't seem compatible with ConTeXt-SBL. I checked the documentation, and if I understand correctly, I should use the autocite command to add page numbers to my citation? Like this:
\autocite[{\loc[2]}][]{na2006}
This solution works in 95% of cases, but when I need to cite another book immediately after that, it throws up errors:
This won't compile:
\autocite[{\loc[2]}][]{na2006} \autocite[{\loc[2]}][]{clark1989}
This won't compile:
\autocite[{\loc[2]}][]{na2006}% % \autocite[{\loc[2]}][]{clark1989}
This also won't compile:
\autocite[{\loc[2]}][]{na2006}\autocite[{\loc[2]}][]{clark1989}
After much trial and error, I found this will compile:
\autocite[{\loc[2]}][]{na2006}
\autocite[{\loc[2]}][]{clark1989}
The problem with this last example, is if my citations appear within the paragraph, then I end up with a paragraph break in the wrong place!
Here is my minimum working example, which won't compile unless I add a blank line between the two citations.
\usemodule[publ-imp-sbl] \startbuffer [bib]
@Article{na2006, title={Volcanoes \word{of} New Mexico}, year={2006}, journal={New Mexico Earth Matters}, publisher={New Mexico Bureau \word{of} Geology \word{and} Mineral Resources}, volume={6}, number={1}, location={Socorro, New Mexico} }
@Book{clark1989, author = {Clark, William}, title = {Railroads \word{and} railroad towns \word{in} New Mexico}, publisher = {New Mexico Magazine}, year = {1989}, address = {Albuquerque, New Mexico}, isbn = {9780937206126} }
\stopbuffer
\usebtxdataset[bib.buffer]
\setupbtx[dataset=default] \usebtxdefinitions[sbl] \setupbtx[sbl]
\starttext
\autocite[{\loc[2]}][]{na2006} \autocite[{\loc[3]}][]{clark1989}
\startchapter[title=Bibliography] \placelistofpublications \stopchapter
\stoptext
Is the autocite command the wrong tool for what I need? How can I place citations right next to each other, but also include page number information with ConTeXt-SBL?
--Joel
___________________________________________________________________________________
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 ___________________________________________________________________________________
___________________________________________________________________________________ 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
___________________________________________________________________________________
participants (3)
-
Denis Maier
-
Joel
-
Joey McCollum