PANDOC问题:自定义docx模板突然失效
解决Pandoc找不到自定义参考文档的问题
以下是针对你遇到的报错“File custom-reference not found in resource path”的排查步骤:
补全参考文档的完整文件名
你的命令中使用了--reference-doc=custom-reference,但实际文件是custom-reference.docx。虽然Pandoc通常能自动识别常见扩展名,但尝试指定完整文件名:pandoc test1.md -f markdown -t docx --metadata title="test1" -s -o test1.docx --reference-doc=custom-reference.docx确认当前使用的Pandoc版本及数据目录
可能存在多个Pandoc版本共存的情况,先检查当前终端调用的Pandoc路径:which pandoc再用该路径的Pandoc确认数据目录:
# 替换成上面输出的路径,比如/usr/local/bin/pandoc /path/to/pandoc --version确保输出的资源路径确实是
/Users/NAME/.local/share/pandoc,且该路径下存在目标文件。检查文件权限
验证模板文件的读取权限,运行:ls -l /Users/NAME/.local/share/pandoc/custom-reference.docx确保当前用户拥有读权限(权限列应包含
r),如果权限不足,修改权限:chmod 644 /Users/NAME/.local/share/pandoc/custom-reference.docx直接使用绝对路径指定参考文档
绕开资源路径的自动查找逻辑,直接指定文件绝对路径测试:pandoc test1.md -f markdown -t docx --metadata title="test1" -s -o test1.docx --reference-doc=/Users/NAME/.local/share/pandoc/custom-reference.docx如果此命令正常运行,说明Pandoc的资源路径读取存在异常,继续排查环境变量。
检查PANDOC_DATA_DIR环境变量
查看是否设置了错误的数据目录环境变量:echo $PANDOC_DATA_DIR如果输出的路径不是
/Users/NAME/.local/share/pandoc,取消该环境变量:unset PANDOC_DATA_DIR之后重新运行原命令测试。
清理缓存并重启终端
尝试删除Pandoc的缓存目录(如果存在):rm -rf /Users/NAME/.cache/pandoc然后重启终端,再次运行转换命令。
内容的提问来源于stack exchange,提问作者thejeffnextdoor
相关产品推荐
相关产品推荐

