如何编辑.bst 文件“format.vol.num.pages 输出”?

如何编辑.bst 文件“format.vol.num.pages 输出”?

我对以下代码有点熟悉bst,如果我向上或向下移动一行,它在 pdf 中的外观也会相应改变。

FUNCTION {article}
    { output.bibitem
        format.authors "author" output.check
        new.block
        format.title "title" output.check
        new.block
        crossref missing$
        {
            journal
            "journal" bibinfo.check
            emphasize
            "journal" output.check
            add.blank
            format.date "year" output.check
            format.vol.num.pages output
        }
        { format.article.crossref output.nonnull
            format.pages output
        }
        if$
        new.block
        format.url output
        new.block
        format.note output
        format.eprint output
        fin.entry
    }

但我不知道如何拆开元素format.vol.num.pages output并单独使用它们?

我试过了format.vol output,但是没有用。

答案1

format.vol.num.pages是在文件其他地方定义的函数.bst。调用的函数format.vol不存在。

对于所需的“ <volume>() ”顺序,您可能需要定义

FUNCTION {format.vol.year.pages}
{ "{ \bfseries " volume field.or.null * "}" * % make volume bold face
  year empty$
    'skip$
    { " (" year * ")" * * }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
        { pop$ format.pages }
%        { ":" * pages n.dashify * } % TDS
        { ", " * pages n.dashify * } % comma, not colon TDS
      if$
    }
  if$
}

而是使用如下方法

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    {
      journal emphasize "journal" output.check
      #0 'docomma :=    % TURN COMMAS OFF
      format.vol.year.pages output  % these now do their own comma!!
      #1 'docomma :=    % TURN COMMAS ON
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  note output
  fin.entry
}

相关内容