我用它biblatex
来制作书目,数量和卷显示为volume.number
不管我想要什么volume:number
。我试过了\DeclareFieldFormat[article]{number}{:#1}
,但它屈服了volume.:number
,即使没有体积也会出现结肠。
梅威瑟:
\begin{filecontents}{bibl.bib}
@article{A,
author = {John Doe},
title = {Interesting article},
volume = {10},
number = {100},
pages = {1--20},
journal = {Daily articles},
year = {2020}
}
@article{B,
author = {Jane Doe},
title = {Another Interesting article},
number = {50},
pages = {1--24},
journal = {Monthly articles},
year = {2020}
}
\end{filecontents}
\documentclass[12pt]{article}
\usepackage{filecontents}
\usepackage[russian]{babel}
\usepackage[
backend = biber,
language = russian,
]{biblatex}
\addbibresource{bibl.bib}
\renewbibmacro{in:}{%
\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
\begin{document}
\nocite{*}
Some text
\printbibliography
\end{document}
答案1
这很容易做到,用我的风格biblatex-ext
捆\volnumdelim
。他们为这项工作定义了标点符号命令。
您甚至可以通过选项biblatex-ext
替换对 bibmacro 的重新定义。in:
articlein=false
每种标准样式都有一种biblatex-ext
等效样式,您可以切换到该样式而不会改变输出。在 MWE 中,您正在(隐式)使用style=numeric,
,因此biblatex-ext
您想要的样式是style=ext-numeric,
。
\documentclass[12pt]{article}
\usepackage[russian]{babel}
\usepackage[backend = biber, style=ext-numeric,
articlein=false]{biblatex}
\renewcommand*{\volnumdelim}{\addcolon}
\begin{filecontents}{\jobname.bib}
@article{A,
author = {John Doe},
title = {Interesting article},
volume = {10},
number = {100},
pages = {1--20},
journal = {Daily articles},
year = {2020},
}
@article{B,
author = {Jane Doe},
title = {Another Interesting article},
number = {50},
pages = {1--24},
journal = {Monthly articles},
year = {2020},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
Some text
\printbibliography
\end{document}
如果由于某种原因你不想或不能使用biblatex-ext
,你可以尝试以下重新定义
\newcommand*{\volnumdelim}{\addcolon}
\providecommand*{\bibeidpunct}{\addcomma\space}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\adddot}%
\printfield{volnumdelim}%
\setunit{\bibeidpunct}%
\printfield{eid}}