使用变量分隔符分隔参考书目

使用变量分隔符分隔参考书目

我需要在标题后面加上“。”并在所有其他条目后面加上“,”。

到目前为止,我尝试通过附加变量来修改output.nonnull和扩展它们。output.check

STRINGS { s t separator }
FUNCTION {output.nonnull*}
{ 
  'separator :=
  's :=
  output.state mid.sentence =
    { separator * write$ }
    { output.state after.block =
        { add.period$ write$
          newline$
          "\newblock " write$
        }
        { output.state before.all =
            'write$
            { add.period$ " " * write$ }
          if$
        }
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}
FUNCTION{output.nonnull}
{ ":: " output.nonnull* }

FUNCTION {output}
{ duplicate$ empty$
    'pop$
    'output.nonnull
  if$
}
FUNCTION {output.check*}
{ 'separator :=
  't :=
  duplicate$ empty$
    { pop$ "empty " t * " in " * cite$ * warning$ }
    { separator output.nonnull* }
  if$
}
FUNCTION {output.check}
{ "!!! " output.check* }

例如,我的参数化@article不起作用,有趣的是我得到了!!!标题后面的 3。

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.date.front "year" output.check
  add.colon
  format.title "title" ". " output.check*

有什么想法吗?似乎我的函数调用不接受参数,或者参数丢失了。

这是否与我访问来自堆栈的变量的方式有关?

相关内容