如何使用 biblatex 包调整参考书目样式?

如何使用 biblatex 包调整参考书目样式?

我正在使用 IEEE 风格的 biblatex 包:

\usepackage[backend=bibtex,style=IEEE,natbib=true, sorting=none, url=true, doi=true,hyperref=true]{biblatex}***

输出如下:

V. Ruiz-Albacete、P. Tome-Gonzalez、F. Alonso-Fernandez、J. Galbally、J. Fierrez 和 J. OrtegaGarcia,“在虹膜验证中使用假图像进行直接攻击”,载于《生物识别和身份管理》,TM Schouten B.、Juul NC、Drygajlo A. 编,第 5372 卷,Springer Berlin Heidelberg,2008 年,第 181-190 页。

我希望如此

V. Ruiz-Albacete、P. Tome-Gonzalez、F. Alonso-Fernandez、J. Galbally、J. Fierrez 和 J. OrtegaGarcia,“在虹膜验证中使用假图像进行直接攻击”,载于:TM Schouten B.、Juul NC、Drygajlo A.(编辑),《生物识别和身份管理》,Springer Berlin Heidelberg,第 5372 卷,第 181-190 页,2008 年。

答案1

以下是如何修改inbook驱动程序以匹配您所需的输出。请注意,这也会将volume和放在其他条目类型的和pages之间,这可能不是您想要的。无论如何,也许这会让您开始进行进一步的更改。publisherdate

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inbook{Ruiz-Albacete2008,
  author = {Ruiz-Albacete, Virginia and Tome-Gonzalez, Pedro and Alonso-Fernandez, Fernando and Galbally, Javier and Fierrez, Julian and Ortega-Garcia, Javier},
  editor = {Schouten, Ben and Juul, Niels Christian and Drygajlo, Andrzej and Tistarelli, Massimo},
  title = {Direct Attacks Using Fake Images in Iris Verification},
  booktitle = {Biometrics and Identity Management},
  volume = {5372},
  date = {2008},
  publisher = {Springer Berlin Heidelberg},
  pages = {181-190},
}
\end{filecontents}
\usepackage{xpatch}
\usepackage[style=ieee,sorting=none]{biblatex}
\addbibresource{\jobname.bib}
% put colon after In:
\renewcommand*{\intitlepunct}{\addcolon\space}
% use comma between fields
\renewcommand*{\newunitpunct}{\addcomma\space}
% put Eds. in parentheses 
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
% swap editor and book title
\xpatchbibdriver{inbook}
  {\usebibmacro{maintitle+booktitle}%
   \newunit\newblock
   \usebibmacro{byeditor+others}}
  {\usebibmacro{byeditor+others}
   \newunit\newblock
   \usebibmacro{maintitle+booktitle}}
  {}
  {}
% remove a hard coded period
\xpatchbibdriver{inbook}
  {\setunit{\adddot\addspace}}
  {\newunit}
  {}
  {}
% use capital In
\xpatchbibmacro{in:}
  {\bibstring}
  {\bibsentence\bibstring}
  {}
  {}
% put volume and pages before date
\xpatchbibmacro{publisher+location+date}
  {\setunit*{\addcomma\space}%
   \usebibmacro{date}}
  {\newunit
   \usebibmacro{volume+part}%
   \renewbibmacro{volume+part}{}%
   \newunit
   \usebibmacro{chapter+pages}%
   \renewbibmacro*{chapter+pages}{}%
   \newunit
   \usebibmacro{date}}
  {}
  {}
\pagestyle{empty}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

在此处输入图片描述

相关内容