LaTeX/Zarządzanie bibliografią
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
edytujJeż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
edytujAby 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
edytujCzasami 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
edytujKiedy 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
edytujJeż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
edytujKiedy 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.
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.
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.
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.
- Symbol otwieranego nawiasu.
- Symbol zamykanego nawiasu.
- Symbol jaki pojawi się między wielokrotnymi odwołaniami.
- Jedna z trzech możliwości:
- n - styl numeryczny.
- s - inny styl numeryczny.
- inna litera - styl autor-rok.
- Znak pojawiający się między nazwiskiem autora a rokiem (tylko w przypadku nawiasowym).
- 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
edytujPowyż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
edytujBibTeX 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
edytujNależ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
edytujBibTeX 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
edytujPoniż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
edytujNa 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
edytujPoniżej przedstawiono trzy podstawowe style dostępne w LaTeX:
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
edytujJak 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ń
edytujZazwyczaj 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
edytujCał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:
latex twój_plik.tex
bibtex twój_plik.aux
latex twój_plik.tex
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
:
pdflatex latex_source_code.tex
bibtex latex_source_code.aux
pdflatex latex_source_code.tex
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
edytujPodczas 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
edytujJeś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
edytujNajwygodniejszym 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
edytujBez numeru rozdziału
edytujJeś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
edytujJeś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
edytujPakiet 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].