ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Joey McCollum via ntg-context <ntg-context@ntg.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Joey McCollum <jmccollum20140511@gmail.com>
Subject: Re: Why are endnotes not working with ConTeXt-SBL?
Date: Sat, 25 Dec 2021 15:34:11 -0500	[thread overview]
Message-ID: <CAGxRUG_Hvxso8OHK91fsnmeuz-T+3sJrLhH9cNuXkT2YNqYb+Q@mail.gmail.com> (raw)
In-Reply-To: <CAGxRUG_oybfZLn2C6MxasC1aNinzG5QH32a6DB9FZKTu8Ak-LQ@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 5589 bytes --]

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.

Joey

On 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.
>
> Joey
>
> On 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?
>>
>> --Joel
>>
>> Code 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
>>
>> ___________________________________________________________________________________
>>
>

[-- Attachment #1.2: Type: text/html, Size: 7700 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

  reply	other threads:[~2021-12-25 20:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1791655590.770843.1640455439313.ref@mail.yahoo.com>
2021-12-25 18:03 ` Joel via ntg-context
2021-12-25 18:11   ` Joey McCollum via ntg-context
2021-12-25 20:34     ` Joey McCollum via ntg-context [this message]
2021-12-26 21:57       ` Joey McCollum via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAGxRUG_Hvxso8OHK91fsnmeuz-T+3sJrLhH9cNuXkT2YNqYb+Q@mail.gmail.com \
    --to=ntg-context@ntg.nl \
    --cc=jmccollum20140511@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).