• 使用Pandoc转换markdown等文本文档
    • Pandoc格式转换器介绍
    • Pandoc使用方法
    • pandoc转换文本文档常用命令
      • 常用参数
      • Pandoc格式转换命令

    使用Pandoc转换markdown等文本文档

    核心提示:本文主要讲述使用Pandoc转换markdown等文本文档相关内容:本文介绍了使用Pandoc转换markdown等文本文档的方法,pandoc就是一个很好的文本格式转换器。pandoc这种格式转换器能把我们用markdown写成的书,转换成latex格式。然后对得到的latex做一些自定义处理,最终得到我们想要的pdf输出格式的过程。。

    MarkDown 虽然写起来方便, 但是要预览的话还要用ReText打开, 很多人希望有一个把 markdown文件变成html格式 的工具,pandoc就是一个很好的文本格式转换器。pandoc这种格式转换器能把我们用markdown写成的书,转换成latex格式。然后对得到的latex做一些自定义处理,最终得到我们想要的pdf输出格式的过程。

    Pandoc格式转换器介绍

    基本说来,常用的格式pandoc都会支持。Pandoc输入格式可以是: MarkDown ,Textile, reStructuredText, HTML, LaTeX等,输出语言非常丰富,包括: markdown, reStructuredText, XHTML, HTML 5, LaTeX , ConTeXt,RTF, DocBook XML, OpenDocument XML, ODT, Word docx, GNU Texinfo, MediaWiki markup, EPUB, Textile, groff man, Emacs Org-Mode, AsciiDoc, Slidy, DZSlides, S5 HTML slide shows. 如果安装了 LaTeX ,甚至还可以输出为 PDF 格式!

    当然,Pandoc Markdown不是万能的,表格、复杂公式、多国语言、上下标、交叉引用、图表对齐较多的场合,它并不适合。但是需要互动、实时展现、更快输出的场合,Pandoc Markdown等值得大力推荐。未来互联网会逼使写作趋简。需要更快发表、互动输出与交流的场合,也会越来越多。比如课堂作业、企业内部交流、个人博客。用它节省的时间是写作时比较关键的”创作时间”而非”排版时间”。

    Pandoc使用方法

    1. 从 code.google.com/p/pandoc/downloads/list 下载适合操作系统的程序
    2. 安装的话,如果是windows,一路next就好了,会自动加入到system path里面
    3. 终端安装使用 sudo apt-get install pandoc
    4. pandoc是个命令行程序,所有操作通过命令行来完成

    pandoc转换文本文档常用命令

    常用参数

    • -f 输入格式(如果没有制定格式,则根据后缀名判断,如果没后缀名,则默认为markdown)
    • -t 输输出格式(默认为html)
    • -o 如果没有的话(默认是STDOUT)

    Pandoc格式转换命令

    a: 转换为html格式。这里—ascii可以避免转成utf-8编码,这样中文在浏览器上就不会乱码了。命令为

    1. pandoc -f markdown -t html higrid.net.txt -o newfile.html
    2. pandoc --ascii higrid.net.txt -o newfile.html

    b: 转为pdf格式。注意,为了正确转换中文文本,请修改模板文件,在模板文件第一行下方加入 \usepackage{ctex} 命令为

    1. pandoc --latex-engine=xelatex yourfile.txt -o newfile.pdf

    在windows 中使用时,新建文本文档,改后缀名为cmd,然后插入这样代码:

    1. cd
    2. pandoc -f markdown -t html in.txt -o out.html

    保存后双击运行,就可以自动把当前目录下in.txt文件转换为out.html文件,非常方便!

    详细的使用说明可以查找安装目录里面的 README.html 文件!看看帮助:

    1. $ pandoc -h
    2. pandoc [OPTIONS] [FILES]
    3. Input formats: native, markdown, markdown+lhs, rst, rst+lhs, html, latex, latex+lhs
    4. Output formats: native, html, html+lhs, s5, docbook, opendocument, odt, latex, latex+lhs, context, texinfo, man, markdown, markdown+lhs, plain, rst, rst+lhs, mediawiki, rtf
    5. Options:
    6. -f FORMAT, -r FORMAT --from=FORMAT, --read=FORMAT
    7. -t FORMAT, -w FORMAT --to=FORMAT, --write=FORMAT
    8. -s --standalone
    9. -o FILENAME --output=FILENAME
    10. -p --preserve-tabs
    11. --tab-stop=TABSTOP
    12. --strict
    13. --reference-links
    14. -R --parse-raw
    15. -S --smart
    16. -m[URL] --latexmathml[=URL], --asciimathml[=URL]
    17. --mathml[=URL]
    18. --mimetex[=URL]
    19. --jsmath[=URL]
    20. --gladtex
    21. -i --incremental
    22. --xetex
    23. -N --number-sections
    24. --no-wrap
    25. --sanitize-html
    26. --email-obfuscation=none|javascript|references
    27. --id-prefix=STRING
    28. --indented-code-classes=STRING
    29. --toc, --table-of-contents
    30. --base-header-level=LEVEL
    31. --template=FILENAME
    32. -V FILENAME --variable=FILENAME
    33. -c URL --css=URL
    34. -H FILENAME --include-in-header=FILENAME
    35. -B FILENAME --include-before-body=FILENAME
    36. -A FILENAME --include-after-body=FILENAME
    37. -C FILENAME --custom-header=FILENAME
    38. -T STRING --title-prefix=STRING
    39. --reference-odt=FILENAME
    40. -D FORMAT --print-default-template=FORMAT
    41. --data-dir=DIRECTORY
    42. --dump-args
    43. --ignore-args
    44. -v --version
    45. -h --help

    真是more than I’ve expected! markdown/rst/html/latex之间可以互转!

    使用pandoc命令就可以在随便转换了, 示例, 把demo.md输出成demo.html:

    1. `$pandoc -f markdown -t html -o demo.html demo.md`