使用 biblatex 将会议地址后的冒号改为逗号

使用 biblatex 将会议地址后的冒号改为逗号

我有参考书目条目

@conference{dempsey-davis1998,
        author={Dave Dempsey and Chris Davis},
        title={Error analyses and test of pressure gradient force schemes in nonhydrostatic, mesoscale model},
        year={1998},
        pages={236--239},
        publisher=AMS,
        booktitle={12th Conf. on Numerical Weather Prediction},
        location={Phoenix, AZ}
}

使用authoryear,格式为

Dempsey, D. 和 C. Davis (1998)。非静水力学中尺度模型中压力梯度力方案的误差分析和检验。见:第十二届数值天气预报会议. 菲尼克斯,亚利桑那州:美国流星学会,第 236-239 页。

我怎样才能将位置后面的冒号改为逗号?

答案1

因此,您必须修改此部分的现有 bibmacro:publisher+location+date在您的示例中,对于 entrytype @inproceedings (=@conference)。

梅威瑟:

refs.bib以您的 bib 条目作为其内容。

\documentclass{article}
\usepackage[style=authoryear,backend=biber]{biblatex}
\addbibresource{refs.bib}

\renewbibmacro*{publisher+location+date}{%from standard.bbx
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcomma\space}}%instead of \addcolon\space
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

如果您也希望在其他条目类型中交换它,您可能还必须修改以下 bibmacros:institution+location+dateorganization+location+date

一个可能更好的方法是使用xpatch包。使用它你可以交换部分宏。你只需要将它添加到前言中\usepackage{xpatch}然后调用而不是\renewbibmacro

\xpatchbibmacro{publisher+location+date}{\addcolon}{\addcomma}{}{}

这是很容易理解的。

相关内容