我正在尝试获得像这样的引用风格:
姓氏,教授,博士 F.;姓氏,F.;姓氏,F.;姓氏,F.:“书名”,慕尼黑,2015 年,第 3 版,出版商 XY,ISBN:123-4-567-79874-4。
我能得到的最接近的信息是:
Lastname,PDF;Lastname,F.;Lastname,F.;Lastname,F.,“书名”,第 3 版。;出版商 XY:慕尼黑,2015 年,ISBN:123-4-567-79874-4。
问题在于地点、版本和出版商的顺序。此外,Prof. Dr. 被缩写为 PD
我在用:
\usepackage[
hyperref = true,
isbn = true,
backend = biber,
style = chem-acs,
autocite = footnote,
sorting = none
]{biblatex}
如果不使用自定义围兜样式,是否可以获得完全相同的订单?
答案1
正如评论中所讨论的,在参考书目中列出学位、头衔或工作描述的情况极为罕见。biblatex
当名字应该缩写为首字母时,要不将“Prof. Dr.”缩写为“PD”会非常棘手,因为 BibTeX 和 Biber 只会将“Prof. Dr. Christian Drosten”中的“Prof. Dr.”视为属于名字。因此,我将忽略样式的这一部分。(可以使用扩展的 Biber 名称格式来伪造一些东西,这将需要不同的输入,或者滥用名称的“初级部分”,但这两种方法似乎都不是一个好主意。)
以下是尝试使用以下方式实现所示样式biblatex-ext
's ext-numeric
,从技术上讲这是一种自定义样式(您说您不想要),但与使用标准样式相比,它提供了一些略微的优势numeric
(在标准样式中,我们必须修补驱动程序以停止打印字段edition
,或者我们必须删除该字段并在以后恢复它,而biblatex-ext
我们只需要重新定义一个 bibmacro 就可以不执行任何操作)。
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=ext-numeric,
sorting=none,
giveninits=true,
isbn=true,
autocite=footnote,
]{biblatex}
\renewcommand*{\newunitpunct}{\addcomma\space}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\DeclareDelimFormat{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}
\DeclareFieldFormat*{title}{\mkbibquote{#1}}
\renewbibmacro*{edition}{}
\renewbibmacro*{pubinstorg+location+date}[1]{%
\printlist{location}%
\setunit{\addcomma\space}%
\usebibmacro{date}%
\setunit{\addcomma\space}%
\printfield{edition}%
\setunit{\addcomma\space}%
\printlist{#1}%
\newunit
}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson,gonzalez}
ipsum \autocite{nussbaum,companion}
\printbibliography
\end{document}
答案2
我同意之前所说的,即在参考书目中给出学术头衔的情况极为罕见。但是,如果你真的需要/想要这样做,因为你biblatex
无论如何都会使用,你可以通过在 bib 文件中对名称进行编码来获得预期的结果,如下所示
author = {family=Lastname, given=Prof. Dr. F., given-i={Prof. Dr.} F and Lastname, F. and Lastname, F. and Lastname, F.}
请注意,您需要对所有条目手动执行此操作,这很容易出现错误,但这应该是可能的。