public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: EBkysko <ebkysko-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: Wed, 22 Nov 2023 04:23:55 -0800 (PST)	[thread overview]
Message-ID: <ff6a6898-e1c0-413f-b6c2-d81ea2d949d4n@googlegroups.com> (raw)
In-Reply-To: <3b95f72e-34ba-486b-9b5d-2b0d01a49088n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>


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

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

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

  parent reply	other threads:[~2023-11-22 12:23 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 [this message]
     [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

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=ff6a6898-e1c0-413f-b6c2-d81ea2d949d4n@googlegroups.com \
    --to=ebkysko-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).