Pergunta

Por padrão (usando o estilo plain) BibTeX ordens citações em ordem alfabética.

Como encomendar as citações por ordem de aparição no documento?

Foi útil?

Solução

Há três respostas positivas a esta questão.

  • Use o estilo bibliografia unsrt, se você está feliz com a sua formatação de outra forma
  • Use o makebst (link) ferramenta para projetar seu próprio estilo bibliografia

E a minha recomendação pessoal:

  • Use o pacote biblatex (link) . É a ferramenta bibliografia completa e flexível mais no mundo do 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}

Outras dicas

Mudança

\bibliographystyle{plain}

para

\bibliographystyle{ieeetr}

Em seguida, reconstruí-lo algumas vezes para substituir os arquivos .aux e .bbl que foram feitas quando você usou o estilo simples.

Ou simplesmente apagar os arquivos .aux e .bbl e reconstruir.

Se você usar MiKTeX você deve não precisa baixar nada extra.

Apenas uma nota breve - Eu estou usando uma versão modificada do plain.bst sentado no diretório com os meus arquivos de látex; verifica-se ter a classificação por ordem de aparição é uma mudança relativamente fácil; apenas encontrar o pedaço de código:

...
ITERATE {presort}

SORT
...

... e comentar isso - Virei-a:

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

... e então, depois de executar bibtex, pdflatex, pdflatex - as citações serão ordenadas por ordem de aparecimento (ou seja, eles serão indiferenciados :)).

Felicidades!

EDIT: só percebi que o que eu escrevi é verdade no comentário por @ChrisN: " você pode editá-lo para remover o comando SORT ";)

O melhor que eu vim com está usando o estilo unsrt, o que parece ser um estilo plain beliscada. i.

\bibliographystyle{unsrt}
\bibliography{bibliography}

No entanto o que se meu estilo não é o padrão?

Você respondeu sua própria pergunta --- unsrt é para ser usado quando você quer referências a ne listados na ordem de appeareance.

Mas você pode também querer ter um olhar para natbib , um pacote de citação extremamente flexível. Eu não posso imaginar viver sem ele.

Eu sou um pouco novo para Bibtex (e látex em geral) e eu gostaria de reviver este post velho desde que eu encontrei ele veio em muitas das minhas perguntas de pesquisa do Google sobre a ordenação de uma bibliografia em Latex.

Eu estou oferecendo uma resposta mais detalhada a esta pergunta na esperança de que ele pode ajudar alguns novatos lá fora, enfrentando as mesmas dificuldades que eu.

Aqui está um exemplo do arquivo .tex principal em que a bibliografia é chamado:

\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 as referências no arquivo .bib estão listados em ordem inversa, mas as referências são listados na ordem em que são citadas no papel.

Mais informações sobre a formatação do seu arquivo .bib pode ser encontrada aqui: http: // en .wikibooks.org / wiki / LaTeX / Bibliography_Management

Costumo usar o natbib estilo bibliografia porque fornece conjunto bastante completo de formatos, bem como tags para nós.

com unsrt o problema é o formato. uso \bibliographystyle{ieeetr} para obter refences em ordem de citação no documento.

Datatool ofertas de pacotes de uma boa maneira de classificar bibliografia por um critério arbitrário, convertendo-o primeiro em algum formato de banco de dados.

exemplo Curto, tomada daqui e afixado 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 acontecer de você estar usando amsrefs que irá substituir todos os acima - para comentário fora:

\usepackage{amsrefs}

Eu uso natbib em 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}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top