Academic Writing

BibTeX vs BibLaTeX vysvětleno

BibTeX a BibLaTeX ukládají citace do podobného souboru, ale tato data zpracovávají a formátují zcela odlišnými způsoby. Zde je rozdíl v backendu, který je skutečně odlišuje, proč BibLaTeX lépe zpracovává neanglické a neobvyklé zdroje a co si přechod skutečně vyžádá.

5 min
Table comparing BibTeX vs BibLaTeX by formatting logic, backend processor and Unicode support

Doktorand otevře starou šablonu své školitelky pro disertační práci v LaTeX, aby začal psát vlastní práci, ale najde soubor References.bib uložený vedle příkazu bibliographystyle, který odkazuje na apalike. Nemá tušení, jaký citační systém který z nich používá. Složka neobsahuje nic, co by to přímo naznačovalo, a navíc původní autor šablony je nyní o tři postdoktorandy a jeden kontinent dál.

Otázkou, která se skutečně skrývá pod tímto zmatkem, je BibTeX vs BibLaTeX. Oba ukládají citační údaje do podobného souboru, ale tato data zpracovávají, formátují a výstupně generují pomocí zcela odlišných mechanismů. Vědět, který z nich už dokument používá, a co se vlastně změní, pokud přejdete na druhý, je rozdíl mezi odpolednem ztraceným v zmatku a odpolednem stráveným psaním.

Správné citování zdroje je jen polovina otázky referenčního stylu a ta polovina, kterou pokrývá vlastní průvodce referenčními styly TextPulse, sahá mnohem dál než kterýkoli jeden sazbový systém. Tento text se drží úzce laTeXové větve této otázky, BibTeX nebo BibLaTeX, a toho, co je mezi nimi skutečně odlišuje.

BibTeX vs BibLaTeX: Kde se rozdělení skutečně děje

BibTeX je starší z obou systémů a plní dvě úlohy najednou. Čte data uložená v souboru .bib a tato data formátuje do hotového seznamu literatury, řízený samostatným souborem stylu, souborem .bst, který určuje, jak má každá položka vypadat. Jazyk .bst je malý a účelově navržený právě pro tuto jednu úlohu, což je zároveň jeho omezení, rozšířit jej tak, aby pokryl typ zdroje, s nímž jeho původní autor nikdy nepočítal, je samo o sobě specializovaná dovednost.

BibLaTeX rozděluje tyto dvě úlohy od sebe. Formátování probíhá přímo v LaTeX, řízené běžnými makry LaTeX v preambuli samotného dokumentu, nikoli samostatným stylovým souborem. Zpracování dat, čtení, třídění a příprava záznamů v souboru .bib pro výstup, je zajišťováno specializovaným backendovým programem nazvaným Biber, který BibLaTeX volá automaticky během kompilace. BibTeX zpracovává a formátuje v jednom kroku, BibLaTeX rozděluje tyto dvě úlohy mezi makra LaTeX a Biber. Toto architektonické rozdělení je skutečnou odpovědí na to, co je odlišuje.

BibTeXBibLaTeX
Logika formátováníSamostatný stylový soubor .bstMakra LaTeX uvnitř dokumentu
Backendový procesorSám BibTeX, v jednom krokuBiber, spuštěný automaticky při kompilaci
Podpora UnicodeŽádná nativníPlná
Vícejazyčné bibliografieVyžaduje doplňkový balíčekVestavěné, řídí se jazykovým nastavením dokumentu
Běžné volání v preambulibibliographystyle plus bibliographyusepackage biblatex plus addbibresource

Proč BibLaTeX lépe zpracovává neanglické a neobvyklé zdroje

Mezera v podpoře Unicode sama vysvětluje většinu problému s neanglickými texty. BibTeX nemá nativní podporu Unicode, takže jméno autora nebo název obsahující znak mimo základní latinskou sadu nejprve vyžaduje obezličku. Backend Biber v BibLaTeX podporuje plný Unicode, takže diakritická znaménka, ne-latinská písma i cokoli dalšího v původním jazyce zdroje vstupuje přímo do souboru .bib a vychází správně formátované.

Zpracování jazyka jde nad rámec jednotlivých znaků. BibLaTeX automaticky upravuje spojovací výrazy, jako jsou edition nebo editor, tak, aby odpovídaly jazyku, na který je dokument nastaven prostřednictvím babel nebo polyglossia, a převzal funkce, které dříve byly rozděleny mezi několik samostatných doplňkových balíčků pro vícejazyčné nebo vícečástové bibliografie. Klasické styly BibTeX jsou obvykle psány pro jeden jazyk, téměř vždy angličtinu, takže dokument citující francouzské nebo německé zdroje obvykle potřeboval navíc ještě balíček právě pro to.

Druhá polovina tvrzení vyplývá ze stejného architektonického rozdělení. Tím, že BibLaTeX uchovává svá formátovací pravidla v makrech LaTeX namísto v malém účelově vytvořeném stylovém jazyce, dokáže ve výchozím nastavení podporovat širší soubor typů záznamů. Ty zahrnují zdroje, jako jsou online zdroje, datové sady a vícesvazková díla, s nimiž původní návrh BibTeX vůbec nepočítal. Výzkumník citující datovou sadu, preprint nebo zprávu dostupnou pouze online obvykle najde typ záznamu BibLaTeX už připravený, zatímco pracovní postup BibTeX znamená ohýbat existující typ, obvykle univerzální miscellaneous, aby vyhovoval.

Zlidštit vlastní práci

Proměňte svůj text s pomocí AI a nechte ho znít lidsky, aniž byste zasahovali do důležitých slov nebo citací.

Začít zdarma

Jak zjistit, který z nich váš dokument už používá

Preambule to vyjasní během několika sekund. Dokument, který načítá biblatex a má řádek addbibresource odkazující na soubor .bib, používá BibLaTeX. Dokument, který místo toho volá bibliographystyle a poté bibliography blíže ke konci souboru, bez jakékoli zmínky o biblatex kdekoli v preambuli, používá klasický BibTeX.

  • Prohledejte preambuli po slově biblatex. Pokud se objeví v řádku balíčku, dokument používá BibLaTeX.
  • Hledejte addbibresource. Existuje pouze v BibLaTeX, klasický BibTeX používá místo toho bibliography.
  • Zkontrolujte, jaký program volá sestavení. Dokument BibLaTeX potřebuje, aby v průběhu kompilace běžel Biber, nikoli BibTeX.
  • Zkontrolujte citační příkazy v textu. parencite a textcite jsou pouze pro BibLaTeX, samotné cite funguje v obou, proto kontrola preambule přichází jako první.

Co ve skutečnosti stojí přechod z BibTeX na BibLaTeX

Soubor .bib sám o sobě při přechodu téměř beze změny přežije, protože oba systémy čtou stejný základní formát záznamů. Většina polí se přenáší přímo a BibLaTeX přijímá původní názvy polí BibTeX jako aliasy, i když zároveň nabízí přesnější alternativy, například jedno datumové pole místo samostatných polí year a month.

Jakmile je potvrzen citační systém dokumentu, je snazší vytvářet nové záznamy ve správné podobě pomocí specializovaného bibtex generatoru než ručně psát surová pole zpaměti, zejména u typu zdroje, který se v celém dokumentu objeví jen jednou.

Skutečné náklady leží v preambuli a v sestavovacím řetězci, nikoli v datech. bibliographystyle a bibliography je třeba nahradit pomocí biblatex a addbibresource, všechny citační příkazy převzaté z natbib je nutné zkontrolovat proti vlastním ekvivalentům BibLaTeX a kompilátoru nebo editoru je třeba sdělit, aby během sestavení spouštěl Biber místo BibTeX. Právě tento poslední krok bývá problémový, editor stále nastavený na starou sestavovací posloupnost vytvoří dokument bez jakékoli bibliografie a bez chyby, která by ukazovala na skutečnou příčinu.

Nic z toho není obtížné, jakmile je to identifikováno, a právě v tom je problém. Každá část je malá, dobře zdokumentovaná změna, ale šablona převzatá bez vysvětlení má tendenci selhat tiše už u první z nich, u sestavovacího kroku, ještě než autor vůbec uvidí, zda by samotné citace fungovaly.

Měli byste přejít, nebo nechat fungující šablonu beze změny?

Pokud už vytváříte dokument, který funguje s klasickým BibTeX, tedy nejsou potřeba žádné nové funkce, odkazuje pouze na anglicky psané zdroje a nikdy nevyžaduje jiný typ zdroje než články, knihy a konferenční příspěvky, je jen malý důvod provádět přechod uprostřed projektu. Funkční šablona diplomové práce dva měsíce před termínem není místem, kde by bylo vhodné absorbovat výše uvedené náklady na migraci.

Dokument, který cituje zdroje ve více než jednom jazyce, čerpá z datových sad, webových stránek nebo jiných nestandardních typů zdrojů, nebo je převzatý právě proto, že jeho původní autor jej už postavil na BibLaTeX, je jiný případ. Zde není otázkou, zda přejít, ale zda dokument vůbec někdy běžel na klasickém BibTeX, což je přesně účel kontroly preambule výše.

Přeformátování seznamu literatury pro jiný časopis má vlastní stránku a totéž platí pro rozdíl mezi anotovanou bibliografií a literární rešerší.

Ne každý problém s citacemi je však problémem LaTeX. generátor citací, který načte odkaz přímo ze záznamu vydavatele řeší stejný základní úkol pro každého, kdo pracuje ve Wordu místo v LaTeX, aniž by byl na dohled soubor .bst nebo spuštění Biber.

XLinkedInFacebook

Často kladené otázky

Rozdíl mezi BibTeX a BibLaTeX spočívá v tom, kde probíhá formátování. BibTeX čte a formátuje citační data sám, řízen samostatným stylem .bst. BibLaTeX tuto úlohu rozděluje, backendový program nazývaný Biber zpracovává data, zatímco formátování je řízeno běžnými makry LaTeX v dokumentu. Právě toto rozdělení je důvodem, proč BibLaTeX snadněji zpracovává Unicode, více jazyků a neobvyklé typy zdrojů.

Sara

Content planner and copywriter at TextPulse. Sara runs the blog day to day, from planning and drafting through to publishing. She writes the practical guides: clear explanations of academic writing problems, aimed at the person who actually has to hand something in.