BibTeX. Утилита Bibtool
2025-04-25
·
2 мин. для прочтения
BibTeX. Утилита Bibtool.
Содержание
1 Общая информация
- BibTool –— консольная утилита для работы с файлами BibTeX, предназначенная для автоматизации управления библиографическими базами данных.
- Сайт: https://www.gerd-neugebauer.de/software/TeX/BibTool/en/
- Репозиторий: https://github.com/ge-ne/bibtool
- CTAN: https://www.ctan.org/tex-archive/biblio/bibtex/utils/bibtool/
2 Установка
2.1 Gentoo
- В основном репозитории:
emerge bibtool
3 Основные операции
Сортировка записей
- Автоматическая сортировка библиографических записей по ключам, авторам, годам и другим параметрам.
- Поддержка прямого (
-s) и обратного (-S) порядка сортировки.bibtool -s input.bib -o sorted.bib
Удаление дубликатов
- Поиск и удаление повторяющихся записей по ключам или содержимому.
- Ресурс
check.doubleдля проверки дубликатов.bibtool -- 'check.double = on' input.bib - Создание чистого файла без дубликатов:
bibtool -- 'check.double = on' -s input.bib -o clean.bib
Извлечение записей
- Фильтрация записей по ключам, авторам, годам или регулярным выражениям.
- Интеграция с
.aux-файлами LaTeX для извлечения только используемых ссылок:bibtool -x main.aux -o extracted.bib
Генерация ключей
- Автоматическое создание ключей BibTeX в коротком (
-k) или длинном (-K) формате. - Настройка шаблонов ключей через ресурс
key.format.bibtool -k input.bib -o new_keys.bib
- Автоматическое создание ключей BibTeX в коротком (
Проверка синтаксиса
- Обнаружение ошибок в структуре файлов (например, незакрытые скобки, некорректные поля).
- Валидация через ресурсы
validateиcheck.required.fields.
Объединение файлов
- Слияние нескольких
.bib-файлов в один с устранением конфликтов.bibtool -i file1.bib -i file2.bib -o merged.bib
- Слияние нескольких
Поиск записей по ключевому слову:
bibtool -- 'select{title "network"}' input.bib -o filtered.bibОбъединение с сортировкой по годам:
bibtool -s -- 'sort.format = {%D(year)}' *.bib -o sorted_by_year.bib
4 Скрипты
- Для пакетной работы используются ресурсные файлы (
.rsc):new.field.type author = AUTHOR key.format = {%-1n(author)}%Y%T