From: Lyndon Drake <isenguard-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Moving footnotes to just after paragraph with the citation
Date: Thu, 23 Nov 2023 08:21:50 -0800 (PST) [thread overview]
Message-ID: <94b41d5e-7edd-4176-ba72-1f7f5ab697fcn@googlegroups.com> (raw)
In-Reply-To: <CAEe_xxh74qC5fLmzhoMjS1gyWwyo=rSKVmbXTs--fH8me-EAeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 4538 bytes --]
I think a custom writer is a bit beyond my capability at the moment. I can
see that you can do some very cool stuff with custom writers though!
On Wednesday, 22 November 2023 at 04:54:46 UTC-8 William Lupton wrote:
> If --reference-location=block turns out not to be sufficient, I don't
> think a lua filter will help, but a custom writer could (the writer is
> responsible for handling footnotes).
>
> On Wed, 22 Nov 2023 at 12:23, EBkysko <ebk...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
>> Note there's a caveat to this solution: as the guide mentions, with
>> 'block' the notes are placed at the end of the current **top-level** block,
>> which might not be the paragraph itself.
>>
>> Examples:
>>
>> - If the paragraph is an item in a list, the note is placed below the
>> list, not the item (and below main list if a nested list).
>> - If the paragraph is within a fenced div, the note is placed after
>> the fenced div.
>> - A corollary to the above: if a filter uses `make_sections`, the
>> notes might end up at end of document after all.
>>
>>
>> On Tuesday, November 21, 2023 at 9:55:26 PM UTC-5 Lyndon Drake wrote:
>>
>>> Brilliant @EBkysko — that works exactly as I'd hoped. Thank you!
>>>
>>> On Tuesday, 21 November 2023 at 19:11:24 UTC-6 EBkysko wrote:
>>>
>>>> try (with markdown output
>>>> <https://pandoc.org/MANUAL.html#options-affecting-specific-writers>)
>>>>
>>>> ```
>>>> --reference-location=block
>>>> ```
>>>>
>>>> On Tuesday, November 21, 2023 at 4:23:57 PM UTC-5 Gwern Branwen wrote:
>>>>
>>>>> This seems possibly tricky? I don't know what the Lua filters can or
>>>>> cannot do, but I'm not sure how one could solve this using just the Haskell
>>>>> API... Pandoc was not designed as a source-2-source processor so it doesn't
>>>>> make much effort to support Markdown-to-Markdown passes - like the obvious
>>>>> roundtrip will potentially change your Markdown formatting to a
>>>>> semantically-equivalent but entirely different-looking Markdown doc.
>>>>> (Macfarlane has said repeatedly that this will not be changed.)
>>>>>
>>>>> In your case, footnotes throw away the positioning information.
>>>>> Consider the 3 possibilities:
>>>>>
>>>>> Foo[^foo].
>>>>>
>>>>> Foo bar^[Bar.]
>>>>>
>>>>> Foo baz[^baz]
>>>>>
>>>>> [^baz]: Baz.
>>>>>
>>>>> [^foo]: foo.
>>>>>
>>>>> This parses into:
>>>>>
>>>>> [ Para
>>>>> [ Str "Foo" , Note [ Para [ Str "foo." ] ] , Str "." ]
>>>>> , Para
>>>>> [ Str "Foo"
>>>>> , Space
>>>>> , Str "bar"
>>>>> , Note [ Para [ Str "Bar." ] ]
>>>>> ]
>>>>> , Para
>>>>> [ Str "Foo"
>>>>> , Space
>>>>> , Str "baz"
>>>>> , Note [ Para [ Str "Baz." ] ]
>>>>> ]
>>>>> ]
>>>>>
>>>>> So you can't know 'where' a footnote body was put, whether at the end
>>>>> of the doc or elsewhere.
>>>>>
>>>>> Further, Pandoc will write out the Markdown according to its own
>>>>> conventions, which go opposite of what you want, by putting *all* footnote
>>>>> bodies at the end, regardless of where they were or whether they could be
>>>>> inline footnotes, and the Markdown writer probably takes no options which
>>>>> would change that:
>>>>>
>>>>> Foo[^1].
>>>>>
>>>>> Foo bar[^2]
>>>>>
>>>>> Foo baz[^3]
>>>>>
>>>>> [^1]: foo.
>>>>>
>>>>> [^2]: Bar.
>>>>>
>>>>> [^3]: Baz.
>>>>>
>>>>> --
>>>>> gwern
>>>>> https://gwern.net <https://www.gwern.net>
>>>>>
>>>> --
>> 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-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/pandoc-discuss/ff6a6898-e1c0-413f-b6c2-d81ea2d949d4n%40googlegroups.com
>> <https://groups.google.com/d/msgid/pandoc-discuss/ff6a6898-e1c0-413f-b6c2-d81ea2d949d4n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
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/94b41d5e-7edd-4176-ba72-1f7f5ab697fcn%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 7150 bytes --]
prev parent reply other threads:[~2023-11-23 16:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-21 20:24 Lyndon Drake
[not found] ` <868187f2-1fd4-4009-b48e-2a948749b518n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-11-21 21:23 ` Gwern Branwen
[not found] ` <CAMwO0gw1W6_CHiCr8RGfDkLjt-dTg4y9dPkbU2UouZt=1Lj3Cg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-11-22 1:11 ` EBkysko
[not found] ` <aa407627-870e-474e-856e-49559c74d46cn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-11-22 2:55 ` Lyndon Drake
[not found] ` <3b95f72e-34ba-486b-9b5d-2b0d01a49088n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-11-22 12:23 ` EBkysko
[not found] ` <ff6a6898-e1c0-413f-b6c2-d81ea2d949d4n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-11-22 12:54 ` 'William Lupton' via pandoc-discuss
[not found] ` <CAEe_xxh74qC5fLmzhoMjS1gyWwyo=rSKVmbXTs--fH8me-EAeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-11-23 16:21 ` Lyndon Drake [this message]
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=94b41d5e-7edd-4176-ba72-1f7f5ab697fcn@googlegroups.com \
--to=isenguard-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).