让 MkDocs 输出为 Pdf 文件
合并 Markdown 并输出 pdf
安装 Texlive 的一些支持库
sudo apt install texlive-full
在 MkDocs 的虚拟环境里安装 Mkdocs-pandoc 的包
pip install pandoc
pip install mkdocs-pandoc
现在进入 MkDocs 的项目目录里,也就是 mkdocs.yml
所在的目录啦。
mkdocs2pandoc > mysite.pd
pandoc --latex-engine=xelatex --toc -f markdown+grid_tables+table_captions -o mysite.pdf mysite.pd
第一条命令就是将 MkDocs 网站生成 pandoc 能处理的单一文件,
第二条命令就是使用 pandoc 按指定格式进行转换。
让 Pdf 输出中文
上面输出后只能看到英文,看不到中文。
我们还需要做些配置来支持输出中文。
如果你还缺少一些中文字体,可以安装几个 gnome
中文字体
sudo apt install language-pack-gnome-zh*
你可以通过以下命令查看中文字体
fc-list :lang=zh
我们需要生成一个缺省模板来修改可以支持中文的模板
pandoc -D latex > mkdocs.tex
修改模板文件, gedit mkdocs.tex&
找到这一段
\else % if luatex or xelatex
\ifxetex
\usepackage{mathspec}
\else
\usepackage{fontspec}
\fi
修改为
\else % if luatex or xelatex
\ifxetex
\usepackage{mathspec}
% 添加 xeCJK 宏包
\usepackage{xeCJK}
\setCJKmainfont{Microsoft YaHei}
\setCJKsansfont{Microsoft YaHei}
\setCJKmonofont{Microsoft YaHei}
\else
\usepackage{fontspec}
\fi
这里用到的是 微软雅黑
字体,你需要使用上面的 fc-list :lang=zh
使用来查看可用的中文字体以替换上面的 Microsoft YaHei
字体。
然后再重新使用下面命令生成 Pdf
pandoc --toc -f markdown+grid_tables+table_captions --latex-engine=xelatex --template=mkdocs.tex -o mysite.pdf mysite.pd
打开生成的 pdf
,应该就能够看到中文的内容了。
还有一些小问题:各章节标题大小的问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Markdown 语法及其运用介绍
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论