我正在使用 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
之间,这可能不是您想要的。无论如何,也许这会让您开始进行进一步的更改。publisher
date
\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}