사용자 정의 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 메타데이터를 함수 인자로 매핑).

사용자 정의 형식을 만들 때 유용한 추가 리소스는 다음과 같습니다:

고급 사용자 지정

Note

이 섹션은 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의 자동 참고문헌 처리를 막습니다).