![Biblatex 在 PART 字段前打印空格和句点](https://linux22.com/image/258663/Biblatex%20%E5%9C%A8%20PART%20%E5%AD%97%E6%AE%B5%E5%89%8D%E6%89%93%E5%8D%B0%E7%A9%BA%E6%A0%BC%E5%92%8C%E5%8F%A5%E7%82%B9.png)
当我使用 PART 字段打印包含 BOOK 条目的参考书目时,biblatex 会在打印 PART 字段之前打印空格,后跟句点。这是错误,还是我遗漏了什么?
\documentclass{article}
\usepackage{csquotes}
\usepackage[
bibstyle = authoryear,
citestyle = authoryear-comp,
sorting = nyt,
sortcites = false,
language = american,
abbreviate = false,
backend = biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{smith1965,
AUTHOR = "John Smith",
LOCATION = "London",
NUMBER = "3",
PART = "Part one",
PUBLISHER = "Johnson Press",
SERIES = "Classic books",
TITLE = "A good book",
YEAR = "1965"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\noindent
Text \parencite{smith1965}.
\printbibliography
\end{document}
答案1
BibLaTeX 将打印部分的指令定义为\DeclareFieldFormat{part}{.#1}
您可以通过以下方式更改
\DeclareFieldFormat{part}{#1}
BibLaTeX 手册规定:
part
字段(文字)部分卷的编号。此字段仅适用于书籍,不适用于期刊。当逻辑卷由两个或多个物理卷组成时,可以使用它。在这种情况下,逻辑卷的编号放在卷字段中,该卷的部分的编号放在部分字段中。另请参阅卷。
这是对打印指令的重新定义,与 BibLaTeX 保持一致
\DeclareFieldFormat{part}{%
\iffieldundef{volume}
{#1}
{.#1}%
}