文/甄谨言 Pandoc使用Haskell语言编写,跨平台,可以转换几乎所有你能想到的文件格式,真的是转换神器。Haskell语言据说是一群高智商群体玩的东西,函数式编程语言的典范,而Pandoc则是这门语言的优秀作品之一。

光说它由多强大不足以信服人,我们在终端输入

pandoc --help

于是开始显摆它的万能了

Input formats:  docbook, docx, epub, haddock, html, json, latex, markdown,
                markdown_github, markdown_mmd, markdown_phpextra,
                markdown_strict, mediawiki, native, opml, org, rst, t2t,
                textile, twiki
Output formats: asciidoc, beamer, context, docbook, docx, dokuwiki, dzslides,
                epub, epub3, fb2, haddock, html, html5, icml, json, latex, man,
                markdown, markdown_github, markdown_mmd, markdown_phpextra,
                markdown_strict, mediawiki, native, odt, opendocument, opml,
                org, pdf*, plain, revealjs, rst, rtf, s5, slideous, slidy,
                texinfo, textile
                [*for pdf output, use latex or beamer and -o FILENAME.pdf]


本文目录

  1. Pandoc的安装

  2. Pandoc的配置

  3. Pandoc的使用


1. Pandoc 的安装

Pandoc有两种安装方式

2. Pandoc的配置

Pandoc 的一切命令可以在 shell 中完成,但是为了能够实时修改编辑的效果,我们需要和其他编辑器、软件搭配起来使用,下面给出一些建议

  • 作者用的是textmate + Marked 2
  • 多数Pandoc用户使用的是vim-pandoc
  • Linux/windows 用户可以考虑使用Smark

3. Pandoc的使用

3.1 .markdown to .tex

学院工作者用来发文章用的最多的恐怕就是 Latex 了,Latex 可以排版出优美的数学公式,几乎是科学期刊和大型图书的标准规范。但是, 学习Latex并不像 Microsoft Word 那样所见即所得、容易上手。相信平时写些总结、report、博客 之类的都很难用 Latex,转而用语法比较简单地 markdown 和 Word。Pandoc 就提供了一种把这效率和形式结合起来的可能性,你可以用 markdown 写文章,然后用Pandoc 转换为.tex 和.docx 进行编辑,.markdown to .tex使公式排版可以依然使用 Latex 语言。

pandoc -N --toc --latex-engine=xelatex --template=pmtemplate.latex input.md -o output.tex

下面对其中的命令分别说明下

  • -N:为每个章节加上编号
  • --toc:增添目录
  • --latex-engine=xelatex:用 XeLatex 编译
  • --template=pmtemplate.latex:使用当前目录下地模板
  • -o:后面紧接你要输出的文件名及类型 点击下载pmtemplate.latex模板

3.2 使用 Pandoc 做一些很酷的事

1.用 markdown 语言写 PPT 的提纲,然后输出 PPT 的 pdf 格式,

pandoc --template=beamer-template.tex --latex-engine=xelatex -s -i -t beamer [SLIDES.md](http://johnmacfarlane.net/pandoc/demo/SLIDES) -o output.pdf

对上面命令行用到的参数进行说明

  • -s:加上页眉、页尾
  • -i: PPT 放映采用渐进式
  • -t beamer: 输出采用幻灯片样式

2.用 markdown 语言写 PPT 的提纲,然后输出 PPT 的 Html 格式,并且有多种模板选择

目前Pandoc包含了对五种HTML幻灯片框架的支持:

S5、Slideous、reveal.js需要安装,安装过程可以参考http://www.soimort.org/posts/165/ 下面直接把坐着常用的写下来

pandoc -s --latexmathml --self-contained -i -t dzslides SLIDES.md -o SLIDESa.html
pandoc -s --latexmathml --self-contained -i -t slidy SLIDES.md -o SLIDESb.html
pandoc -s --latexmathml --self-contained -i -t revealjs SLIDES.md -o SLIDESc.html
pandoc -s --latexmathml --self-contained -i -t s5 SLIDES.md -o output.html

点击查看文件效果

注意:要使 Latex公式 编译成功,还需要去A Brief Introduction to LaTeXMathML下载下面两个文档到当前文件夹,

并且在生成后的 html 文件写入

<script type="text/javascript" src="LaTeXMathML.js"></script>
<link rel="stylesheet" type="text/css" href="LaTeXMathML.standardarticle.css"/>

有用的链接

返回目录

发布时间

10 January 2015

类别目录


标签


扫描二维码加我哦^_^