2P by GN⁺ 9일전 | ★ favorite | 댓글 1개
  • 문서 조판 도구 Typst 0.14 버전이 출시되어, 접근성 기본 지원, PDF 이미지 처리, 문자 단위 정렬 등 주요 기능을 포함
  • 이번 버전은 PDF/UA-1 표준 지원을 통해 접근성 규제 준수를 돕고, PDF를 이미지로 직접 삽입할 수 있는 기능을 추가
  • 문자 단위 정렬(character-level justification) 기능으로 시각적으로 균형 잡힌 문단 조판을 구현
  • HTML 내보내기 기능이 강화되어, 각종 문서 요소를 의미론적 HTML로 변환하고, 타입이 지정된 HTML API도 도입
  • 이번 업데이트는 산업 현장에서의 자동화 문서 생성과 접근성 규제 대응을 강화하며, Typst의 실무 적용 범위를 크게 확장

Typst 0.14 개요

  • Typst는 학계에서 출발했으나, 최근 산업 현장에서도 수동 문서 작성, 자동 보고서, 대량 PDF 생성 파이프라인 등으로 확장
    • 이번 0.14 버전은 이러한 산업적 활용을 위한 핵심 기능을 대거 포함
  • 접근성, PDF 표준, 문자 단위 정렬, HTML 내보내기 등 생산 환경 중심의 기능 개선이 이루어짐
  • 웹 앱과 CLI 모두에서 손쉽게 업데이트 가능하며, 새 버전으로의 마이그레이션 가이드도 제공

접근성(Accessibility)

  • Typst 0.14는 기본적으로 접근성 태그(tagged PDF) 를 자동 생성하여, 스크린 리더 등 보조 기술(Assistive Technology)이 문서 구조를 인식 가능
    • 내장 마크업과 요소를 사용하면 자동으로 적절한 태그가 지정됨
  • 새롭게 추가된 alt 매개변수를 통해 도형이나 그림의 대체 설명(alt text) 을 제공 가능
    • 예시 코드에서는 두 개의 사각형과 화살표로 구성된 다이어그램에 대체 설명을 추가해, 시각 장애 사용자도 동일한 정보를 인식할 수 있게 함
  • PDF/UA-1 내보내기 기능을 통해 문서 접근성 검증을 자동화
    • 문서 제목 누락, 잘못된 제목 계층, 대체 설명 누락 등 문제를 탐지
  • PDF/UA-1은 EU의 European Accessibility Act(EAA)미국 ADA Title II 등 국제 접근성 규제 준수를 지원
    • EU는 2025년 6월 28일부터, 미국은 2026년 4월 24일부터 적용 예정
    • 고객 또는 정부 대상 문서를 다루는 기업은 Typst 0.14 도입이 권장됨

PDF 표준 지원 확대

  • 기존 PDF 1.7만 지원하던 것을 PDF 1.4~2.0 버전까지 선택 가능
  • PDF/A 표준도 기존 두 하위 표준에서 모든 4개 파트와 적합성 레벨을 지원하도록 확장
  • 특정 표준 선택을 통해 문서의 호환성·보존성·규제 대응성을 최적화 가능
  • 관련 세부 내용은 Typst 문서의 PDF 표준 참조 섹션에서 확인 가능

PDF를 이미지로 사용

  • Typst 0.14는 PDF를 네이티브 이미지 형식으로 지원
    • PDF 내보내기 시에는 그대로 포함되고, HTML/SVG 내보내기 시에는 SVG로 변환, PNG나 웹 미리보기에서는 래스터화 처리
  • 모든 변환 과정은 Typst 컴파일러 내부에서 수행, 외부 시스템 의존성 없음
  • 이 기능은 Rust로 작성된 새로운 PDF 처리 라이브러리 hayro 덕분에 구현
    • hayro는 Typst 커뮤니티 기여자 @LaurenzV가 개발한 완전 Rust 기반 라이브러리로, 높은 이식성과 성능을 제공

문자 단위 정렬(Character-level Justification)

  • 문단의 시각적 균형을 위해 단어 간격뿐 아니라 문자 간격까지 조정하는 기능 도입
    • 기존 대부분의 소프트웨어는 단어 간격만 조정하지만, Typst는 문자 간격까지 세밀하게 제어
  • 향후에는 가변 폰트(variable fonts) 를 활용한 글자 폭 조정이나, 아랍어의 Kashida 삽입 등도 탐구 예정
  • Typst는 LaTeX와 동일한 기본 알고리듬을 사용하지만, LaTeX에는 없는 문자 단위 정렬 기능을 추가
    • 과도한 사용은 부자연스러울 수 있으나, 적절한 한계값과 알고리듬 조합으로 미세한 조판 품질 향상 가능
  • 결과적으로 보다 균형 잡힌 문단 회색도(grayness) 를 구현, 전문 출판 수준의 조판 품질 제공

향상된 HTML 내보내기

  • Typst 0.13에서 실험적으로 도입된 HTML 내보내기를 0.14에서 대폭 개선
    • 각종 내장 요소(각주, 개요, 인용 등)에 대한 의미론적 HTML 매핑(show rules) 추가
  • 텍스트 처리 개선으로 모델 계층(Model category) 의 대부분 요소가 올바른 HTML로 변환
  • 새롭게 Typed HTML 인터페이스 도입
    • #html.video(autoplay: true, width: 1280, …)처럼 타입 안전한 속성 지정 가능
    • 기존의 문자열 기반 html.elem 방식보다 안전하고 직관적
  • HTML 내보내기는 여전히 실험적 기능으로, CLI에서는 --features html 옵션 또는 환경 변수 TYPST_FEATURES=html로 활성화
    • 웹 앱에서도 프로젝트별로 개별 활성화 필요
  • 향후 Typst 웹 앱에서도 HTML 내보내기 기능 정식 지원 예정

Typst 0.14로의 마이그레이션

  • 이번 릴리스는 호환성 파괴 변경이 거의 없는 안정적 업데이트
    • 일부 검증이 강화되어, 라벨·링크 URL·폰트 목록이 비어 있을 수 없음
  • 주요 변경 사항
    • pdf.embedpdf.attach로 대체
    • 두 가지 참고문헌 스타일 이름 변경
    • CLI의 --make-deps 플래그가 --deps --deps-format make로 대체
    • 일부 심볼(symbols) 사용 중단, 컴파일러가 자동 경고 표시
  • 웹 앱에서는 버전 업그레이드 경험 개선
    • 이전에는 항상 최신 버전을 사용했으나, 이제는 새 버전 감지 시 자동 업그레이드 제안 및 호환성 검사 수행
    • 새 버전으로 컴파일 후 오류·경고를 비교해 결과를 표시

커뮤니티 및 향후 계획

  • Typst 0.14는 8개월간의 개발 및 커뮤니티 협업 결과물
  • 출시 기념으로 11월 7일 Discord 커뮤니티 콜 개최 예정
    • 사용자 경험 공유 및 피드백 수집 목적
  • Typst 팀은 향후 HTML 내보내기 완성도 향상, 접근성 강화, 조판 품질 개선을 지속 추진 예정
Hacker News 의견
  • Typst에 대해 자주 혼동이 있어 미리 정리함
    온라인 에디터(typst.app)는 상용 소프트웨어, 컴파일러/CLI(github.com/typst/typst)는 오픈소스
    나는 CLI만 사용했지만 결과물에 매우 만족했음. 원래는 PowerPoint 대체용으로 시작했는데, 포스터나 간단한 문서 작성에도 잘 맞음. LaTeX처럼 복잡한 문법을 잊을 걱정이 없고, 다시 돌아오기 쉬운 문법이 마음에 듦

    • 수십 년간 LaTeX만 써왔는데 이번 달 큰 프로젝트를 Typst로 바꾸고 후회 없음
      TinyMist와 VS Code 조합으로 개발 경험이 훌륭했음. 하루 만에 템플릿 수정까지 가능했는데, LaTeX에서는 늘 악몽이었음
    • TinyMist는 VS Code나 Cursor에서 로컬 개발용으로 좋은 대안임
      TinyMist 공식 페이지
    • 작년에 LaTeX에서 Typst로 완전히 전환함. 책, 인보이스, 슬라이드까지 Typst로 작성함. 이제 LaTeX은 다시 만지고 싶지 않음
    • Marp를 좋아하는데, 왜 Typst를 더 선호하는지 궁금함
    • isitreallyfoss.com의 Typst 분석을 보면 대부분 괜찮지만, Typst Universe 패키지 매니저가 Typst GmbH 서버에 연결될 수 있다는 점이 언급됨
  • Typst를 쓸 때마다 느낀 점을 정리함

    1. 컴파일 시 불필요한 파일이 여러 개 생기지 않음
    2. 컴파일 속도가 즉각적임
    3. 에러 메시지가 Rust 컴파일러처럼 이해하기 쉬움
    4. 리스트 문법이 유연해서 긴 항목 탐색이 쉬움
    5. 매크로를 필요한 위치 근처에 둘 수 있음
    6. 버전 관리(diff)가 쉬움
    7. 여백, 간격, 페이지 설정 등이 단순함
    8. 항상 단일 패스 컴파일
    9. CSL 인용 스타일 지원이 아직 완벽하지 않음
    10. 기본 기능이 풍부해서 패키지 의존이 적음
    11. 설치 크기가 작고 단일 배포판임
      Typst 0.14의 접근성 PDF와 HTML 내보내기 기능이 특히 기대됨
    • 나는 LaTeX에서 Tectonic을 써서 의존성 자동 다운로드와 단일 패스 컴파일을 해결함.
      Overleaf 같은 웹 인터페이스를 쓰는 사람도 많음. 그래서 Typst의 장점 중 컴파일 속도와 진단 품질 정도만 크게 와닿음
    • LaTeX는 조금만 써봤지만 Typst는 정말 배우기 쉬웠음. Typst로 책을 한 권 출판했는데, 페이지 번호 위치 조정 같은 세부 설정 외엔 매끄러웠음.
      Pandoc이 Typst를 잘 지원해서 docx나 epub 변환도 쉬움. 관련 이슈들도 빠르게 해결됨
    • 예전에 LaTeX가 여러 파일을 생성하는 문제로 Stack Overflow 질문을 올렸는데 아직도 알림이 옴
    • Typst는 정말 LaTeX보다 훨씬 나음. LaTeX는 늘 수정하고 기다리고 기도하는 느낌이었음
    • Typst는 신뢰할 수 없는 입력에도 안전한 구조라서 마음이 놓임
  • PDF를 SVG로 변환해 HTML, PNG, 웹 미리보기에서 바로 렌더링하는 기능이 놀라움
    이 모든 PDF 처리 기능이 Typst 컴파일러 안에 내장되어 있고, Rust로 완전 구현된 hayro 라이브러리 덕분임

    • hayro는 독립적으로도 쓸 수 있고, WebAssembly에서도 동작함
      GitHub 링크, 데모 페이지
    • hayro가 Typst를 위해 만들어진 건지, 아니면 독립적으로 개발된 건지 궁금함
  • Typst를 직접 쓰지 않더라도 구독으로 후원하려 함
    LaTeX를 사랑하면서도 미워하는 입장에서, 그 대체재가 나온 게 반가움. 특히 미세 타이포그래피를 중요하게 여긴다는 점이 마음에 듦

    • Typst는 오픈소스라 CLI로 직접 쓸 수 있음. 구독보다는 직접 써보고 피드백을 주는 게 더 가치 있다고 생각함
    • 나도 직접 기부하다가 지금은 웹앱 구독으로 지원 중임. CLI와 웹앱을 번갈아 쓰는데, 웹앱은 실험이나 공유용으로 편리함.
      HTML 지원에 바운티 제도가 생기면 더 후원하고 싶음
    • Typst가 정말로 미세 타이포그래피를 개발 중인지 궁금함. 링크의 예시가 인상적이었음
    • LaTeX는 나쁘지 않지만 환경 의존성이 너무 큼
    • LaTeX는 50년 된 오픈소스로, 거대한 배포판과 복잡한 문법이 생김.
      Typst는 그 경험을 바탕으로 45MB짜리 깔끔한 바이너리로 완성됨.
      JSON, CSV를 바로 다루며 책, 브로슈어, 카드까지 만들 수 있는 최고의 도구임
  • 학계에서 LaTeX를 버리지 못하는 이유는 Beamer, TikZ, Overleaf 때문임
    Beamer는 다양한 스타일과 폰트를 제공하고, TikZ는 GUI 없이 도형을 그릴 수 있음.
    Overleaf는 협업 기능이 뛰어나 Typst Cloud보다 나음. 언젠가 Typst가 이 수준에 도달하길 바람

    • 슬라이드용 Touying과 TikZ 대체 CeTZ를 추천함.
      버전 관리 도입도 고려해볼 만함
    • 나도 LaTeX로 강의 슬라이드를 많이 만들었는데, 컴파일 속도가 너무 느렸음. Typst는 빠르고, CeTZ로 TikZ 대체도 가능했음.
      Beamer 수준은 아니지만 typst-presentate도 꽤 쓸 만함
    • Typst로 슬라이드를 만들었는데, 특수 기능 추가가 더 단순했음. CeTZ도 TikZ와 비슷한 수준으로 잘 작동함
    • 나도 Touying으로 학술용 슬라이드 테마를 만들었음.
      Touying Unistra Pristine 테마
    • Typst로 직접 슬라이드 도구를 만들었는데, LaTeX에서는 시도조차 안 했을 것임.
      TikZ 대체 도구는 많지만 완벽한 건 아직 없음
  • 10년 넘게 유지하던 .docx 이력서를 Typst로 완전히 재작성함
    TOML 데이터 파일로 경력과 스타일을 분리해, 원하는 템플릿에 자동으로 채워 넣는 구조로 만들었음.
    과한 프로젝트였지만 정말 즐거웠고, Typst 문법이 직관적이라 튜토리얼 없이도 가능했음

    • 기존 패키지를 썼는지, 직접 작성했는지 궁금함. 나도 Typst로 이력서를 다시 쓰고 싶지만 아직 급하지 않음
  • Typst의 가장 큰 불만은 로케일별 소수점 구분자를 아직 지원하지 않는 것임
    이슈 링크 참고.
    언어별 숫자 포맷을 빨리 해결하지 않으면 나중에 문법 충돌이 생길 수 있음.
    그래도 전반적으로 Typst는 빠르고 단순해서 매우 만족함

  • PDF를 네이티브 이미지 포맷으로 쓸 수 있게 된 건 LaTeX 대체의 큰 진전임

    • 며칠 전까지 muchpdf로 우회했는데, 이제 내장 기능으로 해결됨
  • Typst 팀에 감사함. 처음엔 Git을 배우려고 이력서를 Typst로 만들었는데,
    언젠가 Typst로 십자말풀이 문서를 만들고 싶음. 아직 표를 정사각형으로 만드는 법은 모르겠지만 언젠가 해볼 예정임

    • 그럴 땐 CeTZ를 써보라고 추천함
  • 예전엔 GitHub/Azure Markdown + Mermaid + MathJax로 금융 모델 문서를 만들었는데, 복잡해질수록 힘들었음
    지금은 Typst를 쓰는데, Rust 기반 컴파일러라 설치도 쉽고, 보안상 외부 전송도 없음.
    40년의 차이가 느껴질 만큼 설계가 현대적임

    • 참고로 Typst는 자체 호스팅 가능한 웹앱 버전도 판매함