Pandoc过滤器tikz.py返回"不是有效的json值"

时间:2016-11-11 07:51:53

标签: json python-2.7 markdown pandoc tikz

我使用tikz.py pandocfilter将markdown文件中的latex tikz代码转换为输出html文件中的图像。我正在运行pandoc版本1.17.0.2,python 2.7.10和ImageMagick 6.9.6-4。我的pandoc命令是:

pandoc -s -c --mathjax -i- t slidy tik.md --filter tikz.py -o tik.html

(但是我尝试过没有滑动或者mathjax的更简单的命令,他们也提出了相同的问题)

tik.md包含简单的tikz环境:

\begin{tikzpicture}
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\end{tikzpicture}

tikz.py运行良好,似乎成功生成了图像:

  

$ pandoc -s -c --mathjax -i -t slidy tik.md --filter tikz.py -o tik.html

     

这是pdfTeX,版本3.14159265-2.6-1.40.16(TeX Live 2015)   (preloaded format = pdflatex)restricted \ write18 enabled。

     

进入扩展模式

     

(./ tikz.tex

     

LaTeX2e< 2015/01/01>

     

巴别塔......

     

.....

     

[1](./tikz.aux))

     

输出写在tikz.pdf上(1页,1077字节)。

     

在tikz.log上写的成绩单。

     

创建图片tikz-images / 53200b26dfa2c05d2b92647ef74211f7a2ce0c0e.png

     

pandoc:$中的错误:读取失败:不是有效的json值

我使用的是未经改动的tikz.py,所以我不清楚问题的根源在哪里。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我刚刚在Ruby过滤器中遇到了同样的事情,最后发现这是因为我试图将调试输出写入标准输出。由于滤波器必须读取标准输入并写入标准输出,因此标准输出上的任何调试输出都会破坏。

在我的Ruby过滤器中,我必须将puts 'debug stuff'更改为STDERR.puts 'debug stuff'