![我如何使用 natbib 并使我的参考列表类似于 apalike?](https://linux22.com/image/281943/%E6%88%91%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20natbib%20%E5%B9%B6%E4%BD%BF%E6%88%91%E7%9A%84%E5%8F%82%E8%80%83%E5%88%97%E8%A1%A8%E7%B1%BB%E4%BC%BC%E4%BA%8E%20apalike%EF%BC%9F.png)
我的问题与这里和这里,但我还没有找到令人满意的答案。我将使用这篇文章中的相同示例。
我喜欢apalike
参考文献的样式,但我很难在文本中拆分长引用。使用建议的natbib
软件包并使用citep
,我可以顺利拆分引用。但是,我不喜欢使用 时的参考书目natbib
,因为 (1) 不显示参考文献关键字,(2) 名字拼写出来,(3) 显示 URL。
使用以下 bibtex 文件
@Article{citeme1,
author = {Longlastname, Longfirstname and Helloworld E. Xample },
title = {A Title},
journal = {A journal},
year = {2009}
}
@Article{citeme2,
author = {Hofstadter, L. and Cooper, S.},
title = {Experiences with a roommate that has Asperger syndrome},
journal = {The Big Bang Journal},
year = {2010},
url = {http://u.rl},
}
@Article{citeme3,
author = {Cooper, Sheldon and Koothrappali, Rajesh and Wolowitz, Howard},
title = {Another example},
journal = {Another journal},
year = 2010
}
使用时我得到了以下参考列表apalike
(当然,在我的文档中,参考文献没有很好地分解):
这正是我想要的。但是,我文本中的引用当然没有被适当地破坏。
在使用时natbib
,序言中的表达建议这里:
\documentclass[a5paper]{article}
\usepackage[square]{natbib}
\makeatletter
\def\@lbibitem[#1]#2{%
\if\relax\@extra@b@citeb\relax\else
\@ifundefined{br@#2\@extra@b@citeb}{}{%
\@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}}\fi
\@ifundefined{b@#2\@extra@b@citeb}{\def\NAT@num{}}{\NAT@parse{#2}}%
\item[\hfil\hyper@natanchorstart{#2\@extra@b@citeb}\citep{#2}%
\hyper@natanchorend]%
\NAT@ifcmd#1(@)(@)\@nil{#2}}
\makeatother
\begin{document}
This is a paragraph with normal line breaking and hyphenation, isn't it?
Yes! It is.
This is paragraph that does not break well when citing \citep{citeme1},
or even \citep{citeme1, citeme2, citeme3}.
\bibliographystyle{plainnat}
\bibliography{f}
\end{document}
然后我得到以下参考列表:
其中第一和第三个参考文献有全名,而第二个没有(因为全名不在 bibtex 条目中)。此外,第二个参考文献仍然有 URL。
我的问题是:如何natbib
在文中的参考文献中使用漂亮的换行符并获得类似于apalike
参考文献列表的参考文献列表(带有键、名字的字母且没有 URL)?