BibTeX má striktně vymezenou syntax pro psaní jmen autorů (nebo
vydavatelů) v BibTeXovém souboru; pokud tento seznam píšete ve zdánlivě
přirozeném tvaru, pak je zde možnost, že tím BibTeX zmatete a výsledek
bude dost odlišný od toho, co jste očekávali. Jména se zadávají v jednom
z následujících tvarů:
Jméno Příjmení
Příjmení, Jméno
Příjmení, Suffix, Jméno
a seznam autorů může být oddělen slovem „and“. Např. výraz
AUTHOR={Fred Q. Bloggs, John P. Doe & Fairbairns}
porušuje hned dvě
pravidla:
syntakticky významná čárka se vyskytuje na nesprávném místě a výraz
„&“
zde nezastává funkci oddělovače jmen, jak by se mohlo zdát. Výstup
výše uvedeného by mohl vypadat takto
„John P. Doe & Robin Fairbairns
Fred Q. Bloggs“, protože „John P. Doe & Robin Fairbairns“ se stává
křestním jménem, zatímco „Fred Q. Bloggs“ je příjmením. Tento příklad
by měl být syntakticky zapsán takto:
AUTHOR = {Fred Q. Bloggs and John P. Doe and Fairbairns}
Některé bibliografické styly s dlouhým seznamem
autorů dokáží dělat divy. Násilně můžete seznam zkrátit tím, že použijete
pseudojméno „others“. Chce-li pan Bloggs ve výpisu autorů potlačit
jména svých kolegů, stačí, aby do BibTeXového souboru napsal:
AUTHOR = {Fred Q. Bloggs and others}
Lze zpracovat bibliografii pro každou kapitolu zvlášť
Bibliografie pro každou kapitolu zvlášť může být zpracována pomocí balíku
chapterbib. Vhodnější
je napsat tuto bibliografii do zvláštního
externího souboru než přímo do zdrojového souboru k jednotlivým
kapitolám dokumentu. Balíček bibunits, sváže
bibliografii podle logických částí dokumentu. Tento balík pracuje se
sekcemi a kapitolami (jak je definujete v LaTeXu) a také umožňuje
definovat zvláštní prostředí, kde si uživatel může zvolit svoji vlastní
strukturu dokumentu. Výše zmiňované balíky naleznete na těchto místech:
chapterbib : CTAN: cite
bibunits : CTAN: bibunits
Viacnásobné bibliografie
Ak máte na mysli mnohonásobné bibliografie previazané s rôznymi časťami vašeho
dokumentu (napríklad s rôznymi kapitolami), pozrite si odpoveď
na Otázku Lze zpracovat bibliografii pro každou kapitolu zvlášť.
Pre viac než jednu bibliografiu sú tri možnosti.
Balík multibbl poskytuje veľmi jednoduché rozhranie: použijete príkaz
\newbibliography na definíciu „tagu“ (značky) bibliografie. Balík znovu
definuje iné príkazy bibliografie tak, aby ste pri každom použití ľubovolného
z nich príkazu zadali značku bibliografie, kde chcete, aby sa citácie objavili.
Príkaz \bibliography tiež akceptuje ďalší extra parameter, ktorý určuje, aký
nadpis použiť pre výslednú sekciu či kapitolu (t.j. upravuje
viď Otázku Změna slov používaných LaTeXem
spôsobom bezpečným pre babel ). Takže môžete napísať:
\usepackage{multibbl}
\newbibliography{bk}
\bibliographystyle{bk}{alpha}
\newbibliography{art}
\bibliographystyle{art}{plain}
...
\cite[pp.~23--25]{bk}{milne:pooh-corner}
...
\cite{art}{einstein:1905}
...
\bibliography{bk}{book-bib}%
{References to books}
\bibliography{art}{art-bib}%
{References to articles}
(Všimnite si, že voliteľný parameter príkazu \cite je umietnený pred
parametrom novej značky a príkaz \bibliography môže obsahovať viac než jeden
.bib súbor — skutočne všetky príkazy \bibliography môžu obsahovať
rovnaký zoznam súborov.)
Údaje príkazu \bibliography smerujú do súborov s menami
emph{.aux}, takže budete musieť po prvom spustení LaTeXu
spustiť
bibtex bk
bibtex art
aby ste dostali citácie na správne miesto.
Balík multibib dovoľuje definovať sériu „dodatočných tém“, z ktorých každá
má vlastnú sériu bibliografických príkazov. Môžete teda napísať:
\usepackage{multibib}
\newcites{bk,art}%
{Odvolávky na knihy,%
Odvolávky na články}
\bibliographystylebk{alpha}
\bibliographystyleart{plain}
...
\citebk[pp.~23--25]{milne:pooh-corner}
...
\citeart{einstein:1905}
...
\bibliographybk{book-bib}
\bibliographyart{art-bib}
Znova platí, že každý príkaz \bibliography... môže obsahovať ľubovolný
zoznam .bib súborov.
BibTeXovské spracovanie s multibib je veľmi podobné spracovaniu
s multibbl . S predchádzajúcim príkladom potrebujete:
bibtex bk
bibtex art
Všimnite si, že (na rozdiel od multibbl ) multibib dovoľuje jednoduchú,
nemodifikovanú bibliografiu (ako aj „témy“).
Balík bibtopic umnožňuje oddelene citovať rozličné bibliografie. Na vhodné
miesto dokumentu vložte sekvenciu prostredí btSect (z ktorých každé udáva
databázu bibliografie, ktorá sa má preskúmať) pre sadzbu oddelených
bibliografií. Môžete teda mať súbor diss.tex obsahujúci:
\usepackage{bibtopic}
\bibliographystyle{alpha}
...
\cite[pp.~23--25]{milne:pooh-corner}
...
\cite{einstein:1905}
...
\begin{btSect}{book-bib}
\section{Odvolávky na~knihy}
\btPrintCited
\end{btSect}
\begin{btSect}[plain]{art-bib}
\section{Odvolávky na~články}
\btPrintCited
\end{btSect}
Všimnite si rozličný spôsob špecifikovania štýlu bibliografie: ak chcete
iný štýl pre konkrétnu bibliografiu, môžete ho zadať ako voliteľný parameter
prostredia btSect .
Spracovanie BibTeXom v tomto prípade používa .aux súbory, ktorých
názvy sú odvodené z názvu základného dokumentu. Takže v tomto príklade
potrebujete:
bibtex diss1
bibtex diss2
Existuje aj príkaz \btPrintNotCited , ktorý poskytuje zbytok obsahu databázy
(ak nebolo z databázy nič citované, je tento príkaz ekvivalentný LaTeXovskému
štandardnému \nocite{*} ).
Skutočný rozdiel oproti multibbl a mltibib je, že výber toho, čo sa
objavuje v každej sekcii bibliografie, je určené v bibtopic tým, čo je
v .bib súboroch.
bibtopic.sty : CTAN: bibtopic
multibbl.sty : CTAN: multibbl
multibib.sty : CTAN: multibib
Výpis položek bibliografie do textu
Toto je základní požadavek pro časopisy či jiné publikace. Občas je
třeba, aby se daná položka objevila v běžném textu dokumentu, ačkoliv
ostatní styly požadují, aby se položky objevily jako poznámky pod čarou.
Možnosti pro výstup položek v běžném textu jsou tyto:
- Balíček bibentry (CTAN: natbib), který
vyžaduje nepatrné omezení na formát položek generovaných vaším
souborem
.bst , ale nepožaduje žádný bibliografický styl.
- Balíček inlinebib
(CTAN: inlinebib) požaduje,
abyste používali soubor
inlinebib.bst .
- Balíček jurabib
(CTAN: jurabib), který byl
původně používán k sazbě německých právních dokumentů umožňující
snadnou manipulaci s citacemi.
Pro výpis položek v podobě poznámek pod čarou složí dva balíčky:
Triedenie a kompresia citácií
Ak dáte LaTeXu \cite{fred,joe,harry,min} , jeho štandardné príkazy vám
môžu dať niečo ako „[2,6,4,3]“ (vyzerá to hrozne). Samozrejme, môžete dať veci
do poriadku preusporiadaním kľúčov v príkaze \cite . Komu sa ale chce robiť
niečo podobné iba pre výsledok „[2,3,4,6]“?
Balík cite usporiada čísla a deteguje postupnosti po sebe idúcich čísel, čím
vytvorí „[2–4,6]“. Balík natbib s voľbami numbers
a sort&compress spraví to isté, ak bude pracovať so svojimi vlastnými
numerickými štýlmi bibliografie (plainnat.bst and unsrtnat.bst ).
Ak potrebujete spraviť hyperreferencie na vaše citácie, balík cite nie je
vhodný. Ak pridáte balík hypernat :
\usepackage[...]{hyperref}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{hypernat}
...
\bibliographystyle{plainnat}
balíky natbib a hyperref budú spolupracovať.
cite.sty : CTAN: cite
hypernat.sty : CTAN: hypernat
hyperref.sty : CTAN: hyperref
plainnat.bst : distribuované v CTAN: natbib
unsrtnat.bst : distribuované v CTAN: natbib
Viacnásobné citácie
Konvencia občas používaná vo fyzikálnych žurnáloch je spojenie skupiny
príbuzných citácií do jedného záznamu v bibliografii. BibTeXu štandardne
toto opatrenie nestačí, ale balík mcite sa s problémom vysporiada.
Balík preťažuje (nahradzuje) príkaz \cite , aby rozpoznal „* “
na začiatku kľúča, takže citácie tvaru:
\cite{paper1,*paper2}
sa v dokumente vyskytujú ako jediná citácia a sú príslušne zoradené
v bibliografii samotnej. Nie ste limitovaní spojením iba dvoch referencií.
Spojené referencie môžete miešať s „normálnymi“:
\cite{paper0,paper1,*paper2,paper3}
Tieto sa v dokumente objavia ako tri citácie „[4,7,11]“
(povedzme) — citácia „4“ bude odkazovať na paper 0, „7“ na kombinovaný záznam
pre paper 1 a paper 2, a „11“ na paper 3.
Budete musieť spraviť malú zmenu súboru bibliografického štýlu (.bst ),
ktorý používate. Dokumentácia balíku mcite vám poradí, ako to spraviť.
mcite.sty : CTAN: mcite
Triedenie zoznamov citácií
BibTeX má triediacu funkciu a väčšina BibTeXovských štýlov triedi zoznam
citácií, ktorý produkuje; množstvo ľudí toto považuje za vhodné správanie.
je však možné napísať prostredie thebibliography , ktoré vyzerá, ako by
pochádzalo z BibTeXu. Veľa ľudí to aj robí (aby v krátkodobom hľadisku
ušetrili čas).
Problém sa objaví, keď sa autori thebibliography rozhodnú, že ich citácie
potrebujú zotriediť. Bežným nedorozumením je vloženie
\bibliographystyle{alpha} (alebo niečoho podobného) a očakávanie nejakým
magickým spôsobom zotriedeného vysádzaného výstupu. BibTeX takto
nefunguje! — ak napíšete thebibliography , jeho obsah musíte zotriediť
vy. BibTeX zotriedi obsah prostredia thebibliography , iba keď ho
vytvára (na vloženie z .bbl súboru príkazom csx{bibliography} command).
Výpis všetkých vašich BibTeXovkých záznamov
LaTeX a BibTeX spolupracujú, aby poskytli tejto požiadavke špeciálne
zaobchádzanie. Príkaz \nocite{*} je ošetrený špeciálne a spôsobuje, že
BibTeX generuje záznamy bibliografie pre každý záznam vo všetkýchh
.bib súboroch uvedených vo vašom \bibliography výraze, takže
po postupnosti LaTeX–BibTeX–LaTeX máte dokument s úplným výpisom.
Všimnite si, že LaTeX neprodukuje varovania
„Citation ... undefined “ alebo
„There were undefined references “ rešpektujúc
\nocite{*} . Toto nepredstavuje problém, ak používate LaTeX „ručne“
(presne viete koľkokrát máte veci spustiť), môžu to ale spliesť
automatické procesory prechádzajúce log súbor, aby zistili, či je potrebné
ďalšie spustenie.
Vytváranie HTML bibliografie
Elegantné riešenie je poskytované bibliografickým štýlom noTeX . Tento štýl
produkuje .bbl súbor, ktorý je v skutočnosti postupnosťou HTML
„P “ elementov triedy noTeX , a preto môže byť vložený
do HTML súboru. Pripravené sú opatrenia pre prispôsobenie vašej
bibliografie (pri spracovaní prostredníctvom noTeX môže byť obsah rozdielny
od obsahu spracovaného tradičným spôsobom).
Bežnejším prekladačom je awk skript bbl2html, ktorý
prekladá vami vygenerovaný .bbl súbor:
príklad výstupu skriptu si môžete pozrieť na webe
(http://rikblok.cjb.net/lib/refs.html )
bbl2html.awk : CTAN: bbl2html
noTeX.bst : CTAN: noTeX
Vytváření BibTeXových stylů
Opravdu si můžete vytvořit svůj vlastní styl: standardní bibliografické
styly jsou distribuované v komentované podobě s popisem jazyka (viz
Otázku Dokumentace k BibTeXu). Nicméně, musíme připustit, že jazyk,
v němž se BibTeXové styly vytvářejí, je jaksi neprůhledný. Proto ho
nemůžeme doporučit nikomu, kdo není dobrý programátor, byť i menší
změny v existujícím stylu se mohou ve výsledku projevit nepříznivě.
Pokud váš styl není „přehnaně moderní“, můžete ho pravděpodobně
generovat pomocí některého z balíků pro vlastní bibliografii. Ten
zahrnuje soubor makebst.tex (distribuovaný
v CTAN: custom-bib), který vás vede textovým menu k vytvoření souboru
s instrukcemi, pomocí nichž můžete vytvořit vlastní .bst soubor. Tato
technika však nepojednává o vytvoření nového stylu dokumentu (současný autor
potřeboval pro svou dizertaci „standard committee papers“
a „ISO standards“, jiný často požadovaný typ je webovská stránka — viz
Otázku Citování URL v BibTeXu).
Citování URL v BibTeXu
Neexistuje žádný vzor, jak sázet URL ve standardním BibTeXovém stylu,
nicméně Oren Patashnik (autor BibTeXu) předpokládá vývoj dlouho
očekávaného BibTeXu verze 1.0.
Aktuální informace, které musí být dostupné v citaci URL jsou rozebírány
v některých on-line dostupných výtazích normy ISO 690-2 dostupných na
adrese http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm ; níže
uvedené techniky však neuspokojí všechny požadavky normy ISO 690-2,
alepsoň však nabízejí řešení dnešním běžným uživatelům. Do příchodu nové
verze je nejjednodušším řešením použití pole \howpublished funkce
standardního stylu @misc . Samozřejmně platí omezení sázení URL, takže
položka pak bude vypadat takto:
@misc{...,
...,
\howpublished = "\url{http://...}"
}
Alternativním přístupem je použití BibTeXovských stylů jiných než
standardních, které mají vstupní typy URL.
Vynikající jsou styly natbib (plainnat ,
unsrtnat a abbrevnat ). Tyto styly jsou rozšířením
standardních stylů, pro použití převážně s natbib , ale osvojily si
URL a jiné moderní položky. custom-bib stejného autora
také umí generovat styly, které respektují položky URL.
Jiným kandidátem je balík harvard . Jaho styly bibliografie obsahují
ve své specifikaci pole „url “. Poskytnutá sazba je však tak trochu slabá
(ikdyž rozpozná použití maker LaTeX2HTML na použití odkazů, když
jsou makra dostupná).
Můžete také získat nové BibTeXovské styly užitím systému urlbst
Normana Graye, který je založen na perlovských skriptech editujících existující
BibTeXovské styly vytvářejíc nové. Nové styly mají vstupní typ webpage
a poskytují podporu pro pole url a lastchecked . Skripty perlu
jsou dodávány se sadou konvertovaných verzí standardních bibliografických
stylů. Dokumentace je ve formě LaTeXovského zdrojového kódu.
Další možností je, že zdroj, z něhož jsme citovali (např. tecnická
zpráva), je také dostupný přes Web. V takovém případě se běžně používá
tato technika:
@techreport{...,
...,
note = "Také dostupný na \url{http://...}"
}
V tomto kontextu je také vhodné použít makro
CTAN: url nebo CTAN: hyperref, protože ignoruje mezery
v argumentech. BibTeX obvykle rozděluje řádky, které považuje za příliš
dlouhé, a pokud v něm nejsou žádná bílá místa pro přirozené rozdělení,
pak BibTeX vkládá znak komentáře („%“), který je v URL přijatelný
tak, že ho \url vysází. Způsob, jak tento problém obejít, spočívá ve
vložení pomocných mezer v URL do souboru .bib , aby si BibTeX rozumně
vybral místo, kde řádek zalomí. Uvažte, že verze \url přicházející
s posledními verzemi hyperref , netrpí problémem
`% -end of line': hyperref problém zjistí a potlačí
nechtěné znaky.
|