我正在使用它Jabref
来管理我的参考书目。
有时,我会直接输入:
第一作者等
在 添加文章作者姓名时Jabref
。
编译我的.tex
文件时,LaTeX 无法将其识别et. al
为更多名称。它将其视为姓名/姓氏。
这是 中的参考书目条目的一个示例Jabref
。
@ARTICLE{Wolf2003,
author = {Wolf, K.et al.},
title = {Compensation mechanism in tumor cell migration: mesenchymal–amoeboid
transition after blocking of pericellular proteolysis},
journal = {J. Cell Biol.},
year = {2003},
volume = {160},
pages = {267–277},
}
这是.tex
带有提及的 bib 条目的 MWE:
\documentclass[11pt]{book}
\usepackage{cite}
\bibliographystyle{unsrt}
\begin{document}
Here is the bib entry mentioned\cite{Wolf2003}
\bibliography{bibfile}
\end{document}
输出如下:
我怎么解决这个问题?
答案1
BibTeX 的输入约定非常严格;多个作者必须用关键字分隔and
:
author={Alpher, Ralph and Bethe, Hans and Gamow, George}
或者,如果你只想保留首字母,
author={Alpher, R. and Bethe, H. and Gamow, G.}
如果你只想要第一作者并自动添加等在参考书目中,使用others
关键字:
author={Alpher, R. and others}
答案2
我认为您提出这个问题有两个原因:
- 您仅拥有关于参考文献的部分信息→使用egreg 的精彩回答在这种情况下。
- 你真正想要的是如何在参考书目/引文中仅显示一个作者姓名(因此,你们在这里面临着X/Y问题。
下面的解决方案回答了第二个问题。
我建议你在数据库中保存尽可能多的信息(如果您稍后或在另一份文件中改变主意)。
要在参考书目中仅显示一位作者姓名,您可以使用你的书目包的功能. 使用该软件包biblatex
,相关选项是maxnames=<maximal number of authors to display>
。
\documentclass{article}
\usepackage[
maxnames=1,%<---------- the key option
style=authoryear-comp,
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{keyone,
author = {Single Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
}
@book{keytwo,
author = {Firstof Threeauthors, J. and Secondof Threeauthors, E. and Thirdof Threeautors, G.},
year = {2017},
title = {A catchy title},
publisher = {Same publisher},
}
\end{filecontents}
\begin{document}
First reference: \cite{keyone}. Second one: \cite{keytwo}.
Which are these references' authors? \citeauthor{keyone} and \citeauthor{keytwo}, respectively.
\printbibliography
\end{document}
maxcitenames=
请注意,您可以区分引文(选项)和参考书目( )中列出的作者数量maxbibnames=
。 选项maxnames=
只是将这两个选项设置在一起。
如果max[x]names
您的参考文献包含超过 1 位max[x]names
作者,您可能需要指定引用名称的后备数量。换句话说,定义:
如果我的参考资料有X作者或更少,则引用全部。否则,仅引用是第一作者,并附加‘等人’。
为此,您可以使用以下minnames=
选项:
\usepackage[
maxnames=<x>,
minnames=<y>,
]{biblatex}
显然,可以假设x >= y
。类似地,可以分别定义mincitenames
和minbibnames
。
相同示例maxnames=2, minnames=1
答案3
我们知道 et al. 是拉丁语,因此应该以斜体显示。
事情是author={Alpher, R. and others}
生成等作为普通字体而不是斜体。
一个快速但不太好的修复方法,根据上面的修改如下:
author = {Smith {\textit{et al.}}, Fred}
答案4
使用上述建议,我发现这是有效的。
为了写出 Fred Smith 等人,我使用了 author = {Smith {et al.}, Fred}