答案1
除了几个例外,您的大部分需求都可以通过标准biblatex
样式的配置选项以及 提供的一些扩展来满足biblatex-ext
。
您的问题太过广泛,通常不会在这里得到答案。以后请提供移动网络根据您已尝试的方法,针对每个问题提出一个具体的问题。
lualatex
为方便字体支持,请进行编译:
% TeX Program = lualatex
\documentclass{article}
\usepackage[default]{sourcesanspro}
\begin{filecontents}[overwrite]{\jobname.bib}
@article{alba+etal:1999,
author = {de Alba, Eva and Santoro, Jorge and Rico, Manuel and Jiménez, M. Angeles},
title = {\mkbibemph{De novo} Design of a Monomeric Three-stranded Anti-parallel β-sheet},
sorttitle = {De novo Design of a Monomeric Three-stranded Anti-parallel β-sheet},
journaltitle = {Protein Sci},
date = {1999},
volume = {8},
pages = {854-865}
}
@collection{archer+barber:2004,
editor = {Archer, Mary D. and Barber, James},
title = {Molecular to Global Photosynthesis},
publisher = {Imperial College Press},
date = {2004}
}
@incollection{in:archer+barber:2004,
author = {Archer, Mary D. and Barber, James},
title = {Photosynthesis and Photoconversion},
pages = {1-41},
crossref = {archer+barber:2004}
}
\end{filecontents}
\usepackage[
articlein=false,
giveninits,
maxnames=10,
sorting=none,
style=ext-numeric,
useprefix,
]{biblatex}
\addbibresource{\jobname.bib}
\DefineBibliographyStrings{english}{
byeditor = {edited by},
editor = {ed},
editors = {eds},
}
\renewcommand*{\bibinitdelim}{}
\renewcommand*{\bibinitperiod}{}
\renewcommand*{\bibpagespunct}{\addcolon}
\renewcommand*{\intitlepunct}{\addspace}
\renewcommand*{\jourvoldelim}{\addcomma\space}
\renewcommand*{\pubdatedelim}{\addsemicolon\space}
\renewcommand*{\revsdnamepunct}{\addspace}
\renewcommand*{\volnumdelim}{\addcolon}
\DeclareDelimFormat[bib,biblist]{editortypedelim}{\addspace}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareDelimAlias[bib,biblist]{finalnamedelim}[]{multinamedelim}
\DeclareFieldFormat{editortype}{\bibsentence\mkbibparens{#1}}
\DeclareFieldFormat{issuedate}{#1}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat[article, incollection]{titlecase}{\MakeSentenceCase*{#1}}
\DeclareFieldFormat{titlecase:booktitle}{#1}
\DeclareFieldFormat{titlecase:journaltitle}{#1}
\DeclareFieldFormat[article,incollection]{title}{\mkbibbold{#1}}
\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}}
\DeclareNameAlias{default}{family-given}
% reorder date in article
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\usebibmacro{issue+date}%
\setunit*{\jourvoldelim}%
\iffieldundef{series}
{}
{\setunit*{\jourserdelim}%
\printfield{series}%
\setunit{\servoldelim}}%
\usebibmacro{volume+number+eid}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
% lowercase prefix
\renewbibmacro*{begentry}{\midsentence}
\begin{document}
Lorem ipsum \autocite{alba+etal:1999}.
Lorem ipsum \autocite{archer+barber:2004}.
Lorem ipsum \autocite{in:archer+barber:2004}.
\printbibliography
\end{document}