Пояснення BibTeX vs BibLaTeX
BibTeX і BibLaTeX зберігають посилання у подібному файлі, але обробляють і форматують ці дані зовсім по-різному. Ось різниця в бекенді, яка насправді їх розрізняє, чому BibLaTeX краще працює з неангломовними та незвичними джерелами, і якою є реальна ціна переходу.
Аспірант відкриває старий шаблон дисертації свого наукового керівника в LaTeX, щоб почати писати власну дисертацію, але знаходить файл References.bib, що лежить поруч із командою bibliographystyle, яка вказує на apalike. Він не має жодного уявлення, якою є система цитування в будь-якому з них. Папка не містить нічого, що прямо на це вказувало б, а крім того, оригінальний автор шаблону тепер за три постдоки і на одному континенті звідси.
BibTeX vs BibLaTeX, це справжнє питання, що ховається під цією плутаниною. Обидві системи зберігають дані для цитування в подібному файлі, але обробляють, форматують і виводять ці дані за допомогою цілком різних механізмів. Знати, яку саме систему вже використовує документ і що насправді змінюється, якщо її переключити, означає різницю між післяобіддям, втраченим у плутанині, і післяобіддям, проведеним за письмом.
Правильне цитування джерела лише наполовину стосується питання стилю оформлення посилань, і та половина, яку охоплює власний посібник TextPulse зі стилів оформлення посилань, значно ширша за будь-яку одну систему верстання. Цей матеріал зосереджується лише на специфічній для LaTeX гілці цього питання, BibTeX чи BibLaTeX, і на тому, що саме їх розрізняє.
BibTeX vs BibLaTeX: Де насправді відбувається розділення
BibTeX є старішою з двох систем, і вона виконує дві функції одночасно. Вона читає дані, що містяться у файлі .bib, і форматує ці дані у завершений список літератури, керуючись окремим файлом стилю, файлом .bst, який визначає, як має виглядати кожен запис. Мова .bst є невеликою і спеціально створеною саме для цієї однієї роботи, що водночас є і її обмеженням: розширити її так, щоб вона охопила тип джерела, який її початковий автор ніколи не планував, це окрема фахова навичка.
BibLaTeX розділяє ці дві функції. Форматування відбувається всередині самого LaTeX, під керуванням звичайних макросів LaTeX у власному преамбулі документа, а не окремого файлу стилю. Обробка даних, читання, сортування та підготовка записів файлу .bib для виведення, виконується спеціальною програмою backend під назвою Biber, яку BibLaTeX автоматично викликає під час компіляції. BibTeX виконує обробку і форматування за один крок, BibLaTeX розділяє ці дві функції між макросами LaTeX і Biber. Саме це архітектурне розділення є справжньою відповіддю на те, що їх відрізняє.
| BibTeX | BibLaTeX | |
|---|---|---|
| Логіка форматування | Окремий файл стилю .bst | Макроси LaTeX усередині документа |
| Backend процесор | Сам BibTeX, за один крок | Biber, що запускається автоматично під час компіляції |
| Підтримка Unicode | Немає нативної | Повна |
| Багатомовні бібліографії | Потрібен додатковий пакет | Вбудовано, відповідає мовному налаштуванню документа |
| Типовий виклик у преамбулі | bibliographystyle plus bibliography | usepackage biblatex plus addbibresource |
Чому BibLaTeX краще обробляє неангломовні та незвичні джерела
Розрив у підтримці Unicode сам по собі пояснює більшість проблем із неангломовними джерелами. BibTeX не має нативної підтримки Unicode, тому ім'я автора або назва, що містять символ поза базовим латинським набором, спочатку потребують обхідного рішення. Backend Biber у BibLaTeX підтримує повний Unicode, тому символи з діакритиками, нелатинські системи письма і все інше в оригінальній мові джерела безпосередньо потрапляють у файл .bib і виходять звідти правильно відформатованими.
Обробка мов виходить за межі окремих символів. BibLaTeX автоматично коригує сполучні терміни, такі як edition або editor, щоб вони відповідали тій мові, на яку документ налаштовано через babel або polyglossia, і він увібрав функціональність, яка раніше містилася в кількох окремих додаткових пакетах для багатомовних або багаточастинних бібліографій. Класичні стилі BibTeX зазвичай пишуться для однієї мови, майже завжди англійської, тому документ, що цитує французькі або німецькі джерела, традиційно потребував окремого пакета лише для цього.
Друга частина твердження випливає з того самого архітектурного поділу. Оскільки BibLaTeX зберігає свої правила форматування в макросах LaTeX, а не в невеликій спеціально створеній мовi стилів, він здатний підтримувати ширший набір типів записів за замовчуванням. До них належать такі джерела, як онлайн-ресурси, набори даних і багатотомні праці, які початковий дизайн BibTeX ніколи не враховував. Дослідник, який цитує набір даних, препринт або звіт, доступний лише онлайн, зазвичай знайде для нього вже вбудований тип запису BibLaTeX, тоді як робочий процес BibTeX означає пристосування наявного типу, зазвичай універсального miscellaneous, до потрібного формату.
Гуманізуйте свою власну статтю
Перетворіть текст, створений за допомогою AI, і зробіть його природним, не змінюючи важливих слів або цитат.
Як визначити, який із них уже використовує ваш документ
Преамбула розв'язує це за кілька секунд. Документ, що завантажує biblatex, із рядком addbibresource, який вказує на файл .bib, працює з BibLaTeX. Документ, який натомість викликає bibliographystyle, а потім bibliography ближче до кінця файла, без будь-якої згадки про biblatex у преамбулі, працює з класичним BibTeX.
- Пошукайте в преамбулі слово biblatex. Якщо воно з'являється в рядку пакета, документ працює на BibLaTeX.
- Зверніть увагу на addbibresource. Воно існує лише в BibLaTeX, класичний BibTeX використовує натомість bibliography.
- Перевірте, яку програму викликає збірка. Документ BibLaTeX потребує, щоб у послідовності компіляції запускався Biber, а не BibTeX.
- Перевірте команди цитування в тексті. parencite і textcite є лише в BibLaTeX, тоді як cite окремо працює в обох, саме тому перевірка преамбули стоїть першою.
Що насправді коштує перехід з BibTeX на BibLaTeX
Сам файл .bib майже без змін переживає перехід, оскільки обидві системи читають той самий базовий формат записів. Більшість полів переноситься безпосередньо, а BibLaTeX приймає початкові назви полів BibTeX як псевдоніми, хоча також пропонує точніші альтернативи, наприклад одне поле дати замість окремих полів року і місяця.
Після того як система цитування в документі підтверджена, створювати будь-які нові записи у правильному форматі простіше за допомогою dedicated bibtex generator, ніж вводити сирі поля з пам'яті, особливо для типу джерела, який з'являється лише один раз у всьому документі.
Справжні витрати припадають на преамбулу і ланцюг збирання, а не на дані. bibliographystyle і bibliography потрібно замінити на biblatex і addbibresource, будь-які команди цитування, запозичені з natbib, потрібно звірити з власними еквівалентами BibLaTeX, а компілятору або редактору потрібно вказати запускати Biber, а не BibTeX, під час збирання. Саме цей останній крок і підводить людей, редактор, який досі налаштований на стару послідовність збирання, створює документ без бібліографії взагалі, і без помилки, що вказує на справжню причину.
Усе це неважко, коли вже виявлено, і саме в цьому полягає проблема. Кожен елемент є невеликою, добре задокументованою зміною, але шаблон, успадкований без пояснення, зазвичай мовчки дає збій на першій же з них, на кроці збирання, ще до того, як автор побачить, чи самі цитати працювали б.
Чи варто переходити, чи краще залишити робочий шаблон без змін?
Якщо ви вже готуєте документ, який працює з класичним BibTeX, тобто нові функції не потрібні, він посилається лише на англомовні джерела і ніколи не потребує типу джерела, відмінного від статей, книг і матеріалів конференцій, немає великого сенсу переходити посеред проєкту. Робочий шаблон дисертації за два місяці до дедлайну не є місцем, де варто брати на себе описані вище витрати на міграцію.
Документ, що цитує джерела більш ніж однією мовою, використовує набори даних, вебсайти або інші нестандартні типи джерел, або успадкований саме тому, що його початковий автор уже побудував його на основі BibLaTeX, є іншим випадком. Тут питання не в тому, чи переходити, а в тому, чи документ взагалі коли-небудь працював на класичному BibTeX, і саме для цього призначена перевірка преамбули вище.
Переформатування списку літератури для іншого журналу має власну сторінку, і так само різниця між анотованою бібліографією та оглядом літератури.
Втім, не кожна проблема з цитуванням є проблемою LaTeX. Генератор цитувань, який бере посилання безпосередньо із запису видавця розв'язує те саме базове завдання для всіх, хто працює у Word, а не в LaTeX, без файлу .bst або запуску Biber.
Часті запитання
Різниця між BibTeX і BibLaTeX зводиться до того, де відбувається робота з форматуванням. BibTeX сам читає і форматує дані посилань, керуючись окремим файлом стилю .bst. BibLaTeX розподіляє це завдання інакше: програмний бекенд під назвою Biber обробляє дані, а форматування контролюється звичайними макросами LaTeX у документі. Саме цей поділ і дає змогу BibLaTeX легше працювати з Unicode, кількома мовами та незвичними типами джерел.
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.