使用 biblatex 的参考书目:如何使用 authoryear-style 创建附加标签?

使用 biblatex 的参考书目:如何使用 authoryear-style 创建附加标签?

我的参考书目有问题。我正在biblatex使用 authoryear-style。我对学期论文做了一些修改,但还有一个问题:我想显示此外参考书目中的作者姓氏和年份(与连续文本一样)。姓氏和年份都应采用粗体格式。以下是示例:

在连续文本中:测试(Bögelsack 等,1985)。

在参考书目中:

Bögelsack 等人,1985 年

Bögelsack,G.;卡伦巴赫,E.; Linnemann, G. (1985): 设备技术中的机器人。海德堡:A.Hüthig。国际书号:3778510428。

这是我的.tex:

\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[style=authoryear, maxcitenames=2, firstinits=true, uniquename=init, backend=biber]{biblatex}
\usepackage{filecontents}

\addbibresource{Label.bib}

\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\labelnamepunct}{\addcolon\space}
\DeclareFieldFormat{title}{#1\isdot}
\DeclareNameFormat{sortname}{
\iffirstinits
    {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
    {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
    \usebibmacro{name:andothers}}
}

\DefineBibliographyStrings{ngerman}{andothers={et\ al\adddot}}

\begin{filecontents}{Label.bib}
@book{Bogelsack.1985,
author = {B{\"o}gelsack, G. and Kallenbach, Eberhard and Linnemann, Gerhard},
year = {1985},
title = {Roboter in der Ger{\"a}tetechnik},
address = {Heidelberg},
publisher = {A. H{\"u}thig},
isbn = {3778510428}
}
\end{filecontents}

\begin{document}

Test (\cite{Bogelsack.1985}).

\printbibliography

\end{document}

我花了很多时间在网上寻找解决方案,但没有找到有关此主题的任何信息。有人知道吗?

答案1

为了达到预期的结果,最简单的方法是重新定义begentry钩子来打印labelnamelabelyear

\renewbibmacro{begentry}{%
\textbf{\printnames[][-\value{liststop}]{labelname}~\printfield{labelyear}\printfield{extrayear}}\\}

在此处输入图片描述

编辑插入\printfield{extrayear}以处理具有相同作者年份组合的多个标签的情况。

答案2

自提出此问题以来,biblatex-ext已发布。该包的样式通过选项为该问题提供了内置解决方案introcite。您可以在§4.2.特定于样式的选项biblatex-ext

通过introcite=plain两个小小的重新定义,我们应该能够达到这个目的。

MWE 中的代码已经现代化,可以使用更新的biblatex功能。

\documentclass[ngerman]{scrartcl}

\usepackage{babel}
\usepackage[autostyle, german=quotes]{csquotes}
\usepackage[backend=biber, style=ext-authoryear,
  introcite=plain,
  maxcitenames=2, giveninits=true, uniquename=init,]{biblatex}

\renewcommand*{\introcitepunct}{\newline}
\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}


\DeclareNameAlias{sortname}{family-given}

\DeclareDelimFormat[bib]{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias*[bib]{finalnamedelim}{multinamedelim}

\DeclareDelimFormat[bib]{nametitldelim}{\addcolon\space}

\DeclareFieldFormat{title}{#1\isdot}

\DefineBibliographyStrings{ngerman}{andothers={et\ al\adddot}}

\addbibresource{biblatex-examples.bib}

\begin{document}
Test \autocite{sigfridsson}.

Test \autocite{companion}.

\printbibliography
\end{document}

带有引文“标题”/标签的参考书目条目以粗体显示

相关内容