使用Pandoc将Markdown转PDF时出现图片路径错误问题求助
问题原因解析
XeLaTeX工作目录与Markdown文件目录不一致
转HTML时,浏览器会基于HTML文件所在目录去查找同目录图片;但用XeLaTeX转PDF时,LaTeX引擎的工作目录是你执行Pandoc命令的终端当前目录,而非Markdown文件所在的目录。比如你在~/work/下执行pandoc ./notes/my.md -o out.pdf,XeLaTeX会在~/work/里找test.png,而非~/work/notes/里的文件。图片格式或文件本身存在问题
XeLaTeX对图片格式的支持比浏览器严格得多,仅默认支持EPS、PDF、PNG、JPG几种格式。如果你的test.png是损坏的文件,或是WebP等其他格式改了后缀名,XeLaTeX无法解析就会报资源找不到;而HTML的图片解析兼容性更强,所以能正常显示。Pandoc资源查找逻辑差异
转HTML时,Pandoc只是把Markdown里的图片路径直接写入HTML,由浏览器处理路径解析;但转PDF时,Pandoc需要先定位图片资源再传递给XeLaTeX,若Pandoc的资源搜索路径未包含Markdown文件所在目录,就会出现找不到资源的情况。
内容的提问来源于stack exchange,提问作者newstudent
相关产品推荐
相关产品推荐

