A reasonable solution for the time being would be to check if the righttext argument is empty, and add a final period in the footnote only if it is not (with the assumption being that the user would provide punctuation in any righttext for footnote/endnote citations). I've pushed the following change to the GitHub repo, if you'd like to pull and use it:
```
% Inline footnote citation setup (with intelligent trailing punctuation replacement)
\startsetups btx:sbl:cite:footnote
\removeunwantedspaces
\doifinstring{\btxparameter{punct}}{\btxparameter{autopunctuation}}{\btxparameter{punct}}
\begingroup
\letbtxparameter{punct}\empty % don't pass the trailing punctuation down to the inline setup
\startfootnote
\Word{\fastsetup{btx:sbl:cite:inline}}% capitalize the first word in the footnote (needed to render "Ibid." and "Idem" correctly)
% Add a closing period if there is no righttext
\doif{\btxparameter{righttext}}{\empty} {
\btxperiod
}
\stopfootnote
\endgroup
\doifnotinstring{\btxparameter{punct}}{\btxparameter{autopunctuation}}{\btxparameter{punct}}
\stopsetups
```This should allow your script to compile, but unfortunately, it doesn't seem to make endnotes work, at least not when I try it. For some reason, the macro \Word{\fastsetup{btx:sbl:cite:inline}} is expanding to nothing inside the \startfootnote ... \stopfootnote environment. I have no idea why this is happening, so any ideas are appreciated.JoeyOn Sat, Dec 25, 2021 at 1:11 PM Joey McCollum <jmccollum20140511@gmail.com> wrote:Joel,You may not have done anything wrong; this may be an issue with ConTeXt-SBL. In my code for the btx:sbl:cite:footnote setup in publ-imp-sbl.mkvi, I added a comment to this effect:
```
\startsetups btx:sbl:cite:footnote
\removeunwantedspaces
\doifinstring{\btxparameter{punct}}{\btxparameter{autopunctuation}}{\btxparameter{punct}}
\begingroup
\letbtxparameter{punct}\empty % don't pass the trailing punctuation down to the inline setup
\let\doifendswithpunctelse\btx_sbl_doifendswithpunctelse % why is this necessary? For some reason, \btx_sbl_doifendswithpunctelse is not recognized within the footnote environment...
\startfootnote
\Word{\fastsetup{btx:sbl:cite:inline}}% capitalize the first word in the footnote (needed to render "Ibid." and "Idem" correctly)
% Add a closing period, unless the righttext ends with punctuation
\doifendswithpunctelse{\btxparameter{righttext}} {
\removeunwantedspaces
} {
\removeunwantedspaces
\btxperiod
}
\stopfootnote
\endgroup
\doifnotinstring{\btxparameter{punct}}{\btxparameter{autopunctuation}}{\btxparameter{punct}}
\stopsetups
```I define the \btx_sbl_doifendswithpunctelse macro earlier in the module. Initially, when I tried to invoke this macro within the \startfootnote ... \stopfootnote environment (to conditionally add a period at the end of a footnote citation if it does not have a righttext ending with punctuation), I got the same error you got, but for \btx_sbl_doifendswithpunctelse. I wasn't sure why this was happening, so I tried defining a new \doifendswithpunctelse macro. Unfortunately, based on your e-mail, it looks like this doesn't actually fix the problem.
Any help from other developers would be appreciated here! Unfortunately, I don't have a MWE replicating the problem on hand at the moment.JoeyOn Sat, Dec 25, 2021 at 1:04 PM Joel via ntg-context <ntg-context@ntg.nl> wrote:___________________________________________________________________________________I am using the ConTeXt-SBL package for citations. I need to move my footnotes to the end of each article.According to the manual, I can suppress the placement of footnotes using two lines of code. I've added these to my minimal working code, placing \setupnote[footnote][location=none] in the header and \placenotes[footnote] where I want the endnotes to appear. It complains this error:"Undefined control sequence \doifendswithpunctelse"What did I do wrong?--JoelCode follows:\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]
\setupnote[footnote][location=none]
\starttext
\input knuth
\cite[clark1989]
\placenotes[footnote]
\startchapter[title=Bibliography]
\placelistofpublications
\stopchapter
\stoptext
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
___________________________________________________________________________________