biblatex ieee 风格 相同作者

biblatex ieee 风格 相同作者

我刚刚意识到,在使用ieee中的样式时biblatex,如果我的参考书目中有两篇文章的作者相同,那么第二篇文章的作者就会消失,取而代之的是一行。有没有简单的方法可以在不改变样式的情况下改变这种行为?

答案1

更新

在 的 v1.2 版本 (2016/12/30) 中biblatex-ieee,Joseph Wright 添加了对dashed选项 ( 的全面支持https://github.com/josephwright/biblatex-ieee/issues/30)现在只需添加

dashed=false

biblatex选项。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=ieee, dashed=false]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{knuth:ct:a,knuth:ct:b}

\printbibliography
\end{document}

保留这个答案的旧版本是为了历史兴趣,也是为了那些无法访问较新版本biblatex-ieee或类似风格的用户而保留的,因为这些用户没有选择关闭该dashed行为。


旧答案

通常情况下– 这是在标准样式中,这就像添加到dashed=false的加载选项一样简单biblatex。但是,biblatex样式ieeeieee-alphabetic无法识别此选项,因为 – 正如@Joseph Wright 指出的那样 – 使用破折号是 IEEE 样式。

因此,您可以手动更改作者宏或禁用虚线函数所需的内部测试。

要更改作者宏以避免破折号,只需将以下代码片段添加到您的序言中。

\renewbibmacro*{author}{%
  \ifboolexpr{
    test \ifuseauthor
    and
    not test {\ifnameundef{author}}
  }
    {%
      \printnames{author}%
      \iffieldundef{authortype}
        {}
        {%
          \setunit{\addcomma\space}%
          \usebibmacro{authorstrg}%
        }%
    }
    {\global\undef\bbx@lasthash}%
}

或者,您可以修改保存作者比较所需的哈希值的宏以使其不执行任何操作。

\renewbibmacro*{bbx:savehash}{}

平均能量损失

\documentclass[ngerman, a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=ieee-alphabetic, backend=bibtex]{biblatex}
\addbibresource{\jobname.bib}

\renewbibmacro*{bbx:savehash}{}

\begin{filecontents}{\jobname.bib}
@book{UthorA,
  author  = {Arnold Uthor},
  title   = {The Twice Intensely Tiring Lines of Erudition},
  year    = {1983},
}
@article{UthorB,
  author        = {Arnold Uthor},
  title         = {A Very Interesting Article},
  journaltitle  = {Journal of Articles},
  year          = {2000},
}
\end{filecontents}

\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

在此处输入图片描述

答案2

尝试将以下行添加到您的 Bibtex 文件中:

@IEEEtranBSTCTL{IEEEexample:BSTcontrol,
  CTLdash_repeated_names = "no"
}

并将以下行添加到您的 Tex 文件中,紧接着\begin{document}

\begin{document}
\bstctlcite{IEEEexample:BSTcontrol}

答案3

这个问题在这里得到解答:BibTeX 用“------”替换相似的作者姓名是否正常?

如果你正在写一篇要求的论文IEEEtrans(尤其是如果这篇论文要发表在 IEEE 上),我会认真考虑简单地使用默认行为作为你的论文的结果。这不是一个需要编程解决的“侥幸”,这是确切地该风格是如何被编程并设计来执行的。

您应该始终根据对您的写作具有权威性的风格指南(老师的选择、大学风格指南、公司风格指南、芝加哥、APA、MLA、AP 等)而不是您的个人喜好来撰写论文和选择引用风格。

相关内容