biblatex-biber:如何自定义参考书目的顺序?

biblatex-biber:如何自定义参考书目的顺序?

我在设置参考书目的布局时遇到了困难。我希望有一个数字样式,它不进行排序,因此其顺序与文本中显示的顺序相同。另外,我希望我的参考书目条目看起来像这样(所以是作者年份样式):

参考

[1] 姓氏,YG 年份。标题...

我不知道该怎么做,也想不出任何关键词来寻找它。我刚开始使用biblatex

我的设置如下:

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage{textcomp}
\usepackage{hyperref}

\usepackage[
    backend=biber,
    bibstyle=authoryear,
    citestyle=numeric-comp
    sorting=none,
]{biblatex}

\bibliography{mybib}

\begin{document}

Structures \cite{definition}

\newpage

\printbibliography

\end{document}

答案1

默认情况下,biblatexnumeric样式使用authortite- 风格的书目样式。但是,我们可以通过一些小技巧让它使用一种authoryear

为此,用作citestyle=numeric-comp, bibstyle=authoryear,可选参数biblatex并添加

\makeatletter
\input{numeric.bbx}
\makeatother

到你的序言中。然后numericbibstyle 被应用到authoryear。这是因为数字书目样式numeric.bbx充当了样式的一种“附加”standard.bbx并且只更改了与 不冲突的定义authoryear.bbx

然后只需删除括号即可。这里的方法取自lockstep 对 biblatex 的回答:如何删除 authoryear 样式中年份周围的括号?. 它需要xpatch包裹

\xpatchbibmacro{date+extrayear}{%
  \printtext[parens]%
}{%
  \setunit{\addperiod\space}%
  \printtext%
}{}{}

平均能量损失

\documentclass{article}
\usepackage[
    backend=biber,
    citestyle=numeric-comp,
    bibstyle=authoryear,
]{biblatex}
\usepackage{xpatch}

\makeatletter
\input{numeric.bbx}
\makeatother

\xpatchbibmacro{date+extrayear}{%
  \printtext[parens]%
}{%
  \setunit{\addperiod\space}%
  \printtext%
}{}{}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{wilde,geer,worman}
\printbibliography
\end{document}

enter image description here

答案2

我认为你正在寻找的是参考书目的风格。也许 https://www.sharelatex.com/learn/Bibtex_bibliography_styles 会帮助你

相关内容