Bibtex. Пакет bibtex-tydy

Пакет bibtex-tydy позволяет выполнить проверку и чистку bib-файлов.

Содержание

1 Общая информация

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

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие