将 pandoc 样式的引用转换为 LaTeX cite 格式

将 pandoc 样式的引用转换为 LaTeX cite 格式

我有一个 Markdown 文档,其中包含 pandoc 样式的引用,例如[@johndoe2014]。此文档需要转换为 LaTeX 才能提交给科学期刊。该期刊的 LaTeX 模板规定了cite包的使用,并要求避免使用其他包以实现兼容性。

我知道使用pandoc 的--biblatex--natbib选项,可以将 pandoc 样式的引用转换为这些样式之一,在我们的示例中为\autocites{johndoe2014}

是否可以自动将 pandoc 样式的引用转换为格式cite,例如\cite{johndoe2014}?谢谢。

答案1

pandoc 中没有内置功能可以将 pandoc 样式的引用编译为cite包格式。一个快速的解决方法是首先使用--natbibpandoc 中的标志将其转换为natbib

pandoc article.md -s --natbib -o article.tex

然后使用以下sed命令将所有引用从\citet\citep重命名为\cite,并将natbib序言中的包更改为cite

sed -i 's/\\cite[t,p]{/\\cite{/g' article.tex
sed -i 's/{natbib}/{cite}/' article.tex

如果您想避免覆盖原始的 .tex 文件,您可以通过管道连续sed调用并保存到新文件:

sed 's/\\cite[t,p]{/\\cite{/g' article.tex | sed 's/{natbib}/{cite}/' > article-new.tex 

相关内容