我正在尝试自定义参考书目以满足期刊的要求,通过使用 makebst,我得到了非常接近我需要的东西。但是,makebst 虽然提供了一些用于期刊文章中“volume”和“number”外观的选项,但并没有提供用斜线分隔这两个条目(例如:“32/4”)。现在,它将“volume”和“number”显示为“32(4)”。有没有简单的方法可以解决这个问题?
答案1
您可以使用 biblatex 包(我假设您已经这样做了)并使用 \renewbibmacro(第 203 页 biblatex 手册)或 \DeclareFieldFormat。
这里有代码和输出的示例。如果你阅读手册和其他问答,比如这个或者这,我确信,您能够按照自己想要的方式进行自定义。
\documentclass[A4]{scrartcl}%
\usepackage[%
style=authoryear,%
backend=biber,%
uniquename=false,%
uniquelist=false,%
doi=false,%
isbn=false,%
url=false,%
eprint=false,%
]{biblatex}%
\usepackage{csquotes}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit{\addnbthinspace\slash\addnbthinspace}%
\printfield{number}%
\setunit{\addcomma}%
\printfield{eid}}%
%\DeclareFieldFormat[article]{number}{\slash{#1}} %a second way to change the number field and its delimiters
\usepackage{filecontents}%
\begin{filecontents}{\jobname.bib}
@article{Name.2016,%
author = {Author, Name},%
year = {2016},%
title = {{National cross-sectional study of nothing}},%
pages = {543-548},%
pagination = {page},%
volume = {105},%
journaltitle = {Acta rediculanda},%
number = {11}%
}%
\end{filecontents}%
\addbibresource{\jobname.bib}%
\begin{document}%
\cite{Name.2016}%
\printbibliography[heading=bibintoc]%
\end{document}%
答案2
在 .bst 中,我将条目更改FUNCTION {format.vol.num.pages}
为
FUNCTION {format.vol.num.pages}
{ volume field.or.null
duplicate$ empty$ 'skip$
{
"volume" bibinfo.check
}
if$
number "number" bibinfo.check duplicate$ empty$ 'skip$
{
swap$ duplicate$ empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
swap$
"/" swap$ *
}
if$ *
}
非常好。