有没有方法可以使用 biblatex+biber 打印参考书目
<some title> (PhD dissertation).
而不是默认
<some title>. PhD thesis.
?
答案1
可以通过重新定义 的字段格式轻松添加括号type
。有几种方法可以删除前面的点,概念上最好的解决方案是更改 bibdriver。这尤其会导致此答案依赖于样式。如此处所述,它应该适用于所有标准样式,但贡献的样式可能需要对其 bib 驱动程序进行不同的更改。在下面的 MWE 中,bibdriver 在xpatch
包裹。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\DeclareFieldFormat[thesis]{type}{%
\mkbibparens{\ifbibstring{#1}{\bibstring{#1}}{#1}}}
\usepackage{xpatch}
\xpatchbibdriver{thesis}
{\newunit\newblock
\printfield{type}}
{\setunit{\addspace}\newblock
\printfield{type}}
{}{\typeout{Failed to patch @thesis driver}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{geer}
\printbibliography
\end{document}