如何让Pandoc忽略Obsidian Markdown中的\cite{},交由LaTeX处理?
解决Pandoc保留LaTeX \cite{}命令的问题
要让Pandoc完全不处理\cite{}命令,直接交给LaTeX渲染,按以下步骤操作:
- 使用
markdown+raw_tex格式作为输入源,这个扩展会告诉Pandoc保留所有原始LaTeX命令,不进行解析转换。 - 构建导出命令时,不要加入Pandoc自带的
--citeproc参数(该参数会让Pandoc自行处理引用解析),而是让LaTeX的bibtex或biber来处理文献引用。
示例完整导出命令:
pandoc your_note.md --from markdown+raw_tex --output result.pdf --bibliography=your_library.bib --latex-engine=xelatex
额外说明
- 如果之前
[[@xxx]]格式失效,是因为启用raw_tex后,Pandoc默认的citeproc解析逻辑被覆盖了。如果需要同时兼容两种格式,可尝试使用扩展组合:markdown+raw_tex+citeproc,但可能出现格式冲突,建议优先统一使用一种引用格式。 - 确保你的LaTeX模板(如果自定义)中包含正确的文献引用配置,比如
\usepackage{biblatex}(或natbib等)以及对应的\bibliography{your_library.bib}和\printbibliography命令。
内容的提问来源于stack exchange,提问作者ReaderGuy42
相关产品推荐
相关产品推荐

