带有LaTeX的markdown转pdf
事出有因
用Obsidian写了些数学笔记,要打印出来,看到Obsidian只有导出pdf的选项,那也还算方便打印吧。结果导出的pdf在公式那边出错了,然后就有了这个markdown转pdf的探索过程。
其他方案
VSCode插件
尝试了安装量最多的Markdown PDF
插件,从提示看依赖chromium。转pdf是成功了,但是公式不支持渲染,应该是这个包还算比较轻量吧。
顺便记录一下它给我Debian上安装的Chrome路径
~/.vscode/extensions/yzane.markdown-pdf-1.5.0/node_modules/puppeteer-core/.local-chromium/linux-722234/chrome-linux
pandoc
在Debian上尝试了pandoc,为了支持LaTex而安装了texlive-full,结果这个包比预想的大好多。
执行转换命令
pandoc test.md -o test.pdf # 提示Error
pandoc test.md -o test.pdf --pdf-engine=xelatex # 可以生成pdf,但是中文不显示
pandoc test.md -o test.pdf --pdf-engine=xelatex -V CJKmainfont="Noto Sans CJK SC" # 中文显示,但是公式中文下标不显示
pandoc test.md -o test.pdf --pdf-engine=lualatex -V CJKmainfont="Noto Sans CJK SC" # 中文和公式下标都正常,速度稍慢
另外,转换的pdf,边缘空白较大。总体效果不满意。
回归
在Obsidian上看大纲也不完整,然后细看生成失败的pdf,公式和前面的文字连在一起。
尝试出问题的地方LaTeX前给了一个换行,就都正常了。
最后还是直接用Obsidian就够了。
最后修改于 2025-03-24