我正在使用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}