BibTeX

Материал из Википедии ? свободной энциклопедии
Перейти к навигации Перейти к поиску
Логотип программы BibTeX

BibTeX  ? программное обеспечение для создания форматированных списков библиографии. BibTeX используется совместно с LaTeX 'ом и входит во все известные дистрибутивы TeX и LaTeX .

BibTeX был создан Ореном Паташником и Лесли Лэмпортом в 1985 году . BibTeX позволяет работать со списками источников, отделяя библиографическую информацию от её представления. Принцип отделения содержимого от его представления использован как в самом LaTeX’е, так и в XHTML , CSS и др.

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

[ править | править код ]

При подготовке документа в LaTeX система BibTeX предоставляет по сравнению со стандартным LaTeX-окружением thebibliography следующие преимущества:

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

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

\bibliographystyle
{
stylefile
}
 % bst-файл, задающий стиль оформления библиографии

\bibliography
{
bibfile
}
 % имя bib-файла, содержащего библиографическую базу

например,

\bibliographystyle
{
gost780s
}
 % ГОСТ 7.80

\bibliography
{
MachLearn
}
 % MachLearn.bib

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

Тексты, использующие BibTeX, необходимо обрабатывать 4 раза: первый проход LaTeX (создание aux-файла с запросами ссылок), затем BibTeX (создание bbl-файла с библиографией, готовой для вставки в LaTeX-файл), и ещё два прохода LaTeX (вставка библиографии и актуализация номеров ссылок).

В TeX Live и MiKTeX есть Perl -скрипт latexmk, который выполняет все необходимые вызовы автоматически. В MiKTeX также есть утилита texify, которая тоже выполняет все необходимые вызовы автоматически.

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

[ править | править код ]

BibTeX использует bib-файлы специального текстового формата для хранения списков библиографических записей. Каждая запись описывает ровно одну публикацию ? статью, книгу, диссертацию, и т. д.

Bib-файлы можно использовать для хранения библиографических баз данных. Многие программы, работающие с библиографиями, (такие, как JabRef ) и онлайн-сервисы цитирования ( ADS [1] , CiteULike ) могут экспортировать ссылки в bib-формат.

Каждая запись выглядит следующим образом:

@ARTICLE
{
tag
,

  author
 =
 {Список авторов}
,

  title
 =
 {Название статьи}
,

  year
 =
 {год}
,

  journal
 =
 {Название журнала}

}

Здесь ARTICLE  ? тип записи (≪статья≫), tag ? метка-идентификатор записи (которая позволяет ссылаться в тексте с помощью \cite{tag} ), дальше список полей со значениями.

Типы записей

[ править | править код ]

Каждая запись должна быть определённого типа, описывающего тип публикации. Следующие типы являются стандартными и обрабатываются почти всеми стилями BibTeX (названия расположены по алфавиту и содержат списки полей, возможные поля см. ниже ):

article
Статья из журнала.
Необходимые поля: author, title, journal, year
Дополнительные поля: volume, number, pages, month, note, key
book
Определённое издание книги.
Необходимые поля: author/editor, title, publisher, year
Дополнительные поля: volume, series, address, edition, month, note, key, pages
booklet
Печатная работа, которая не содержит имя издателя или организатора (например, самиздат ).
Необходимые поля: title
Дополнительные поля: author, howpublished, address, month, year, note, key
conference
Синоним inproceedings , оставлено для совместимости с Scribe .
Необходимые поля: author, title, booktitle, year
Дополнительные поля: editor, pages, organization, publisher, address, month, note, key
inbook
Часть книги, возможно без названия. Может быть главой (частью, параграфом), либо диапазоном страниц.
Необходимые поля: author/editor, title, chapter/pages, publisher, year
Дополнительные поля: volume, series, address, edition, month, note, key
incollection
Часть книги, имеющая собственное название (например, статья в сборнике).
Необходимые поля: author, title, booktitle, year
Дополнительные поля: editor, pages, organization, publisher, address, month, note, key
inproceedings
Тезис (труд) конференции.
Необходимые поля: author, title, booktitle, year
Дополнительные поля: editor, series, pages, organization, publisher, address, month, note, key
manual
Техническая документация.
Необходимые поля: title
Дополнительные поля: author, organization, address, edition, month, year, note, key
mastersthesis
Магистерская диссертация .
Необходимые поля: author, title, school, year
Дополнительные поля: address, month, note, key
misc
Использовать, если другие типы не подходят.
Необходимые поля: none
Дополнительные поля: author, title, howpublished, month, year, note, key
phdthesis
Кандидатская диссертация.
Необходимые поля: author, title, school, year
Дополнительные поля: address, month, note, key
proceedings
Сборник трудов (тезисов) конференции.
Необходимые поля: title, year
Дополнительные поля: editor, publisher, organization, address, month, note, key
techreport
Отчёт, опубликованный организацией, обычно пронумерованный внутри серии.
Необходимые поля: author, title, institution, year
Дополнительные поля: type, number, address, month, note, key
unpublished
Документ, имеющий автора и название, но формально не опубликованный (рукопись).
Необходимые поля: author, title, note
Дополнительные поля: month, year, key

Каждая запись содержит некоторый список стандартных полей (можно вводить любые другие поля, которые просто игнорируются стандартными программами):

  • addendum : то же, что note , но добавляется в самом конце библиографической записи.
  • address : Адрес издателя (обычно просто город, но может быть полным адресом для малоизвестных издателей)
  • annote JabRef  ? abstract ): Аннотация для библиографической записи.
  • author : Имена авторов (если больше одного, то разделяются and )
  • booktitle : Наименование книги, содержащей данную работу.
  • chapter : Номер главы
  • crossref : Ключ кросс-ссылки (позволяет использовать другую библио-запись в качестве названия, например, сборника трудов)
  • edition : Издание (полная строка, например, ≪1-е, стереотипное≫)
  • editor : Имена редакторов (оформление аналогично авторам)
  • eprint : Описание электронной публикации, часто препринт или технический отчет
  • howpublished : Способ публикации, если нестандартный
  • institution : Институт, вовлечённый в публикацию, необязательно издатель
  • isbn : Код издания ISBN (Международный стандартный книжный номер)
  • journal : Название журнала, содержащего статью
  • key : Скрытое ключевое поле, задающее порядок сортировки (если ≪author≫ и ≪editor≫ не заданы)
  • month : Месяц публикации (может содержать дату). Если не опубликовано ? создания
  • note : Любые заметки
  • number : Номер журнала
  • organization : Организатор конференции
  • pages : Номера страниц, разделённые запятыми или двойным дефисом. Для книги ? общее количество страниц
  • publisher : Издатель
  • school : Институт, в котором защищалась диссертация
  • series : Серия, в которой вышла книга
  • title : Название работы
  • type : Тип отчёта, например ≪Заметки исследователя≫
  • url : WWW-адрес
  • volume : Том журнала или книги
  • year : Год публикации (если не опубликовано ? создания)

Дополнительно, каждая запись содержит ключевое поле, которое служит для цитирования или кросс-ссылок на эту запись. Это поле должно быть уникальным (в рамках использующей работы) и непустым. Это поле не имеет названия, не является частью других полей и идёт первым по-порядку.

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

[ править | править код ]

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

Обычно BibTeX формирует вывод в формате TeX или LaTeX, но существуют и стилевые файлы для генерации формата HTML .

Многие журналы или издательства, которые принимают публикации в формате LaTeX, снабжают также библиографическими стилями для авторов. Это удостоверяет, что стиль оформления библиографии также будет соответствовать требованиям издателя с минимальными усилиями.

Поддержка различных языков и альтернативы

[ править | править код ]

Языковая поддержка в полном объёме встроена в современные версии LaTeX и BibTeX. Однако BibTeX не поддерживает [1] bib-файлы, закодированные в UTF-8 и других вариантах Юникода , который является единственным кроссплатформенным методом кодировки текста на языках, отличных от английского. Причина в том, что активная разработка BibTeX была прекращена в 1988 году, до появления Юникода (версия 0.99c выпущена в 1988 году, текущая версия 0.99d, содержавшая малые изменения, ? в 2010 году). [2] Пользователь чистого BibTeX вынужден использовать 8-битные кодировки bib-файлов (хотя tex-файлы при этом могут быть в Юникоде). Несмотря на это, опыт использования BibTeX в операционной системе Linux ( Ubuntu 10.04) показывает корректную работу BibTeX с русскими символами в кодировке UTF-8 .

Заменами BibTeX являются CrossTeX и Biber . [3]

CrossTeX не доступен [4] в основных свободных дистрибутивах Tex Live и MiKTeX и пока не имеет [5] полной поддержки Юникода.

Biber доступен [6] в Tex Live и MiKTeX и имеет [7] полную поддержку UTF-8 (Юникод версии 6.0). Biber может работать только в связке с BibLaTeX. [8] BibLaTeX разрабатывался как надстройка над BibTeX и может работать как с BibTeX, так и с Biber; Biber при этом заменяет BibTeX.

В настоящее время сайт CTAN призывает [9] использовать BibLaTeX+Biber (или хотя бы BibLaTeX+BibTeX) вместо чистого BibTeX.

.bib -файл может содержать следующую запись, которая описывают математическую книгу:

@Book
{
Korn
,

 author
    =
 {Корн, Г. А. and Корн, Т. М.}
,

 title
     =
 {Справочник по математике для научных работников и инженеров}
,

 publisher
 =
 {≪Наука≫}
,

 year
      =
 1974
,

 address
   =
 Москва,

 lang=ru

}

Если документ ссылается на эту книгу, библиографическая информация может быть оформлена несколькими способами в зависимости от выбранного стандарта оформления ( APA , MLA , Chicago и др.). То, как LaTeX форматирует ссылку, зависит от способа вызова команды \cite и выбранного стиля оформления LaTeX-документа. Если команда \cite{Korn} вызывается внутри документа, то программа bibtex включает книгу в список литературы для документа и генерирует соответствующий код форматирования LaTeX. В окончательном виде ссылка может выглядеть, например, так:

Корн Г. А., Корн Т. М. Справочник по математике для научных работников и инженеров . ? М. : ≪ Наука ≫, 1974.

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

Формат списка авторов

[ править | править код ]

Префиксы фамилий, такие как von, van и der обрабатываются автоматически, если они начинаются со строчной буквы, чтобы отличать их от фамилий. Фамилии из нескольких слов отделяются от имён и отчеств (или средних имён ) тем, что они идут сначала, а потом, через запятую, пишутся имена и отчества. Именные суффиксы, как Ср. или Мл. или III обычно обрабатываются с помощью второй запятой-разделителя, как в примере:

@Book
{
hicks2001
,

 author
    =
 "von Hicks, III, Michael"
,

 title
     =
 "Design of a Carbon Fiber Composite Grid Structure for the GLAST

              Spacecraft Using a Novel Manufacturing Technique"
,

 publisher
 =
 "Stanford Press"
,

 year
      =
  2001
,

 address
   =
 "Palo Alto"
,

 edition
   =
 "1st,"
,

 isbn
      =
 "0-69-697269-4"

}

Вместо использования запятой, чтобы отделить именной суффикс от фамилии, можно выделить всё имя фигурными скобками: {Hicks III}.

Авторы должны отделяться словом and , а не запятыми или ≪и≫:

@Book
{
Torre2008
,

 author
    =
 "Joe Torre and Tom Verducci"
,

 publisher
 =
 "Doubleday"
,

 title
     =
 "The Yankee Years"
,

 year
      =
  2008
,

 isbn
      =
 "0385527403"

}

Перекрёстные ссылки

[ править | править код ]

BibTeX позволяет ссылаться на другие публикации с помощью поля crossref . В следующем примере тезис ссылается на сборник тезисов.

@INPROCEEDINGS
 {
author:06
,

 title
    =
 {Название доклада}
,

 author
   =
 {Первый Автор and Второй Автор}
,

 crossref
 =
 {conference:06}
,

 pages
    =
 {330?331}
,

}

@PROCEEDINGS
 {
conference:06
,

 editor
    =
 {Первый Редактор and Второй Редактор}
,

 title
     =
 {Proceedings of the Xth Conference on XYZ}
,

 booktitle
 =
 {Proceedings of the Xth Conference on XYZ}
,

 year
      =
 {2006}
,

 month
     =
 {October}
,

}

При этом следует добавлять booktitle к записи сборника, чтобы избежать предупреждения BibTeX’а ≪empty booktitle≫.

Вывод LaTeX этого примера может выглядеть примерно так:

Автор, Первый and Автор, Второй (October 2006), Название доклада, in: Proceedings of the Xth Conference on XYZ, pp 330?331.

Примечания

[ править | править код ]
  1. LyX wiki | BibTeX / Tips . Дата обращения: 23 апреля 2012. Архивировано 7 мая 2012 года.
  2. ア?カイブされたコピ? . Дата обращения: 24 мая 2011. Архивировано 27 сентября 2011 года.
  3. TeX Frequently Asked Questions ? question label ≪biblatex≫ . Дата обращения: 23 апреля 2012. Архивировано 17 мая 2012 года.
  4. CTAN web interface: package crosstex . Дата обращения: 23 апреля 2012. Архивировано 18 ноября 2011 года.
  5. CrossTeX . Дата обращения: 23 апреля 2012. Архивировано 9 марта 2012 года.
  6. CTAN web interface: package biber . Дата обращения: 23 апреля 2012. Архивировано 18 апреля 2012 года.
  7. Biber: BibTeX replacement for biblatex . Дата обращения: 23 апреля 2012. Архивировано 10 февраля 2013 года.
  8. CTAN web interface: package biblatex . Дата обращения: 23 апреля 2012. Архивировано 18 апреля 2012 года.
  9. CTAN web interface: package bibtex . Дата обращения: 23 апреля 2012. Архивировано 16 апреля 2012 года.