Convert Markdown to PDF with Pandoc
-
test.md 源文件如下:
# From .md to PDF
## Math
$$
… (数学公式)
$$
## 中文
落霞与孤鹜齐飞,秋水共长天一色
- 执行转换
# 最简单的示例
C:\> pandoc.exe --pdf-engine=xelatex test.md -o test.pdf
# 直接这么干会出错
[WARNING] Missing character: There is no 涓?pandoc.exe: <stderr>: hPutChar: invalid argument (Invalid argument)
- 注:xelatex 对中文比较友好
当 .md 文件含有中文时,需要设置 CJKmainfont
变量
- 百度解决办法时常见到中文字体如:
KaiTi
,SimSun
,SimHei
等,直接加到命令行里就好使!
# 这把中文出来了
C:\> pandoc.exe --pdf-engine=xelatex -V CJKmainfont="KaiTi" test.md -o test.pdf
- test.pdf
- 如何增加 CJKmainfont 这类变量在这里介绍
如果我想换成其他非Windows自带字体呢?
- 直接在Windows上安装是不够的.
- 要把字体放到
C:\tools\texlive\2023\texmf-dist\fonts
(或者其中子目录).
# 把中文字体改为霞鹜字体
C:\> pandoc.exe --pdf-engine=xelatex -V CJKmainfont="LXGWWenKaiGBScreen" test.md -o test.pdf
- test.pdf
使用 Pandoc template
选项改变输出样式
- 命令行参数加上
--template="C:\...\mytemplate.latex"
- 不用重复造轮子了,直接看这里:the Eisvogel pandoc LaTeX template
- 仔细看生成的文件,页眉、页脚都发生变化——多了一条横线,还加上了页码.
*查看当前操作系统的中文字体
- 用管理员运行如下命令
C:\ fc-list :lang=zh-cn > C:\font_zh-cn.txt
#markdown #pandoc #latex