Domyślnie (używając plain
stylu) BibTeX porządkuje cytaty alfabetycznie.
Jak zamówić cytaty według kolejności występowania w dokumencie?
Domyślnie (używając plain
stylu) BibTeX porządkuje cytaty alfabetycznie.
Jak zamówić cytaty według kolejności występowania w dokumencie?
Odpowiedzi:
Istnieją trzy dobre odpowiedzi na to pytanie.
unsrt
stylu bibliografii, jeśli jesteś zadowolony z jego formatowaniamakebst
(link) , aby zaprojektować własny styl bibliografiiI moja osobista rekomendacja:
biblatex
pakietu (link) . Jest to najbardziej kompletne i elastyczne narzędzie bibliograficzne w świecie LaTeX.Używając biblatex
, napiszesz coś takiego
\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}
\addbibresource{journals.bib,phd-references.bib}
Zmiana
\bibliographystyle{plain}
do
\bibliographystyle{ieeetr}
Następnie przebuduj go kilka razy, aby zastąpić pliki .aux
i .bbl
utworzone podczas zwykłego stylu.
Lub po prostu usunąć .aux
i .bbl
pliki i odbudować.
Jeśli korzystasz z MiKTeX, nie musisz pobierać niczego dodatkowego.
unsrt
byłoby lepiej niż ieeetr
ponieważ ten ostatni jest przeznaczony dla papieru IEEE, który ma nieco inne formatowanie. unsrt
i abbrv
tworzy ten sam typ formatowania. Możesz
biblatex
-centric odpowiedź jest dla społeczności LaTeX ostatecznie drogę naprzód, ciąg dalszy brak LyX jest z wbudowanego wsparcia dla biblatex
ogromna (i coraz bardziej żenujące) bloker. Minęło osiem lat od pierwszego pytania! Nigdy nie powiem priorytetów programistycznych LyX. Jest rok 2016. Samochody bez sterowników i przenośne superkomputery to coś, ale tutaj pozostajemy - przykuty do tego samego wykonalnego kamienia BibTeX.
Krótka uwaga - używam zmodyfikowanej wersji pliku plain.bst siedzącego w katalogu z moimi plikami Latex; okazuje się, że sortowanie według kolejności wyglądu jest stosunkowo łatwą zmianą; po prostu znajdź fragment kodu:
...
ITERATE {presort}
SORT
...
... i skomentuj - zmieniłem na:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... a następnie, po uruchomieniu bibtex
, pdflatex
, pdflatex
- cytatów zostaną posortowane według kolejności występowania (czyli będą nieposortowane :)).
Twoje zdrowie!
EDYCJA: właśnie zdałem sobie sprawę, że to, co napisałem, jest w komentarzu @ChrisN: „ czy możesz to edytować, aby usunąć polecenie SORT ”;)
Najlepsze, co wymyśliłem, to użycie unsrt
stylu, który wydaje się być ulepszonym plain
stylem. to znaczy
\bibliographystyle{unsrt}
\bibliography{bibliography}
Co jednak, jeśli mój styl nie jest domyślny?
Odpowiedziałeś na własne pytanie --- unsrt
należy użyć, jeśli chcesz, aby odniesienia do ne były wymienione w kolejności wyglądania.
Ale możesz także rzucić okiem na natbib , niezwykle elastyczny pakiet cytatów. Nie wyobrażam sobie życia bez niego.
Jestem trochę nowy w Bibtex (i ogólnie w Latex) i chciałbym ożywić ten stary post, ponieważ znalazłem go w wielu moich zapytaniach w wyszukiwarce Google dotyczących zamawiania bibliografii w Latex.
Udzielam bardziej szczegółowej odpowiedzi na to pytanie w nadziei, że może to pomóc niektórym nowicjuszom napotykającym takie same trudności jak ja.
Oto przykład głównego pliku .tex, w którym nazywa się bibliografia:
\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}
... i przykład samego pliku .bib:
@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"
}
Uwaga: odniesienia w pliku .bib są wymienione w odwrotnej kolejności, ale odniesienia są wymienione w kolejności, w jakiej są cytowane w artykule.
Więcej informacji na temat formatowania pliku .bib można znaleźć tutaj: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
z unsrt
problemem jest format. służy \bibliographystyle{ieeetr}
do uzyskiwania poprawek w kolejności cytowania w dokumencie.
W datatool oferty pakietowe sposób miły uporządkować bibliografia przez arbitralne kryterium, przekształcając go najpierw do jakiegoś formatu bazy danych.
Krótki przykład, wzięty stąd i opublikowany dla celów:
\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}
Jeśli akurat używasz amsrefs
, zastąpią wszystkie powyższe - więc skomentuj:
\usepackage{amsrefs}
Używam natbib
w połączeniu z bibliographystyle{apa}
. Na przykład:
\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}