我的代码:
\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}