1. 介绍
原先都是使用Typora 导出为pdf文档。但是最近由于部分需求,需要将文档导出为word格式。
使用markdown写文档已经写习惯了。让我回到使用word写文档实在无法接受。
感觉太笨重了。而typora可以支持将文档导出为docx格式。那么我们就用这个功能就可以了。
但是实际上typora默认并不提供导出docx格式,而是通过一个第三方工具Pandoc来实现的。
就如同我们在Typora中将图片自动导入到远程的图床时使用PicGo软件一样。
Pandoc也是一个独立的软件,Typora可以直接调用系统中安装的Pandoc来实现word文档的导出而已。
1.2 Pandoc
Pandoc是一个开源的标记格式转换工具。可以实现各种文档格式的转换。
[Pandoc - About pandoc](https://www.pandoc.org/)
pandoc可以说是一个非常强大的标记格式文档转换工具了。
gitHub地址为:https://github.com/jgm/pandoc/
是一个用于从一种标记格式转换为另一种标记格式的Haskell库,也是一个使用该库的命令行工具。它可以从
- bibtex (BibTeX bibliography)
- biblatex (BibLaTeX bibliography)
- commonmark (CommonMark Markdown)
- commonmark_x (CommonMark Markdown with extensions)
- creole (Creole 1.0)
- csljson (CSL JSON bibliography)
- csv (CSV table)
- tsv (TSV table)
- docbook (DocBook)
- docx (Word docx)
- dokuwiki (DokuWiki markup)
- endnotexml (EndNote XML bibliography)
- epub (EPUB)
- fb2 (FictionBook2 e-book)
- gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions not supported in gfm.
- haddock (Haddock markup)
- html (HTML)
- ipynb (Jupyter notebook)
- jats (JATS XML)
- jira (Jira/Confluence wiki markup)
- json (JSON version of native AST)
- latex (LaTeX)
- markdown (Pandoc’s Markdown)
- markdown_mmd (MultiMarkdown)
- markdown_phpextra (PHP Markdown Extra)
- markdown_strict (original unextended Markdown)
- mediawiki (MediaWiki markup)
- man (roff man)
- muse (Muse)
- native (native Haskell)
- odt (ODT)
- opml (OPML)
- org (Emacs Org mode)
- ris (RIS bibliography)
- rtf (Rich Text Format)
- rst (reStructuredText)
- t2t (txt2tags)
- textile (Textile)
- tikiwiki (TikiWiki markup)
- twiki (TWiki markup)
- vimwiki (Vimwiki)
等格式,转换成:
- asciidoc (AsciiDoc) or asciidoctor (AsciiDoctor)
- beamer (LaTeX beamer slide show)
- bibtex (BibTeX bibliography)
- biblatex (BibLaTeX bibliography)
- commonmark (CommonMark Markdown)
- commonmark_x (CommonMark Markdown with extensions)
- context (ConTeXt)
- csljson (CSL JSON bibliography)
- docbook or docbook4 (DocBook 4)
- docbook5 (DocBook 5)
- docx (Word docx)
- dokuwiki (DokuWiki markup)
- epub or epub3 (EPUB v3 book)
- epub2 (EPUB v2)
- fb2 (FictionBook2 e-book)
- gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions not supported in gfm.
- haddock (Haddock markup)
- html or html5 (HTML, i.e. HTML5/XHTML polyglot markup)
- html4 (XHTML 1.0 Transitional)
- icml (InDesign ICML)
- ipynb (Jupyter notebook)
- jats_archiving (JATS XML, Archiving and Interchange Tag Set)
- jats_articleauthoring (JATS XML, Article Authoring Tag Set)
- jats_publishing (JATS XML, Journal Publishing Tag Set)
- jats (alias for jats_archiving)
- jira (Jira/Confluence wiki markup)
- json (JSON version of native AST)
- latex (LaTeX)
- man (roff man)
- markdown (Pandoc’s Markdown)
- markdown_mmd (MultiMarkdown)
- markdown_phpextra (PHP Markdown Extra)
- markdown_strict (original unextended Markdown)
- markua (Markua)
- mediawiki (MediaWiki markup)
- ms (roff ms)
- muse (Muse)
- native (native Haskell)
- odt (OpenOffice text document)
- opml (OPML)
- opendocument (OpenDocument)
- org (Emacs Org mode)
- pdf (PDF)
- plain (plain text)
- pptx (PowerPoint slide show)
- rst (reStructuredText)
- rtf (Rich Text Format)
- texinfo (GNU Texinfo)
- textile (Textile)
- slideous (Slideous HTML and JavaScript slide show)
- slidy (Slidy HTML and JavaScript slide show)
- dzslides (DZSlides HTML5 + JavaScript slide show)
- revealjs (reveal.js HTML5 + JavaScript slide show)
- s5 (S5 HTML and JavaScript slide show)
- tei (TEI Simple)
- xwiki (XWiki markup)
- zimwiki (ZimWiki markup)
而且部分格式还能够互相转换。
Pandoc还可以通过LaTeX、Groff ms或HTML生成PDF输出。
上面只是介绍了部分转换,更详细的可以通过Pandoc官网介绍进行了解和查询。
2. 安装Pandoc
安装方式比价简单,通过:https://github.com/jgm/pandoc/releases
选择不同的系统版本进行安装就可以了:
windows系统安装比较简单。直接下载msi文件进行安装即可。
PS:部分小伙伴可能习惯了界面操作,但是Pandoc安装完毕是一个命令行的,所以我们如果要使用安装的Pandoc 只能是通过cmd 或 PowerShell 进行操作
下面介绍windows 的安装步骤。 首先下载安装包后,双击pandoc-2.19.2-windows-x86_64.msi 文件。
勾选: I accept the terms in the License Agreement 意思就是同意Pandoc的使用许可条款。这个所有软件都有。就不多说了。
而下面还有一个: Install for all users of this machine 。意思就是是否为这个电脑的所有用户都安装Pandoc。简单理解就是安装完毕后是不是所有登录用户都可以使用Pandoc软件。 我们的自己的电脑通常是只有一个账户的。可以选择可以不选择。
选择完毕后,执行安装就可以了。
安装完毕后出现的成功界面如下:
在这个结束界面中,已经说明了我们的Pandoc安装到了C:Program FilesPandoc 目录下。我们可以使用Cmd 或 Powershell 命令行工具运行了。
PS:简单理解就是,安装完毕后会自动将环境变量给配置上。所以我们可以通过命令行进行操作Pandoc了。它没有一个窗口界面让我们通过鼠标点击进行执行的,它只有命令模式。
2.1 使用 Pandoc
安装完毕后,我们就可以通过命令行操作pandoc了。例如我们查询本机的Pnadoc版本:
PS C:Userszinyan> pandoc -v
pandoc.exe 2.19.2
Compiled with pandoc-types 1.22.2.1, texmath 0.12.5.2, skylighting 0.13,
citeproc 0.8.0.1, ipynb 0.2, hslua 2.2.1
Scripting engine: Lua 5.4
User data directory: C:UserszinyanAppDataRoamingpandoc
Copyright (C) 2006-2022 John MacFarlane. Web: https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
PS C:Userszinyan>
可以看到一些详细信息。
下面列一些基本的操作命令:
- 将txt文件转换为html文件:
- pandoc MANUAL.txt -o example1.html
- 将txt文件转为rtf文件:
- pandoc -s MANUAL.txt -o example7.rtf
- 将txt转为pdf文件:
- pandoc MANUAL.txt --pdf-engine=xelatex -o example13.pdf
等等还有不少的操作方法,具体的可访问:https://www.pandoc.org/demos.html
pandoc提供的各种demo指令。
3. Typora 添加Pandoc
当我们本地安装好Pandoc之后,就可以将路径配置到Typora中,这样Typora在进行导出为word文档时,就会自动调用相关的转换命令,将我们的markdown文档转换为word文档了
选择菜单中的文件->导出->导出设置
在打开的界面中 选择:通用
然后将我们的Pandoc安装路径配置到文件夹中 ,由于Typora会自动检测路径,所以我们点击右侧得到文件夹按钮,其实会自动打开到我们的Pandoc安装目录。选择:pandoc.exe 文件后,点击确认就可以将Pandoc配置完毕了。
配置完毕的效果如下:
之后,我们就可以正常的使用Typora进行各种文件的导出了。
除了可以导出为word的 docx格式,还有RTF,Epub,LaTex,Media Wiki ,Textile,OepnOffice,reStructuredText,OPML等
除此之外我们还可以添加各种Typora没有支持的,但是Pandoc支持的格式,
选择Export中的底部的加号按钮,然后再选择自定义。就可以出现上面的效果了。我们输入Pandoc的支持命令。就可以任意灵活的配置我们需要的文档格式了。
4. 其他
我们如果由于网络关系,无法访问Github进行下载Pandoc安装包,可以关注我的公众号,输入:pandoc 获取我下载好的各种系统环境的安装包。(PS:不一定会保证一直都是最新版本哦)
而如果不想安装的话,可以使用Pandoc提供的线上转换地址,https://www.pandoc.org/try/ 进行转换操作。