我有一个 Markdown 文档,其中包含 pandoc 样式的引用,例如[@johndoe2014]
。此文档需要转换为 LaTeX 才能提交给科学期刊。该期刊的 LaTeX 模板规定了cite
包的使用,并要求避免使用其他包以实现兼容性。
我知道使用pandoc 的--biblatex
或--natbib
选项,可以将 pandoc 样式的引用转换为这些样式之一,在我们的示例中为\autocites{johndoe2014}
。
是否可以自动将 pandoc 样式的引用转换为格式cite
,例如\cite{johndoe2014}
?谢谢。
答案1
pandoc 中没有内置功能可以将 pandoc 样式的引用编译为cite
包格式。一个快速的解决方法是首先使用--natbib
pandoc 中的标志将其转换为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