BibTeX kullanarak alıntıları görünüme göre nasıl sipariş edebilirim?


260

Varsayılan olarak ( plainstili kullanarak ) BibTeX alıntıları alfabetik olarak sıralar.

Atıflar belgede görünme sırasına göre nasıl sipariş edilir?


36
Yardımcı soru (oylandı), ancak bu tex.stackexchange.com'a ait olmamalı mı?
Chthonic Projesi

12
@ChthonicProject, tex.stackexchange.com'un 2010 yılına kadar başladığını düşünmüyorum ve bu soru 2008'den geliyor. Ayrıca, soru taşınmak için çok eski olurdu, bu yüzden burada yaşıyor.
Richard Erickson

1
.Aux ve .bbl dosyalarını silin ve yeniden oluşturun
Emad Aghayi

Yanıtlar:


196

Bu sorunun üç iyi cevabı var.

  • unsrtAksi halde biçimlendirmesinden memnunsanız , bibliyografya stilini kullanın
  • Kullanın makebst (bağlantı) kendi bibliyografya stili tasarım aracı

Ve benim kişisel tavsiyem:

  • Kullan biblatexpaketi (bağlantı) . LaTeX dünyasındaki en eksiksiz ve esnek kaynakça aracıdır.

Kullanarak şöyle bir biblatexşey yazarsınız

\documentclass[12pt]{article}
\usepackage[sorting=none]{biblatex}
\bibliography{journals,phd-references} % Where journals.bib and phd-references.bib are BibTeX databases
\begin{document}
\cite{robertson2007}
\cite{earnshaw1842}
\printbibliography
\end{document}

2
Bu yanıtı kabul etmeme neden olan biblatex paketinin belirgin bir avantajı, garip BibTeX voodoo yerine TeX makroları kullanarak referans stillerini düzenlemeye izin vermesidir. Diğer paketler daha hızlı / daha güvenilir bir çözüm için daha iyi olabilir.
Brendan

1
Biblatex kullanıyorsanız bunu eklemeliyim. \ Addbibresource yerine \ bibliyografya kullanmanız daha iyi olur. Yani\addbibresource{journals.bib,phd-references.bib}
Custodio

126

Değişiklik

\bibliographystyle{plain}

için

\bibliographystyle{ieeetr}

Ardından , düz stili kullandığınızda oluşturulan .auxve .bbldosyalarını değiştirmek için birkaç kez yeniden oluşturun .

Veya .auxve .bbldosyalarını silin ve yeniden oluşturun.

MiKTeX kullanıyorsanız, ekstra bir şey indirmeniz gerekmez.


4
Teşekkürler! Mükemmel ve basit düzeltme!
Antillar Maximus

Harika! Basit çözüm için teşekkürler.
Majesteleri

4
ACM Yayını için bir makale yazıyorsanız , ikincisi biraz farklı bir biçimlendirmeye sahip IEEE kağıdı için olduğundan unsrtdaha iyi olacaktır ieeetr. unsrtve abbrvaynı tür biçimlendirme üretir. Bu bağlantıya
Ash Catchem

Basit cevap ortaya çıkıyor! İken Will Robertson 'ın biblatex-centric cevap LaTeX toplum için sonuçta yolu ileri olduğunu ve LyX devam eden eksikliği yerleşik destek için biblatexmuazzam (ve giderek utandırıcı) engelleyici olduğunu. Bu sorunun ilk ortaya çıkışından bu yana sekiz yıl geçti! Hiçbir zaman LyX'in geliştirici önceliklerini gözden geçirmeyeceğim. 2016. Sürücüsüz otomobiller ve taşınabilir süper bilgisayarlar bir şey ama yine de aynı çalıştırılabilir BibTeX utanç taşına zincirlenmiş durumdayız.
Cecil Curry

1
Overleaf uygulamasında çalışmaz. Ben tarafından Overleaf bunları kaldırıldı overleaf.com/learn/how-to/Clearing_the_cache ama sorunu çözmek değil.
Emad Aghayi

21

Sadece kısa bir not - Lateks dosyalarımla dizinde oturan plain.bst'in değiştirilmiş bir sürümünü kullanıyorum ; görünüş sırasına göre sıralama yapmanın nispeten kolay bir değişiklik olduğu ortaya çıkıyor; sadece kod parçasını bulun:

...
ITERATE {presort}

SORT
...

... ve yorum yap - Şuna çevirdim:

...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...

... ve sonra çalıştırdıktan sonra bibtex, pdflatex, pdflatex- alıntılar (olduğunu, bunlar sıralanmamış olacak :)) görünme sırasına göre sıralanacaktır.

Şerefe!

EDIT: yazdıklarımın aslında @ChrisN tarafından yorumda olduğunu fark ettim: " SORT komutunu kaldırmak için düzenleyebilir misin ";)


18

Geldiğim en iyi unsrt, tweaked plaintarzı gibi görünen stili kullanmaktır. yani

\bibliographystyle{unsrt}
\bibliography{bibliography}

Ancak stilim varsayılan değilse ne olur?


4
Özel bir BibTeX stili kullanıyorsanız, SORT komutunu kaldırmak için onu düzenleyebilir misiniz?
ChrisN

Varsayılan olarak, wiki sayfası düz yapmanızı önerir. Dikkatsizce kopyalayıp yapıştırırsanız, stilsiz stil yerine düz kullanırsınız. en.wikibooks.org/wiki/LaTeX/Bibliography_Management
Andras Gyomrey

12

Kendi sorunuza cevap verdiniz --- unsrtgörünme sırasına göre listelenen ne istediğinizi kullanmak istediğinizde kullanılmalıdır.

Ancak son derece esnek bir alıntı paketi olan natbib'e de bakmak isteyebilirsiniz . Onsuz yaşamayı hayal bile edemiyorum.


7
natbib yalnızca belgenin kendisindeki \ cite komutlarının dizilimini etkiler. Bunu söyledikten sonra, orijinal poster tarafından aranan etkiyi elde etmek için unsrtnat.bst ile dağıtılır. (Mutlak istikrar en önemli olmadıkça, bu günlerde natbib üzerinden biblatex'i tavsiye ederim.)
Will Robertson

5

Bibtex'te (ve genel olarak Lateks'te) biraz yeniyim ve Lateks'te bir bibliyografya siparişiyle ilgili Google arama sorgularımın çoğunda geldiğini bulduğum için bu eski yayını yeniden canlandırmak istiyorum.

Bu soruya, benimle aynı zorluklarla karşılaşan bazı acemilere yardımcı olabileceği umuduyla daha ayrıntılı bir cevap veriyorum.

Bibliyografyanın çağrıldığı ana .tex dosyasına bir örnek:

\documentclass{article}
\begin{document}

So basically this is where the body of your document goes.

``FreeBSD is easy to install,'' said no one ever \cite{drugtrafficker88}.

``Yeah well at least I've got chicken,'' said Leeroy Jenkins \cite{goodenough04}.

\newpage
\bibliographystyle{ieeetr} % Use ieeetr to list refs in the order they're cited
\bibliography{references} % Or whatever your .bib file is called
\end{document}

... ve .bib dosyasının kendisine bir örnek:

@ARTICLE{ goodenough04,
AUTHOR    = "G. D. Goodenough and others", 
TITLE     = "What it's like to have a sick-nasty last name",
JOURNAL   = "IEEE Trans. Geosci. Rem. Sens.",
YEAR      = "xxxx",
volume    = "xx",
number    = "xx",
pages     = "xx--xx"
}
@BOOK{ drugtrafficker88,
AUTHOR    = "G. Drugtrafficker", 
TITLE     = "What it's Like to Have a Misleading Last Name",
YEAR      = "xxxx",
PUBLISHER = "Harcourt Brace Jovanovich, Inc."
ADDRESS   = "The Florida Alps, FL, USA"
}

.Bib dosyasındaki başvuruların ters sırada listelendiğini, ancak başvurular makalede belirtildikleri sırayla listelendiğini unutmayın.

.Bib dosyanızın biçimlendirmesiyle ilgili daha fazla bilgiyi şu adreste bulabilirsiniz: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management


3

Genellikle bibliyografya stilini kullanıyorum natbibçünkü bizim için oldukça eksiksiz bir format seti ve etiket sağlıyor.


2

ile unsrtproblem biçimidir. \bibliographystyle{ieeetr}belgede atıf sırasına göre referans almak için kullanın .


Biçimle ilgili talebiniz kabul edilen (ve büyük ölçüde onaylanan) yanıtla çelişiyor gibi görünüyor. Açıklığa kavuşturabilir misiniz?
Zero3

0

Datatool paket teklifler güzel bir yol bazı veritabanı biçime ilk dönüştürerek, keyfi bir kriter tarafından kaynakça sıralamak için.

Buradan alınan ve kayıt için gönderilen kısa örnek :

\documentclass{article}

\usepackage{databib}

\begin{document}
% First argument is the name of new datatool database
% Second argument is list of .bib files
\DTLloadbbl{mybibdata}{acmtr}
% Sort database in order of year starting from most recent
\DTLsort{Year=descending}{mybibdata}
% Add citations
\nocite{*}

% Display bibliography
\DTLbibliography{mybibdata}
\end{document}

0

Kullanıyorsanız amsrefs, yukarıdakilerin tümünü geçersiz kılar - bu yüzden yorum yapın:

\usepackage{amsrefs}


1
Stack Overflow'a hoş geldiniz! Cevabınız gerçekten sorulan soruya cevap vermiyor. Bilgileriniz değerli olabilir, ancak muhtemelen diğer yanıtlardan birine yorum yapmak için daha uygundur (yorum göndermek için gerekli itibarı edindikten sonra).
Zero3

0

Kullandığım natbibbirlikte bibliographystyle{apa}. Örneğin:

\begin{document}

The body of the document goes here...

\newpage

\bibliography{bibliography} % Or whatever you decided to call your .bib file 

\usepackage[round, comma, sort&compress ]{natbib} 

bibliographystyle{apa}
\end{document}

0

Alıntı sayısının belgedeki sırayla görünmesini istiyorsanız, yalnızca başvuru sayfasında sıralanmamış olur:

\bibliographystyle{unsrt}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.