MacOS 将markdown导出为带目录的PDF

准备校赛时准备打印一套自己的纸质模版,但是从 markdown 导出时并没有目录,不是很方便,于是寻找了一个很好用的工具。

使用 MacOS 下 homebrew 安装,你问我什么是 homebrew?homebrew 之于 mac 就像apt 之于 ubuntu,安装软件非常方便,没安装的一定要安装:

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后使用 homebrew 安装 mactex,这是 mac 下使用 latex 的软件。

1
brew install --cask mactex

这里安装好后,路径应该是在 /Library/TeX/texbin/pdflatex,我们验证一下确认下载好了:

1
2
3
4
5
6
7
8
ls /Library/TeX/texbin/pdflatex
# /Library/TeX/texbin/pdflatex

which pdflatex
# 应输出 /Library/TeX/texbin/pdflatex

pdflatex --version
# 应显示版本信息

然后进入要导出的 markdown 路径,使用转换命令:

1
pandoc file.md -o file.pdf --toc --number-sections --pdf-engine=xelatex -V CJKmainfont="Songti SC"

解释:

  • file.md : 输入的 markdown 文件
  • -o file.pdf :输出的 pdf 文件
  • -toc :有目录
  • --number-sections:带页码
  • -pdf-engine=xelatex(latex 的编辑器为 xelatex,不要用别的编辑器,别的不支持中文!!!)
  • -V CJKmainfont="PingFang SC":选用的中文字体

这里注意,使用的字体需要我们系统里已经安装,具体可以在聚焦搜索里输入 Font Book,就能查看字体册,比如,宋体 为 Songti SC;楷体 为 Kaiti SC(它们可能不存在,建议使用苹果自带的 "PingFang SC")