如何在 biblatex 中将 volume.number 更改为 volume(number)?

如何在 biblatex 中将 volume.number 更改为 volume(number)?

我的代码:

\documentclass{article}
\usepackage[british]{babel}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}

Read \textcite{sarfraz}

\printbibliography
\end{document}

由此创建的参考列表:

Sarfraz, M. 和 MFA Razzak (2002)。“技术部分:一种自动捕捉字体轮廓的算法”。在:计算机与图形26.5,第 795-804 页。issn:0097-8493。

但我需要的输出是:

Sarfraz, M. 和 MFA Razzak (2002)。“技术部分:一种自动捕捉字体轮廓的算法”。在:计算机和图形,26(5),第795-804页。issn:0097-8493。

因此,不要使用“计算机与图形26.5,”我想要”计算机和图形,26(5)”。

所以我尝试这个:

\documentclass{article}
\usepackage[british]{babel}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot\addcomma}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\begin{document}

Read \textcite{sarfraz}

\printbibliography
\end{document}

现在我得到:

Sarfraz, M. 和 MFA Razzak (2002)。“技术部分:一种自动捕捉字体轮廓的算法”。在:计算机和图形,26.(5),第795–804页。issn:0097-8493。

这几乎就是我想要的,除了我还需要去掉“26.(5)”中的点。我怎样才能将“26.(5)”改为“26(5)”?

答案1

您可以重新定义volume+number+eid宏:

\documentclass{article}
\usepackage[british]{babel}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
%  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\bibeidpunct}%
  \printfield{eid}}


\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\begin{document}

Read \textcite{sarfraz,angenendt}

\printbibliography
\end{document}

或者你可以从包中切换到一种样式。然后你只需删除句点biblatex-ext即可:\renewcommand*{\volnumdelim}{}

\documentclass{article}
\usepackage[british]{babel}
\usepackage[style=ext-authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\renewcommand*{\volnumdelim}{}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\begin{document}

Read \textcite{sarfraz,angenendt}

\printbibliography
\end{document}

在此处输入图片描述

相关内容