From: Bastien DUMONT <bastien.dumont-VwIFZPTo/vqsTnJN9+BGXg@public.gmane.org>
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: converting links to footnotes... including page number in footnote??
Date: Sat, 26 Nov 2022 17:34:09 +0000 [thread overview]
Message-ID: <Y4JOEZ759MXeTFiS@localhost> (raw)
In-Reply-To: <2aec84ad-a750-48f2-a0c2-ad7572dcca11n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 4931 bytes --]
Please find attached a basic implementation. As in the attached sample HMTL file, I suppose that the targets are marked with ids on spans and that you link to it via empty <a> elements. If you have a LaTeX installation, simply do `pandoc -L links-with-page-number.lua -o test.pdf test.html` to see the result.
Le Saturday 26 November 2022 à 05:21:25AM, user account a écrit :
> Thanks! Yeah injecting html in the intermediary document doesn't sound very
> promising either (again, because the pages have to be built first before
> footnotes updated with page #s) so maybe I'll abandon weasyprint in this case,
> if this would be easy to do with a *Tex pdf engine. In that case... how would
> one go about this? Would a lua filter be more capable with a different pdf
> engine or would a different mechanism be used?
>
> On Saturday, November 26, 2022 at 5:28:31 AM UTC-5 Bastien Dumont wrote:
>
> The problem is that Pandoc does not produce the PDF document: it produces
> the intermediary HTML document that is processed by weasyprint to produce
> the PDF. So you cannot get page numbers in a Lua filter.
>
> However, you can inject raw HTML code in the intermediary file (or in your
> CSS) that will make weasyprint print the page numbers. The question is
> whether such HTML code exists. It certainly would be possible to do this if
> you converted to PDF via LaTeX, ConTeXt or groff, but I don't know if it is
> possible via weasyprint.
>
> Le Friday 25 November 2022 à 04:33:05PM, user account a écrit :
> > Using pandoc with weasyprint pdf engine to turn the markdown files from a
> blog
> > (static site generator does the html conversion) into a pdf for print.
> >
> > Would it be possible, perhaps with a custom lua filter or some other
> mechanism,
> > to add the page number of the linked-to page? The page numbers won't be
> known
> > until pandoc has already created the document, and I don't know where in
> 'the
> > pipeline' the lua filter intervenes compared to when the pages exist...?
> And
> > If the pages exist with their numbers earlier enough, is there an object
> or
> > something from which lua can get the page number?
> >
> > I haven't found anything about page numbers in [1]https://pandoc.org/
> > lua-filters.html#module-pandoc.utils ...am I looking in the wrong place?
> Can
> > anyone tell me anything about this?
> >
> > It's an intimidating rabbit hole for me, particularly because I see no
> mention
> > of "page number" there in the docs, which makes it seem kinda hopeless
> > actually. But maybe one of you know the way and could point me in that
> > direction?
> >
> > --
> > 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 [1]pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> > To view this discussion on the web visit [2][2]https://groups.google.com/
> d/msgid/
> > pandoc-discuss/a93afb43-c939-40c1-868f-1db8eded17d8n%[3]
> 40googlegroups.com.
> >
> > References:
> >
> > [1] mailto:pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> > [2] [4]https://groups.google.com/d/msgid/pandoc-discuss/
> a93afb43-c939-40c1-868f-1db8eded17d8n%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 [5]pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit [6]https://groups.google.com/d/msgid/
> pandoc-discuss/2aec84ad-a750-48f2-a0c2-ad7572dcca11n%40googlegroups.com.
>
> References:
>
> [1] https://pandoc.org/
> [2] https://groups.google.com/d/msgid/
> [3] http://40googlegroups.com/
> [4] https://groups.google.com/d/msgid/pandoc-discuss/a93afb43-c939-40c1-868f-1db8eded17d8n%40googlegroups.com?utm_medium=email&utm_source=footer
> [5] mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> [6] https://groups.google.com/d/msgid/pandoc-discuss/2aec84ad-a750-48f2-a0c2-ad7572dcca11n%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/Y4JOEZ759MXeTFiS%40localhost.
[-- Attachment #2: links-with-page-number.lua --]
[-- Type: text/plain, Size: 389 bytes --]
function Link(link)
local target = link.target
if string.sub(target, 1, 1) == '#' then
local label = string.sub(target, 2)
link.content=pandoc.RawInline('latex', 'p.~\\pageref{' .. label .. '}')
end
return link
end
function Span(span)
local id = span.identifier
if span.identifier then
return { pandoc.RawInline('latex', '\\label{' .. id .. '}'), span }
end
end
[-- Attachment #3: test.html --]
[-- Type: text/html, Size: 778 bytes --]
next prev parent reply other threads:[~2022-11-26 17:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-26 0:33 user account
[not found] ` <a93afb43-c939-40c1-868f-1db8eded17d8n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-11-26 10:28 ` Bastien DUMONT
2022-11-26 13:21 ` user account
[not found] ` <2aec84ad-a750-48f2-a0c2-ad7572dcca11n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-11-26 13:52 ` 'Håkon Wium Lie' via pandoc-discuss
[not found] ` <25474.6699.105043.345344-4mDQ13Tdud8Jw5R7aSpS0dP8p4LwMBBS@public.gmane.org>
2022-11-26 15:35 ` user account
2022-11-26 17:34 ` Bastien DUMONT [this message]
2022-11-26 22:30 ` user account
[not found] ` <480d0274-2324-43d7-9f74-1bbfc08fcbd0n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-11-27 8:56 ` Bastien DUMONT
2022-11-27 14:13 ` user account
[not found] ` <e969f1ca-c6bf-4a5e-b53f-86aa0a444db2n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-11-27 15:50 ` Bastien DUMONT
2022-11-27 16:24 ` user account
[not found] ` <858c5a07-89a0-4daa-803f-e0d9d50ca9c6n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-11-27 17:01 ` Bastien DUMONT
2022-11-28 4:01 ` user account
[not found] ` <80adcd1d-bc18-4b38-b3a9-0265d0922790n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-11-28 17:04 ` Pablo Rodríguez
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=Y4JOEZ759MXeTFiS@localhost \
--to=bastien.dumont-vwifzpto/vqstnjn9+bgxg@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).