Pandoc
如果你需要将文档从一种格式转换成另一种格式,那么Pandoc是你的一把瑞士军刀,Pandoc可以将下列格式文档进行相互转换。
Markdown
、Microsoft Word
、OpenOffice/LibreOffice
、Jupyter notebook
、HTML
、EPUB
、roff man
、LaTeX
、甚至是
安装
windows
下载地址:windows下载
也可以通过Chocolatey来安装。
choco install pandoc
# 其他Pandoc软件安装
choco install rsvg-convert python miktex
复制
macOS
brew install pandoc
# Pandoc解析器
brew install pandoc-citeproc
# 其他Pandoc软件安装
brew install librsvg python homebrew/cask/basictex
复制
Linux
sudo yum install pandoc
# 如果想输出PDF,可以安装TeX Live
sudo yum install texlive
复制
Ubuntu/Debian
sudo apt install pandoc
# 如果想输出PDF,可以安装TeX Live
sudo apt install texlive
复制
使用
经过上面的安装,我们可以使用了。
验证
[frank@LAPTOP-0OCJTGJR ~]$ pandoc --version
pandoc 1.12.3.1
Compiled with texmath 0.6.6, highlighting-kate 0.5.6.
Syntax highlighting is supported for the following languages:
actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell,
lua, makefile, mandoc, markdown, matlab, maxima, metafont, mips, modelines,
modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml,
octave, pascal, perl, php, pike, postscript, prolog, python, r,
relaxngcompact, restructuredtext, rhtml, roff, ruby, rust, scala, scheme,
sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl, texinfo, verilog, vhdl,
xml, xorg, xslt, xul, yacc, yaml
Default user data directory: /home/frank/.pandoc
Copyright (C) 2006-2013 John MacFarlane
Web: http://johnmacfarlane.net/pandoc
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
复制
小试牛刀
虽然下面的方法不怎么常用,我们先通过命令行的一个简单例子认识一下Pandoc
例子一:markdown 转 html
[frank@LAPTOP-0OCJTGJR pandoc]$ pandoc # 标题一 ## 标题二 > 摘要
复制
这是按下Ctrl-D,看看会发生什么?
<h1 id="标题一">标题一</h1>
<h2 id="标题二">标题二</h2>
<blockquote>
<p>摘要</p>
</blockquote>
复制
例子二:html 转 LaTeX
[frank@LAPTOP-0OCJTGJR pandoc]$ pandoc -f html -t markdown
<h1 id="标题一">标题一</h1>
<h2 id="标题二">标题二</h2>
<blockquote>
<p>摘要</p>
</blockquote>
复制
这时再次按下Ctrl-D,看看会发生了什么?
标题一 ====== 标题二 ------ > 摘要
复制
我们是不是可以将markdown转换成LaTeX了?你会怎么使用命令组合呢?
文本转换
好了,玩够了,我们正式开始
文本转换
。
编辑文档
使用任意你喜欢的文本编辑器编辑如下文档并保持为.md文件。这里保持成test1.md
--- title: Test ... # Test! This is a test of *pandoc*. - list one - list two
复制
markdown 转 html
[frank@LAPTOP-0OCJTGJR pandoc]$ pandoc test1.md -f markdown -t html -s -o test1.html [frank@LAPTOP-0OCJTGJR pandoc]$ ll total 4 -rw-rw-r-- 1 frank frank 629 Feb 4 22:06 test1.html -rw-rw-r-- 1 frank frank 81 Feb 4 22:05 test1.md
复制
介绍一下参数
-s选项表示创建一个“独立”文件,其中包含页眉和页脚,而不仅仅是片段
-o test1.html 将输出放入文件中test1.html
-f markdown和-t html 表示,from markdown格式 to html格式,Pandoc模式就是从markdown转成html。
markdown 转 LaTeX
[frank@LAPTOP-0OCJTGJR pandoc]$ pandoc test1.md -f markdown -t latex -s -o test1.tex [frank@LAPTOP-0OCJTGJR pandoc]$ ll total 8 -rw-rw-r-- 1 frank frank 629 Feb 4 22:06 test1.html -rw-rw-r-- 1 frank frank 81 Feb 4 22:05 test1.md -rw-rw-r-- 1 frank frank 1627 Feb 4 22:17 test1.tex
复制
当然,你也可以直接用下面的命令
[frank@LAPTOP-0OCJTGJR pandoc]$ pandoc test1.md -s -o test2.tex [frank@LAPTOP-0OCJTGJR pandoc]$ ll total 12 -rw-rw-r-- 1 frank frank 629 Feb 4 22:06 test1.html -rw-rw-r-- 1 frank frank 81 Feb 4 22:05 test1.md -rw-rw-r-- 1 frank frank 1627 Feb 4 22:17 test1.tex -rw-rw-r-- 1 frank frank 1627 Feb 4 22:18 test2.tex
复制
以为你的文件后缀是.tex,那么Pandoc就会知道你是想生成LaTeX文档,够贴心
。
markdown 转 pdf
如果想转成pdf那么我们需要安装texlive这个工具包,在安装
一节中我们已经做过这件事儿了。那么我们就直接运行吧。
[frank@LAPTOP-0OCJTGJR pandoc]$ pandoc test1.md -s -o test1.pdf [frank@LAPTOP-0OCJTGJR pandoc]$ ll total 92 -rw-rw-r-- 1 frank frank 629 Feb 4 22:06 test1.html -rw-rw-r-- 1 frank frank 81 Feb 4 22:05 test1.md -rw-rw-r-- 1 frank frank 80599 Feb 4 22:20 test1.pdf -rw-rw-r-- 1 frank frank 1627 Feb 4 22:17 test1.tex -rw-rw-r-- 1 frank frank 1627 Feb 4 22:18 test2.tex
复制
进阶
更高级的用法可以参考《Pandoc用户指南》
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。