【PanBook】基于Pandoc的文档处理工具

什么是PanBook

PanBook 是一个基于 Pandoc 的电子书,文章,幻灯片,论文及简历处理工具。项目主页是 https://github.com/annProg/PanBook。本质上是基于Pandoclua filter功能,适配了一些书籍,论文,幻灯片及简历的LaTeXEPUB模板。 目标是使用Pandoc's Markdown作为写作语言,实现 一次编写 多次生成

为什么做PanBook

LaTeX 可以用来排版格式精美的书籍,论文,幻灯片以及简历,但是学习成本较高。并且也不太适合直接用来写作,太多的标记使人不能专注于内容本身。另外,如果同一份文本有在不同场合使用的需求或者需要不同的格式,比如电子书同时需要 PDF 和 EPUB 格式,一份简历需要不同的风格,幻灯片需要在不同场合使用等,显然用 LaTeX 来写作不是个好注意,最终还得维护多份源码,或者想办法转换格式,这是相当不方便的。如果能用简单易学的 Markdown 来写作,然后通过程序转换成各种格式或者各种风格,就比较理想了。幸运的是,已经有工具很好的实现了支持这一功能,那就是 Pandoc。

Pandoc 是由 John MacFarlane 教授开发的文档转换工具,实现了数十种文档格式之间的转换。Pandoc 还扩展了 Markdown 语法,比如标题表格等的 ID 属性,脚注,交叉引用,DIV 语法等,并且可以直接嵌入 LaTeX 代码,这样在 Markdown 中就可以实现输入数学公式。Pandoc 还支持自定义模板和 Lua 脚本修改转换结果,有很好的自由度和扩展能力,能够适配各种复杂的 LaTeX 模板。

PanBook 要做的事情,就是利用 Lua Filter 来适配各种书籍,论文,幻灯片及简历模板,目标是使用 Pandoc's Markdown 作为写作语言,实现 一次编写,多次生成

似乎,上面的事情 Pandoc 也能直接做,直接为 Pandoc 写 lua filter 不就行了吗? 为啥还要有 PanBook 呢?其实就是集成一下,为一些固定的模式制定一套规范,集成到一个脚本里,这样就不用每次都写一堆参数了,使用起来更加方便。

演示

BookArticleThesisSlideCV
ElegantBookctexartDemo Thesismetropolismoderncv-classic
elegantnotesolarizedresume
CTeXBookelegantpapermaterialTMR
CTeXBook-mobileExecusharesmoderncv-fancy
Epubclassyslidesmoderncv-banking
elegancemoderncv-casual
Hestmoderncv-oldstyle
PanBook 演示文档

以上就是全部内容。欢迎 试用/Star/Fork 本项目。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注