Pandoc Markdown:忽略PDF中的文本(但包含在HTML中)更新了?

时间:2018-01-03 19:13:11

标签: html pandoc

这个关于如何包含将出现在html而不是pdf中的文字的问题已被回答两次(LaTeX multicolumn block in Pandoc markdownPandoc markdown: Omit text in PDF version but include in HTML version)并且我应用了建议的解决方案:

以下是来源:

My text.

<div>
This will be ignored in non-HTML output
</div>

Other text

我使用的命令是: pandoc essai.md --from=markdown-markdown_in_html_blocks -o essai.pdf

然而,<div>标签之间的文字仍显示在pdf文件中。

我错过了一些明显的东西吗?或者自2013/2014年以来pandoc的行为发生了变化(我的版本是2016年的1.19)?如果是,解决方案是什么?

2 个答案:

答案 0 :(得分:4)

我知道你要求一个与pandoc 1.19兼容的解决方案,但为了完整性,这里有一个更干净但只适用于pandoc 2.0及更高版本:

有一个新的 raw_attribute 扩展程序,可以执行以下操作:

`text in html`{=html}
`text in pdf`{=latex}

默认情况下,它在pandoc markdown中启用。

答案 1 :(得分:3)

我找到了答案:添加-native_divs扩展名。

这样:

$ pandoc essai.md --from=markdown-markdown_in_html_blocks-native_divs -t latex
My text.

other text

我的理解是pandoc已经开始将<div>项解释为“本机”元素,即在AST中表示,这会导致在html中添加<p>的有趣副作用。需要停用此行为才能获得所需的效果。

如果有人有更好的解决方案或更好的解释,请告诉我。