LyX, BibTeX a citace podle APA normy

21.11.2010, 22:39 | Počítače a technika

LyX je grafická nadstavba vynikajícího typografického systému TeX, resp. sady maker LaTeX. Představuji, jak jsem v něm vyřešil využití citační databáze BibTeX, abych dostával citace podle citační normy Americké psychologické asociace.

Poprvé jsem před více než čtyřmi lety použil LyX při psaní své práce v rámci soutěže Středoškolské odborné činnosti (SOČ) a od té doby jej pravidelně používám v průběhu celého svého dosavadního studia na VŠ. V rámci oboru psychologie se pro bibliografické citace využívá citační norma APA, nikoliv ČSN ISO 690 a 690-2.

Stručné srovnání norem ČSN ISO a APA


Podrobně zde ukazovat hlavní rozdíly mezi oběma normami nebudu. Jen názorně ukážu, jak by ukázková bibliografická citace knihy vypadala v obou normách (první ČSN, druhá APA):

  • KOSEK, Jiří. Html – tvorba dokonalých stránek: podrobný průvodce. Ilustroval Ondřej Tůma. 1. vyd. Praha: Grada, 1998. 291 s. ISBN 80-7169-608-0.

  • Kosek, J. (1998). Html – tvorba dokonalých stránek: podrobný průvodce. Praha: Grada.

Již z tohoto je zjevné, že APA je méně přísná co do množství povinných údajů a je tak trochu „vágnější“, nicméně v sociálních vědách, zejména v psychologii, se docela běžně používá a pro zápis je pochopitelně i jednodušší.

Citace v textu se v rámci APA preferují způsobem (Autor, rok), nikoli v nějakém širším provedení, jako poznámka pod čarou apod.

Ruční citování versus využití citační databáze

Ručně

Jsou v zásadě dva způsoby, jak při psaní odborné práce pracovat s bibliografickými citacemi. Ten první je velice přímočarý, tj. ruční. Ručně na konci textu vypisuji podle požadavků dané citační normy jednotlivé položky citované literatury v abecedním pořadí, a pak plynule do textu za citace píšu do závorek autora a rok vydání díla., případně i číslo strany. Například mohu konstatovat, že podobné informace o tvorbě dokonalých webových stránek najdete v již zmiňovaném díle (Kosek, 1998, s. 11-19).

Výhoda ručního způsobu je, že si všechno dělám manuálně a nemusím konfigurovat žádný software. Jako kdyby psal na psacím stroji nebo rukou. Musím si ale hlídat abecední pořadí citované literatury, to abych vše, co cituji v textu, měl na konci v seznamu literatury, a naopak, na konci neměl něco, co se v textu vlastně vůbec neobjevuje, atd. Pokud budu jindy citovat stejné dílo v jiném dokumentu, musím bibliografickou citaci psát znovu nebo ji manuálně kopírovat z původního dokumentu.

Nemyslím si ale, že tento způsob je dnes nutně „špatně“ a je překonaný – sám jsem jej až doposud, tj. skoro 4 roky, výhradně používal, navzdory tomu, že existují i chytré databáze, k nimž se hned dostanu.

Zbytek tohoto článku se už nebude bavit o tomto ručním psaní citací, protože k němu už není moc víc co dodat. V rámci psaní bakalářské práce se mi ale množství citované literatury rozmnožilo natolik, že jsem v průběhu času došel k tomu, že bych chtěl nechat stroj, aby mi některé věci řešil automaticky. Začal jsem tedy zjišťovat, jak využít tzv. databáze citací a to tak, aby se mi jak citace v textu, tak i bibliografie na konci generovala z této databáze automaticky, a to navíc přesně tak, jak potřebuji – tedy podle citační normy APA.

Z databáze citací – BibTeX

Databáze citací je jak už název napovídá – databáze. Tabulka jednotlivých položek s údaji o jednotlivých knihách, sbornících, odborných článcích, webových stránkách atd., kde jsou ale odděleny jednotlivé údaje, tedy každá položka (řádek) obsahuje tolik sloupců, kolik druhů údajů potřebujeme. U citace podle APA normy to je minimálně (1) autor, autoři nebo editoři, (2) rok vydání, (3) název, (4) místo vydání, (5) vydavatel, u elektronických zdrojů pak ještě (6) webová stránka, nebo u článků z el. databází DOI (7) datum stažení informace z webové stránky.

Databáze existuje nezávisle na práci, kterou právě píšeme. Můžeme mít společnou databázi pro všechny texty, které kdy budeme psát, nebo si vytvořit kolik databází chceme nezávisle na sobě. Důležité je, že položek v databázi může být víc, než kolik jich skutečně v dané práci odcitujeme.

Postup citování s využitím citační databáze

Píšeme text a potřebujeme citovat nějakou publikaci.

    1. Přepneme se do souboru s databází, resp. grafické nadstavby, která s touto databází pracuje. V případě LaTeXu je touto databází tzv. BibTeX, a jako software, kterým ve Windows tuto databázi spravuji, používám JabRef.

    2. Přidáme novou položku do databáze a do jednotlivých položek (sloupců) vepíšeme jednotlivé potřebné údaje. Zatím neřešíme, jak bude citace v práci vypadat – jen do správných kolonek vepíšeme, co je potřeba.

    3. Přepneme se zpátky do dokumentu, který je na tuto databázi napojen, a vložíme novou citaci z databáze. Tím se do textu vloží reference na tuto položku databáze a křížový odkaz na položku v bibliografii na konci práce.

Bibliografie na konci tedy neobsahuje nic, co by nebylo citováno v textu, a zároveň, nehrozí, že budeme citovat něco, co zapomeneme na konci uvést. Pokud přimějeme, aby se takto vkládané citace a bibliografie formátovala v souladu s požadovanou citační normou, máme vyhráno a může nám to časem šetřit čas i snížit množství chyb z nepozornosti.

Jak na to v LyXu

Od obecného ke konkrétního aneb postup, který jsem sám v LyXu použil a funguje mi k tomu, abych využil citační databázi, se kterou je LyX kompatibilní, a formátování citací odpovídalo citační normě APA.

Je jasné, že obecný princip nezávislé databáze a čerpání dat z ní neříká nic o tom, jak se tyto položky z databáze mají v textu práce formátovat. To v rámci softwaru určuje tzv. „citační šablona“ (naprogramované postupy, co se má s údaji z databáze dělat, jak se mají zobrazit v textu práce – je to analogické šablonám stylů CSS v rámci HTML).

Výchozí citační šablona, kterou používá LaTeX i LyX, není vyhovující, zejména proto, že formát citací v textu není ve tvaru (Autor, rok) a rovněž z databáze neleze bibliografie ve formátu APA.

Potřebujeme tedy najít citační šablonu, formátující citace dle normy APA, která je zároveň kompatibilní s funkcemi citování v LyXu. Není to tak triviální, protože ačkoli nezávisle na sobě existuje několik různých citačních šablon od různých autorů, co umožňují v prostředí LaTeXu citovat dle normy APA při využití citační databáze BibTeX, málokterá z těchto citačních šablon byl vyvíjena tak, aby zároveň fungovala v grafické nadstavbě LyXu, který vznikal až mnohem později, než původní LaTeX. Podrobnosti už nechám stranou a rovnou přejdu k výsledku:

APALIKE – citační šablona funkční v LyXu

Jako funkční v LyXu se mi po marném zkoušení dalších šablon (zejm. „apacite“) ukázala citační šablona „apalike“ a citace v textu podle šablony „Natbib“. Problém s šablonou „apalike“ je ale v tom, že se jedná o více než 20 let starou citační šablonu (1988). V té době neexistoval internet, neexistovaly elektronické databáze odborných článků jako dnes atd., a tedy tato prastará citační šablona ignoruje řadu sloupců z citační databáze, jako jsou třeba URL (internetová adresa), LASTCHECKED (poslední přístup k elektronickému zdroji) nebo DOI (digital object identifier, identifikátor původu článku z elektronických databází odborných periodik – ProQuest, EBSCO, Elsevier atd.) I původní verze šablony sice funguje, ale v seznamu literatury na konci budou tato důležitá pole chybět.

V rámci balíčku, který je možné do prostředí TeXu nainstalovat (na Windows používám MiKTeX, který se dodává k LyXu), se nainstalují dva hned dvě verze šablony, původní APALIKE a již modifikovaná šablona s názvem APALIKE2, která opravuje formát citací, aby poslední dva autoři byli oddělení znakem „&“, editoři se označovali zkratkou „Ed.“ resp. „Eds.“, apod.

Na webu se vyskytují i další modifikované verze šablony APALIKE, kde se přidává podpora URL adres, DOI atd., ale vždy se vychází z původní a nedokonalé verze APALIKE. Jelikož úpravy ve verzi APALIKE2 jsou žádoucí, rozhodl jsem se implementovat podporu URL a DOI sám do této již upravené šablony APALIKE2.

Nová šablona se tedy jmenuje „apalike2-url-doi“ a nabízím ji ke stažení zde:

http://www.mediafire.com/?p42ril6tpftakni nebo http://ifile.it/m1i5fa4/apalike2-url-doi.bst

Jak nainstalovat apalike2-url-doi.bst do MikTeXu

Soubor apalike2-url-doi.bst se musí nacházet v adresáři, kam vidí distribuce TeXu (v tomto případě MiKTeX) a tedy i LyX. Nedoporučuji jej tupě vkládat do adresářů, kam MiKTeX běžně instaluje nové balíčky (společné pro všechny uživatele v Program Files, individuální jen pro uživatele někde v uživatelském adresáři (Data aplikací ve WinXP, AppData ve WinVista/7). Místo toho doporučuji vytvořit „místní úložiště TeXu“. Jak se to dělá ukazuje návod na adrese http://docs.miktex.org/2.8/manual/localadditions.html, konkrétně Figure 4.5.

Vytvořil jsem tedy nový adresář na kořenu disku C: označený „Local TeX files“, v něm vytvořil kopii strukturu adresářů /bibtex/bst/apalike/ a do tohoto adresáře uložil upravenou šablonu apalike2-url-doi.bst.



V konfigurátoru MiKTeXu, (MiKTeX Options, dostupné přes nabídku Start) tedy přidáme místní úložiště a jelikož jsme přidali nové soubory, musíme dát celému TeXu o nich vědět – tedy aktualizovat databázi souborů. V záložce General to je tlačítko Refresh FNDB.






Jak vytvořit databázi citací

TeX je zvyklý používat databázi citací ve formátu BibTeX. Soubor databáze má příponu .bib a lze jej psát ručně. Pohodlnější je ale používat na to specializovaný software. Na Windows používám a jsem spokojen s programem JabRef, který lze buď nainstalovat společně s LyXem, nebo i samostatně.




Používání JabRefu je poměrně jednoduché, v menu BibTeX stačí klikat na New entry, nebo v horní liště na ikonku „+“, zvolit jestli jde o knihu, článek nebo třeba příspěvek ve sbírce z konference (InCollection) a pak jen vyplnit potřebné údaje. Doporučuji zkraje pozměnit pořadí požadovaných a volitelných polí dle potřeby (menu Options – Customize entry types). Jelikož používám výhradně citační styl APA, nepotřebuji zadávat ISBN, počty stran knihy apod., a tím jak jsem zvyklý dlouho vše psát ručně, chtěl jsem mít pořadí polí stejné jako při ručním psaní bibliografického údaje. Tedy Pořadí polí v Required Fields u knihy mám „author/editor, year, title, location, publisher“ a u článku (article) „author, year, title, journal, volume, number, pages“.

V nastavení [Options — Preferences], záložka [BibTeX key generator] ještě doporučuji změnit [Default pattern] na „[authors3][year]“ a hlavně je dobré dole zaškrtnout [Generate keys before saving]. Tím se každé položce v citační databázi přiřadí identifikační klíč ve tvaru „PrvníTřiAutořiRok“ a podle tohoto klíče pak bude možné v LyXu vybírat adekvátní položku ze seznamu literatury.

Je důležité ukládat databázi v JabRefu se stejným kódováním, jaké budeme používat v LyXu (iso8859-2, win1250 nebo snad utf8).


Jak dokument v LyXu napojit na citační databázi

Přesuneme se na konec dokumentu a otevřeme menu [Vložit — Seznamy/Obsah — Bibliografie BiBTeXu...]. Jako styl vybereme náš nově nainstalovaný apalike2-url-doi, pokud není v seznamu, předtím klikneme na [Znovu prozkoumat]. Databázi citací pak najdeme přes [Přidat — Procházet...] Normálně je žádoucí ponechat volbu Obsah na variantě [všechny citované reference]. Pokud z nějakého důvodu chceme, aby se na konec vložila celá zvolená citační databáze, zvolíme druhou variantu [všechny reference].



Jak zajistit správné formátování citací ve tvaru (Autor, rok)

V LyXu otevřeme menu [Dokument — Nastavení...] a v Nastavení dokumentu v záložce [Bibliografie] změníme výchozí [Standard (numerický)] na [Natbib, Natbib-styl: Autor-rok].



Jak vkládat citace do textu

Píšeme naši práci, a na místě, kde chceme vložit citaci ve tvaru (Autor, rok), případně jen Autor bez závorek a později (rok), otevřeme menu [Vložit—Citace]. Vlevo by se měl objevit seznam citací, z nichž dvojklikem vybereme tu, kterou potřebujeme, dole případně do „textu za“ doplníme něco jako „s. 3“, pokud chceme citovat konkrétní strany, a dole vybereme, jaké formátování zrovna potřebujeme.



Výsledek

Takto pokračujeme dál a dál, průběžně nebo až na konci pak provedeme běžný export do PDF nebo jiného požadovaného formátu.





Pokud by se stalo, že seznam literatury na konci obsahuje neoprávněně i identifikátor v hranatých závorkách, lze problém obejít přidáním následujícího řádku do preambule dokumentu (LyX: [Dokument – Nastavení – Preambule LaTeXu]): \makeatletter\def\@biblabel#1{}\makeatother


— — —

Bonus: Přímé citování z JabRefu do dokumentu LyXu

Tahle funkce není nezbytně nutná, protože je spíš lepší využít funkci LyXu [Vložit – Citace]. Pokud přesto chceme přímo z JabRefu vkládat citace do aktuálního místa dokumentu otevřeného v LyXu, musíme nastavit tzv. „pipe“.


A) V LyXu otevřeme [Nástroje – Nastavení], záložka Cesty. Do položky [Napojení na LyXserver(pipe)] vložíme „\\.\pipe\lyxserver“, uložíme a restartujeme LyX.


B) V JabRefu otevřeme [Options – Preferences], záložka [External Programs]. V části [External Programs] klikneme na tlačítko s logem LyXu a do řádku [Path to LyX pipe] vložíme „\\.\pipe\lyxserver.in“.



Klávesovou zkratkou Ctrl-L v JabRefu, případně přes menu [Tools--Push entries to external applications] se označené položky bibliografie přenesou jako citace do právě otevřeného dokumentu v LyXu.

Četlo: 129629
pridej.cz

Komentáře#


1. huhu# | 22.11.10, 16:41 | anit#spam.me

Pekny clanek. Dovolim si upozornit na exitenci LyZ-u pro spravovani citaci.


2. Brozkeff# | 22.11.10, 20:03

LyZ se používá jen v kombinaci se Zotero?


Vložit nový komentář#

— Aby se komentář odeslal, políčka Jméno, Komentář a správná odpověď na antispamovou otázku musí být vyplněna!
— phpBB tagy ani jiné syntaxe tu nefungují, proto je nepoužívej – komentář jen bude plný balastu.