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



这个关于如何包含将出现在html中但不是pdf的文本的问题已经回答了两次(Pandoc markdown中的LaTeX多列块和Pandoc markdown:在PDF版本中省略文本但包含在HTML版本中(,我应用了推荐的解决方案:

这是来源:

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 的行为发生了变化(我的版本是 1.19 的 2016(?如果是,解决方案是什么?

我知道您要求一个适用于 pandoc 1.19 的解决方案,但为了完整起见,这里有一个更干净但仅适用于 pandoc 2.0 及更高版本的解决方案:

有一个新的raw_attribute扩展,它允许执行以下操作:

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

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

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

这边:

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

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

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

最新更新