定制的 BibTeX bst-“volume”和“number”之间的斜线

定制的 BibTeX bst-“volume”和“number”之间的斜线

我正在尝试自定义参考书目以满足期刊的要求,通过使用 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$ *
}

非常好。

相关内容