public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: John MacFarlane <jgm-TVLZxgkOlNX2fBVCVOL8/A@public.gmane.org>
To: jcr <ffi.appdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	pandoc-discuss
	<pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Detectiing footnotes in Lua scripts
Date: Wed, 24 Nov 2021 09:59:44 -0800	[thread overview]
Message-ID: <m2y25dtoxb.fsf@MacBook-Pro-2.hsd1.ca.comcast.net> (raw)
In-Reply-To: <111b665a-1b7a-4856-bf37-d96780a07c24n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>


This is a limitation of the current architecture -- there's no
way to determine the "parent" context.  Sometimes you can work
around this by using walk_block to do a transformation inside
a particular kind of block (e.g. a footnote) -- but in this
case you want to do the transformation OUTSIDE of the block,
and that's more difficult.

Doesn't pandoc's --citeproc do this punctuation moving for you
(in the case of citations automatically added as footnotes)?
If not, try setting `notes-after-punctuation` as described in
the manual.

(If you are talking about footnotoes you insert explicitly,
instead of citations that become footnotes, then this doesn't
apply, but in that case why would you need to adjust the
punctuation?)

jcr <ffi.appdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:

> I find in Lua filters that I sometimes would like to know whether or not 
> I'm in a footnote. Currently, I'm trying to move punctuation before 
> footnotes. Given my citation style, I know that a Cite in body text will 
> produce a footnote, while a Cite in a footnote will not. So I want to move 
> punctuation before a Cite when it's not in a footnote. Since a filter 
> function for Inlines will descend into footnotes as well, there doesn't 
> seem to be any way to tell when the Cite is in a footnote.
>
> In this particular case, I can work around the limitation because any Cite 
> in a footnote will either be the first element or will have a Space before 
> it. So with that assumption, I can look for the last innermost element 
> before the Cite and check its type: if it's a Str,  can append the 
> punctuation to it and delete the punctuation from where it was. if it's a 
> Space, I do nothing, because I must be in a footnote. However, at least in 
> the long term, I'd like to be able to tell whether or not I'm in a footnote.
>
> -- 
> You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/111b665a-1b7a-4856-bf37-d96780a07c24n%40googlegroups.com.


  parent reply	other threads:[~2021-11-24 17:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24  9:49 jcr
     [not found] ` <111b665a-1b7a-4856-bf37-d96780a07c24n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-11-24 17:59   ` John MacFarlane [this message]
     [not found]     ` <m2y25dtoxb.fsf-jF64zX8BO0+FqBokazbCQ6OPv3vYUT2dxr7GGTnW70NeoWH0uzbU5w@public.gmane.org>
2021-11-25 19:02       ` FI Apps
     [not found]         ` <F6A8DF67-F34E-4FF9-A7A2-CF451E96D683-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2021-11-30 20:50           ` BPJ
     [not found]             ` <CADAJKhByRxPwZOqgkfkV6ZoSFfBZhHHX52mpyB36_ShLR40Gyg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2021-12-02 18:58               ` ffi.appdev-Re5JQEeQqe8AvxtiuMwx3w
2021-12-13 17:15   ` Albert Krewinkel
     [not found]     ` <87fsqwo28w.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2021-12-13 19:08       ` ffi.appdev-Re5JQEeQqe8AvxtiuMwx3w
     [not found]         ` <F8CB6356-E282-40D0-BCB6-36D0C8FAAF1C-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2021-12-13 20:20           ` Albert Krewinkel

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=m2y25dtoxb.fsf@MacBook-Pro-2.hsd1.ca.comcast.net \
    --to=jgm-tvlzxgkolnx2fbvcvol8/a@public.gmane.org \
    --cc=ffi.appdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    /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).