我定制了我的书目标签以仅显示第一作者的前三个字母和完整年份,这需要maxalphanames=1
。但我想对实际的书目条目使用 IEEE 样式。
但是,不能maxalphanames =
与style = ieee-alphabetic
。您知道什么解决方法吗?
\documentclass[ngerman]{article}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\begin{filecontents}{reference.bib}
@article{author1,
author = "George Orwell and Aldous Huxley and William Shakespeare and Oscar Wilde",
title = "1984",
year = "1948",
journal = "Books about big brothers",
volume = "5",
number = "42",
pages = "100--111"
}
\end{filecontents}
\RequirePackage[backend=biber,
style=alphabetic,%
% style=ieee-alphabetic, % does not work with maxalphanames
maxnames=99,
maxalphanames=1,
firstinits=true,
defernumbers=true,
]{biblatex}
\renewcommand*{\labelalphaothers}{}
% Label with full year
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=3,strside=left,ifnames=1]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
\labelelement{
\field{year}
}
}
\addbibresource{reference.bib}
\begin{document}
\cite{author1}. \\
\printbibliography
\end{document}
所以我想把这个结合起来:
包括正确翻译体积和数字, 有了这个:
答案1
biblatex-ieee
和 配合得ieee-alphabetic
很好maxalphanames
。只不过它设置了maxalphanames = 4,
和minalphanames = 3,
。因为我们必须总是有maxalphanames
>= minalphanames
,所以我们必须设置
minalphanames=1, maxalphanames=1,
一切正常。
但如果您想要的只是volume
和的格式,那么您可以使用number
ieee-alphabetic
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}\addnbspace#1}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}\addnbspace#1}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit{\addcomma\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}%
}
采用标准风格alphabetic
。