有没有办法设置参考书目,使其成为和样式bibstyle
的“叠加” ?特别是,我想:phys
alphabetic
- 让字母代码(如 [Doe98])弹出在 bib 条目前面,就像在 时一样
bibstyle=alphabetic
; - 设置其余条目,就像它在时显示的那样
bibstyle=phys
,即非斜体期刊名称、粗体期刊卷号、括号日期等。
我曾巧妙地尝试在调用时使用style=phys
和两个选项,但它并没有像预期的那样工作。bibstyle=alphabetic
biblatex
答案1
您可以通过选择 和 来组合不同的样式bibstyle
,citestyle
但在这种情况下,您还需要从 中复制一些内容,alphabetic.bbx
以便在参考书目中也获得字母标签。我们还明确了字母样式的合理排序(sorting=anyt,
)。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
bibstyle=phys, citestyle=alphabetic,
sorting=anyt,
]{biblatex}
\setlength{\biblabelsep}{2\itemsep}
\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}
\defbibenvironment{bibliography}
{\list
{\printtext[labelalphawidth]{%
\printfield{labelprefix}%
\printfield{labelalpha}%
\printfield{extraalpha}}}
{\setlength{\labelwidth}{\labelalphawidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{##1\hss}}
{\endlist}
{\item}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson,worman,geer,nussbaum}
\printbibliography
\end{document}