biblatex 书目条目中的自定义换行符

biblatex 书目条目中的自定义换行符

我使用的是biblatexwithbibstyle=authoryear选项。我想自定义样式,在每个参考书目条目的年份后插入换行符。目前,条目如下所示

作者年份书目条目

我希望后面有一个换行符,(1993).这样就First Draft of a...可以从新行开始。

是否有用户端 biblatex 自定义选项或命令来实现这一点?

有一个选项可以在条目中的每个块后添加换行符block=par,如下所示

在此处输入图片描述

但这不是我需要的。我希望换行符位于作者年份行之后,其余块位于一个段落中。

答案1

一个简单的解决方案是重新定义\labelnamepunct命令。此命令在 biblatex 驱动程序以样式打印名称和标题后执行authoryear。可能的重新定义是

\renewcommand*{\labelnamepunct}{\newunitpunct\par}

这会产生以下输出

在此处输入图片描述

答案2

这是使用该xpatch包的另一种解决方案。您将对每个条目驱动程序进行修改 — 至少对您使用的每个条目进行修改。我还将标题周围的引号替换为颜色:

\documentclass [12pt]{article} % this must go first, there are many different classes
\usepackage[utf8]{inputenc}
\usepackage[x11names]{xcolor}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@article{Neu93,
  author = {John von Neumann},
  title = {First Draft of a Report on the EDVAC},
  journaltitle = {IEEE Ann. Hist. Comput. },
  date = {1993},
  volume = {15},
  number = {4},
  pages = {27--75},
}
\end{filecontents*}
\usepackage{csquotes}% recommended in output (biblatex)
\usepackage[style=authoryear]{biblatex}

\usepackage{xpatch}

\xpatchbibdriver{article}{%
  \setunit{\labelnamepunct}\newblock
  }
  {%
  \newline\newblock
  }{}{}

\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{\color{VioletRed4!90!}#1\isdot}

\addbibresource{\jobname.bib}

\begin{document}

\nocite{*}

\printbibliography

\end{document} 

在此处输入图片描述

相关内容