Przywołania bibliograficzne to odsyłacze do wykazu literatury [w odróżnieniu od przypisów bibliograficznych, czyli przypisów zawierających podstawowe elementy identyfikujące przywoływany dokument. Przypisy są ,,modne'' w tekstach humanistycznych i prawnych oraz wśród ,,akademickich moherów'' z innych branż]. W LaTeXu standardowym sposobem cytowania jest ,,poprzez numer'', pod którym dana pozycja jest umieszczona w zestawieniu literatury.
W wielu dziedzinach nauk obowiązującym zwyczajem jest oznaczanie przywołań przy pomocy umieszczonego w nawiasach okrągłych lub kwadratowych nazwiska autora/autorów oraz roku wydania, np. (Knuth 1985). Aby przestawić LaTeXa na taki sposób tworzenia przywołań bibliograficznych należy:
natbib
,
hyperref
z opcją breaklinks
, oraz
\bibliographystyle
.
\usepackage{natbib} \usepackage[breaklinks]{hyperref} \bibliographystyle{papalike} %% spolonizywany style apalika.bst \begin{document} %% albo standardowy \bibliographystyle{plainnat}
Bez
breaklinks
LaTeX nie złamie wiersza w obrębie
przywołania, co w przypadku dużej ich liczby będzie
skutkować dużą liczbą sterczących
na prawym marginesie fragmentów nieprzeniesionego
prawidłowo tekstu.
Polecenie \bibliographystyle{papalike}
określa styl bibliograficzny.
Tu jest problem, bo większość stylów nie jest spolonizowana. Wyżej
podany papalike
,
to ,,na szybko'' spolszczony plik apalike
(Dostępny
tutaj).
Teraz należy uruchomić poniższy wiersz (dla pewności dwa razy:-):
pdflatex plik.tex && bibtex plik
Z rozpędu dodałem opcję definiowania przywołań bibliograficznych do wzmgr.
A jeżeli publikacja nie ma daty wydania, np. strona WWW bez daty publikacji, to zgodnie z zaleceniami APA: The initials n.d. should be listed if there is no date. Po polsku zamiast n.d. wstawiam bdw (brak daty wydania), np. (Ajzen, bdw).
Dopisane 28 Lutego 2009:
Pakiet hyperref
można wywołać z opcją backref
, albo
pagebackref
co skutkuje tym, iż
w spisie literatury pojawią się przy każdej tzw. pozycji literaturowej numery stron, na których owa
pozycja jest przywoływana (przydatne na etapie pisania pracy
oraz w przypadku dokumentu w wersji elektronicznej
(przykład -- zobacz
spis literatury w pliku mgr-main.pdf
)).
Teraz uwaga:
powyższe nastawy nie zawsze działają. Nie rozgryzłem tematu do końca ale:
klasy Marcina Wolińskiego wydają się nie być kompatybilne z natbib
.
Kompilacja kończy się błędami `\inaccessible' na etapie przetwarzania spisu literatury.
W google jest coś na rzeczy tutaj.
Wprawdzie większość wątku jest mało konkretna,
ale sugestia J. Kew wydaje się prawdopodobna:
I think there's an incompatibility between your use
of \leftmark
in the header, and whatever (the bibliography style?) is
supposed to be producing the \mark
's.
Pakiet natbib
testowany z innym tekstem spowodował też inny błąd: w przypadku
podzielenia przywołania pomiędzy stronami
link z strony poprzedniej nie kończy się
na brzegu ostatniego wiersza ale obejmuje
także ewentualne przypisy, ew. paginę dolną oraz paginę górną następnej strony (Oczywiście usunięcie
breaklinks
z listy opcji pakietu hyperref usunęłoby problem ale wprowadziło inny
jednocześnie.)
Najśmieszniejsze, że mam dwa
wydaje się identyczne dokumenty, w których w jednym taki błąd występuje
a w drugim jest OK.
Już nie jest śmiesznie -- dodałem więcej tekstu do dokumentu, który był OK
i stał się KO
(por. strona 17 w pliku mgr-main.pdf
).
Coś mi dzwoni, że tego typu efekt może wynikać z ograniczeń TeXa,
który najpierw składa
akapity a potem łamie strony.
Skąd biedak ma wiedzieć, że akurat w tym wierszu skończy mu się strona...
Anyway -- zadałem pytanie na GUST-l bo może się mylę.
Dopisane 2 Marca 2009: Limitation of pdfTeX napisał Heiko Oberdiek w odpowiedzi na moje pytanie na comp.text.tex. Niestety to potwierdza, że mi dobrze dzwoniło...
Dopisane 6 Kwietnia 2010:
O jednej rzeczy w tym wszystkim zapomniałem. Mianowicie
polecenie składające zawartość \cite{...}
wygląda następująco (plik latex.ltx
):
\def\@citex[#1]#2{\leavevmode \let\@citea\@empty \@cite{\@for\@citeb:=#2\do {\@citea\def\@citea{,\penalty\@m\ }% \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}% \G@refundefinedtrue \@latex@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
Ostatni wiersz jest istotny. Magiczne \@cite@ofmt
jest zdefiniowane trochę dalej jako:
\let\@cite@ofmt\hbox
Co oznacza, że każde odesłanie bibliograficzne ,,jest brane''
w pudełko i nie ma szans, żeby się odsyłacz przełamał nawet
z aktywną opcją breaklinks
. Wystarcz jednak wpisać:
\let\@cite@ofmt\relax
Żeby odsyłacz nie był składany w pudełku (ze wszystkimi tego
konsekwencjami, negatywnymi też).
Albo mam za
starego/błędnego hyperrefa, albo jest jakaś opcja, której nie znam
albo jeszcze coś innego. U mnie samo wywołanie
pakietu hyperref
z opcją
breaklinks
nie przełamuje odsyłaczy, z wyżej opisanego
powodu.