如何通过修改 bibtex 样式文件为文内引用创建斜体“印刷中”年份标签

如何通过修改 bibtex 样式文件为文内引用创建斜体“印刷中”年份标签

我正在寻找一种方法,将斜体“印刷中”添加到我的 bibtex 样式文件中,用于已经存在 doi 的出版物。由于我使用的是 Natbib-AuthorYear 参考样式,所以我必须在两个区域添加它,即参考书目和文内引用。第一部分(参考书目)已经奏效。以下代码在参考列表(参考书目)中生成斜体标签“印刷中”标签:

FUNCTION {format.date}
{year duplicate$ empty$
    { 
     doi empty$
      {pop$ "????" }
      {pop$ "in press" emphasize }
     if$ 
    }
    'skip$ 
    if$
 ". " swap$ * * "" *
}

但是,第二部分(文内引用)引起了一些问题。我发现我必须将其添加到函数 calc.label 中:

FUNCTION {calc.label}
{ 
  calc.short.authors
  short.list
  "("
  *
  year duplicate$ empty$
  short.list key field.or.null = or
     {
      doi empty$
       {pop$ "????" }
       {pop$ "in press"}
     if$ 
      }
     'skip$
  if$
   * 
  'label :=
}

但是,像前一个函数一样在“in press”后面添加“emphasize”会导致错误。我编写了另一个小函数,它为文内引用生成斜体“in press”标签,但我无法将其添加到 calc.label 函数中:

FUNCTION {in.press}
{ "in press"
  emphasize
  "" * }

基本上,替换:

{pop$ "in press"}

{pop$ "a" in.press *}

在 calc.label 函数中创建斜体“in press”但不能独立存在。所以我必须在它前面放一个非斜体字母(这里是“a”):

作者 1 等人(在新闻

(没有“a”和“in press”之间的空格)

有人知道如何处理这个问题吗?

多谢!!!

相关内容