Pandoc“--filter”选项不适用于“comments.py”脚本

时间:2015-08-09 17:25:38

标签: python pandoc

我正在尝试使用'comments.py'脚本(来自存储库github.com/aaren/pandocfilters)并使用以下命令:

Pandoc -o myOutput.tex myInput.html --filter ./comments.py

但它不起作用。

Pandoc始终会转换标记<!-- BEGIN COMMENT --><!-- END COMMENT -->之间的文字并删除评论。

有人可以帮我弄清问题是什么?

PS:我测试了'caps.py'脚本(来自同一个repo)并且它工作正常,但'comments.py'没有。

我需要忽略指定标签之间的文字。

这是我的HTML输入:

<i> normal text </i> 

<!-- BEGIN COMMENT -->

<i> ignore this line </i> 

<!-- END COMMENT -->

<b> normal text 2 </b>

这是我的LaTeX输出:

\emph{normal text} 

\emph{ignore this line} 

\textbf{normal text 2}

提前致谢!

1 个答案:

答案 0 :(得分:1)

过滤器不起作用的原因是因为当Pandoc读取HTML时,它不会对其进行注释。另一方面,当Pandoc读取Markdown时,它将注释存储在其AST中RawBlock 'html'

因此您需要使用带有降价输入的过滤器,例如:

normal text

<!-- BEGIN COMMENT -->

ignore this line

<!-- END COMMENT -->

normal text 2
pandoc -o myOutput.tex myInput.md --filter ./comments.py

或者只使用简单的HTML注释:

<i> normal text </i> 

<!--

<i> ignore this line </i> 

-->

<b> normal text 2 </b>