BibLaTeX:如何使用 phdthesis 条目在类型字段周围插入括号并删除其前面的点

BibLaTeX:如何使用 phdthesis 条目在类型字段周围插入括号并删除其前面的点

有没有方法可以使用 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}

Geer, Ingrid de (1985)。《伯爵、圣人、主教、吟游诗人和音乐。十二世纪的奥克尼伯爵领地。音乐学研究》(博士论文)。乌普萨拉:乌普萨拉大学。

相关内容