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-/JYPxA39Uh5TLH3MbocFFw@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.