BibTeX

Материал из MachineLearning.

Перейти к: навигация, поиск
Логотип BibTeX
Логотип BibTeX

BibTeX — это программное обеспечение для создания форматированных списков библиографии. BibTeX позволяет легко работать со списками источников, отделяя библиографическую информацию от её представления. BibTeX используется совместно с LaTeX'ом, и входит во все известные дистрибутивы TeX и LaTeX, включая MiKTeX.

BibTeX разработали Орен Паташник и Лесли Лампорт в 1985 году.

Содержание

Использование

При подготовке статьи, отчета или диссертации в формате LaTeX гораздо удобнее пользоваться системой BibTeX, чем собирать библиографию вручную.

Основные преимущества BibTeX:

  • список литературы генерируется автоматически по всем ссылкам \cite, упомянутым в тексте;
  • можно использовать единую библиографическую базу (bib-файл) во всех своих текстах, во всех работах отдела, и т. д.;
  • легко обмениваться библиографическими базами с коллегами;
  • нет необходимости помнить правила оформления библиографии, так как BibTeX делает эту работу автоматически с помощью стилевых bst-файлов.

Для вызова BibTeX'а достаточно заменить стандартное LaTeX-овское окружение thebibliography командами

\bibliographystyle{gost780s}  %% стилевой файл для оформления по ГОСТу
\bibliography{MachLearn}     %% имя библиографической базы (bib-файла)

Можно использовать несколько библиографических баз одновременно (тогда их имена указываются через запятую).

Тексты, использующие BibTeX, необходимо обрабатывать 4 раза: первый проход LaTeX, затем BibTeX, и еще два прохода LaTeX. В редакторе WinEdt есть команда TeXify (голубой лев из панели инструментов), которая выполняет все необходимые вызовы автоматически.

Библиографические базы: bib-файлы

BibTeX использует bib-файлы специального текстового формата для хранения списков библиографических записей. Каждая запись описывает ровно одну публикацию — статью, книгу, диссертацию, и т. д. Примеры bib-записей и результаты их представления на печати можно посмотреть в pdf-файле Gost780.pdf, иллюстрирующем ГОСТ 7.80-2000.

Стили оформления библиографии: bst-файлы

BibTeX использует bst-файлы для описания того, как bib-записи преобразуются в текст на LaTeX'e. Каждый bst-файл представляет собой программу на простом стековом языке программирования, напоминающем FORTH или PostScript.

Русификация: csf-файлы

Языковая поддержка в полном объёме встроена в современные версии LaTeX и BibTeX. Однако среда редактирования, из которой вызывается LaTeX и BibTeX, может «не знать» о том, что при вызове BibTeX'у необходимо указывать имя специального csf-файла, содержащего такой пустяк, как информацию о правильном порядке букв в русском (и вообще, в любом не-латинском) алфавите:

bibtex8.exe --huge --csfile "cp1251.csf"

Если в эту строку запуска не вставить опцию --csfile "cp1251.csf", то библиография будет неверно сортироваться по фамилиям, к тому же у всех русских авторов исчезнут инициалы. Имя файла "cp1251.csf" может зависеть от дистрибутива LaTeX (данный пример ориентирован на MiKTeX).

Установка русифицированного BibTeX в систему MikTeX и WinEdit

Для установки русских стилей оформления библиографии (bst-файлов) и русских кодировок (csf-файлов) скачайте архив bibtex-rus.zip и распакуйте его с сохранением поддиректорий в локальной директории MiKTeX. В стандартном варианте она называется C:\localtexmf для поздних версий — C:\Program Files\localtexmf. При этом нужно проверить, что эта директория есть в списке корневых директорий MikTeX конфигуратора MiKTeX Options. Например, Programs->MikTeX2.7->MikTeX Options, вкладка Roots, добавить директорию C:\Program Files\localtexmf.

Затем необходимо перегенерировать базу имен с помощью конфигуратора MiKTeX Options: Refresh Formats, Update FNDB.

Теперь дело за малым: надо сделать так, чтобы BibTeX запускался не обычной командой bibtex8.exe, а командой с опцией --csfile, которая как раз и отвечает за корректную русификацию:

bibtex8.exe --huge --csfile "cp1251rus.csf"

В среде WinEdt 5.2 (возможно, и других версий тоже) для этого надо изменить два скрипта в директории WinEdt\Bin\TeX (новая версия WinEdit устанавливается по умолчанию в C:\Program Files\WinEdt Team\WinEdt).

1. Скрипт запуска BibTeX.bat:

 @ECHO OFF
 bibtex8.exe --huge --csfile "cp1251rus.csf" %1 %2 %3 %4 %5 %6 %7 %8 %9

2. Скрипт запуска TeXify.bat, в котором надо добавить команду set, указывающую полный путь к скрипту запуска BibTeX:

 @ECHO OFF
 set BIBTEX=C:\Program Files\WinEdt\Bin\TeX\BibTeX.bat 
 TEXIFY.EXE --run-viewer %1 %2 %3 %4 %5 %6 %7 %8 %9

После этого русифицированный BibTeX готов к работе в связке MiKTeX+WinEdt в случае, если WinEdit имеет версию 4. WinEdit версии 5 и выше запускает компилятор TeX в зависимости от настроек конфигурационного файла. Для того, чтобы WinEdit запускал вышеуказанные bat-файлы нужно в файле TeXConfig.edt (по умолчанию находится в папке C:\Program Files\WinEdt Team\WinEdt\Exec) поставить единицу вторым параметром в строках:

Assign("BATCH-TeXify","1");
Assign("BATCH-BibTeX","1");

Тексты, использующие BibTeX, необходимо обрабатывать 4 раза: первый проход LaTeX, затем BibTeX, и еще два прохода LaTeX. Команда TeXify (голубой лев из панели инструментов WinEdt) выполняет все необходимые вызовы автоматически.

Заметка: в случае ошибки компилирования файлов BibTeX рекомендуется вручную удалить фйлы с расширением .aux, .bbl, .blg из рабочей директории, т.к. при повторной компиляции LaTeX использует эти файлы и сохраняет сообщение об ошибке.

Добавление для WinEdit 6

В настройках Options->Execution Modes->Console Applications в списке программ нужно выбрать BibTeX, поставить в поле switches --huge --csfile "cp1251rus.csf" и поменять в поле Full executable exe-модуль bibte.exe на bibtex8.exe. Обычно путь к нему лежит в папке C:\Program Files\MikTeX\miktex\bin\x64\bibtex8.exe.

Замечание: bibtex8 и bibtex не совместимы по ключам. Для настройки bibtex.exe см. документацию.

Конвертирование библиографий из BibTeX в HTML

Существует несколько способов сгенерировать HTML по BibTeX'овской библиографической базе.

BibTeX на MachineLearning.RU

Страницы публикаций, находящиеся в категории Категория:Публикации, содержат библиографические записи в формате bib. Эти записи генерируются автоматически такими шаблонами, как {{Монография}} — подробнее см. MachineLearning:Публикации и библиографии. Эти записи можно копировать в собственную библиографическую базу.

В будущем планируется реализовать автоматическую генерацию bib-файла по любой подкатегориии в категории Категория:Публикации.

Ссылки

  • ГОСТ 7.80-2000
  • ГОСТы — российские стандарты на библиографические записи, с сайта Государственной системы научно-технической информации (ГСНТИ).
  • ГОСТ 71-2003 — новый ГОСТ по библиографическим записям.
  • Gost780.pdf — демонстрация оформления библиографии по ГОСТ 7.80-2000 средствами BibTeX при использовании библиографических стилей gost780s.bst и gost780u.bst, входящих в состав последних версий дистрибутива MiKTeX.
  • MachLearn.zip — библиографическая база по машинному обучению и некоторым смежным темам, собранная К. В. Воронцовым. Требует установки модифицированных bst-файлов gost780sv.bst и gost780uv.bstBib-gost-vokov.zip‎‎.
Личные инструменты