From: bapt a <auguieba-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: latex macros expansion as a Lua filter?
Date: Tue, 17 Jan 2023 16:50:09 -0800 (PST) [thread overview]
Message-ID: <b1e37c1b-8529-4374-b16c-bfc8f0e44213n@googlegroups.com> (raw)
In-Reply-To: <2951DE27-E21B-4C3B-BFEA-BF370ECF50EA-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 3506 bytes --]
I see, thanks. If I'm understanding this correctly, pandoc already performs
such macro expansions (for non-latex output), so the only thing preventing
it in the context of a Quarto html book is that one needs to include the
macros alongside each chapter, as they are processed separately
(https://github.com/quarto-dev/quarto-cli/discussions/1045).
It's therefore more of a Quarto feature, to make sure the macros are copied
over with each chapter, but there's no need for an elaborate filter to
implement this.
Many thanks,
baptiste
On Wednesday, 18 January 2023 at 10:07:00 UTC+13 fiddlosopher wrote:
> Well, you could use the Lua ‘read’ function to read in a snippet
> consisting of the macro definitions + the math.
> e.g.
>
> pandoc -f latex -t native
> \newcommand{\pie}{\pi}
> $\pie^2$
> ^D
> [ Para [ Math InlineMath "\\pi^2" ] ]
>
> On Jan 17, 2023, at 11:17 AM, bapt a <augu...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> Hi,
>
> I've found it useful in some situations to expand all custom LaTeX macros
> (such as `\newcommand{\Curl}{\nabla\times}`, for example) in a document
> before rendering it.
> For example, with Quarto being used to produce a book in both pdf and html
> formats, the macros stored in a file `_macros.tex` are processed
> differently in the LaTeX path (simply including `_macros.tex` in the
> preamble) and in the Html version (where Mathjax needs to be given such
> macros for every page that it renders; it doesn't work to provide it once
> for the whole book/website).
>
> An alternative that sounds quite robust would be to run something like
> de-macro (https://www.ctan.org/tex-archive/support/de-macro) on the
> source document before it is rendered: the macros are still used for
> convenience of writing in the input file, but they get expanded explicitly
> before LaTeX or Mathjax is asked to render.
>
> Unfortunately, de-macro is a Python script, and might be a little fragile
> as it processes whole documents with regex. I wonder if achieving the same
> thing would be easier with a Lua filter in pandoc? Presumably, having
> already all the equations isolated in the AST makes life a bit easier, and
> I believe there is already a mechanism in pandoc to process and expand
> `\newcommand` directives for non-latex output. Is this mechanism available
> to a Lua filter that could be used in a Quarto workflow?
>
> Many thanks,
>
> baptiste
>
>
>
>
>
> --
> 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/a5d780b9-2dcc-4cc4-bade-29bae4777811n%40googlegroups.com
> <https://groups.google.com/d/msgid/pandoc-discuss/a5d780b9-2dcc-4cc4-bade-29bae4777811n%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/b1e37c1b-8529-4374-b16c-bfc8f0e44213n%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 6120 bytes --]
next prev parent reply other threads:[~2023-01-18 0:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-17 19:17 bapt a
[not found] ` <a5d780b9-2dcc-4cc4-bade-29bae4777811n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-01-17 21:06 ` John MacFarlane
[not found] ` <2951DE27-E21B-4C3B-BFEA-BF370ECF50EA-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2023-01-18 0:50 ` bapt a [this message]
[not found] ` <b1e37c1b-8529-4374-b16c-bfc8f0e44213n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-01-18 3:54 ` John MacFarlane
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=b1e37c1b-8529-4374-b16c-bfc8f0e44213n@googlegroups.com \
--to=auguieba-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).