사용자 정의 Typst 형식
개요
Quarto에서 Typst 문서를 작성할 때는 Typst 템플릿을 기반으로 한 Quarto 형식을 사용하게 됩니다. 기본 템플릿은 기본 기사 레이아웃을 제공하지만, Typst는 자신의 템플릿 정의를 쉽게 할 수 있어 매우 사용자 지정된 문서를 만들 수 있습니다.
Typst 템플릿은 Quarto의 사용자 정의 형식으로 패키징할 수 있어 쉽게 사용하고 공유할 수 있습니다. 이 페이지에서는 Quarto 팀이 제공하는 몇 가지 사용자 정의 Typst 형식과 직접 만드는 방법을 소개합니다.
사용자 정의 형식
사용자 정의 Typst 템플릿을 기반으로 새 형식을 정의하면 Typst로 고도로 사용자 지정된 출력을 만들 수 있습니다. Typst 팀이 만든 유용한 템플릿 중 일부는 Quarto에서 사용할 수 있도록 사용자 정의 형식으로 변환되었습니다. 이러한 형식은 다음과 같습니다:
| 형식 | 사용법 |
|---|---|
| Poster | quarto use template quarto-ext/typst-templates/poster |
| IEEE | quarto use template quarto-ext/typst-templates/ieee |
| AMS | quarto use template quarto-ext/typst-templates/ams |
| Letter | quarto use template quarto-ext/typst-templates/letter |
| Fiction | quarto use template quarto-ext/typst-templates/fiction |
| Dept News | quarto use template quarto-ext/typst-templates/dept-news |
이 형식들의 소스 코드는 https://github.com/quarto-ext/typst-templates에서 확인할 수 있습니다.
형식 만들기
새 사용자 정의 Typst 형식을 만들거나 기존 Typst 템플릿을 Quarto에서 사용할 수 있도록 패키징하려면 quarto create 명령으로 시작하세요:
Terminal
$ quarto create extension format그 다음 기본 형식으로 typst를 선택하고 확장 이름(예: letter)을 지정합니다. Quarto에 포함된 기본 템플릿 코드를 기반으로 샘플 Typst 형식 확장이 생성됩니다. 이 확장에는 사용자 정의 형식을 구현할 수 있도록 편집 가능한 다음 파일이 포함됩니다:
| 파일 | 설명 |
|---|---|
_extension.yml |
기본 확장 메타데이터(이름, 작성자, 설명 등)와 형식 정의. |
README.md |
형식 설치와 사용 방법에 대한 문서. |
template.qmd |
형식의 기본을 보여주는 시작 문서. |
typst-template.typ |
핵심 Typst 템플릿 함수(Typst 템플릿 작성 문서는 여기: https://typst.app/docs/tutorial/making-a-template/). |
typst-show.typ |
템플릿 함수를 호출하는 파일(Pandoc 메타데이터를 함수 인자로 매핑). |
사용자 정의 형식을 만들 때 유용한 추가 리소스는 다음과 같습니다:
템플릿 만들기에 대한 Typst 공식 튜토리얼
Awesome Quarto 리포지토리의 서드파티 템플릿 목록.
고급 사용자 지정
이 섹션은 Typst 형식 출력의 고급 사용자 지정을 다루며, 위에서 설명한 사용자 정의 Typst 형식 정의 방식이 너무 제한적이라고 느끼지 않는 한 무시해도 됩니다.
위에서는 두 개의 템플릿 부분 (typst-template.typ, typst-show.typ)을 지정하는 방식으로 Typst 형식을 만드는 방법을 설명했습니다. 이 부분은 기본 Typst Pandoc 템플릿의 구성 요소를 사용자 지정하지만, Pandoc의 Typst 출력에 필요한 정의와 참고문헌/각주 처리를 포함한 핵심 골격은 유지합니다(즉, 사용자 정의 Typst 형식에서 이를 명시적으로 처리할 필요가 없습니다).
Typst 렌더링에 사용되는 Pandoc 템플릿을 완전히 재정의하려면 사용자 정의 형식에서 template-partials 대신 template 옵션을 사용하고 기본 템플릿의 대체 구현을 제공하세요. 예를 들어 _extensions.yml은 다음과 같을 수 있습니다:
_extensions.yml
title: Typst Custom Format
author: Jane Smith
version: "0.2.0"
quarto-required: ">=1.4.11"
contributes:
formats:
typst:
template: template.typ
template-partials:
- typst-template.typ
- typst-show.typ기본 템플릿의 소스 코드를 template.typ의 시작점으로 사용하세요. 사용자 정의 템플릿 구현 안에서 Quarto가 제공하는 모든 템플릿 부분(예: biblio.typ() 또는 notes.typ())을 호출할 수 있습니다.
AMS 형식은 메인 템플릿을 재정의한 예를 제공합니다(이 경우 Typst AMS 템플릿의 내장 처리를 우선하기 위해 Quarto의 자동 참고문헌 처리를 막습니다).