Trawling

Typst 0.15, 큰 진전을 이루다 — LaTeX 대체재를 향한 발걸음

Rust로 작성된 조판 시스템 Typst가 0.15 버전을 공개하며 가변 폰트, MathML 수식 출력, 다중 문서 번들, 챕터별 참고문헌, 다중 PDF 표준 지정 등 대형 기능을 추가했습니다. HTML 출력은 아직 실험 단계지만 MathJax 없이 TeX 수준의 수식을 브라우저에 렌더링할 수 있게 되어 LaTeX 대체재로서의 가능성을 다시 보여주었습니다.

본문

문서를 PDF, SVG, PNG, 그리고 개발 중인 HTML로 조판하는 시스템 Typst가 0.15 버전을 6월에 릴리스했습니다. Apache-2.0 라이선스의 자유 소프트웨어로 Rust로 작성되어 있으며, 기술 문서 처리에 강점을 보여 LaTeX의 잠재적 대체재로 꼽힙니다. LWN은 1년 전 0.13 버전을 다룬 데 이어 이번 릴리스의 주요 기능을 직접 테스트하며 소개합니다.

가변 폰트(Variable Fonts) 지원

기존 폰트가 굵기·이탤릭 등 변형별로 파일이 나뉘던 것과 달리, 가변 폰트는 모든 변형을 하나의 파일에 담아 공간을 절약하고 유연성을 높입니다. Typst는 이제 text() 함수의 variations 옵션으로 축(axis) 값을 지정해 글리프의 렌더링 특성을 제어할 수 있습니다. 기사는 13개 축을 가진 Roboto Flex와 문자 대신 장식 그림 17개를 담은 Zycon을 예로 듭니다. Roboto Flex의 YTDE 축은 디센더(descender) 길이만 조절해 표 셀 경계와의 충돌을 피하는 데 유용하고, Zycon의 'M1 ' 축(축 이름은 항상 4자)은 달 글리프의 월령을 바꿉니다. 문서는 for 루프 안에서 축 값을 변화시키는 Typst 코드 예시와 함께, '#'이 코드 모드, 대괄호가 텍스트 모드를 의미한다는 기본 문법도 설명합니다.

MathML과 HTML 출력

아직 실험 기능인 HTML export에서 이번 릴리스의 핵심 진전은 수식을 MathML로 변환한다는 점입니다. 동일한 Typst 수식 코드가 HTML로 렌더링되면 현대 브라우저 대부분이 해석 가능한 MathML 마크업을 생성하며, 결과는 PDF 출력과 사실상 동일합니다. MathJax 같은 JavaScript 라이브러리나 이미지 없이 TeX 품질의 수식을 웹에 올릴 수 있어 과학 커뮤니케이션에 큰 이점이라고 기사는 평가합니다. 활성화에는 typst c --features html 형태의 플래그가 필요합니다.

번들(Bundle) 출력

새 bundle 기능은 하나의 소스 파일에서 HTML·PDF 등 지원 포맷의 출력 파일 묶음을 생성합니다. 파일들은 데이터를 공유하고 문서 내·문서 간 링크를 가질 수 있어, 상호 연결된 HTML 파일로 이루어진 웹사이트 제작이나 학회 발표 슬라이드와 프리프린트를 한 소스에서 만드는 용도에 적합합니다. 예시는 #document() 함수와 라벨(<...>) 기반 링크로 HTML 두 페이지와 PDF 하나를 만들며, typst c --features html,bundle --format bundle 명령으로 bundle 디렉터리에 결과물이 생성됩니다.

다중 참고문헌과 PDF 표준

기다려온 기능인 다중 bibliography가 추가되어, 책의 챕터마다 별도 참고문헌 섹션을 둘 수 있습니다. bibliography() 함수는 데이터베이스 파일과 group 인자를 받아 번호 매기기를 섹션별 재시작, 전체 연속, 임의 그룹 중에서 선택할 수 있습니다. 또한 --pdf-standard 플래그로 PDF 버전과 아카이빙(A 계열)·접근성(UA-1) 표준을 동시에 여러 개 지정할 수 있게 되었습니다. 컴파일러는 'PDF 1.7은 PDF/A-1b와 호환되지 않음(A-1b는 1.4 필요)', 'UA-1은 문서 제목 필수'처럼 호환성 오류와 표준 위반을 경고·오류로 안내합니다. 접근성 PDF는 미국 등 여러 국가에서 정부 문서의 법적 요건이므로 아키비스트와 출판사에 실질적인 가치가 있습니다.

생태계와 전망

그 외에도 스팟 컬러 지원, 수렴 실패를 설명하는 상세 진단, 스크립팅 언어의 map·filter 함수가 추가되었고 문서는 26MB PDF로도 제공됩니다. GitHub 기여자는 460명, 패키지 생태계는 1,500개를 넘었습니다. 다만 프로젝트는 회사이자 오픈소스임을 명시하며 방향 결정에 회사 이익을 반영하고, LLM 생성 코드·설명이 포함된 PR은 거부한다는 기여 가이드를 두고 있습니다. 출판계의 네트워크 효과도 장벽입니다. 소스 제출을 요구하는 저널 대부분이 여전히 LaTeX·Word만 받고, 1.0 이전 상태에서 문법 변경 위험이 있어 Typst 원고 수용은 드뭅니다. 그럼에도 저자는 SVG 로고 제작 등에서 이미 실용적인 도구임을 확인했으며, 현재 속도가 유지된다면 10~20년에 걸쳐 LaTeX 대체가 현실화될 가능성이 있다고 전망합니다.

원문: LWN / 번역·요약: Trawling

참고 자료

오류 제보