This question of how to include text that will appear in html but not pdf has been answered twice (LaTeX multicolumn block in Pandoc markdown and Pandoc markdown: Omit text in PDF version but include in HTML version) and I applied the solution recommended:
Here is the source:
My text.
<div>
This will be ignored in non-HTML output
</div>
Other text
The command I used was:
pandoc essai.md --from=markdown-markdown_in_html_blocks -o essai.pdf
Yet the text between the <div>
tags is still displayed in the pdf file.
Am I missing something obvious? Or has the behaviour of pandoc changed since 2013/2014 (my version is 1.19 of 2016)? If yes, what would the solution be?
I know you asked for a solution that works with pandoc 1.19, but for completeness, here is one which is a bit cleaner but only works with pandoc 2.0 and later:
There is a new raw_attribute extension, which allows to do the following:
`text in html`{=html}
`text in pdf`{=latex}
It is enabled in pandoc markdown per default.
I found an answer: add the -native_divs
extension.
This way:
$ pandoc essai.md --from=markdown-markdown_in_html_blocks-native_divs -t latex
My text.
other text
My understanding is that pandoc has started interpreting <div>
items as "native" elements, i.e. represented in the AST, which causes the interesting side effect that a <p>
is added in html. This behaviour needs to be deactivated in order to obtain the desired effect.
If someone has a better solution or a better explanation, please let me know.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With