Подтвердить что ты не робот

Как заказать цитаты по внешности с помощью BibTeX?

По умолчанию (с использованием стиля plain) BibTeX упорядочивает записи по алфавиту.

Как заказать цитаты по порядку появления в документе?

4b9b3361

Ответ 1

Есть три хороших ответа на этот вопрос.

  • Используйте стиль библиотек unsrt, если вы довольны его форматированием в противном случае
  • Используйте инструмент makebst (ссылка), чтобы создать свой собственный стиль библиографии.

И моя личная рекомендация:

  • Используйте пакет biblatex (ссылка). Это самый полный и гибкий инструмент библиографии в мире LaTeX.

Используя biblatex, вы должны написать что-то вроде

\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

Измените

\bibliographystyle{plain}

к

\bibliographystyle{ieeetr}

Затем переделайте его несколько раз, чтобы заменить файлы .aux и .bbl, которые были сделаны, когда вы использовали простой стиль.

Если вы используете MiKTeX, вам не нужно ничего загружать.

Ответ 3

Вы ответили на свой вопрос --- unsrt должен использоваться, когда вы хотите, чтобы ссылки на ne перечислялись в порядке показательности.

Но вы также можете взглянуть на natbib, чрезвычайно гибкий пакет цитат. Я не могу представить себе жизнь без нее.

Ответ 4

Лучшее, что я придумал, - это стиль unsrt, который, как представляется, является измененным стилем plain. то есть.

\bibliographystyle{unsrt}
\bibliography{bibliography}

Однако, что, если мой стиль не является значением по умолчанию?

Ответ 5

Просто короткая заметка - я использую модифицированную версию plain.bst, сидящую в каталоге с моими файлами в латекс; получается, что сортировка по порядку внешнего вида - относительно легкое изменение; просто найдите фрагмент кода:

...
ITERATE {presort}

SORT
...

... и прокомментируйте это - я повернул его:

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

... а затем, после запуска bibtex, pdflatex, pdflatex - цитаты будут отсортированы по порядку появления (т.е. они будут несортированы:)).

Ура!

EDIT: просто понял, что то, что я написал, на самом деле в комментарии от @ChrisN: "можете ли вы отредактировать его, чтобы удалить команду SORT";)

Ответ 6

Я часто использую стиль библиографии natbib, потому что он предоставляет полный набор форматов, а также теги для нас.

Ответ 7

Я немного новичок в Bibtex (и в латексе вообще), и я бы хотел оживить этот старый пост, так как нашел, что он вошел во многие мои запросы на поиск в Google о заказе библиографии в Latex.

Я предоставляю более подробный ответ на этот вопрос в надежде, что он может помочь некоторым новичкам встретиться с теми же трудностями, что и я.

Вот пример основного .tex файла, в котором вызывается библиография:

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

... и пример самого файла .bib:

@ARTICLE{ goodenough04,
AUTHOR    = "G. D. Goodenough and others", 
TITLE     = "What it 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 Like to Have a Misleading Last Name",
YEAR      = "xxxx",
PUBLISHER = "Harcourt Brace Jovanovich, Inc."
ADDRESS   = "The Florida Alps, FL, USA"
}

Обратите внимание, что ссылки в файле .bib указаны в обратном порядке, но ссылки перечислены в том порядке, в котором они указаны в документе.

Более подробную информацию о форматировании вашего .bib файла можно найти здесь: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management

Ответ 8

с unsrt проблема - это формат. используйте \bibliographystyle{ieeetr}, чтобы получить refences в порядке цитирования в документе.

Ответ 9

Пакет datatool предлагает отличный способ сортировки библиографии по произвольному критерию путем преобразования ее сначала в какой-то формат базы данных.

Короткий пример, взятый отсюда и отправленный для записи:

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

Ответ 10

Если вы используете amsrefs, они будут отменять все вышеперечисленное - так что комментарий:

\usepackage{amsrefs}

Ответ 11

Я использую natbib в комбинации с bibliographystyle{apa}. Например:

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