Por padrão (usando o plainestilo), o BibTeX ordena citações em ordem alfabética.
Como ordenar as citações por ordem de aparência no documento?
Por padrão (usando o plainestilo), o BibTeX ordena citações em ordem alfabética.
Como ordenar as citações por ordem de aparência no documento?
Respostas:
Existem três boas respostas para essa pergunta.
unsrtestilo bibliográfico, se estiver satisfeito com a formatação, caso contráriomakebst (link) para criar seu próprio estilo de bibliografiaE minha recomendação pessoal:
biblatexpacote (link) . É a ferramenta bibliográfica mais completa e flexível do mundo LaTeX.Usando biblatex, você escreveria algo como
\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}
mudança
\bibliographystyle{plain}
para
\bibliographystyle{ieeetr}
Em seguida, reconstrua-o algumas vezes para substituir os arquivos .auxe .bblque foram criados quando você usou o estilo simples.
Ou simplesmente apagar os .auxe .bblarquivos e reconstruir.
Se você usa o MiKTeX, não precisa baixar nada extra.
unsrtseria melhor do que, ieeetrjá que este último é destinado ao papel IEEE, que tem uma formatação ligeiramente diferente. unsrte abbrvproduz o mesmo tipo de formatação. Você pode querer dar uma olhada neste link
biblatexcentric resposta é em última análise, o caminho a seguir para a comunidade LaTeX, contínua falta de do LyX suporte embutido para biblatexé um bloqueador enorme (e cada vez mais embaraçoso). Faz oito anos desde que esta pergunta foi feita pela primeira vez! Nunca vou entender as prioridades do desenvolvedor do LyX. É 2016. Carros sem motorista e supercomputadores portáteis são uma coisa, mas aqui permanecemos - acorrentados à mesma execrável pedra de vergonha BibTeX.
Apenas uma breve observação - estou usando uma versão modificada do plain.bst no diretório com meus arquivos Latex; acontece que ordenar por ordem de aparência é uma mudança relativamente fácil; basta encontrar o trecho de código:
...
ITERATE {presort}
SORT
...
... e comente - eu virei para:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... e, em seguida, após a execução bibtex, pdflatex, pdflatex- as citações serão ordenadas por ordem de aparecimento (ou seja, eles serão indiferenciados :)).
Felicidades!
EDIT: acabei de perceber que o que escrevi está realmente no comentário de @ChrisN: " você pode editá-lo para remover o comando SORT ";)
O melhor que eu criei é usar o unsrtestilo, que parece ser um plainestilo aprimorado . ie
\bibliographystyle{unsrt}
\bibliography{bibliography}
No entanto, e se meu estilo não for o padrão?
Você respondeu à sua própria pergunta --- unsrtdeve ser usada quando você desejar que as referências sejam listadas na ordem de aparência.
Mas você também pode querer dar uma olhada no natbib , um pacote de citação extremamente flexível. Não consigo imaginar viver sem ele.
Sou um pouco novo no Bibtex (e no Latex em geral) e gostaria de reviver esse post antigo, pois descobri que ele apareceu em muitas das minhas pesquisas no Google sobre o pedido de uma bibliografia no Latex.
Estou fornecendo uma resposta mais detalhada a esta pergunta, na esperança de que possa ajudar alguns novatos por aí enfrentando as mesmas dificuldades que eu.
Aqui está um exemplo do arquivo .tex principal no qual a bibliografia é chamada:
\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}
... e um exemplo do próprio arquivo .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"
}
Observe que as referências no arquivo .bib são listadas na ordem inversa, mas as referências são listadas na ordem em que são citadas no artigo.
Mais informações sobre a formatação do seu arquivo .bib podem ser encontradas aqui: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
com unsrto problema é o formato. use \bibliographystyle{ieeetr}para obter referências em ordem de citação no documento.
O pacote datatool oferece uma boa maneira de classificar a bibliografia por um critério arbitrário, convertendo-o primeiro em algum formato de banco de dados.
Exemplo curto, retirado daqui e publicado para o registro:
\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}
Se você estiver usando amsrefseles substituirão todos os itens acima - então, comente:
\usepackage{amsrefs}
Eu uso natbibem combinação com bibliographystyle{apa}. Por exemplo:
\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}