BibTeX와 BibLaTeX 설명
BibTeX와 BibLaTeX는 유사한 파일에 인용 정보를 저장하지만, 그 데이터를 처리하고 형식화하는 방식은 완전히 다릅니다. 여기서는 실제로 두 방식을 구분하는 백엔드의 차이, BibLaTeX가 비영어 자료와 특이한 자료를 더 잘 처리하는 이유, 그리고 전환에 실제로 드는 비용을 설명합니다.
박사과정 학생은 자신의 논문을 쓰기 시작하려고 지도교수의 오래된 LaTeX 학위논문 템플릿을 열어 보지만, apalike를 가리키는 bibliographystyle 명령 옆에 자리한 References.bib 파일을 발견한다. 그는 이 둘의 인용 체계가 무엇인지 전혀 알지 못한다. 폴더 안에는 이를 직접적으로 암시하는 것이 아무것도 없고, 게다가 템플릿의 원저자는 이제 세 명의 박사후연구원과 대륙 하나를 사이에 두고 있다.
BibTeX 대 BibLaTeX가 바로 그 혼란 아래에 숨어 있는 진짜 질문이다. 두 시스템은 모두 유사한 파일에 인용 데이터를 저장하지만, 그 데이터를 처리하고, 형식화하고, 출력하는 방식은 완전히 다른 기계를 사용한다. 문서가 이미 어느 쪽을 사용하는지, 그리고 전환할 경우 실제로 무엇이 달라지는지를 아는 것은, 혼란 속에서 오후를 잃는 것과 글쓰기에 오후를 쓰는 것의 차이다.
출처를 올바르게 인용하는 일은 참고문헌 양식에 관한 질문의 절반에 불과하며, TextPulse의 참고문헌 양식 안내가 다루는 범위는 어떤 하나의 조판 시스템보다 훨씬 넓다. 이 글은 그 질문의 LaTeX 특화 분기, 즉 BibTeX 또는 BibLaTeX, 그리고 둘을 실제로 가르는 것이 무엇인지에만 좁게 초점을 맞춘다.
BibTeX 대 BibLaTeX, 분기는 실제로 어디서 일어나는가
BibTeX는 두 시스템 가운데 더 오래된 것이며, 두 가지 일을 동시에 수행한다. 그것은 .bib 파일에 들어 있는 데이터를 읽고, 별도의 스타일 파일인 .bst 파일의 지시에 따라 그 데이터를 완성된 참고문헌 목록으로 형식화한다. .bst 언어는 작고, 바로 이 하나의 일을 위해 목적에 맞게 만들어졌으며, 이것이 곧 한계이기도 하다. 원저자가 전혀 염두에 두지 않았던 출처 유형까지 포괄하도록 이를 확장하는 일은 그 자체로 전문적인 기술이다.
BibLaTeX는 이 두 작업을 분리한다. 서식 지정은 별도의 스타일 파일이 아니라 문서 자체의 preamble 안에 있는 일반적인 LaTeX 매크로에 의해 제어되는, LaTeX 자체 내부에서 이루어진다. 데이터 처리, 즉 .bib 파일의 항목을 읽고, 정렬하고, 출력할 수 있도록 준비하는 작업은 Biber라는 전용 backend 프로그램이 담당하며, BibLaTeX는 컴파일 중 이를 자동으로 호출한다. BibTeX는 처리와 서식을 한 단계에서 수행하지만, BibLaTeX는 두 작업을 LaTeX 매크로와 Biber 사이에 나눈다. 이러한 구조적 분리가 둘을 구분하는 핵심적인 답이다.
| BibTeX | BibLaTeX | |
|---|---|---|
| 서식 지정 논리 | 별도의 .bst 스타일 파일 | 문서 내부의 LaTeX 매크로 |
| backend 처리기 | BibTeX 자체, 한 단계로 | Biber, 컴파일 시 자동 실행 |
| Unicode 지원 | 기본 지원 없음 | 완전 지원 |
| 다국어 참고문헌 | 추가 패키지가 필요함 | 내장되어 있으며, 문서의 언어 설정을 따른다 |
| 전형적인 preamble 호출 | bibliographystyle와 bibliography | usepackage biblatex와 addbibresource |
BibLaTeX가 비영어 및 특이한 출처를 더 잘 처리하는 이유
Unicode의 차이는 비영어 문제의 대부분을 그 자체로 설명한다. BibTeX는 기본 Unicode 지원이 없으므로, 저자명이나 제목에 기본 Latin 문자 집합 밖의 문자가 포함되면 먼저 우회 방법이 필요하다. BibLaTeX의 Biber backend는 완전한 Unicode를 지원하므로, 악센트가 있는 문자, 비Latin 문자 체계, 그리고 출처의 원래 언어에 있는 다른 모든 요소가 그대로 .bib 파일에 들어가며 올바르게 서식이 지정되어 출력된다.
언어 처리는 개별 문자에만 국한되지 않는다. BibLaTeX는 edition이나 editor와 같은 연결 용어를 babel 또는 polyglossia를 통해 문서에 설정된 언어에 맞게 자동으로 조정하며, 다국어 또는 다부분 참고문헌을 위해 여러 개의 별도 추가 패키지에 분산되어 있던 기능도 흡수했다. 전통적인 BibTeX 스타일은 대개 하나의 언어, 거의 항상 영어를 위해 작성되므로, 프랑스어나 독일어 자료를 인용하는 문서는 관례적으로 그것만을 위한 추가 패키지가 필요했다.
이 주장의 후반부는 같은 구조적 분리에서 비롯된다. BibLaTeX는 형식 지정 규칙을 작은 목적 특화 스타일 언어가 아니라 LaTeX 매크로에 두고 있기 때문에, 기본적으로 더 넓은 범위의 항목 유형을 지원할 수 있다. 여기에는 BibTeX의 원래 설계가 전혀 고려하지 않았던 온라인 자료, 데이터셋, 다권 저작과 같은 출처가 포함된다. 데이터셋, 프리프린트, 또는 온라인 전용 보고서를 인용하는 연구자는 대개 그것에 맞게 이미 만들어진 BibLaTeX 항목 유형을 찾을 수 있는 반면, BibTeX 작업 흐름에서는 기존 유형, 보통 범용 miscellaneous 유형을 그에 맞게 변형해야 한다.
자신의 논문을 인간적으로 다듬기
중요한 단어나 인용은 건드리지 않고, AI 보조로 작성한 텍스트를 자연스럽고 사람처럼 들리게 바꾸세요.
문서가 이미 어느 것을 사용하고 있는지 확인하는 방법
서문에서 몇 초 만에 판별할 수 있다. biblatex를 불러오고, .bib 파일을 가리키는 addbibresource 줄이 있는 문서는 BibLaTeX를 사용하고 있다. 반대로 문서 끝부분 가까이에서 bibliographystyle 다음에 bibliography를 호출하고, 서문 어디에도 biblatex가 언급되지 않는 문서는 전통적인 BibTeX를 사용하고 있다.
- 서문에서 biblatex라는 단어를 찾는다. 패키지 줄에 나타나면 문서는 BibLaTeX를 사용 중이다.
- addbibresource를 찾는다. 이것은 BibLaTeX에만 존재하며, 전통적인 BibTeX는 대신 bibliography를 사용한다.
- 빌드가 어떤 프로그램을 호출하는지 확인한다. BibLaTeX 문서는 컴파일 순서에서 BibTeX가 아니라 Biber가 실행되어야 한다.
- 본문의 인용 명령을 확인한다. parencite와 textcite는 BibLaTeX 전용이며, cite만은 둘 다에서 작동한다. 그래서 서문 확인이 먼저 온다.
BibTeX에서 BibLaTeX로 전환하는 데 실제로 드는 비용
.bib 파일 자체는 거의 손상되지 않은 채로 전환을 견딘다, 두 시스템이 같은 기본 항목 형식을 읽기 때문이다. 대부분의 필드는 그대로 이어지며, BibLaTeX는 BibTeX의 원래 필드 이름을 별칭으로 받아들이는 동시에, 연도와 월 필드를 분리하는 대신 하나의 날짜 필드를 두는 것처럼 더 정밀한 대안도 제공한다.
문서의 인용 시스템이 확인되면, 올바른 형식으로 새 항목을 생성하는 일은 원시 필드를 기억에 의존해 입력하는 것보다 전용 bibtex generator를 사용하는 편이 더 쉽다, 특히 문서 전체에서 한 번만 등장하는 자료 유형의 경우에는 더욱 그렇다.
실제 비용은 데이터가 아니라 프리앰블과 빌드 체인에 있다. bibliographystyle과 bibliography는 biblatex와 addbibresource로 대체해야 하고, natbib에서 가져온 인용 명령은 BibLaTeX의 대응 명령과 대조해 확인해야 하며, 컴파일러나 편집기에는 빌드 중에 BibTeX가 아니라 Biber를 실행하도록 알려야 한다. 마지막 단계가 사람들이 자주 놓치는 부분이다. 여전히 이전 빌드 순서로 설정된 편집기는 참고문헌이 전혀 없는 문서를 만들어 내며, 실제 원인을 가리키는 오류도 없다.
이 모든 것은 일단 식별되면 어렵지 않다, 바로 그 점이 문제다. 각 요소는 작고 문서화가 잘 된 변경이지만, 설명 없이 물려받은 템플릿은 첫 번째 단계, 즉 빌드 단계에서 조용히 실패하는 경향이 있으며, 작성자는 인용 자체가 제대로 작동했을지조차 확인하기 전에 그 사실을 알게 된다.
전환해야 하는가, 아니면 작동하는 템플릿을 그대로 두어야 하는가?
이미 고전적인 BibTeX로 작동하는 문서를 작성하고 있다면, 즉 새로운 기능이 필요하지 않고, 영어 자료만 인용하며, 기사, 책, 학회 논문 외의 자료 유형을 전혀 요구하지 않는다면, 프로젝트 도중에 전환할 이유는 거의 없다. 마감까지 두 달 남은 상태에서 제대로 작동하는 논문 템플릿은 위의 마이그레이션 비용을 감당할 장소가 아니다.
여러 언어로 된 출처를 인용하거나, 데이터셋, 웹사이트 또는 다른 비표준 출처 유형을 활용하거나, 원저자가 이미 BibLaTeX를 기준으로 구성해 두었기 때문에 그대로 물려받은 문서는 다른 경우이다. 이 경우의 문제는 전환할지 여부가 아니라, 그 문서가 애초에 classic BibTeX를 실제로 사용하고 있었는지 여부이며, 바로 이것이 위의 preamble 확인이 필요한 이유이다.
다른 학술지에 맞게 참고문헌 목록을 다시 형식화하는 방법에는 별도의 페이지가 있으며, 주석 달린 참고문헌 목록과 문헌 검토의 차이에도 별도의 페이지가 있다.
그러나 모든 인용 문제가 LaTeX 문제인 것은 아니다. 출판사 기록에서 참고문헌을 직접 가져오는 인용 생성기는 .bst 파일이나 Biber 실행 없이도, LaTeX가 아니라 Word로 작업하는 사람에게 같은 근본 과제를 해결해 준다.
자주 묻는 질문
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.