LaTeX/Zarządzanie bibliografią

Z Wikibooks, biblioteki wolnych podręczników.

Każde opracowanie akademickie/naukowe powinno zawierać odnośniki literaturowe. Na szczęście LaTeX posiada wiele funkcji ułatwiających zarządzanie odnośnikami. Jednakże znacznie bardziej rozbudowanym, wydajnym i elastycznym narzędziem jest [1] (który jest dostarczony jako standardowe narzędzie LaTeX).

BibTeX zapewnia możliwość przechowywania wszystkich przypisów w zewnętrznej bazie danych. Baza danych może odnosić się do różnych dokumentów LaTeX i tworzyć odnośniki do wybranych części tekstu. Jest to zazwyczaj dużo łatwiejsze i wygodniejsze w obsłudze niż osadzanie ich na końcu każdego dokumentu. Dzięki temu narzędziu jeden plik bibliografii może być linkowany do wielu dokumentów. Oczywiście, bibliografia może być podzielona na kilka plików, tak aby łatwiej dało się nimi zarządzać.

Wbudowany system[edytuj]

Jeżeli planujesz napisać jeden lub dwa dokumenty na dany temat, być może nie będziesz potrzebować bazy danych odnośników literaturowych, której nigdy więcej nie użyjesz. W tym przypadku powinieneś rozważyć użycie podstawowego narzędzia tworzenia prostej bibliografii, które jest wbudowane w LaTeX.

LaTeX zapewnia środowisko o nazwie thebibliography, którego należy użyć w miejscu, gdzie chcemy umieścić bibliografię, czyli zazwyczaj na samym końcu dokumentu, tuż przed komendą

\end{document}

Poniżej przykładowy fragment kodu:

\begin{thebibliography}{9}

\bibitem{lamport94}
  Leslie Lamport,
  \emph{\LaTeX: A Document Preparation System}.
  Addison Wesley, Massachusetts,
  2nd Edition,
  1994.

\end{thebibliography}

Pierwszą rzecz, jaką należy zauważyć, stanowi fakt, że środowisko thebibliography jest słowem kluczowym, które LaTeX rozpoznaje jako wszystkie informacje zawarte między tagami begin i end. Argumentem koniecznym, podawanym po komendzie begin, jest określenie maksymalnej liczby znaków w odnośnikach literaturowych. Jeśli podamy w parametrze cyfrę "9", bibliografia będzie mogła się składać maksymalnie z dziewięciu pozycji. W przypadku gdy chcemy użyć większej liczby pozycji, wystarczy podać jakąkolwiek liczbę dwucyfrową (np. "56"), wtedy liczba pozycji zwiększy się do 99.

Następnie należy podać informacje dotyczące cytowanej pozycji. Informacje te zawsze poprzedzone są komendą \bibitem{klucz}, gdzie "klucz" to unikatowy identyfikator danej pozycji literaturowej, dzięki któremu możliwe będzie odwołanie się do niej w tekście. Często jako klucz stosuje się nazwisko autora zakończone dwoma ostatnimi cyframi roku wydania publikacji (np. "lamport94"). Jednakże nie jest to wymóg konieczny i każdy użytkownik może dopasować sobie system kluczy najbardziej mu odpowiadający. Następnie podaje się informacje dotyczące cytowanej publikacji w takiej kolejności, w jakiej mają być zaprezentowane. Łamanie linii będzie ignorowane przez LaTeX. Jeśli chcemy, aby fragment tekstu był wydrukowany kursywą, należy umieścić go wewnątrz

\emph{tekst}

Cytowania[edytuj]

Aby wstawić cytowanie w dokumencie, należy w miejscu odnośnika wstawić kod:

\cite{klucz}

gdzie "klucz" jest unikatowym identyfikatorem podanym przy cytowanej pozycji literaturowej. Kiedy LaTeX będzie przetwarzać dokument, "klucz" zostanie porównany z pozycjami bibliograficznymi i zastąpiony odpowiednim numerem. Zaletą jest to, iż LaTeX będzie numerować pozycje za Ciebie. W przypadku wpisywania bibliografii ręcznie, dodanie nowego odnośnika na początku dokumentu wiąże się z ręcznymi zmianami numeracji pozostałych pozycji literaturowych.

Specyficzne odwołania[edytuj]

Czasami chcemy odwołać się do konkretnej strony, rysunku lub twierdzenia w książce. W tym przypadku można użyć dodatkowych argumentów:

\cite[p.~215]{klucz}

Argument "p. 215" zostanie dodany do pozycji literaturowej. Tylda użyta w argumencie oznacza użycie twardej spacji, co nie pozwala na łamanie wiersza w danym miejscu.

Wielokrotne cytowania[edytuj]

Kiedy dany fragment tekstu odnosi się do kilku pozycji literaturowych, powinno użyć się jednej komendy \cite{}. "Klucze" wpisuje się w kolejności, oddzielając je od siebie przecinkami. Zauważ w poniższym przykładzie, iż nie powinno się używać spacji po przecinku.

\cite{klucz01,klucz02,klucz03}

Rezultatem będzie otrzymanie kilku odnośników wewnątrz jednego nawiasu.

No cite[edytuj]

Jeżeli chcemy, aby odnośnik literaturowy pojawił się jedynie w bibliografii (bez odwołania w tekście) należy użyć polecenia \nocite{}. Przykład:

Lamport w swoim artykule z 1995 zauważył...  \nocite{lamport95}.

Specjalną komendą jest:

\nocite{*}

Po wpisaniu komendy w bibliografii zostaną wymienione wszystkie pozycje z bazy danych, bez względu na to, czy jest do nich odniesienie w tekście, czy nie.

Natbib[edytuj]

Kiedy używa się wbudowanego modułu do tworzenia bibliografii z LaTeX, każde cytowanie w tekście jest oznaczone numerem, który odpowiada numerowi w Bibliografii. Taki styl numeracji jest popularny w pracach naukowych. W innych przypadkach stosowane są tzw. style autor-rok (np. Kowalski, 2003), zwany potocznie stylem Harwardzkim. Aby osiągnąć taki efekt, należy zastosować pakiet natbib. Pakiet pozwala na łatwą zmianę pomiędzy numerowaniem a stylem Harwardzkim.

Na początku należy w preambule załadować pakiet:

\usepackage[options]{natbib}

Należy także ustawić odpowiedni styl bibliografii poprzez użycie komendy \bibliographystyle[opcje]{nazwa_stylu}. Nazwy stylów, wraz z opisem, przedstawiono w tabeli poniżej.

Style kompatybilne z Natbib
Styl Źródło Opis
plainnat odpowiednik stylu plain
abbrvnat odpowiednik stylu abbrv
unsrtnat odpowiednik stylu unsrt
apsrev REVTeX 4 home page styl stosowany w czasopismach Physical Review
rmpaps REVTeX 4 home page styl stosowany w czasopismach Review of Modern Physics
IEEEtranN TeX Catalogue entry styl zgodny z publikacjami IEEE
achemso TeX Catalogue entry styl stosowany w czasopismach American Chemical Society
rsc TeX Catalogue entry styl stosowany w czasopismach Royal Society of Chemistry


Aby użyć odpowiedniego sposobu cytowania należy użyć odpowiednio zmodyfikowanej komendy \cite. Przykłady przedstawiono w tabeli poniżej.

Komendy Natbib
Komenda Efekt
\citet{goossens93} Goossens et al. (1993)
\citep{goossens93} (Goossens et al., 1993)
\citet*{goossens93} Goossens, Mittlebach, and Samarin (1993)
\citep*{goossens93} (Goossens, Mittlebach, and Samarin, 1993)
\citeauthor{goossens93} Goossens et al.
\citeauthor*{goossens93} Goossens, Mittlebach, and Samarin
\citeyear{goossens93} 1993
\citeyearpar{goossens93} (1993)
\citealt{goossens93} Goossens et al. 1993
\citealp{goossens93} Goossens et al., 1993

Podstawowy odnośnik uzyskuje się przez dodanie liter t (przypadek tekstowy) lub p (przypadek nawiasowy) do komendy \cite. Należy zwrócić uwagę, iż Natbib automatycznie zmieni w bibliografi wpisy zawierające trzech lub więcej autorów na formę Nazwisko pierwszego autora et al. Przez dodanie Asterysku (*) unika się tej zamiany i wszyscy autorzy zostają opublikowani. Więcej opcji przedstawiono w tabeli poniżej.

Opcje Natbiba
Opcja Znaczenie
round Nawiasy () (domyślne)
square Nawiasy kwadratowe []
curly Curly braces {}
angle nawiasy ostrokątne <>
colon wielokrotne odwołania oddzielone są średnikami (domyślnie)
comma wielokrotne odwołania oddzielone są przecinkami
authoryear styk autor-rok (domyślny)
numbers zwykła numeracja
super superscripted numeric citations
sort wielokrotne odwołania sortowanę są zgodnie z występowaniem w bibliografii
sort&compress jak wyżej + kompresowanie wielokrotnych pozycji w bibliografii
longnamesfirst pierwsze odwołanie do każdej pozycji w bibliografii spowoduje wypisanie wszystkich autorów, kolejne odwołania po pierwszym nazwisku będą miały wpisane et al.
sectionbib używane z pakietem chapterbib. zmienia \chapter* na \section*
nonamebreak powoduje utrzymanie listy nazwisk autorów w odnośniku w jednej linii

Natbib pozwala także na własne ustawienie stylu cytowania. W tym celu należy w preambule umieścić komendę:

\bibpunct{(}{)}{;}{a}{,}{,}

Komenda ta posiada sześć koniecznych parametrów.

  1. Symbol otwieranego nawiasu.
  2. Symbol zamykanego nawiasu.
  3. Symbol jaki pojawi się między wielokrotnymi odwołaniami.
  4. Jedna z trzech możliwości:
    • n - styl numeryczny.
    • s - inny styl numeryczny.
    • inna litera - styl autor-rok.
  5. Znak pojawiający się między nazwiskiem autora a rokiem (tylko w przypadku nawiasowym).
  6. Znak pojawiający się między latami, w przypadku wielokrotnego odniesienia do artykułów napisanych przez jednego autora, np. (Chomsky 1956, 1957). Aby otrzymać dodatkową spację, należy użyć komendy {,~}.

Jak widać, pakiet Natbib jest bardzo elastyczny. Dodatkową zaletą jest zmiana całego stylu odnośników przez zmianę jednego parametru. Więcej informacji dostępne tutaj.

BibTeX[edytuj]

Powyżej opisano możliwość tworzenia bibliografii przez umieszczenie odnośników literaturowych na końcu dokumentu i odwoływanie się do nich przez komendę \cite. W tej części opisana zostanie bardziej rozbudowana metoda, dzięki której można uzyskać bardziej zróżniowane rezultaty. W tym celu zostanie użyty BibTeX.

Baza danych BibTeX jest przechowywana w pliku o rozszerzeniu ".bib". Jest to zwykły plik tekstowy, dzięki czemu może być łatwo odczytywany i edytowany. Struktura takiego pliku jest także prosta. Przykładowy wpis bazy danych:

@article{greenwade93,
    author  = "George D. Greenwade",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"
}

Każdy wpis zaczyna się od zadeklarowania typu odnośnika w formie @typ. BibTeX rozpoznaje praktycznie wszystkie możliwe typy, o jakich można pomyśleć, m.in: book (książka) czy article (artykuł). Powyższy przykład odnosi się do artykułu w czasopiśmie.

Po określeniu typu należy zastosować nawias klamrowy {, aby rozpocząć wprowadzanie atrybutów odnośnika. Pierwszym atrybutem, podawanym zaraz po nawiasie, jest "klucz". Klucze powinny być unikatowe dla każdej pozycji literaturowej. Jest to identyfikator, którym odwołuje się do konkretnego odnośnika. Sposób nazewnictwa "kluczy" zależy tylko i wyłącznie od twórcy bibliografii, jednak zazwyczaj stosuje się jako klucz nazwisko autora i dwie cyfry oznaczające rok publikacji (tak jak zaprezentowano w powyższym przykładzie).

Następnie należy pokazać programowi, iż kolejne komendy odpowiadają konkretnym danym w odnośniku literaturowym. Nazwy pól danych dostępnych są następujące:

  • address: adres wydawcy (zazwyczaj nazwa miasta, jednak można wprowadzić dokładny adres dla mniej znanych wydawców)
  • annote:
  • author: imiona i nazwiska autorów (w przypadku kilku autorów powinni być oddzieleni przez słowo "and")
  • booktitle: tytuł książki, jeśli tylko fragment jest cytowany
  • chapter: numer rozdziału
  • crossref:
  • edition: numer wydania książki
  • editor: nazwiska edytorów
  • eprint: sposób publikacji elektronicznej, often a preprint or a technical report
  • howpublished: sposób publikacji pozycji literaturowej, jeśli nie była publikowana standardowo
  • institution: instytucja, która brała udział w tworzeniu publikacji, ale nie wydawca
  • journal: tytuł czasopisma, w którym publikowana była pozycja literaturowa
  • key:
  • month: miesiąc wydania publikacji (jeśli tekst nieopublikowany, wprowadza się miesiąc utworzenia)
  • note: dodatkowe informacje
  • number: numer wydania czasopisma
  • organization: sponsor konferencji
  • pages: zakres stron, oddzielonych przecinkami lub myślnikami
  • publisher: nazwa wydawcy
  • school: nazwa szkoły w której powstałą praca
  • series:
  • title: tytuł pracy
  • type:
  • url: adres strony internetowej
  • volume: numer woluminu
  • year: rok wydania

Po wpisaniu odpowiedniego pola danych należy po znaku równości wprowadzić dane pozycji literaturowej. Dane powinny być wprowadzone wewnątrz znaczników, jednak nie ma znaczenia czy będzie to cudzysłów czy nawiasy klamrowe("dane" lub {dane}). Mając na uwadze zastosowanie nawiasów klamrowych w innych celach, w celu zapewnienia czytelności kodu, zaleca się stosowanie cudzysłowów. Problemem może okazać się używanie liter z umlautami (ü, ö, itp), gdyż przy użyciu komendy \"{o} cudzysłów w niej zawarty zamknie ten otwierający wprowadzanie danych literaturowych. Użycie kodowania znaków \usepackage[utf8]{inputenc} w pliku głównym .tex może rozwiązać problem. Innym rozwiązaniem jest użycie gotowych znaków i przechowywanie ich w pliku .bib.

Należy pamiętać, iż każdy atrybut musi być oddzielony od następnego przecinkiem. Nie trzeba stosować przecinka po ostatnim atrybucie, jednak wpisanie go nie spowoduje żadnego błędu.

Autorzy[edytuj]

BibTeX potrafi bardzo sprawnie poradzić sobie z imionami i nazwiskami autorów. Nie ma znaczenia, czy wprowadzono dane w formie "Imię Nazwisko" czy "Nazwisko, Imię". Jeśli używany jest format "Imię Nazwisko" trzeba uważać na specjalne rodzaje nazwisk, jak "John von Neumann", gdyż BibTeX jako nazwisko przyjmuje ostatnie wpisane słowo, a wszystko przed tym jest imionami. W takim przypadku trzeba ręcznie wskazać BibTeXowi, aby utrzymywał "von" i "Neumann" razem. Można to osiągnąć bardzo łatwo używając nawiasów klamrowych ("John {von Neumann}"). Jeśli stosuje się format "Nazwisko, Imię" problem nie występuje, gdyż przecinek wskazuje, które wyrazy określają nazwisko, a które imię.

Dodatkowym problemem może okazać się wprowadzenie kilku autorów w jednym polu. W tym celu należy kolejnych autorów oddzielić słowem "and", co widać na poniższym przykładzie:

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}

Powyższa książka posiada trzech autorów i każdy z nich został oddzielony słowem "and". Oczywiście w finalnej wersji bibliografii słowa "and" zostaną automatycznie usunięte.

Standardowe typy[edytuj]

Należy zachować ostrożność podczas kopiowania poniższych przykładów. Znak % rozpoczynający akapit powoduje wstawienie komentarza, co oznacza, iż tekst nie będzie przetwarzany. Aby uaktywnić konkretne dane, należy usunąć ten znak z początku akapitu.

@article
Artykuł z czasopisma.
  • pola wymagane: author, title, journal, year.
  • pola dodatkowe: volume, number, pages, month, note.
@article{Xarticle,
    author    = "",
    title     = "",
    journal   = "",
    %volume   = "",
    %number   = "",
    %pages    = "",
    year      = "XXXX",
    %month    = "",
    %note     = "",
}
@book
książka
  • pola wymagane: author/editor, title, publisher, year.
  • pola dodatkowe: volume/number, series, address, edition, month, note.
@book{Xbook,
    author    = "",
    title     = "",
    publisher = "",
    %volume   = "",
    %number   = "",
    %series   = "",
    %address  = "",
    %edition  = "",
    year      = "XXXX",
    %month    = "",
    %note     = "",
}
@booklet
oprawiona książka bez wydawcy
  • pola wymagane: title.
  • pola dodatkowe: author, howpublished, address, month, year, note.
@booklet{Xbooklet,
    %author   = "",
    title     = "",
    %howpublished   = "",
    %address  = "",
    year      = "XXXX",
    %month    = "",
    %note     = "",
}
@conference
materiały z konferencji naukowej
  • pola wymagane: author, title, booktitle, year.
  • pola dodatkowe: editor, volume/number, series, pages, address, month, organization, publisher, note.
@conference{Xconference,
    author    = "",
    title     = "",
    booktitle = "",
    %editor   = "",
    %volume   = "",
    %number   = "",
    %series   = "",
    %pages    = "",
    %address  = "",
    year      = "XXXX",
    %month    = "",
    %publisher= "",
    %note     = "",
}
@inbook
rozdział książki bez nazwy
  • pola wymagane: author/editor, title, chapter and/or pages, publisher, year.
  • pola dodatkowe: volume/number, series, type, address, edition, month, note.
@incollection
rozdział książki mający swój tytuł
  • pola wymagane: author, title, booktitle, publisher, year.
  • pola dodatkowe: editor, volume/number, series, type, chapter, pages, address, edition, month, note.
@inproceedings
artykuł z materiałów konferencyjnych
  • pola wymagane: author, title, booktitle, year.
  • pola dodatkowe: editor, volume/number, series, pages, address, month, organization, publisher, note.
@manual
podręcznik techniczny / instrukcja obsługi
  • pola wymagane: title.
  • pola dodatkowe: author, organization, address, edition, month, year, note.
@mastersthesis
praca magisterska
  • pola wymagane: author, title, school, year.
  • pola dodatkowe: type (eg. "diploma thesis"), address, month, note.
@mastersthesis{Xthesis,
    author    = "",
    title     = "",
    school    = "",
    %type     = "diploma thesis",
    %address  = "",
    year      = "XXXX",
    %month    = "",
    %note     = "",
}
@misc
typ, którego używa się, gdy żaden inny nie pasuje
  • pola wymagane: brak
  • pola dodatkowe: author, title, howpublished, month, year, note.
@misc{Xmisc,
    %author    = "",
    %title     = "",
    %howpublished = "",
    %year     = "XXXX",
    %month    = "",
    %note     = "",
}
@phdthesis
praca doktorska
  • pola wymagane: author, title, year, school.
  • pola dodatkowe: address, month, keywords, note.
@proceedings
materiały konferencyjne
  • pola wymagane: title, year.
  • pola dodatkowe: editor, volume/number, series, address, month, organization, publisher, note.
@techreport
raport techniczny instytucji naukowej, komercyjnej lub normalizacyjnej
  • pola wymagane: author, title, institution, year.
  • pola dodatkowe: type, number, address, month, note.
@techreport{Xtreport,
    author    = "",
    title     = "",
    institution = "",
    %type     = "", 
    %number   = "",
    %address  = "",
    year      = "XXXX",
    %month    = "",
    %note     = "",
}
@unpublished
nieopublikowany artykuł, książka, rozprawa
  • pola wymagane: author, title, note.
  • pola dodatkowe: month, year.

Niestandardowe typy[edytuj]

@patent
Więcej informacji na temat tego typu dostępne: Cytowanie patentów w Bibtex (strona w języku angielskim).
@collection
@electronic

Wielkie litery[edytuj]

BibTeX standardowo zamienia wszystkie wielkie litery w tytule na małe (poza pierwszą). Aby zablokować zmianę liter należy nazwę podawać wewnątrz nawiasów klamrowych:

title = "The {LaTeX} Companion",

Jednakże, nie powinno się wprowadzać całych tytułów wewnątrz nawiasów klamrowych

title = "{The LaTeX Companion}",

Dla ułatwienia wiele ludzi wstawia tytuł w podwójny nawias klamrowy, jednakże nie zawsze się to sprawdza.

title = {{The LaTeX Companion}},

Dodatkowe przykłady[edytuj]

Poniżej przedstawiono kilka dodatkowych przykładów wpisów bibliograficznych. Pierwszy pokazuje sposób wprowadzania autorów, gdy podane jest nazwisko i pierwsze litery imion. Kolejny przykład obrazuje sposób wprowadzania danych typu @incollection.

@article{AbedonHymanThomas2003,
  author = "Abedon, S. T. and Hyman, P. and Thomas, C.",
  year = "2003",
  title = "Experimental examination of bacteriophage latent-period evolution as a response to bacterial availability",
  journal = "Applied and Environmental Microbiology",
  volume = "69",
  pages = "7499--7506"
}

@incollection{Abedon1994,
  author = "Abedon, S. T.",
  title = "Lysis and the interaction between free phages and infected cells",
  pages = "397--405",
  booktitle = "Molecular biology of bacteriophage T4",
  editor = "Karam, Jim D. Karam and Drake, John W. and Kreuzer, Kenneth N. and Mosig, Gisela
            and Hall, Dwight and Eiserling, Frederick A. and Black, Lindsay W. and Kutter, Elizabeth
            and Carlson, Karin and Miller, Eric S. and Spicer, Eleanor",
  publisher = "ASM Press, Washington DC",
  year = "1994"
}

Jeśli chcesz zacytować stronę internetową użyj typu @misc:

@misc{website:fermentas-lambda,
      author = "Fermentas Inc.",
      title = "Phage Lambda: description \& restriction map",
      month = "November",
      year = "2008",
      url = "http://www.fermentas.com/techinfo/nucleicacids/maplambda.htm"
}

Pole "note" (notatki) jest pomocne w przypadkach, gdy chcemy przekazać dodatkowe informacje, dla przykładu wskazać, iż dany numer czasopisma nie został jeszcze wydany:

@article{blackholes,
      author="Rabbert Klein",
      title="Black Holes and Their Relation to Hiding Eggs",
      journal="Theoretical Easter Physics",
      publisher="Eggs Ltd.",
      year="2010",
      note="(w trakcie publikowania)"
}

Integracja LaTeX z plikami .bib[edytuj]

Na samym końcu dokumentu, przed kodem:

\end{document}

należy wpisać następujące polecenia:

\bibliographystyle{plain}
\bibliography{przyklad1,przyklad2,...,przykladn} 
% Zauważ brak spacji pomiędzy kolejnymi odwołaniami.

Style bibliograficzne określają, jak ma wyglądać efekt końcowy bibliografii. Określa on, jak informacje podane w plikach .bib mają zostać przetworzone, aby uzyskać konkretny efekt. Właśnie w tym celu podana jest pierwsza komenda w powyższym kodzie. W tym przypadku został użyty styl plain.bst (który jest standardowym stylem BibTeX).

Druga komenda określa, które pliki .bib chcemy wykorzystać do tworzenia bibliografii. Jeżeli pliki z bibliografią znajdują się w innym folderze, należy podać pełną ścieżkę do nich \bibliography{/folder1/folder2/przyklad}

Aby wstawić odwołanie do pozycji literaturowej, należy użyć komendy \cite{klucz}, gdzie klucz jest jednoznacznym identyfikatorem danej pozycji odpowiadający tej pozycji w pliku .bib. Jeśli chcemy jednocześnie odwołać się do kilku pozycji literaturowych, należy wypisać wszystkie klucze, oddzielając je przecinkami.

\cite{klucz1, klucz2, ..., kluczn}

Style bibliografii[edytuj]

Poniżej przedstawiono trzy podstawowe style dostępne w LaTeX:

plain
abbrv
alpha


Nazwa stylu Format nazwiska autora Format odnośnika Sortowanie
plain Homer Jay Simpson #ID# alfabetycznie - nazwiska autorów
unsrt Homer Jay Simpson #ID# w kolejności odwołań w tekście
abbrv H. J. Simpson #ID# alfabetycznie - nazwiska autorów
alpha Homer Jay Simpson Sim95 alfabetycznie - nazwiska autorów
abstract Homer Jay Simpson Simpson-1995a
acm Simpson, H. J. #ID#
authordate1 Simpson, Homer Jay Simpson, 1995
apa Simpson, H. J. (1995) Simpson1995
named Homer Jay Simpson Simpson 1995


Strona http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html zawiera więcej przykładów stylów. Przykłady przedstawiono także w pliku: http://amath.colorado.edu/documentation/LaTeX/reference/faq/bibstyles.pdf Dodatkowe informacje można także znaleźć na stronie http://amath.colorado.edu/documentation/LaTeX/reference/faq/bibstyles.html

Baza danych stylów bibliograficznych dla LaTeX: http://bst.maururu.net/ zawiera ponad 2000 stylów, które można przeszukiwać po tytule czasopisma, w którym są stosowane.

Dodawanie linków URL do bibliografii[edytuj]

Jak można zauważyć w pozycjach literaturowych brakuje pola na wpisanie link URL. Jedną z możliwości jest wpisanie adresu do strony internetowej w pole howpublished dostępne w @misc lub w polu note w @techreport, @article, @book:

howpublished = "\url{http://www.example.com}"

Bez użycia polecenia \url spowoduje wklejenie do bibliografii zwykłego tekstu, bez hiperłącza. Aby to polecenie zadziałało, należy w preambule załadować pakiet \usepackage{url}

Innym sposobem jest użycie pola url i spowodować, aby dany styl bibliografii go rozpoznawał:

 url = "http://www.example.com"

W tym celu należy w preambule załadować pakiet \usepackage{hyperref}.

Style Natbib (zobacz poniżej) posiadają takie pole w swojej strukturze. Pozostałe sposoby to modyfikacja już istniejących stylów. Modyfikacja trzech podstawowych stylów (plain,abbrv i alpha) została przedstawiona tutaj.

Więcej informacji dotyczących wstawiania linków do bibliografii można znaleźć na tej stronie.

Pozycje literaturowe bez odwołań[edytuj]

Zazwyczaj LaTeX wyświetla w bibliografii jedynie te pozycje, do których pojawiają się odwołania w tekście. Jeśli chcemy umieścić w bibliografii pozycję bez odnośnika, należy użyć następujących komend:

\nocite{Name89} % Pokazuje w bibliografii wpis o kluczu "Name89"
\nocite{*} % Pokazuje w bibliografii wszystkie wpisy z bazy danych

Jak wygenerować bibliografię z BibTeX[edytuj]

Cały proces tworzenia bibliografii przez LaTeX jest skomplikowany i wymaga kilku złożonych operacji, dlatego aby poprawnie wygenerować bibliografię i odnośniki z kodu źródłowego, należy wykonać kilka czynności. Każda z nich wykona konkretne zadanie, które w rezultacie dadzą bibliografię. Aby poprawnie ją wygenerować, należy w linie poleceń wpisać kolejno:

  1. latex twój_plik.tex
  2. bibtex twój_plik.aux
  3. latex twój_plik.tex
  4. latex twój_plik.tex

(Rozszerzenia plików nie są wymagane, jeśli je stosujesz, pamiętaj, iż BibTeX odwołuje się do pliku .aux)

Po pierwszej komendzie zobaczysz błędy przypominające te:

LaTeX Warning: Citation `lamport94' on page 1 undefined on input line 21.
...
LaTeX Warning: There were undefined references.

Kolejnym krokiem jest uruchomienie BibTeXa na tym samym kodzie źródłowym (a dokładniej na powstałym z niego pliku AUX) w celu zdefiniowania wszystkich pozycji literaturowych, do których odwołuje się dokument. Powinieneś zobaczyć następujący komunikat:

This is BibTeX, Version 0.99c (Web2C 7.3.1)
The top-level auxiliary file: twój_plik.aux
The style file: plain.bst
Database file #1: sample.bib

Trzecim etapem, który wywołuje latex, po raz drugi spowoduje wyświetlenie się komunikatów typu:

LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

Nie przejmuj się tym, już prawie wszystko działa. Jedyne, co trzeba wykonać, to uruchomić składanie latexa po raz trzeci. W rezultacie otrzymamy gotowy plik, bez dodatkowych problemów.

Jeśli plikiem wynikowym ma być pdf, a nie dvi, zamiast komendy latex stosuje się komendę pdflatex:

  1. pdflatex latex_source_code.tex
  2. bibtex latex_source_code.aux
  3. pdflatex latex_source_code.tex
  4. pdflatex latex_source_code.tex

(Rozszerzenia plików nie są wymagane, jeśli je stosujesz, pamiętaj, iż BibTeX odwołuje się do pliku .aux)

Bibliografia w innych językach[edytuj]

Podczas tworzenia bibliografii w językach innych niż angielski, trzeba zmienić niektóre słowa automatycznie wstawiane do bibliografii (np. editors, and lub in). W takim przypadku można użyć pakiet babelbib. Przykładowo dla języka polskiego (niestety jak na razie nie powstał styl polski 19.08.2014r.) w preambule należy wpisać:

\usepackage[fixlanguage]{babelbib}
\selectbiblanguage{polish}

Alternatywnie, język można wprowadzić pojedynczo dla każdego wpisu w bazie danych. W takim przypadku w preambule wpisujemy:

\usepackage{babelbib}

A w danej pozycji w bazie danych:

@article{mueller08,
  % ...
  language = {german}
}


Aby babelbib zadziałał, należy użyć jeden z podanych stylów: babplain, babplai3, babalpha, babunsrt, bababbrv, and bababbr3.

\bibliographystyle{babplain}
\bibliography{sample}

Umieszczanie bibliografii w spisie treści[edytuj]

Jeśli używasz klasy dokumentu book lub report, można umieścić bibliografię w następujący sposób:

\begin{thebibliography}{99}
\bibitem{bib:one_book} some information
\bibitem{bib:one_article} other information
\end{thebibliography}

Jeśli używasz BibTeX ta sama czynność wymaga wpisania następujących komend:

\bibliographystyle{plain}
\bibliography{mybibtexfile}

Oba sposoby spowodują wstawienie w odpowiednim miejscy bibliografii, która będzie przypominać nowy rozdział. Jednakże pomimo to nie zostanie on dodany jako nowy rozdział do spisu treści.

Używanie pakietu tocbibind[edytuj]

Najwygodniejszym sposobem dodawania bibliografii do spisu treści jest użycie dedykowanego pakietu tocbibind, który można stosować z większością standardowych klas dokumentów. Aby go załadować, należy w preambule dokumentu:

\usepackage[nottoc]{tocbibind}

Spowoduje to wstawienie bibliografii do spisu treści, bez nadania numeru rozdziału. Jeśli chcemy, aby bibliografia posiadała numer należy w preambule wpisać:

\usepackage[nottoc,numbib]{tocbibind}

Pakiet tocbibind spowoduje wstawienie do spisu treści także spis rysunków, spis tabel oraz samego spisu treści. Posiada wiele opcji, które szerzej opisane są na stronie http://www.ctan.org/tex-archive/macros/latex/contrib/tocbibind

Inne sposoby[edytuj]

Bez numeru rozdziału[edytuj]

Jeśli chcesz aby bibliografia pojawiła się w spisie treści wystarczy przed thebibliography wstawić:

\clearpage
\addcontentsline{toc}{chapter}{Bibliografia}

lub

\addcontentsline{toc}{section}{Bibliografia}

jeśli klasa, którą używasz to article.

Pierwsza z powyższych linii tekstu kończy poprzedni paragraf i stronę. Jeśli stosuje się klasę book należy użyć komendy \cleardoublepage. Kolejna linia odpowiada za dodanie do spisu treści (fragment toc), jako nowy rozdział (fragment chapter) o nazwie podanej w trzecim nawiasie klamrowym (tutaj Bibliografia). Jeśli używasz osobnego pliku bibliograficznego powyższy kod powinno się wstawić pomiędzy linie zawierające \bibliographystyle i \bibliography.

Jeśli używasz pakietu hyperref, powinno się do powyższych komend dodać \phantomsection, aby uaktywnić hiperlink w spisie treści dotyczący bibliografii.

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}

Ten sposób działa idealnie w przypadku wstawiania bibliografii do spisy treści, jednak może być także zastosowany w każdym innym przypadku dodawania każdej innej treści.

Z numerem rozdziału[edytuj]

Jeśli chcemy, aby bibliografia w spisie treści posiadała numer jak inne rozdziały, należy wpisać poniższy kod:

\cleardoublepage % Konieczne w klasie book, aby bibliografia umieszczona byłą na właściwej stronie
                 % W przypadku innych klas wystarczy użyć \clearpage
\renewcommand*{\refname}{} % Ten fragment spowoduje zablokowanie wpisania nazwy Bibliografia
\section{Bibliography}     % Rozpoczyna nowy rozdział lub sekcję o nazwie bibliografia

\begin{thebibliography}{99}
...
\end{thebibliography}

Innym, prostszym rozwiązaniem jest użycie \section wewnątrz bloku \renewcommand:

\renewcommand{\refname}{\section{Źródła}} % Gdzie "Źródła" to tytuł sekcji
\begin{thebibliography}{99}
...
\end{thebibliography}

W celu usunięcia fragmentu wolnej przestrzeni pod napisem Bibliografia należy po kodem \renewcommand*{\refname}{\vspace*{-1em}} wstawić \vspace*{-1em} co zmniejszy wolną przestrzeń automatycznie wstawianą przez komendę \refname

  • Uwaga: Jeśli stosujesz klasę book lub report użyj \bibname zamiast \refname

Kilka bibliografii[edytuj]

Pakiet multibib[edytuj]

Pakiet ten zapewnia możliwość dodania kilku bibliografii dotyczących różnych sekcji w dokumencie. Można dzięki niemu wygenerować osobne bibliografie dla każdego rozdziału. Więcej informacji o pakiecie można znaleźć na stronie CTAN[2]

Pakiet bibtopic[edytuj]

Pakiet bibtopic[3] pozwala podzielić bibliografię na kilka części. Można m.in. stworzyć osobne bibliografie dla książek, artykułów z czasopism oraz źródeł internetowych.

\documentclass{article}
\usepackage{bibtopic}
\begin{document}

\bibliographystyle{alpha}
\section{Testing}
Cytowane książki: \cite{ColBenh:93} oraz \cite{Munt:93}; 
Cytowany artykuł: \cite{RouxSmart:95}.

Plik ksiazki.bib jest używany do tego spisu:
\begin{btSect}{ksiazki}
 \section{Książki}
 \btPrintCited
\end{btSect}
Plik artykuly.bib jest używany do stworzenia bibliografii.
\begin{btSect}[plain]{articles} % Zastosowano zmianę stylu bibliografii z alpha na plain
 \section{Artykuły}
 \btPrintCited
 \section{Artykuły niecytowane}
 \btPrintNotCited
\end{btSect}
Aby wydrukować wszystkie źródła używamy komendy \btPrintAll
\begin{btSect}[plain]{internet}
 \section{Internet}
 \btPrintAll
\end{btSect}
\end{document}

Pakiet custom-bib[edytuj]

Pakiet custom-bib[4] pozwala utworzyć własny styl bibliografii. Szczegółowy poradnik jak użyć pakietu można znaleźć na stronie[5].


Przypisy