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:
- dołączyć pakiet
natbib
, - dołączyć pakiet
hyperref
z opcjąbreaklinks
, oraz - Dołączyć odpowiednie polecenie
\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.
Brak komentarzy:
Prześlij komentarz