Bibtex. Пакет bibtex-tydy
Пакет bibtex-tydy позволяет выполнить проверку и чистку bib-файлов.
Содержание
1 Общая информация
- Репозиторий: https://github.com/FlamingTempura/bibtex-tidy
- Написано на Javascript.
- Можно использовать без установки из броузера: https://flamingtempura.github.io/bibtex-tidy/.
2 Установка
2.1 pnpm
- Установка:
1pnpm add -g bibtex-tidy
2.2 yarn
- Установка:
1yarn global add bibtex-tidy
2.3 npm
- Установка:
1npm install -g bibtex-tidy
3 Примеры использования
3.1 Общий формат использования
- Запустите из командной строки:
1bibtex-tidy references.bib
3.2 Не преобразовывать символы
- По умолчанию производится экранирование не-ASCII символов: умляуты, русские буквы.
- Если используется UTF-8, то данное поведение можно отключить:
1bibtex-tidy --no-escape references.bib
3.3 Удаление дубликатов записей
- По умолчанию сообщается о наличии дублирующих записей.
- Их можно слить вместе (то есть дубликаты будут удалены):
1bibtex-tidy --no-escape --merge references.bib
- Существуют различные способы слияния:
first
: сохраняется только исходная запись;last
: сохраняется только последний найденный дубликат;combine
: сохранить исходную запись и объединить поля дубликатов, если они не существуют;overwrite
: сохранить оригинальную запись и объединить поля дубликатов, перезаписывая существующие поля, если они уже существуют.
- Для идентификации дубликатов можно использовать опцию
--duplicates
:--duplicates doi
: одинаковые DOI;--duplicates key
: одинаковые идентификаторы (ключи) записи;--duplicates abstract
: одинаковые рефераты;--duplicates citation
: одинаковые автор и заглавие);--duplicates doi,key
: одинаковые DOI или ключи;--duplicates
: одинаковые DOI, ключ, реферат или цитирование.
3.4 Двойные скобки в поле title
Bibtex переводит в поле
title
все прописные буквы (кроме первой) в строчные.Чтобы избежать такое поведение, рекомендуется заключить значение поля
title
в двойные фигурные скобки.В связи с этим возникает две задачи: поставить двойные фигурные скобки и убрать двойные фигурные скобки для поля
title
.Поставить двойные фигурные скобки для поля
title
:1bibtex-tidy --no-escape --enclosing-braces references.bib
- Можно задать список полей, которые следует заключить в двойные фигурные скобки:
1--enclosing-braces=title,journal
- Команда
--enclosing-braces
без опций эквивалентна команде--enclosing-braces=title
.
- Можно задать список полей, которые следует заключить в двойные фигурные скобки:
Убрать двойные фигурные скобки для поля
title
:1bibtex-tidy --no-escape --remove-braces references.bib
- Можно задать список полей, которые следует заключить в двойные фигурные скобки:
1--remove-braces=title,journal
- Команда
--remove-braces
без опций эквивалентна команде--remove-braces=title
.
- Можно задать список полей, которые следует заключить в двойные фигурные скобки:
Убрать двойные фигурные скобки для всех полей:
1bibtex-tidy --no-escape --strip-enclosing-braces references.bib
3.5 Красивости
3.5.1 Сортировка полей
- Сортировать поля внутри записей выполняется с помощью ключа
--sort-fields
. - В качестве параметра задаётся список сортировки полей.
- Если поля не указаны, то поля будут отсортированы следующим образом: title, shorttitle, author, year, month, day, journal, booktitle, location, on, publisher, address, series, volume, number, pages, doi, isbn, issn, url, urldate, copyright, category, note, metadata.
3.5.2 Сортировка записей
- Сортировать записей выполняется с помощью ключа
--sort
. - В качестве параметра задаётся список полей.
- Для сортировки по убыванию, добавьте к полю префикс тире (
-
). - Например:
--sort
: сортировка по идентификатору (ключу);--sort=-year,name
: сортировать год по убыванию, а имя по возрастанию.
3.5.3 Прописные буквы
- Если есть значения полей, записанные полностью прописными буквами, то можно переведите их в регистр с первыми заглавными буквами:
1bibtex-tidy --no-escape --drop-all-caps references.bib
- Например,
{JOURNAL OF TEA}
станет{Journal of Tea}
.