如何编辑.bst 文件来更改系列名称和编号的顺序?

如何编辑.bst 文件来更改系列名称和编号的顺序?

我正在使用natbiblinquiry2排版我的参考书目(您可能注意到我已经破解了ed. 以下.bib条目:

@inproceedings{KornfiltPreminger:2015,
    Address = {Cambridge, MA},
    Author = {Kornfilt, Jaklin and Preminger, Omer},
    Booktitle = {Proceedings of the 9th {W}orkshop on {A}ltaic {F}ormal {L}inguistics ({WAFL} 9)},
    Editor = {Joseph, Andrew and Predolac, Esra},
    Number = {76},
    Pages = {109--120},
    Publisher = {MITWPL},
    Series = {MIT Working Papers in Linguistics},
    Title = {Nominative as \emph{no case at all}: An argument from raising-to-\textsc{acc} in {S}akha},
    Year = {2015}}

我懂了:

Kornfilt, Jaklin 和 Omer Preminger。2015 年。主格完全无格:萨哈语中从 ACC 升格的论据。载于第 9 届阿尔泰语形式语言学研讨会论文集 (WAFL 9),由 Andrew Joseph 和 Esra Predolac 编辑,麻省理工学院语言学工作论文第 76 期,109–120。马萨诸塞州剑桥:MITWPL。

但我想要得到的是这个:

Kornfilt, Jaklin 和 Omer Preminger。2015 年。主格完全无格:萨哈语中从 ACC 升格的论据。载于第 9 届阿尔泰语形式语言学研讨会论文集 (WAFL 9),由 Andrew Joseph 和 Esra Predolac 编辑,麻省理工学院语言学工作论文集 76,109–120。马萨诸塞州剑桥:MITWPL。

那么,我该如何编辑linquiry2才能获得所需的结果?format.number.series部分如下.bst

FUNCTION {format.number.series}
{ volume empty$
    { number empty$
        { series field.or.null }
        { series empty$
            { number }
        { output.state mid.sentence =
            { bbl.number }
            { bbl.number capitalize }
          if$
          number tie.or.space.connect
          bbl.in space.word * series *

        }
      if$
    }
      if$
    }
    { "" }
  if$
}

并且inproceedings(虽然我认为问题不在于这一部分,因为数字和系列在同一个块中):

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.date "year" output.check
  date.block
  format.title "title" output.check
  new.block
  crossref missing$
    %% Was: format.in.ed.booktitle (need different capitalization-- Alexis)
    { format.in.ed.proctitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.pages output
      new.sentence
      publisher empty$
        { format.organization.address output }
        { organization output
          format.publisher.address output
        }
      if$
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  format.note output
  fin.entry
}

答案1

另一种定义是format.number.series应该做你想做的事

FUNCTION {format.number.series}
{ volume empty$
    { series empty$
        { number field.or.null }
        { series field.or.null
          number empty$
            'skip$
            { number tie.or.space.connect }
          if$
        }
      if$
    }
    { "" }
  if$
}

请不要linquiry2.bst直接编辑。仅修改重命名的副本(在标题中添加一些关于更改和当前日期的评论)。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{natbib}

\begin{filecontents}{\jobname.bib}
@inproceedings{KornfiltPreminger:2015,
  author    = {Kornfilt, Jaklin and Preminger, Omer},
  title     = {Nominative as \emph{no case at all}: An argument from raising-to-\textsc{acc} in {Sakha}},
  booktitle = {Proceedings of the 9th Workshop on Altaic Formal Linguistics ({WAFL} 9)},
  editor    = {Joseph, Andrew and Predolac, Esra},
  year      = {2015},
  series    = {MIT Working Papers in Linguistics},
  number    = {76},
  pages     = {109--120},
  publisher = {MITWPL},
  address   = {Cambridge, MA},
}
\end{filecontents}

\begin{document}
\cite{KornfiltPreminger:2015}
\bibliographystyle{linquiry2-series}
\bibliography{\jobname}
\end{document}

Kornfilt, Jaklin 和 Omer Preminger。2015 年。主格完全无格:萨哈语中从升格到加格的论据。第 9 届阿尔泰语形式语言学研讨会论文集 (WAFL 9),Andrew Joseph 和 Esra Predolac 编辑,麻省理工学院语言学工作论文集 76,109–120。马萨诸塞州剑桥:MITWPL。

相关内容