Сортировка библиографии в соответствии с порядком в файле .bib

Сортировка библиографии в соответствии с порядком в файле .bib

Можно ли отсортировать порядок ссылок, используя порядок в .bibфайле?

решение1

Вот решение, которое должно работать слюбойbib-файл, в том числе файл, в котором записи отсортированы в обратном алфавитном порядке.

Сначала вставьте следующую инструкцию в начало файла bib:

@preamble{ "\newcommand{\noop}[1]{}" }

На первый взгляд, \noopинструкция может показаться бессмысленной, поскольку она ничего не делает со своим аргументом. Хотя это верно дляНабор текста LaTeXбеги, этонетверно дляСортировка BibTeXфаза. Фактически, для фазы сортировки своей работы BibTeX заменит \noop{abc}на abcи будет считать " abc" частью материала, который необходимо отсортировать в алфавитном порядке.

Во-вторых, если в файле bib менее 26*26=676 записей, вставьте инструкции \noop{aa}, \noop{ab}, ..., \noop{az}, \noop{ba}, \noop{bb}, ... непосредственно (без пробела) перед фамилией первого автора в authorполе каждой записи:

@article{xyz,
   author  = "Dane \noop{aa}Miller and Jane Smith",
   ...
}
@book{123,
   author = "Jill \noop{ab}Anderson and Bill Carlson",
   ...
}
...
@techreport{johnson:2012,
   author = "\noop{ac}Johnson, Jimmy",
   ...
}

(Если у вас более 676 записей, просто увеличьте длину строки аргумента \noopсоответствующим образом, например, до aaaa, aaab, и т. д.)

В-третьих, обязательно используйте файл стиля библиографии, который сортирует записи библиографических номеров в алфавитном порядке. Теперь смысл инструкций \noopдолжен быть ясен: длясортировка целей, соответствующие фамилии — «aaMiller», «abAnderson» и «acJohnson», и, следовательно, три записи будут отсортированы так же, как они указаны в файле bib (а не «Anderson», затем «Johnson», а затем «Miller»). Позже, когда LaTeX выполнит набор текста, он отбросит префиксы aa, ab, и т. д., и имена будут набраны правильно.

решение2

Решение от @egreg было предоставлено в этой теме:https://tex.stackexchange.com/a/56640/204235

\nocite{*}можно добавлять в начало документов перед любыми цитатами, ваша библиография будет напечатана в том же порядке, что и ваша, .bibи вы по-прежнему можете добавлять цитаты, которые будут использовать нумерацию из вашего .bib.

Связанный контент