Pandoc将Markdown文件导出成PDF文件
Pandoc将Markdown文件转换成PDF文件时是先将Markdown文件转换成Latex文件,再将Latex文件专程PDF文件。参考命令:
1 | pandoc example.md -o example.pdf --from markdown --pdf-engine=xelatex --template=eisvogel --listings |
选择编译引擎
一般默认的编译引擎是pdflatex编译引擎,这个引擎对中文支撑不太友好,可以通过–pdf-engine=xelatex 修改编译引擎。
选择模板
使用pandoc模板 eisvogel ,eisvogel可以导出很漂亮的PDF文件。
将 eisvogel 模板拷贝到pandoc用户模板目录下,具体配置:
- 在Linux系统下:/home/USERNAME/.local/share/pandoc/templates/
- 在Windows系统下:C:\Users\USERNAME\AppData\Roaming\pandoc\templates\
改善中文支持,需要在eisvogel添加如下参数:
1
2
3
4
5
6
7
8
9\else % if not pdftex
$if(mainfont)$
$else$
\usepackage[fallback]{xeCJK}
\setCJKmainfont{SimSun}[BoldFont=SimHei, ItalicFont=KaiTi] %配置中文字体
\setCJKfallbackfamilyfont{rm}{SimSun}
\usepackage[default]{sourcesanspro}
\usepackage{sourcecodepro}增加首行缩进,在 eisvogel.tex 文件中查找,在\begin{document}请增加一段代码:
1
2
3
4\usepackage{ctex} %调用中文字体宏包
\usepackage{indentfirst} %调用首行缩进宏包
\setlength{\parindent}{2em} %设置首行缩进为2字符
\begin{document}
其他命令
- 查询系统支持的中文字体fc-list :lang=zh,在eisvogel.tex 中使用的字体必须是系统中可以查询到字体;
- 在转换命令中增加参数指定字体: - V CJKmainfont=”Noto Sans Mono CJK SC” -V mainfont=”Noto Serif CJK SC”
参考资料
Pandoc将Markdown文件导出成PDF文件