public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: John MacFarlane <jgm-TVLZxgkOlNX2fBVCVOL8/A@public.gmane.org>
To: James Madgwick
	<madgemade-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	pandoc-discuss
	<pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Raw content not working in header-includes for ODT
Date: Wed, 30 Jun 2021 12:32:13 -0700	[thread overview]
Message-ID: <yh480kim1vrvwi.fsf@johnmacfarlane.net> (raw)
In-Reply-To: <b76a0256-4a21-468f-a04e-d7e7b6676d56n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>


Here's my guess about what's going on.

Although the --metadata-file is always parsed as Markdown,
the extensions that are enabled are taken from the input
format.

Since odt input doesn't include the raw_attribute extension
by default (and doesn't even allow it), your content gets
interpreted in a way you don't intend.

I'm not sure what to suggest in the way of a workaround,
other than using a defaults file.

James Madgwick <madgemade-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:

> This seemed to be a bug, but after a taking a closer look it seems to 
> something which is not supported, although I'm not sure why that is. So I 
> thought I'd post here to explain.
>
> When the source file is ODT, raw content (LaTex commands) in 
> "header-includes" inside a YAML I'm passing in with '--metadata-file' is 
> interpreted as plain text, causing invalid LaTex to be generated and placed 
> in the header. This is ultimately because "The extension raw_attribute is 
> not supported for odt".
>
> This is the YAML:
>
> title: Example Title
> header-includes:
> - |
>   ```{=latex}
>   \usepackage{tocloft}
>   \setlength{\cftsubsecnumwidth}{2.8em}
>   \setlength{\cftsubsubsecnumwidth}{3.6em}
>   ```
>
> When trying to create a PDF with "pandoc Untitled.odt --metadata-file 
> test.yml -o test.pdf
> " an error is given by pdftex. This is because the Tex added to the header 
> is not what I was expecting (based on previously using Pandoc with markdown 
> as input).
>
> This is the invalid (for pre-document) LaTex added to the header:
>
> \texttt{\{=latex\}\ \textbackslash{}usepackage\{tocloft\}\ 
> \textbackslash{}setlength\{\textbackslash{}cftsubsecnumwidth\}\{2.8em\}\ 
> \textbackslash{}setlength\{\textbackslash{}cftsubsubsecnumwidth\}\{3.6em\}}
>
> The Manual says to use the raw_attribute extension to prevent the 
> 'header-includes' being interpreted as markdown. This is enabled by default 
> for markdown input, so I thought maybe it is just not enabled for ODT. 
> Trying "pandoc Untitled.odt --from odt+raw_attribute --metadata-file 
> test.yml -o test.pdf" gives me the error "The extension raw_attribute is 
> not supported for odt". At this point I knew I hadn't found a bug.
>
> The Manual doesn't say about which formats are supported as input files 
> when trying to add raw content with 'header-includes' and in effect when 
> using 'raw-attribute'. It might be useful if this was added to prevent 
> anyone else trying to use 'header-includes' when the source file is an ODT 
> document.
>
> I was able to get the result I was originally looking for by placing the 
> LaTex commands in a separate file and using the '--include-in-header' 
> option. However, I'm not sure why ODT wouldn't support raw_attribute for 
> just the YAML metadata. I suppose because it's not supported for the input 
> document (ODT) itself and so isn't available when parsing the YAML either. 
> I admit this is an unusual case, as normally '--metadata-file' wouldn't be 
> used with ODT input.
>
> Thanks,
> James
>
> -- 
> 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/b76a0256-4a21-468f-a04e-d7e7b6676d56n%40googlegroups.com.


  parent reply	other threads:[~2021-06-30 19:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-30 18:38 James Madgwick
     [not found] ` <b76a0256-4a21-468f-a04e-d7e7b6676d56n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-06-30 19:32   ` John MacFarlane [this message]
     [not found]     ` <yh480kim1vrvwi.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2021-06-30 20:10       ` James Madgwick
     [not found]         ` <eed48a94-5f75-4583-97d0-5ad1a00af64bn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-06-30 22:49           ` 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=yh480kim1vrvwi.fsf@johnmacfarlane.net \
    --to=jgm-tvlzxgkolnx2fbvcvol8/a@public.gmane.org \
    --cc=madgemade-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).