简介
PanBook
基于Pandoc
的lua filter
功能,适配各种书籍,论文,幻灯片及简历的LaTeX
或EPUB
模板。
目标是使用Pandoc's Markdown
作为写作语言,实现一次编写 多次生成。
预览
快速开始
以Windows 10
为例,演示如何使用。首先安装以下依赖软件
- msys2( Linux 及 OS X 请忽略此步骤)
- texlive 2018 或以上版本
- Pandoc 2.9 或以上版本
- pandoc-crossref 对应版本并安装到
path
目录下(建议和Pandoc
放同一目录,即/c/Users/yourname/AppData/Local/Pandoc
)
然后下载本项目,打开msys2
,假设工作目录为/d/dev
# 首先安装 git,msys2 包管理工具为 pacman
$ pacman -Ss git # 查询软件包
$ pacman -S git # 安装软件包
$ cd /d/dev
$ git clone https://github.com/annProg/PanBook
设置环境变量
需要将本项目,texlive
及Pandoc
加入环境变量,编辑~/.bashrc
,加入以下内容
$ tail -n 1 ~/.bashrc
export PATH=$PATH:/d/texlive/2018/bin/win32:/d/dev/PanBook:/c/Users/myname/AppData/Local/Pandoc
开始使用
# 新建项目目录
$ mkdir /d/dev/mybook
$ cd /d/dev/mybook
# 生成示例 book 文档,编译结果在 build 目录
$ panbook book
# 查看帮助
$ panbook -h
然后编写 src
目录下的 Markdown
源文件。图片放在 src/images
下。
紧急情况
如果时间紧迫且 Panbook
生成失败时,可以在 build
文件夹下使用 xelatex
或 latexmk
手动编译,可考虑使用 -interaction=nonstopmode
升级指南
本包的主要升级内容在于 elegantbook.cls 等文件,
- 作用: 在 texlive 升级后保持匹配
- 来源: (elegantbook.cls from github)[https://github.com/ElegantLaTeX/ElegantBook/blob/master/elegantbook.cls]
temp patch
texlive2020
报错信息: ! You can't use `\relax' after \the.
\usepackage{longtable,booktabs,tabu} % TODO: temp fix for tabu issue
%issue https://github.com/tabu-issues-for-future-maintainer/tabu/issues/24
贡献指南
欢迎提交Issue
和Pull Request
。extensions
, styles
开发流程请参考 PanBook 手册 第四章。
演示
使用本项目编译的书籍(欢迎加入此列表)
免责声明
请仔细阅读本软件 Licence
本软件不提供任何保证。在任何情况下,版权所有者或贡献者都不承担责任。
因此,当用于正式场合(比如学位论文)时,请您自行评估风险。
致谢
PanBook
适配了一些开源LaTeX
模板,列表如下:
Book | Article | Thesis | Slide | CV |
---|---|---|---|---|
ElegantBook | ElegantNote | moderncv | ||
ElegantPaper | more | resume | ||
tmr |