使用 bibulous 对参考书目进行排序,包括作者和机构

使用 bibulous 对参考书目进行排序,包括作者和机构

在阅读了论坛中的几篇帖子后,我选择了 bibulous 来创建我自己的书目风格。我对这个例子中的解决方案已经很满意了这里。但是,我不仅需要像上例一样按作者年份对参考文献进行排序,而且有时我也没有按机构排序的作者。所以我需要先按字母顺序排序,然后按年份排序,而作者和机构应该在同一级别。

如上所述,我喜欢这种方法相当多,所以我将其用作 MWE。我只删除了一个 bib 条目中的作者,这样更容易测试它是否有效。

非常感谢您的帮助!

\documentclass[11pt, a4papter] {scrartcl}
\usepackage{natbib}

\usepackage{filecontents}
\begin{filecontents*}{svenz.bst}
TEMPLATES:
book =  [<au>.] [\textit{\enquote{<title>}}.] [<address> <year>.]
electronic = [<au>.] [\textit{<institution>.}] [<date>.] [\enquote{<title>}.] [<url>.] [<dateofchange>.] [<urldate>.]
oral = [<au>.] [<interviewer>,] [<date>,] [<address>.]
inbook = [<au>.] [\enquote{<title>}.] [In: <booktitle>,] hg. v. [<publisher>.] [<address>] [<place>.] [<pages>.]
article = [<au>.] [\enquote{<title>}.] [\textit{<journal>,] [<year>,] [<number>,}] [<pages>.]

SPECIAL-TEMPLATES:
citelabel = <authorlist.0.last>, <year>
sortkey = <authorlist.0.last><year>

OPTIONS:
namelist_format = last_name_first
use_firstname_initials = False
\end{filecontents*}
\begin{filecontents}{\jobname.bib}
@Electronic{gehalt,
  author      = {Rütti, Nicole},
  institution = {NZZ Online},
  year        = {2017},
  date        = {2017-07-27},
  title       = {Sind Frauen wirklich selber schuld am tieferen Gehalt?},
  url         = {https://www.nzz.ch/wirtschaft/frauen-und-lohnverhandlungen-auf-stoeckelschuhen-rueckwaerts-ueber-ein-minenfeld-laufen-ld.1307984},
  urldate     = {2018-10-14},
}


@Electronic{ackeret,
  author      = {Ackeret, Markus},
  institution = {NZZ Online},
  year        = {2017},
  date        = {2017-05-25},
  title       = {Im Übereifer des politischen Gefechts},
  url         = {https://www.nzz.ch/international/debatte-um-die-bundeswehr-im-uebereifer-des-politischen-gefechts-ld.1296154},
  urldate     = {2018-10-14},
}

@Electronic{Lenz1,
  institution = {Tages-Anzeiger Online},
  year        = {2017},
  date        = {2017-07-04},
  title       = {Rechenspiele der Armee haben politische Folgen},
  url         = {https://www.tagesanzeiger.ch/schweiz/standard/rechenspiele-der-armee-haben-politische-folgen/story/19945957},
  urldate     = {2018-10-16},
}
\end{filecontents}

\begin{document}
Lorem ipsum dolor sit amet, \citet{gehalt} consetetur sadipscing elitr, 
\cite{Lenz1}. Lorem ipsum dolor sit amet. \cite{ackeret}

\bibliographystyle{svenz}
\bibliography{\jobname}
\end{document}

所以最后它应该是这样的:
Ackeret,Markus。[...]
Rütti,Nicole。[...]
Tages-Anzeiger Online。[...]

答案1

对于这种情况的通常做法(也适用于 BibTeX 和biblatex)是给出每日新闻在线author

@Electronic{Lenz1,
  author      = {{Tages-Anzeiger Online}},
  year        = {2017},
  date        = {2017-07-04},
  title       = {Rechenspiele der Armee haben politische Folgen},
  url         = {https://www.tagesanzeiger.ch/schweiz/standard/rechenspiele-der-armee-haben-politische-folgen/story/19945957},
  urldate     = {2018-10-16},
}

(需要使用双括号以避免将名称解析为由名字和姓氏组成,请参阅在书目条目的“作者”字段中使用“公司作者”(完整拼写出姓名))。在评论中你提到你不喜欢这样,因为每日新闻在线應用斜体。

在这种情况下,我建议您更改sortkeySPECIAL-TEMPLATES:由于缺少作者导致引文显示不正常,因此您可能citelabel也应该进行更改。

SPECIAL-TEMPLATES:
citelabel = [<authorlist.0.last>|<editorlist.0.last>|<institution>](<year>)
sortkey   = [<authorlist.0.last>|<editorlist.0.last>|<institution>]<year>

使用文件中的代码.bst我得到

所有引文均显示为“Ackeret (2017)”、“Rütti (2017)”、“Tages-Anzeiger Online (2017)”,且参考书目按预期顺序排列:“Ackeret”、“Rütti”和“Tages-Anzeiger Online”

相关内容