我正在使用 natbib 和 dinat 样式,“et al”扩展名没有显示,但它在各个方面都显示出来,我正在寻找更多信息,如这里
我很想知道这是什么原因。
这是我的 MWE:
\documentclass[12pt]{report}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{natbib} % for extended citations
\bibliographystyle{dinat} % reference style
\begin{document}
Hello world......................
This is a citation \citep*{Mueller2018}
\newpage
\addcontentsline{toc}{section}{Bibliography}
\bibliography{literatur}
\end{document}
这是 bib 文件
% Encoding: UTF-8
@Article{Mueller2018,
author = {Mueller, Thomas; Peter Mueller; Klaus Mueller; Maier Herbert},
title = {On the testing of natbib},
journal = {my personal journal},
year = {2018},
}
@Comment{jabref-meta: databaseType:bibtex;}
希望得到意见。我还想知道作者列表中使用分号 ; 分隔是否正确。至少这是我获得正确作者列表显示的唯一方法。
答案1
and
无论参考书目中的预期输出如何,作者之间都必须用“and”分隔,而不能用逗号或分号分隔。请参阅如何在bibtex文件中正确写入多位作者?。 所以
author = {Mueller, Thomas and Peter Mueller and Klaus Mueller and Maier Herbert},
是正确的。
您可能需要考虑使用natdin
而不是dinat
。natdin
来自 2006 年,而dinat
来自 2000 年。l2tabu
例如建议natdin
超过dinat
。我现在通常会建议biblatex
和 Biber(但我可能有偏见)。
两种风格都用“ua”代替“et al.”并且两种风格都有改变这一点的功能,但在两种情况下,这都意味着你必须编辑该.bst
风格的副本。
总体策略是一样的
在您的机器上找到您想要更改的样式。您可以通过在终端中输入
kpsewhich dinat.bst
或来找到文件路径kspewhich natdin.bst
。如果失败,请从 CTAN 获取文件:https://ctan.org/tex-archive/biblio/bibtex/contrib/german/dinat或者https://ctan.org/tex-archive/biblio/bibtex/contrib/german/din1505将文件复制到 LaTeX 可以找到它的地方(https://texfaq.org/FAQ-inst-wlcf),当前文档的目录就可以了,然后重命名。如果修改文件则必须重命名,这是许可证的一部分。假设新名字
dinat-etal.bst
是natdin-etal.bst
打开
dinat-etal.bst
并转到 122 行FUNCTION {push.ua} { "u.\,a." }
替换为
FUNCTION {push.ua} { "et~al." }
打开
natdin-etal.bst
,转到第 188 行并替换FUNCTION { ua.etal } { " u.\,a." }
和
FUNCTION { ua.etal } { " et~al." }
如果您愿意,您还可以在下一行将字符串从“u.”更改为“und”。
保存文件。
使用
\bibliographystyle{dinat-etal}
Instead of\bibliographystyle{dinat}
和\bibliographystyle{natdin-etal}
Instead of\bibliographystyle{natdin}
。
您将希望使用\citep
而不是\citep*
获取简短的“et al.”引文。带星号的版本将尝试打印完整的作者列表,从而隐藏任何“et al.”引文。
您可能还想natbib
使用该square
选项进行加载。
使用类似的包 tocbibind
或类选项(KOMA)将参考书目添加到目录中,不要手动添加\addcontentsline
。
\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tocbibind}
\usepackage[square]{natbib}
\bibliographystyle{natdin-etal}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{Mueller2018,
author = {Mueller, Thomas and Peter Mueller and Klaus Mueller and Maier Herbert},
title = {On the testing of natbib},
journal = {my personal journal},
year = {2018},
}
\end{filecontents}
\begin{document}
This is a citation \citep{Mueller2018}
\bibliography{\jobname}
\end{document}