错误打印内容 - biblatex

错误打印内容 - biblatex

我正在使用biblatex,但以下内容在 PDF 中打印错误。如何标记此 bib 文件。请指教。

\documentclass[english]{article}
\usepackage{babel,hyperref,fontspec}
\usepackage{csquotes,microtype}
\usepackage[bibencoding=utf8,style=numeric,sorting=none,maxbibnames=5]{biblatex}


\begin{filecontents}{\jobname.bib}
@book{ipab730bbib24,
 author ={The National Academies of Sciences Engineering Medicine},
 date={2016},
 editor={Akemann, G \textit{et al}},
 title ={Achieving Science with CubeSats: Thinking Inside the Box},
 location={Washington, DC},
 publisher={The National Academies Press},
 editor={Rao A and others},
}
\end{filecontents}
\addbibresource{\jobname.bib}

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

在 PDF 中,它是打印Sciences Engineering Medicine The National Academies of而不是The National Academies of Sciences Engineering Medicine。如何collab编码biblatex

editor也是错误地打印在PDF中。应该是G Akemann et al。如何实现?

答案1

作为乌尔丽克·菲舍尔提及在评论中并解释为在书目条目的“作者”字段中使用“公司作者”(完整拼写出姓名)你需要用一对额外的花括号来保护公司作者。所以author = {The National Academies of Sciences Engineering Medicine},应该

author = {{The National Academies of Sciences Engineering Medicine}},

此外,你永远不应该et al.在名称字段中说,你需要使用关键字and others。所以editor={Akemann, G \textit{et al}},应该

editor = {Akemann, G. and others},

目前,您的.bib条目有两个editor字段。只有最后一个字段保留,另一个将被忽略。

要将“et al.”格式化为斜体,您可以重新定义 bibmacro name:andothers

\documentclass[english]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric,sorting=none,maxbibnames=5]{biblatex}

\renewbibmacro*{name:andothers}{%
  \ifboolexpr{
    test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    and
    test \ifmorenames
  }
    {\ifnumgreater{\value{liststop}}{1}
       {\finalandcomma}
       {}%
     \printdelim{andothersdelim}\bibstring[\mkbibemph]{andothers}}
    {}}

\begin{filecontents}{\jobname.bib}
@book{ipab730bbib24,
  author    = {{The National Academies of Sciences Engineering Medicine}},
  date      = {2016},
  editor    = {Akemann, G. and others},
  title     = {Achieving Science with CubeSats: Thinking Inside the Box},
  location  = {Washington, DC},
  publisher = {The National Academies Press},
}
\end{filecontents}
\addbibresource{\jobname.bib}

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

美国国家科学院工程医学部。《利用立方体卫星实现科学:跳出思维定式》。G. Akemann 等人编。华盛顿特区:美国国家科学院出版社,2016 年。

相关内容