MDPI的bib参考文献不显示会议地址

过程描述

  • MDPI 的 bib 引用中,有地址信息,使用其它期刊的可以正常显示,但 MDPI 的不行。
  • 查看缺失地址的文献,发现地址虽然缺失了,但逗号还在,猜测可能是渲染出了问题。
  • 查看 mdpi.bst,看不懂,但可以猜测 inproceddings 是会议渲染函数,删除后,会议文献消失,猜测正确。
  • 找到包含年份的地方,有很多个,需要测试出错的位置。
  • 通过删除 format.pages output,发现页码删除,因此可以知道这个可以输出信息。
  • 多次测试,发现 format.publisher.and.address output.nonnull 导致不输出地址,更换为 address output 即可。
  • 看起来是缺失 publisher 这个字段。

解决方法

  • 找到下面这个函数,将17行的 format.publisher.and.address output.nonnull 换成 address output即可。
FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle.proc "booktitle" output.check
      address empty$
    { organization publisher new.sentence.checkb
      organization output
      publisher output
      format.bdate "year" output.check
    }
    { after.item 'output.state :=
      organization output
      format.publisher.and.address output.nonnull
      format.bdate "year" output.check
      after.item 'output.state :=
    }
      if$
    format.number.series output
    format.bvolume output
    format.pages output
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  format.eprint output
  new.block
  note output
  formatfull.doi output
  fin.entry
}

更改结果如下

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle.proc "booktitle" output.check
      address empty$
    { organization publisher new.sentence.checkb
      organization output
      publisher output
      format.bdate "year" output.check
    }
    { after.item 'output.state :=
      organization output
      address output
      format.bdate "year" output.check
      after.item 'output.state :=
    }
      if$
    format.number.series output
    format.bvolume output
    format.pages output
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  format.eprint output
  new.block
  note output
  formatfull.doi output
  fin.entry
}

版权声明:
作者:MWHLS
链接:https://mwhls.top/4419.html
来源:无镣之涯
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>