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 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 >>> ) >>> >>> ``` >>> --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 >>>> >>> -- > 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/ff6a6898-e1c0-413f-b6c2-d81ea2d949d4n%40googlegroups.com > > . > -- 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/CAEe_xxh74qC5fLmzhoMjS1gyWwyo%3DrSKVmbXTs--fH8me-EAeg%40mail.gmail.com.