Bagaimana cara memesan kutipan berdasarkan tampilan menggunakan BibTeX?

259

Secara default (menggunakan plaingaya) BibTeX memesan kutipan berdasarkan abjad.

Bagaimana cara memesan kutipan berdasarkan urutan penampilan dalam dokumen?

Brendan
sumber
36
Pertanyaan bermanfaat (terbalik), tetapi bukankah ini milik tex.stackexchange.com ?
Proyek Chthonic
12
@ChthonicProject, saya tidak berpikir tex.stackexchange.com dimulai hingga 2010 dan pertanyaan ini dari 2008. Juga, pertanyaannya akan terlalu tua untuk dimigrasi, jadi tinggal di sini.
Richard Erickson
1
Hapus file .aux dan .bbl dan buat kembali
Emad Aghayi

Jawaban:

195

Ada tiga jawaban bagus untuk pertanyaan ini.

  • Gunakan unsrtgaya bibliografi, jika Anda senang dengan formatnya sebaliknya
  • Gunakan alat makebst (tautan) untuk mendesain gaya bibliografi Anda sendiri

Dan rekomendasi pribadi saya:

  • Gunakan biblatexpaket (tautan) . Ini adalah alat bibliografi paling lengkap dan fleksibel di dunia LaTeX.

Menggunakan biblatex, Anda akan menulis sesuatu seperti

\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}
Will Robertson
sumber
2
Satu keuntungan nyata dari paket biblatex yang membuat saya menerima jawaban ini adalah memungkinkan mengedit gaya referensi menggunakan makro TeX daripada voodoo BibTeX yang aneh. Paket lain mungkin lebih baik untuk solusi yang lebih cepat / lebih dapat diandalkan.
Brendan
1
Saya perlu menambahkan itu jika Anda menggunakan biblatex. Akan lebih baik menggunakan \ addbibresource sebagai gantinya \ bibliografi. Jadi\addbibresource{journals.bib,phd-references.bib}
Custodio
126

Perubahan

\bibliographystyle{plain}

untuk

\bibliographystyle{ieeetr}

Kemudian buat ulang beberapa kali untuk mengganti .auxdan .bblfile yang dibuat ketika Anda menggunakan gaya biasa.

Atau hanya menghapus .auxdan .bblfile dan membangun kembali.

Jika Anda menggunakan MiKTeX Anda tidak perlu mengunduh apa pun tambahan.

Riaz
sumber
4
Terima kasih! Perbaikan luar biasa dan sederhana!
Antillar Maximus
Bagus! Terima kasih atas solusinya yang sederhana.
Yang Mulia
4
jika Anda menulis makalah untuk ACM Publikasi maka unsrtakan lebih baik daripada ieeetrkarena yang terakhir dimaksudkan untuk kertas IEEE yang memiliki format yang sedikit berbeda. unsrtdan abbrvmenghasilkan jenis format yang sama. Anda mungkin ingin melihat tautan
Ash Catchem
Jawaban sederhana muncul! Sementara Will Robertson 's biblatexsentris jawabannya pada akhirnya jalan ke depan bagi masyarakat LaTeX, kurangnya terus LyX ini built-in mendukung untuk biblatexadalah blocker besar (dan semakin memalukan). Sudah delapan tahun sejak pertanyaan ini pertama kali diajukan! Saya tidak akan pernah mendapatkan prioritas pengembang LyX. Ini 2016. Mobil tanpa pengemudi dan superkomputer portabel adalah suatu hal, namun di sini kita tetap - dirantai ke batu malu yang sama seperti BibTeX.
Cecil Curry
1
Itu tidak berfungsi di aplikasi Overleaf. Saya menghapusnya di Overleaf oleh overleaf.com/learn/how-to/Clearing_the_cache tetapi tidak memperbaiki masalah.
Emad Aghayi
21

Hanya catatan singkat - Saya menggunakan versi modifikasi dari plain.bst duduk di direktori dengan file Lateks saya; ternyata memilah berdasarkan urutan penampilan adalah perubahan yang relatif mudah; cari saja potongan kode:

...
ITERATE {presort}

SORT
...

... dan berkomentar - saya mengubahnya ke:

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

... dan kemudian, setelah menjalankan bibtex, pdflatex, pdflatex- kutipan akan diurutkan berdasarkan urutan tampilan (yaitu, mereka akan disortir :)).

Bersulang!

EDIT: baru menyadari bahwa apa yang saya tulis sebenarnya ada di komentar oleh @ChrisN: " bisakah Anda mengeditnya untuk menghapus perintah SORT ";)

sdaau
sumber
18

Yang terbaik yang saya hasilkan adalah menggunakan unsrtgaya, yang tampaknya menjadi plaingaya tweak . yaitu

\bibliographystyle{unsrt}
\bibliography{bibliography}

Namun bagaimana jika gaya saya bukan default?

Brendan
sumber
4
Jika Anda menggunakan gaya BibTeX khusus, dapatkah Anda mengeditnya untuk menghapus perintah SORT?
ChrisN
Secara default, halaman wiki merekomendasikan Anda polos. Jika Anda salin-tempel dengan sembrono, Anda akan menggunakan gaya biasa bukan gaya unsrt. en.wikibooks.org/wiki/LaTeX/Bibliography_Management
Andras Gyomrey
12

Anda menjawab pertanyaan Anda sendiri --- unsrtharus digunakan ketika Anda ingin referensi untuk tercantum dalam urutan penampilan.

Tetapi Anda mungkin juga ingin melihat natbib , paket kutipan yang sangat fleksibel. Saya tidak bisa membayangkan hidup tanpanya.

bagian belakang
sumber
7
natbib hanya memengaruhi penyusunan huruf dari perintah \ cite dalam dokumen itu sendiri. Karena itu, itu didistribusikan dengan unsrtnat.bst untuk mencapai efek yang dicari oleh poster aslinya. (Saya akan merekomendasikan biblatex hari ini di atas natbib, kecuali stabilitas absolut yang paling penting.)
Will Robertson
5

Saya agak baru di Bibtex (dan juga Latex secara umum) dan saya ingin menghidupkan kembali postingan lama ini karena saya menemukan itu muncul di banyak pertanyaan pencarian Google saya tentang pemesanan bibliografi dalam Latex.

Saya memberikan jawaban yang lebih jelas untuk pertanyaan ini dengan harapan dapat membantu beberapa novis di luar sana menghadapi kesulitan yang sama seperti saya.

Berikut adalah contoh file .tex utama tempat bibliografi disebut:

\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}

... dan contoh file .bib itu sendiri:

@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"
}

Perhatikan referensi dalam file .bib terdaftar dalam urutan terbalik tetapi referensi terdaftar dalam urutan yang dikutip dalam kertas.

Informasi lebih lanjut tentang pemformatan file .bib Anda dapat ditemukan di sini: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management

HeWhoLikesWaffles
sumber
3

Saya sering menggunakan gaya bibliografi natbibkarena menyediakan serangkaian format yang cukup lengkap serta tag untuk kita.

Tung
sumber
2

dengan unsrtmasalah adalah formatnya. gunakan \bibliographystyle{ieeetr}untuk mendapatkan refences dalam urutan kutipan dalam dokumen.

Thiem Nguyen
sumber
Klaim Anda tentang format tersebut tampaknya bertentangan dengan jawaban yang diterima (dan sangat diputuskan). Bisakah Anda mengklarifikasi?
Zero3
0

The datatool paket penawaran yang bagus cara untuk mengurutkan daftar pustaka oleh kriteria yang sewenang-wenang, dengan mengubahnya pertama ke beberapa format database.

Contoh singkat, diambil dari sini dan diposting sebagai catatan:

\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}
kebs
sumber
0

Jika Anda menggunakan amsrefsmereka akan menimpa semua di atas - jadi komentar:

\usepackage{amsrefs}

Tamu
sumber
1
Selamat Datang di Stack Overflow! Jawaban Anda tampaknya tidak benar-benar menjawab pertanyaan yang diajukan. Informasi Anda bisa berharga, tetapi mungkin lebih cocok sebagai komentar untuk salah satu jawaban lain (setelah Anda memperoleh reputasi yang diperlukan untuk mengirim komentar).
Zero3
0

Saya menggunakan natbibdalam kombinasi dengan bibliographystyle{apa}. Misalnya:

\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}
Tshilidzi Mudau
sumber
0

Tambahkan ini jika Anda ingin jumlah kutipan muncul secara berurutan dalam dokumen, mereka hanya akan dibatalkan di halaman referensi:

\bibliographystyle{unsrt}
Malak
sumber