BibTeX (zapis stylizowany: ) – stworzone w 1985 roku przez Orena Patashnika i Leslie Lamporta narzędzie służące do formatowania bibliografii według zadanych kryteriów. Stosowane zwykle z systemem LaTeX. BibTeX ułatwia dostosowanie uprzednio zebranych danych bibliograficznych do wymogów różnych wydawców.

Logo BibTeX-a

Zasada działania edytuj

BibTeX operuje na danych zawartych w plikach o rozszerzeniu "bib" zawierających dane bibliograficzne. Dane te zostają przetworzone zgodnie z regułami danego stylu składania bibliografii zawartymi w pliku o rozszerzeniu "bst". Wynikiem jest plik o rozszerzeniu "bbl", choć istnieją również style służące do generowania wyników w języku HTML. Plik o rozszerzeniu "bbl" jest włączany w strukturę dokumentu LaTeX-owego.

Istnieją cztery standardowe style bibliograficzne:

  • plain – pozycje bibliograficzne są posortowane alfabetycznie i ponumerowane,
  • unsrt – pozycje bibliograficzne występują w kolejności cytowania i są ponumerowane,
  • alpha – pozycje są posortowane, ale zamiast numerów mają etykiety typu Gu96,
  • abbrv – format podobny do plain, ale imiona autorów, nazwy miesięcy i nazwy czasopism są skracane.

Struktura plików bazy bibliograficznej edytuj

Pliki z rozszerzeniem "bib" są plikami tekstowymi zawierającymi wpisy (rekordy) różnych typów. Każdy wpis poprzedzony jest znakiem "@" po którym w nawiasach klamrowych umieszczana jest treść rekordu złożona z klucza oraz pól o różnych nazwach i zawartościach. Pola takie mogą być wymagane, opcjonalne lub ignorowane.

Standardowo dostępne są następujące typy rekordów:

  • article – artykuły
    • pola wymagane: author, title, journal, year
    • pola opcjonalne: volume, number, pages, month, note, key
  • book – książki (wydawnictwa zwarte)
    • pola wymagane: author lub editor, title, publisher, year
    • pola opcjonalne: volume, series, address, edition, month, note, key
  • inproceedings (albo równoważnie conference) – materiały konferencyjne
    • pola wymagane: author, title, booktitle, year
    • pola opcjonalne: editor, volume lub number, series, pages, address, month, organization, publisher, note, key
  • booklet – książka bez wydawcy
    • pola wymagane: title
    • pola opcjonalne: author, howpublished, address, month, year, note, key
  • inbook – część książki (rozdział lub strony)
    • pola wymagane: author lub editor, title, chapter lub pages, publisher, year
    • pola opcjonalne: volume lub number, series, type, address, edition, month, note, key
  • incollection – część książki z własnym tytułem
    • pola wymagane: author, title, booktitle, publisher, year
    • pola opcjonalne: editor, volume lub number, series, type, chapter, pages, address, edition, month, note, key
  • manual – dokumentacja techniczna
    • pola wymagane: title
    • pola opcjonalne: author, organization, address, edition, month, year, note, key
  • mastersthesis – praca magisterska
    • pola wymagane: author, title, school, year
    • pola opcjonalne: type, address, month, note, key
  • phdthesis – rozprawa doktorska
    • pola wymagane: author, title, school, year
    • pola opcjonalne: type, address, month, note, key
  • techreport – raport uczelni lub innej instytucji, zwykle wchodzący w skład numerowanej serii.
    • pola wymagane: author, title, institution, year
    • pola opcjonalne: editor, volume lub number, series, address, month, organization, publisher, note, key
  • misc – publikacje nie pasujące do żadnego z powyższych typów
    • brak pól wymaganych
    • pola opcjonalne: author, title, howpublished, month, year, note, key
  • unpublished – materiały niepublikowane
    • pola wymagane: author, title, note
    • pola opcjonalne: month, year, key

Ponadto część stylów obsługuje również pola ISSN oraz ISBN.

Przykłady edytuj

Poniższy przykładowy fragment kodu pliku z rozszerzeniem "bib" zawiera dwa wpisy dotyczące książek oraz jeden wpis dotyczący hasła Wikipedii:

@Book{abramowitz+stegun,
    author =    "Milton Abramowitz and Irene A. Stegun",
    title =     "Handbook of Mathematical Functions with
                 Formulas, Graphs, and Mathematical Tables",
    publisher = "Dover",
    year =      1964,
    address =   "New York",
    edition =   "ninth Dover printing, tenth GPO printing"
}

@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"
}

@misc{wiki:latex,
    key =          "13240150",
    title =        "{LaTeX}",
    howpublished = "[online]",
    month =        "lipiec",
    year =         "2008",
    note =         "[dostęp: 2008-09-10 20:48Z]",
    annote = "Dostępny w Internecie: \url{http://pl.wikipedia.org/wiki/Fullpagename?oldid=13240150}"
}

Włączenie bazy bibliograficznej w pliku następuje poprzez użycie polecenia bibliography (np. \bibliography{plik} gdzie plik to nazwa pliku z bazą). W dokumencie systemu LaTeX odwołanie do pozycji bibliograficznej następuje za pomocą polecenia cite w sposób następujący: \cite{abramowitz+stegun}. Wpisy, do których nie ma odniesienia w tekście, domyślnie nie są włączane bibliografii (można je włączać wybiórczo w postaci \nocite{hicks2001} lub wszystkie za pomocą polecenia \nocite{*}). W jednym dokumencie LaTeX-a można wykorzystać kilka plików z bazami danych bibliograficznych, jednak należy to zrobić podając kolejno nazwy plików oddzielone przecinkami w obrębie jednego polecenia bibliography. Jego powtarzanie jest błędem. Plik stylu jest wskazywany poleceniem bibliographystyle (np. \bibliographystyle{abbrv}). Kompilacja wymaga wielokrotnego wywołania. Najpierw samego dokumentu, potem biblioteki bibliografii, a następnie jeszcze dwukrotnego samego dokumentu. Związane jest to z utworzeniem etykiet, sortowaniem, umieszczeniem tekstu w miejscach znaczników, dodaniem całej bibliografii.

Bibliografia źródłowa edytuj

Linki zewnętrzne edytuj