我找到了一种非常适合我要求的 Bibtex 样式,因为它可以按照我想要的方式呈现我的资料来源。
我正在使用\nocite{*}
命令显示.bib
文件中的所有参考书目来源。我的问题是,这些来源随后按照它们在 Bib 文件中的顺序显示,而不是按作者姓氏的字母顺序显示。
有谁能告诉我如何编辑 bst 文件以使参考文献按字母顺序而不是列出的顺序出现?
我已经搜索了很长时间,试图自己解决这个问题,但无济于事。
答案1
参考文献排序是参考书目样式文件的工作.bst
。您使用的书目样式cj.bst
设置为不对参考文献进行排序,或者按引用顺序打印它们。 \nocite{*}
然后给出它们在文件中列出的顺序bib
。
阅读该文件,cj.bst
你可以看到它是由以下实用程序生成的makebst
:custom-bib
,再加上最后的手动编辑。幸运的是,bst
文件告诉我们custom-bib
提供了选项
%% merlin.mbs (with options: `seq-no,nm-rev,ed-rev,jnrlst,nmlm,x10,x0,m1,dt-beg,
yr-par,xmth,yrp-x,vol-bf,vnum-x,volp-com,numser,edpar,blk-tit,in-x,pp,ed,abr,xedn,jabr')
第一个选项seq-no
意味着参考文献将按引用顺序列出。为了进行排序,我们应该在没有第一个选项的情况下重现此创建过程,因为按作者姓名排序是默认设置。这可以通过创建文件来实现cjj.dbj
:
\input docstrip
\preamble
----------------------------------------
*** cj with sort ***
\endpreamble
\postamble
End of customized bst file
\endpostamble
\keepsilent
\askforoverwritefalse
\def\MBopts{\from{merlin.mbs}{%
nm-rev,ed-rev,jnrlst,nmlm,x10,x0,m1,dt-beg,yr-par,xmth,yrp-x,vol-bf,vnum-x,volp-com,numser,edpar,blk-tit,in-x,pp,ed,abr,xedn,jabr }}
\generate{\file{cjj.bst}{\MBopts}}
\endbatchfile
并latex
在此文件上运行以生成cjj.bst
。使用此样式如下
\documentclass{article}
\begin{document}
\nocite{*}
\bibliographystyle{cjj}
\bibliography{bib}
\end{document}
包含bib.bib
@Article{test,
author = {Author, First},
title = {Title},
journal = {Jour},
year = 2000
}
@Article{type,
author = {Aardvark, New},
title = {Titling},
journal = {J},
year = 2002
}
生产
参考文献按作者排序。
这可能足以满足您的目的。如上所述,该文件cj.bst
包含一些手动编辑,以更改某些参考资料的打印细节。这些在文件中有明确标记,如果您愿意,实施这些更改应该不会太难。
答案2
會使用\bibliographystyle{alpha}
或\bibliographystyle{plain}
幫助嗎?:
\documentclass{article}
\begin{document}
\nocite*{}
\bibliographystyle{alpha} %% or
%\bibliographystyle{plain} %% ???
\bibliography{myrefs}
\end{document}