核心提示:本文主要讲述使用Pandoc转换markdown等文本文档相关内容:本文介绍了使用Pandoc转换markdown等文本文档的方法,pandoc就是一个很好的文本格式转换器。pandoc这种格式转换器能把我们用markdown写成的书,转换成latex格式。然后对得到的latex做一些自定义处理,最终得到我们想要的pdf输出格式的过程。。
MarkDown 虽然写起来方便, 但是要预览的话还要用ReText
打开, 很多人希望有一个把 markdown文件变成html格式 的工具,pandoc
就是一个很好的文本格式转换器。pandoc
这种格式转换器能把我们用markdown写成的书,转换成latex格式。然后对得到的latex做一些自定义处理,最终得到我们想要的pdf输出格式的过程。
基本说来,常用的格式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等值得大力推荐。未来互联网会逼使写作趋简。需要更快发表、互动输出与交流的场合,也会越来越多。比如课堂作业、企业内部交流、个人博客。用它节省的时间是写作时比较关键的"创作时间"而非"排版时间"。
sudo apt-get install pandoc
a: 转换为html格式。这里--ascii可以避免转成utf-8编码,这样中文在浏览器上就不会乱码了。命令为
pandoc -f markdown -t html higrid.net.txt -o newfile.html
pandoc --ascii higrid.net.txt -o newfile.html
b: 转为pdf格式。注意,为了正确转换中文文本,请修改模板文件,在模板文件第一行下方加入 \usepackage{ctex}
命令为
pandoc --latex-engine=xelatex yourfile.txt -o newfile.pdf
在windows 中使用时,新建文本文档,改后缀名为cmd,然后插入这样代码:
cd
pandoc -f markdown -t html in.txt -o out.html
保存后双击运行,就可以自动把当前目录下in.txt文件转换为out.html文件,非常方便!
详细的使用说明可以查找安装目录里面的 README.html 文件!看看帮助:
$ pandoc -h
pandoc [OPTIONS] [FILES]
Input formats: native, markdown, markdown+lhs, rst, rst+lhs, html, latex, latex+lhs
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
Options:
-f FORMAT, -r FORMAT --from=FORMAT, --read=FORMAT
-t FORMAT, -w FORMAT --to=FORMAT, --write=FORMAT
-s --standalone
-o FILENAME --output=FILENAME
-p --preserve-tabs
--tab-stop=TABSTOP
--strict
--reference-links
-R --parse-raw
-S --smart
-m[URL] --latexmathml[=URL], --asciimathml[=URL]
--mathml[=URL]
--mimetex[=URL]
--jsmath[=URL]
--gladtex
-i --incremental
--xetex
-N --number-sections
--no-wrap
--sanitize-html
--email-obfuscation=none|javascript|references
--id-prefix=STRING
--indented-code-classes=STRING
--toc, --table-of-contents
--base-header-level=LEVEL
--template=FILENAME
-V FILENAME --variable=FILENAME
-c URL --css=URL
-H FILENAME --include-in-header=FILENAME
-B FILENAME --include-before-body=FILENAME
-A FILENAME --include-after-body=FILENAME
-C FILENAME --custom-header=FILENAME
-T STRING --title-prefix=STRING
--reference-odt=FILENAME
-D FORMAT --print-default-template=FORMAT
--data-dir=DIRECTORY
--dump-args
--ignore-args
-v --version
-h --help
真是more than I've expected! markdown/rst/html/latex之间可以互转!
使用pandoc命令就可以在随便转换了, 示例, 把demo.md输出成demo.html:
`$pandoc -f markdown -t html -o demo.html demo.md`