省略名称时 biblatex publist 出现错误逗号

省略名称时 biblatex publist 出现错误逗号

我想biblatex使用publist样式来呈现省略我自己姓名的出版物列表。但当我这样做时,我得到了两种样式(参见前面的逗号) 取决于我的名字是否在作者列表中排在第一位。

例如:

围兜

问题:

  1. 前面应该有一个逗号吗在这种情况下?(我认为可能不是。)
  2. 为什么会有差异?这是一个错误吗?
  3. 我该如何消除这种不一致?我更希望不要逗号(除非有其他情况的充分证据)。

梅威瑟:

\documentclass[]{article}

\begin{filecontents}{\jobname.bib}
@inproceedings{paperA,
    booktitle = {Proceedings},
    year = {2014},
    author = {First, Author and Second, Author and Third, Author and Fourth, Author and Fifth, Author},
    title = {AAA Title of Paper},
}
@inproceedings{paperB,
    booktitle = {Proceedings},
    year = {2013},
    author = {Second, Author and First, Author and Third, Author and Fourth, Author and Fifth, Author},
    title = {BBB Title of Paper},
}
\end{filecontents}

\usepackage[backend=biber,defernumbers=true,sorting=nyt,bibstyle=publist]{biblatex}
\addbibresource{\jobname}
\omitname{First} % Omit author with last name "First"

\begin{document}

\null\nocite{*}
\printbibliography[heading=none]

\end{document}

答案1

你可以

\renewbibmacro*{name:andothers}{%
  \ifthenelse{\value{listcount}=\value{liststop}\AND
              \ifmorenames}
    {\andothersdelim\biblcstring{andothers}}
    {}}

去掉“et al.”之前的逗号(我不喜欢它)。

平均能量损失

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@inproceedings{paperA,
    booktitle = {Proceedings},
    year = {2014},
    author = {First, Author and Second, Author and Third, Author and Fourth, Author and Fifth, Author},
    title = {AAA Title of Paper},
}
@inproceedings{paperB,
    booktitle = {Proceedings},
    year = {2013},
    author = {Second, Author and First, Author and Third, Author and Fourth, Author and Fifth, Author},
    title = {BBB Title of Paper},
}
@inproceedings{paperC,
    booktitle = {Proceedings},
    year = {2013},
    author = {Second, Author and First, Author},
    title = {CCC Title of Paper},
}
@inproceedings{paperD,
    booktitle = {Proceedings},
    year = {2013},
    author = {First, Author},
    title = {DDD Title of Paper},
}
\end{filecontents*}

\usepackage[backend=biber,defernumbers=true,sorting=nyt,bibstyle=publist]{biblatex}
\addbibresource{\jobname.bib}
\omitname{First} % Omit author with last name "First"

\renewbibmacro*{name:andothers}{%
  \ifthenelse{\value{listcount}=\value{liststop}\AND
              \ifmorenames}
    {\andothersdelim\biblcstring{andothers}}
    {}}

\begin{document}
  \nocite{*}
  \printbibliography[heading=none]
\end{document}

在此处输入图片描述

相关内容