Bibliografia i LaTeX (cz.1)

Nadchodzi w karierze taki moment, w którym pisane przez nas prace, opisy i raporty trzeba zacząć wyposażać w przyzwoitą bibliografię. LaTeX jest na to w 100% przygotowany i tylko czeka żeby nas wyręczyć z wielu żmudnych czynności. Niestety jak to zwykle bywa najpierw trzeba wiedzieć jak to ugryźć, a potem będzie z górki.

W tej części opiszę jak się bibliografie tworzy i stosuje w LaTeX-u, a w następnym wpisie postaram się pokazać różne opcje i modyfikacje.

Do tworzenia bibliografii wykorzystywany jest silnik BibTeX, nie wymaga on dołączania dodatkowych pakietów, wymaga za to (niestety) trochę gimnastyki przy kompilacji dokumentu (ale po wykorzystaniu tego, o czym napisałem ostatnio nie będzie nam to sprawiało kłopotów).

Informacje o bibliografii musimy wpisać zgodnie ze wzorcem do pliku z rozszerzeniem .bib i takiej samej nazwie jak główny plik naszego projektu. Dla każdej pozycji musimy podać jej rodzaj (dziś na przykładzie książki [book], pozostałe rodzaje omówię następnym razem) oraz podstawowe dane. Dla książki wymagane informacje to autor, tytuł, wydawnictwo i rok.

Stworzyłem sobie bibliografię z trzema książkami, które akurat miałem na biurku:

@book{historiafizyki,
author =       "Andrzej Kajetan Wróblewski",
title =        "Historia Fizyki",
publisher =    "Wydawnictwo Naukowe PWN",
year =         "2007",
address =      "Warszawa"
}

@book{book:1kropka,
author =       "C. Kittel, W. D. Knight, M. A. Ruderman",
title =        "mechanika",
publisher =    "Państwowe Wydawnictwo Naukowe",
year =         "1973",
address =      "Warszawa"
}

@book{book:3kropka,
author =       "F. C. Crawford",
title =        "fale",
publisher =    "Państwowe Wydawnictwo Naukowe",
year =         "1975",
address =      "Warszawa"
}

Znaczek @ oznacza nowy rekord. Bezpośrednio po nim podajemy rodzaj publikacji, w naszym przypadku book. Wszystkie pozostałe informacje podajemy w nawiasach klamrowych. Po pierwsze musimy podać nazwę publikacji – używając tej nazwy będziemy mogli odwołać się do publikacji w dokumencie. Następnie oddzielając przecinkami podajemy pozostałe informacje o publikacji w sposób identyczny jak w przykładzie.

Zapisujemy ten plik i zabieramy się za skorzystanie z tak stworzonej bibliografii w naszym dokumencie.

Zaraz po \begin{document} umieszczamy informację o stylu bibliografii:

\bibliographystyle{plain}

W miejscu, w którym chcemy mieć bibliografię (jako listę pozycji) wstawiamy:

\bibliography{nazwa_pliku_z_bibliografią}

Do bibliografii możemy odwoływać się za pomoca poleciania \cite{}, przykładowo:

\cite{historiafizyki}
\cite[s. 120-123]{book:1kropka}
\cite{book:3kropka}

Teraz jak zmusić bibliografię do zadziałania? Sama kompilacja LaTeX-em jest niewystarczająca. Trzeba też użyć programu bibtex. Najlepiej postępować według schematu:

2008-03-26_192550.png

Wtedy wszystkie numeracje zostaną prawidłowo wpisane do dokumentu.

Należy pamiętać, że bibliografia będzie zawierała tylko te pozycje, do których odwołamy się w tekście!

Najlepiej będzie zautomatyzować proces kompilacji w identyczny sposób jak opisałem poprzednio. Otwieramy plik build.bat i po kompilacji LaTeX-em dodajemy BibTeX i jeszcze 2 razy LaTeX. Plik buil.bat powinien wyglądać tak:

LaTeX + LEd + PDF + BibTeX

Teraz wystarczy wykonać “build all”:

LaTeX + LEd + PDF + BibTeX

I gotowe! Możemy podziwiać bibliografię:

LaTeX + LEd + PDF + BibTeX

Opisałem ogólną metodę postępowania. Następnym razem powiem o poleceniu \cite{}, o różnych rodzajach publikacji w bibliografii oraz o różnych jej stylach. Zanim to nastąpi zachęcam do samodzielnych eksperymentów.

goto

|

Komentarze (29) »

  1. tym:

    1 Jun 2008 @ 23:24

    ale jak to sie ma do teorii wielkiej unifikacji?

  2. piotrek:

    13 Aug 2008 @ 22:11

    co zrobić by na stronie z bibliografią nie było numeru strony ? ? ?

  3. Kawka:

    9 Sep 2008 @ 09:13

    Ja czytałem (w tym miejscu: http://42.pl/tex/prog/bibtex/bibtex-6.html), że autorów rozdziela się nie przecinkami tylko słowem “and”.
    U Ciebie, na załączonym obrazku p.t. ‘Literatura” przecinki wprawdzie zadziałały ale połowicznie, bo Ruderman nie jest oddzielony żadnym znakiem interpunkcyjnym od Kittela, natomiast Kittela od Knighta oddziela przecinek.

    Nawiasem mówiąc notacja ze słówkiem “and” u mnie nie działa najlepiej, bo przed ostatnim autorem zamiast przecinka wstawia właśnie to słówko “and” np. Wilgat, Wróblewski and Kittel. Czy ktoś wie jak to zlikwidować?

  4. Electric:

    12 Apr 2009 @ 12:25

    Nie wiem na jakiej podstawie autor strony http://42.pl/tex/prog/bibtex/bibtex-6.html podał, że autorów rozdziela się nie przecinkami, tylko słowem ,,and”.

    Na stronie Biblioteki Głównej Zachodniopomorskiego Uniwersytetu Technologicznego (i nie tylko), na której omówiono temat sporządzania bibliografii załącznikowej, w przykładach zastosowano przecinek. Strona powołuje się na Polską Normę, która w naszym kraju jest obowiązująca.

    Natomiast łączenie autorów słowem ,,and” jest z pewnością niepoprawne, choćby z uwagi na to, że jest to słowo angielskie a nie polskie.

  5. Electric:

    12 Apr 2009 @ 12:30

    Strony z bibliografią numeruje się.
    Nie numeruje się tylko stron tytułowych, niezadrukowanych, pojedynczych stron wypełnionych całkowicie przez tabele lub ilustracje.
    Można nie numerować stron rozdziałów zaczynających się kolumną spuszczoną (przy stosowaniu pagin górnych) oraz końcowych stron rozdziałów (przy stosowaniu pagin dolnych).

    Wyłączenie numerowania stron: \pagestyle{empty}

  6. ola:

    6 May 2009 @ 18:47

    plik BibTex-a (‘bibl.bib’) nie chce się skompilować, bo nie znajduje pliku bibl.aux, ponieważ jestem dość zielona jeszcze w latex-u to nie wiem co mam zrobić żeby zaczęło mi działać..? czy ktoś mógłby mi pomóc .. ?

  7. Aerin:

    4 Jun 2009 @ 14:50

    Panu Kawce oraz autorowi wspomnianej strony chodziło o zapis wewnątrz dokumentu BibTeX, w którym należy stosować “and”. Naturalnie w wersji skompilowanej autorów powinno się oddzielać przecinkiem.
    Ja probowalem wlasnie znalezc w jaki sposob mozna zmusic BibTex to podawania poprawnie bibliografii w polskich dokumentach.
    I znalazlem to:
    \bibliographystyle{plplain}
    lub
    \bibliographystyle{plabbrv}
    i wtedy autorzy sa ladnie po przecinku.

    PS. Inne pl… pewnie tez dzialaja

  8. jacuncao:

    15 Jun 2009 @ 09:55

    dobra strona, bardzo dobre i ciekawie napisane teksty o LaTeXu, pisz tak dalej! 🙂

  9. Beyo:

    28 Jun 2009 @ 14:20

    To nie jest zawsze tak, ze tylko pozycje do których się odwołujemy będą w spisie. Można to obejść poleceniem \nocite{i tutaj umieszczamy keywordy publikacji,których nie cytowaliśmy a ktore chcemy by były w spisie}

  10. heniczyna:

    11 May 2010 @ 00:41

    a jak wyświetlać w bibliografii najpierw nazwisko, apotem pierwszą literę imienia, a wszystko oddzielone przecinkami?
    Dążę do takiej formy: Nazwisko I., Tytuł (kursywą), Wydawnictwo, Rok wydania.

  11. rysio ochodzki:

    5 Oct 2010 @ 01:26

    @Aerin:
    Dzięki wielkie! Tego szukałem.
    Pozdro

  12. gaga:

    3 Feb 2011 @ 22:50

    Ta komenda na wyłączanie numerów stron to lipa. Ja chcę wyłączyć samą numerację strony a nie łącznie z nagłówkiem i stopką. Chcę mieć nagłówek i stopkę a nie mieć numerowania stron.

  13. Ktosiek:

    9 Feb 2011 @ 23:40

    czy ktoś może mi poradzić jak bibliografii nadać numer (chapteru) w spisie treści ??

  14. goto:

    9 Feb 2011 @ 23:43

    W miejscu, gdzie masz bibliografię dodaj \addcontentsline{toc}{chapter}{Bibliografia}

  15. knedel83:

    16 May 2011 @ 15:34

    Witam. Mam pytanie dlaczego w spisie całej bibliografii pojawiają mi się tylko te pozycje do których odwołuje się w tekście za pomocą \cite{}

  16. goto:

    16 May 2011 @ 15:36

    Ponieważ LaTeX domyślnie wypisuje tylko te pozycje do których się odwołamy. Jest to przydatne gdy mamy jedną dużą bazę bibliograficzną, z której korzystamy w wielu pracach.

  17. knedel83:

    16 May 2011 @ 15:39

    No a jak mogę na końcu pracy wypisać całość bibliografii ?

  18. goto:

    16 May 2011 @ 15:43

    \nocite{*} powinno zadziałać.

  19. knedel83:

    16 May 2011 @ 15:56

    Ok pomogło wstawił cała bibliografie jeszcze tylko taki mały drobiazg bo wstawił w taki sposób jak pozbyć się tych informacji [cytowano na str.]

    [6] Ronald L. Rivest Clifford Stein Thomas H. Cormen, Charles E. Leiserson. Wprowadzenie
    do algorytmów wydanie 6. Wydawnictwo Naukowo Techniczne, Warszawa,
    2006. [cytowanie na str. -]

  20. goto:

    16 May 2011 @ 15:58

    A jakim poleceniem jest wyświetlanie tej informacji włączone?

  21. knedel83:

    16 May 2011 @ 16:14

    Przyznaje że dopiero zaczynam zabawę z Latex korzystam z gotowego wzorca pracy
    wydaje mi się ze odpowiada za to ta linia jest ona umieszczona w pliku style.tex

    % *************** Dodanie do pozycji bibliograficznych informacji o numerze strony, na której jest ona cytowana ***************
    \usepackage{citeref}
    \renewcommand{\bibitempages}[1]{\newblock {\scriptsize [\mbox{cytowanie na
    str.\ }#1]}}

  22. goto:

    16 May 2011 @ 16:16

    Zakomentuj (% na początku linii) linię zaczynającą się od \renewcommand i spróbuj teraz.

  23. knedel83:

    16 May 2011 @ 16:20

    Oto rezultat

    [6] William Stallings. Cryptography and Network Security: Principles and Practice Fourth
    Edition. Prentice Hall, 2006. [-]

  24. goto:

    16 May 2011 @ 16:22

    Gdzieś w nagłówku musi być ustawione wyświetlanie numeru strony (włączone).

    Brzydkim rozwiązaniem będzie zmiana omawianej wcześniej linii na:
    \renewcommand{\bibitempages}[1]{\newblock {\scriptsize}}

  25. knedel83:

    16 May 2011 @ 16:30

    Ale oto mi właśnie chodziło tego szukałem dzięki za pomoc.

  26. knedel83:

    18 May 2011 @ 16:38

    Witam. Mam kolejny problem chciałem się spytać jeśli mogę jak wstawić obrazek png Sorki ze zasmiecam temat. Znalazlem w necie przyklad i udalo mi sie wstawic ale wstawia mi tylko taki maly i nie wiem jak mam go powiekszyc.

    \begin{figure}[t]
    \centering
    \includegraphics[bb=0 0 600 300,width=60mm, height=30mm]{Protokol_Klucz_publiczny.png}
    \end{figure}

  27. hubert:

    29 May 2013 @ 14:06

    Nie udaje mi się stworzyć bibliografii Nie wiem jak w LED zrobić aby z pliku*.bib postał plik *.aux – jakie pakiety powinienem zainstalować?

  28. sdd:

    1 Jul 2013 @ 16:55

    No dobra, to w BiBtexu. A w Biblatexu z działającym Biberem jako backendem to co? Mi się bład wyświetla.

  29. MD:

    6 Nov 2017 @ 08:58

    Witam,
    mam problem ponieważ wprowadzam bibliografię z JabRef ale nie jest ona w kolejności :

    w pliku cytuje pięć pozycji \cite{nr1,nr2,nr3,nr4,nr5} i następnie jedną pozycję \cite{nr6}.
    w pdf otrzymuje : [1,2,6,3,5] i następnie [4], co oge zrobić aby cytowania były w kolejności ?
    próbowałam pakietem \usepackage{cite} ale wyskakuje błąd : ! Package biblatex Error: Incompatible package ‘cite’.
    czy można coś z tym zrobić ?

    Pozdrawiam

RSS komentarzy · adres TrackBack

Odpowiedz