Plik bib zawiera listę rekordów oraz poleceń dodatkowych takich jak
skróty
 lub definicja 
nagłówka
, który ma się pojawić w pliku .bbl.
Istnieją różne typy rekordów --
odpowiednie dla opisania różnych typów publikacji.  Każdy z rekordów
reprezentuje jedną pozycję literatury i składa się z wielu pól. Różne
typu rekordów mogą zawierać różne pola. Dla każdego typu rekordu
istnieją trzy zbiory pól:
Format zapisu rekordów najlepiej zaprezentować na przykladzie:
        @book{PERL,
          author =       "Larry Wall and Randal L. Schwartz",
          title =        "Programming perl",
          publisher =    "O'Reilly \& Associates, Inc.",
          year =         "1992",
          address =      "Sebastopol, CA"
        }
@ określa typ cytowanej pozycji --
w naszym przypadku jest to książka. PERL jest kluczem służącym do
identyfikacji -- to właśnie jego używamy w poleceniu \cite chcąc
odwołać się do wybranej pozycji. Dalej następuje lista pól
rozdzielonych przecinkami. Wartości pól zamknięte są w cudzysłowach.
Zamiast nich można używać nawiasów klamrowych. Także nawiasy klamrowe
obejmujące cały rekord można zastąpić nawiasami okrągłymi.
Spacje wokół znaku = są opcjonalne.
Znaki nowego wiersza są traktowane jak spacje, a więcej niż jedna
spacja tak samo jak pojedyncza. W identyfikatorach pól i typów
rekordów nie są rozróżniane małe i duże litery.
Można więc sformatować nasz rekord w równoważnej postaci:
        @Book(PERL,
        AUTHOR={Larry Wall and Randal L. Schwartz},
        Title={Programming perl},
        PUBlisHER={O'Reilly \& Associates, Inc.},yEaR={1992},
        aDDRESS={Sebastopol, CA})
Ponieważ bibtex w niektórych stylach zmienia czasem duże litery na
małe, a nie zawsze jest to dopuszczczalne (np. gdy w tytule występuje
nazwisko), wzięcie fragmentu tekstu w nawiasy klamrowe {}
zapobiega takiemu działaniu.
Na przykła aby nie dostać tytułu ,,Pan tadeusz'' powinniśmy zapisać go
jako title = "Pan {T}adeusz".
Tekst pola może być zastąpiony skrótem. Warto stosować skróty dla często używanych nazw np. tytułu czasopisma, z którego artykuły pojawiają się w bazie danych często albo nazwy znanego wydanictwa.
Skrótem może być dowolny ciąg znaków zaczynający się od litery i nie zawierający znaków:
        " # % ' ( ) , = { }
Niektóre skróty zdefiniowane są w stylu spisu literatury np.
trzyliterowe skróty angielskich nazw miesięcy jan, feb itd.
Własne skróty można tworzyć posługując się poleceniem @string
np.:
        @string{acs = "Archives of Control Sciences"}
        @string{WNT = "Wydawnictwa Naukowo Techniczne"}
        journal = acs
        publisher = WNT
        journal = "Archives of Control Sciences"
        publisher = "Wydawnictwa Naukowo Techniczne"
Nagłówek definiujemy podobnie jak skróty, nie wpisujemy tutaj jednak nazwy, ani znaku równości -- tylko ciąg znaków w cudzysłowach. Nagłówek może służyć do dodania pewnych definicji na początku bibliografii.
        @Preamble{ "\newcommand{\swap}[2]{#2#1}"
                 # "\renewcommand{\em}{\bf}" }
\swap i
predefiniowujemy polecenie \em. Warto zwrócić uwagę, na
znak konkatenacji #, dzięki któremu możemy definiować nagłówki
wieloliniowe. Pelcenia @preamble można używać wielokrotnie, ale
bezpieczniej jest używać konkatenacji, do wpisywania nagłówków
wieloliniowych.
Standardowo dostępne są następujące typy rekordów:
article
, 
book
,
booklet
, 
conference
,
inbook
, 
incollection
,
inproceedings
,
manual
,
mastersthesis
,
misc
, 
phdthesis
,
proceedings
,
techreport
,
unpublished
.
Standardowe typy rekordów są następujące:
address
,
annote
,
author
,
booktitle
,
chapter
,
crossref
,
edition
,
editor
,
howpublished
,
institution
,
journal
,
key
,
month
,
note
,
number
,
organization
,
pages
,
publisher
,
school
,
series
,
title
,
type
,
volume
,
year
.
Następny rozdział, Poprzedni rozdział
Spis treści rozdziału, Główny spis treści
Początek dokumentu, Początek rozdziału