在 biblatex 书目驱动程序 (.bbx) 文件中格式化年份

在 biblatex 书目驱动程序 (.bbx) 文件中格式化年份

通常,要使用以下方式设置字段的格式biblatex\DeclareFieldFormat可以使用宏,例如

\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}

然而,这种方法在今年失败了。尝试

\DeclareFieldFormat{year}{\mkbibbobld{#1}}

或者

\DeclareFieldFormat{date}{\mkbibbold{#1}}

对输出没有影响。你可以这样做

\renewbibmacro*{date}{\mkbibbold{\printdate}}

格式化日期,但这会失去与参考书目条目类型的联系,因此需要做更多工作来实现类型相关的外观。有没有更好的方法,最好坚持\DeclareFieldFormat

答案1

更新:

今天(11 月 14 日)biblatex v 1.7 已发布。新版本添加了特殊字段格式dateurldateorigdate、 。eventdate


当您按照以下方式重新定义 bibmacro 时,date您可以使用这样的定义:

\renewbibmacro*{date}{\printtext[date]{\printdate}}

以下示例显示结果

\begin{filecontents}{bib.bib}
@book{book1,
 Author = {Vorname Nachname},
 Date = {1998},
 Publisher = {Verlag},
 Title = {Der Mythos},
 urldate={2002-06-02}
}
@book{book2,
 Author = {Hans Nachname},
 Date = {2001-07-08},
 Publisher = {Verlag},
 Title = {Der Mythos},
 urldate={2002-06-02}
}
\end{filecontents}
\documentclass[fontsize=12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[backend=biber]{biblatex}
\DeclareFieldFormat{date}{\textbf{#1}}
\renewbibmacro*{date}{\printtext[date]{\printdate}}
\addbibresource{bib.bib}
\begin{document}

text \cite{book1}

text \cite{book2}

\printbibliography
\end{document}

相关内容