在 biblatex 书目中将 ieee-alphabetic 与 maxalphanames 结合起来

在 biblatex 书目中将 ieee-alphabetic 与 maxalphanames 结合起来

我定制了我的书目标签以仅显示第一作者的前三个字母和完整年份,这需要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和的格式,那么您可以使用numberieee-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

相关内容