我使用的是biblatex
withbibstyle=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}