使用 Biblatex 格式化当前观点期刊

使用 Biblatex 格式化当前观点期刊

我正在尝试使用 biblatex 实现这种引用样式。

在此处输入图片描述

参考文献编号应按顺序列出,并在正文中用方括号 [] 括起来。显示的作者不得超过 10 位。

有人可以帮助我用最少的代码实现这个目标吗?

答案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}

输出

相关内容