Loading AI tools
Из Википедии, свободной энциклопедии
BibTeX — программное обеспечение для создания форматированных списков библиографии. BibTeX используется совместно с LaTeX'ом и входит во все известные дистрибутивы TeX и LaTeX.
BibTeX был создан Ореном Паташником и Лесли Лэмпортом в 1985 году. BibTeX позволяет работать со списками источников, отделяя библиографическую информацию от её представления. Принцип отделения содержимого от его представления использован как в самом LaTeX’е, так и в XHTML, CSS и др.
При подготовке документа в LaTeX система BibTeX предоставляет по сравнению со стандартным LaTeX-окружением thebibliography
следующие преимущества:
\cite
, упомянутым в тексте;Для вызова 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, которая тоже выполняет все необходимые вызовы автоматически.
BibTeX использует bib-файлы специального текстового формата для хранения списков библиографических записей. Каждая запись описывает ровно одну публикацию — статью, книгу, диссертацию, и т. д.
Bib-файлы можно использовать для хранения библиографических баз данных. Многие программы, работающие с библиографиями, (такие, как JabRef) и онлайн-сервисы цитирования (ADS, CiteULike) могут экспортировать ссылки в bib-формат.
Каждая запись выглядит следующим образом:
@ARTICLE{tag,
author = {Список авторов},
title = {Название статьи},
year = {год},
journal = {Название журнала}
}
Здесь ARTICLE
— тип записи («статья»), tag — метка-идентификатор записи (которая позволяет ссылаться в тексте с помощью \cite{tag}
), дальше список полей со значениями.
Каждая запись должна быть определённого типа, описывающего тип публикации. Следующие типы являются стандартными и обрабатываются почти всеми стилями BibTeX (названия расположены по алфавиту и содержат списки полей, возможные поля см. ниже):
article
book
booklet
conference
inproceedings
, оставлено для совместимости с Scribe.inbook
incollection
inproceedings
manual
mastersthesis
misc
phdthesis
proceedings
techreport
unpublished
Каждая запись содержит некоторый список стандартных полей (можно вводить любые другие поля, которые просто игнорируются стандартными программами):
addendum
: то же, что note
, но добавляется в самом конце библиографической записи.address
: Адрес издателя (обычно просто город, но может быть полным адресом для малоизвестных издателей)annote
(в JabRef — abstract
): Аннотация для библиографической записи.author
: Имена авторов (если больше одного, то разделяются and
)booktitle
: Наименование книги, содержащей данную работу.chapter
: Номер главыcrossref
: Ключ кросс-ссылки (позволяет использовать другую библио-запись в качестве названия, например, сборника трудов)edition
: Издание (полная строка, например, «1-е, стереотипное»)editor
: Имена редакторов (оформление аналогично авторам)eprint
: Описание электронной публикации, часто препринт или технический отчетhowpublished
: Способ публикации, если нестандартныйinstitution
: Институт, вовлечённый в публикацию, необязательно издательjournal
: Название журнала, содержащего статьюkey
: Скрытое ключевое поле, задающее порядок сортировки (если «author» и «editor» не заданы).month
: Месяц публикации (может содержать дату). Если не опубликовано — создания.note
: Любые заметкиnumber
: Номер журналаorganization
: Организатор конференцииpages
: Номера страниц, разделённые запятыми или двойным дефисом. Для книги — общее количество страниц.publisher
: Издательschool
: Институт, в котором защищалась диссертация.series
: Серия, в которой вышла книга.title
: Название работыtype
: Тип отчёта, например «Заметки исследователя»url
: WWW-адресvolume
: Том журнала или книги.year
: Год публикации (если не опубликовано — создания)Дополнительно, каждая запись содержит ключевое поле, которое служит для цитирования или кросс-ссылок на эту запись. Это поле должно быть уникальным (в рамках использующей работы) и непустым. Это поле не имеет названия, не является частью других полей и идёт первым по-порядку.
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. В окончательном виде ссылка может выглядеть, например, так:
В зависимости от стилевого файла, 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 этого примера может выглядеть примерно так:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.