Как упорядочить цитаты по внешнему виду с помощью BibTeX?

StackOverflow https://stackoverflow.com/questions/144639

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

  • Использовать 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}

Другие советы

Изменять

\bibliographystyle{plain}

к

\bibliographystyle{ieeetr}

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

Или просто удалите .aux и .bbl файлы и перестроить.

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

Краткое примечание: я использую модифицированную версию Plain.bst нахожусь в каталоге с моими файлами Latex;оказывается, что сортировка по порядку появления — относительно простое изменение;просто найдите фрагмент кода:

...
ITERATE {presort}

SORT
...

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

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

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

Ваше здоровье!

РЕДАКТИРОВАТЬ:только что понял, что то, что я написал, на самом деле находится в комментарии @ChrisN:"можете ли вы отредактировать его, чтобы удалить команду СОРТИРОВАТЬ" ;)

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

\bibliographystyle{unsrt}
\bibliography{bibliography}

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

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

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

Я немного новичок в Bibtex (и в Latex в целом), и мне бы хотелось возродить этот старый пост, так как я обнаружил, что он появлялся во многих моих поисковых запросах 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'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"
}

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

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

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

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

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

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

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

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

\usepackage{amsrefs}

я использую 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}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top