这个关于如何包含将出现在html而不是pdf中的文字的问题已被回答两次(LaTeX multicolumn block in Pandoc markdown和Pandoc 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)?如果是,解决方案是什么?
答案 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>
的有趣副作用。需要停用此行为才能获得所需的效果。
如果有人有更好的解决方案或更好的解释,请告诉我。