1P by GN⁺ 14시간전 | ★ favorite | 댓글 1개
  • 필자는 Typst를 사용해 박사 논문을 작성했으며, 이는 기존 LaTeX와 다른 새로운 도전이었음
  • Typst의 빠른 컴파일 속도와 일관적인 언어 설계 덕분에 문서 수정 및 템플릿 조정이 매우 효율적이었음
  • 서지 관리 및 몇몇 에러 메시지 처리 등에서는 불편함과 한계점이 분명히 존재함
  • LaTeX와의 호환성, 협업, 논문 제출 시 요구되는 서식 지원은 아직 미흡한 점이 있음
  • Typst는 프로그래밍적 자유도와 최신 기능이 필요할 때 특히 유리하지만, 초심자 및 표준적인 요구에는 권장하지 않음

박사 논문을 Typst로 쓴 이유

  • 필자는 최근 박사 논문을 Typst로 작성했고, 전통적으로 자주 쓰이는 LaTeX 대신 새로운 타이포그래피 언어를 시도했음
  • Typst는 마크다운과 동적 타입 Rust를 조합한 형태로, 문서 작성이 LaTeX에 비해 자연스러우며 스크립트 언어로서의 확장성도 뛰어남
  • 문법이 직관적이고, 코드와 문서의 전환이 쉬운 점이 특징임

Typst의 장점

컴파일 속도

  • Typst 컴파일러는 매우 빠른 속도를 갖추고 있어, 문서가 커져도 실시간 PDF 미리보기가 가능함
  • 전체 빌드도 15초 내외로 완료되며, 내용 변경 시에는 거의 즉시 결과를 볼 수 있음
  • 레이아웃 및 스타일 수정 작업을 효율적으로 반복해 최종 산출물의 품질이 향상됨

언어 설계 및 스크립트 활용

  • Typst 언어는 일관성이 뛰어나고 Rust 기반 설계 덕분에 학습 곡선이 낮음
  • LaTeX에서 각 패키지마다 문법적 일관성이 부족한 불편함이 Typst에서는 해소됨
  • TOML 파일을 직접 파싱하여 데이터를 문서 내 자동 시각화가 가능하는 등 프로그래밍적 응용이 풍부함
  • 현대적 툴(컴파일러, 의존성 관리, LSP 등)과의 통합도 강점임

템플릿 및 레이아웃 수정

  • Typst의 템플릿 구조는 명확해, 원하는 대로 쉽게 수정과 확장이 가능함
  • LaTeX의 복잡한 템플릿 수정에 비해 훨씬 직관적이고 빠른 설정 경험을 제공함

코드 하이라이트

  • 내장된 syntax highlighting 지원 덕분에 논문 내 코드 가독성이 높음
  • Textmate grammar 활용 가능하며, regex 기반 커스텀 정의도 손쉽게 구현함
  • 스크립트로 직접 파서를 작성해 특정 문법 하이라이트도 실험함

에러 메시지

  • LaTeX에 비해 에러 위치와 원인을 명확히 안내하여, 문제 해결에 걸리는 시간이 크게 감소함
  • 불필요한 터미널 출력이 없고, 오류 정보가 실질적으로 유용함

Typst의 단점

서지(bibliography) 관리

  • 논문 전체에 단일 bibliography만 지원해, 챕터별 혹은 논문 포함시 각기 다른 서지 파일을 쓸 수 없음
  • Bibtex 변수 등 고급 기능에 대한 지원이 부족해 Makefile로 수동 통합 필요
  • 패키지(Alexandria)로 부분적 해결은 가능하나, 사용 편의성과 자동화 수준이 낮음
  • 인용 스타일 변환, 필드 매핑 등에서 세부 조정이 불완전하고, 수작업이 불가피함
  • 서지 필드가 Bibtex 표준과 달라 결과에 차이가 발생함

에러 메시지의 한계

  • 복잡한 경우(예: Alexandria 사용 시), 구체적인 오류 설명 없이 단순 실패 메시지만 나타남
  • 상태 기반 show rule 등은 오류의 위치 추적이 어려우며, 디버깅 난이도가 높음
  • 일부 레이아웃 관련 경고는 쉽게 원인 파악이 불가함

복잡한 현실: 호환성 및 생태계

LaTeX와의 호환 및 협업

  • 기존 논문, 제출 논문 등은 LaTeX 형식이 필요해 Typst 작성물을 Pandoc 등으로 변환해 사용함
  • 새로운 논문도 Typst로 초안을 작성한 후, 최종 제출용으로 변환 작업이 필요함
  • Typst에서 LaTeX로 자동 변환은 완벽하지 않아 별도 도구를 개발하여 작업 진행
  • 변환 결과물의 일부(예: 코드)는 LaTeX의 \includepdf를 이용해야 하며, 출판사 요구와 맞지 않을 수 있음
  • LaTeX가 표준이라 협업 상대가 Typst를 새로 배워야 하는 번거로움도 발생함

Typst 생태계 현황

  • Typst는 아직 초기 생태계로, 공식 템플릿이나 제출 양식이 제한적임
  • 사용자가 직접 맞춤 템플릿을 제작해야 하는 경우가 많음
  • 주요 학회, 저널용 Typst 템플릿은 지원 범위와 품질이 완벽하지 않음

결론 및 추천

  • 프로그래밍을 즐기고, 도구의 세밀한 커스터마이징에 매력을 느끼는 경우 Typst로 논문을 작성하는 것이 충분히 추천 가능함
  • 높은 반복적 시도와 커스터마이징 자유도로 결과물이 미려해지는 장점 제공
  • 반면, 별다른 추가 설정 없이 바로 사용해야 한다면 아직 Typst는 박사 논문 등 대형 문서에는 적합하지 않음
  • 작은 규모의 문서 작성이나 개인적 실험에는 Typst를 시도해 볼 만한 가치가 있음
Hacker News 의견
  • 30년 후에도 LaTeX는 오픈소스로 남아 관리될 가능성이 높지만, Typst는 오픈소스와 클로즈드소스가 혼합된 구조라서 회사가 사라지면 프로젝트도 유지 안 될 가능성이 크다는 걱정
    • Typst 프로젝트 자체는 오픈소스와 클로즈드소스 혼합이라고 보기 어렵고, CLI와 웹앱이 동일하게 동작하도록 만드는 게 핵심 목표임을 개발자가 직접 밝힘 관련 이슈 코멘트 참고 LSP 구현체인 tinymist 등 커뮤니티가 만든 오픈소스도 있음 또 Typstify 같은 유료 에디터도 회사와 상관 없이 존재
    • Typst의 웹 에디터는 클로즈드소스지만, 편집에 필요한 대부분 요소가 오픈소스라 로컬 환경에서도 비슷하거나 더 나은 경험 누림 Typst 컴파일러, LSP 등이 다 오픈소스임 Overleaf에서 LaTeX 프로젝트 만든 사례와 비슷하고, Typst 회사가 사라질 경우 패키지 다운로드도 오픈소스 git 레포 기반이라 대체 저장소 만들면 큰 문제 없을 것이라는 생각
    • 오픈소스 부분을 방치한다는 건, 사실 완전 오픈소스로 배포되는 대부분의 프로젝트와 다를 바 없다는 이야기
    • 클로즈드소스에 들어간 ‘핵심 기능’이란 게 구체적으로 뭐가 있는지 궁금
  • 컴퓨터공학 박사과정 학생들이 타입셋팅에 왜 그렇게 집착하는지 궁금함 LaTeX에 큰 관심을 보이다가 매크로 작업에 수개월을 쏟는 걸 보면, LaTeX에 또 한 명이 빠졌다고 생각 LaTeX는 미루는 학생들의 함정 같은 존재로 느껴짐
    • 수학 전공자로서, 손글씨로 모든 것을 쓰는 건 너무 번거롭고, 식이 많은 문서를 타이핑으로 만들긴 쉽지 않음 실제로 물리 쪽은 타이핑이 더 힘듦 논문/과제에 집중하는 인생에서 아이디어를 얼마나 쉽게 기록할 수 있는지가 정말 중요함 그래서 엔진의 품질에 민감해지고, 매크로 팁도 서로 많이 공유하는 경험 주변에서 얻은 조언과 기본 헤더 공유가 자연스러운 문화
    • LaTeX를 쓰면 일종의 ‘공식적인 느낌’을 갖게 됨 수식도 LaTeX 문서에서 쓰면 엄청 진지하게 보이지만, Word에서 하면 그렇지 않음 Aldus PageMaker로 첫 뉴스레터를 만들고 레이저 프린트했을 때처럼 전문가가 된 느낌
    • 큰 문서(예: 논문)를 섹션별로 별도 tex 파일로 관리하고, 나중에 한 데 모아 컴파일하는 구조 사용 가능 git 같은 VCS와 궁합도 잘 맞음 스크립트로 그림 등을 생성하면, 라텍스가 새 파일을 자동 감지해 새로 컴파일해줌 Word에서는 각각 그림을 직접 찾아 바꿔야 해서 비효율적임 문서 규모가 커질수록 Word는 점점 불편해지지만, LaTeX는 초기에만 세팅하고 그 이후엔 오히려 더 효율적임
    • 2000년대에는 수식만 조금 들어가도 Word로 작업하면 고통 수준이 심각했음 수십 페이지 넘는 공식-상호참조식이 필요할 땐 라텍스가 아니면 작업이 거의 불가능함 챕터별 파일 나누기, 쓸 만한 에디터와의 연동 등도 중요한 장점
    • 10년간 논문/리포트 쓰면서 자잘한 snippet을 모으는 것이 집착이 아닌 자연스러운 결과임
  • Typst가 엄청 유망해 보이는 이유는 IEEE 같은 대표 템플릿을 기본으로 제공하고, 그 결과물이 LaTeX와 거의 동일하게 출력된다는 점 LaTeX 툴체인은 불편함이 많고, makefile도 종종 불안정함 여러 번 돌려야 제대로 결과물이 나오는 경우 많으며, 가끔은 git clean -xdf까지 해야 문제 해결됨 왜 이런 현상이 생기는지는 아직도 잘 모르겠고, makefile 자체들도 너무 복잡함
    • “같은 걸 두 번 시도하고 다른 결과를 기대하는 게 미친 짓”이라고 하는데, 라텍스 컴파일이 그야말로 이 방식 그대로임
    • 완벽한 해결책은 아니지만, latex 빌드의 고생을 자동화해주는 Latexmk를 추천함 사용법 링크 참고 추가로 -outdir 옵션으로 중간파일을 분리 관리 가능
    • 나도 한때는 왜 여러 번 돌려야 하는지 이해했으나, 이제는 기억이 나지 않음 과거에 썼던 개인 build 스크립트에서도 bibtex 쓸 땐 세 번, 아닐 땐 두 번 돌리라는 조건문이 있었음 지금 보면 이런 시절이 지나서 속이 시원함
    • 요즘은 Tectonic을 쓰면 이런 반복 컴파일 이슈 없이 자동으로 해결됨
  • AI가 글쓰기의 주된 대상이자, 마크업 포맷 고르는 주된 이유임 의미적 압축 관점에서 Typst, markdown, asciidoc이 LaTeX보다 훨씬 더 간결함 개인적으로 지난 6개월간 AI 활용 수학 연구와 코드 작업에 엄청난 변화를 겪었고, 이 영역에는 확실한 정답이나 조언을 찾기 어려움 실제로 AI는 SVG 수학 다이어그램도 인간보다 잘 읽고, LaTeX 소스 읽는 걸 싫어함 저널 입장에서의 포맷 규정은 이해하지만, 시대에 안 맞는 2컬럼 출력 강요하는 저널 에디터도 많음 종이 출력이 큰 의미가 없는 시대라 크게 신경 안 쓰고, 앞으로는 내 연구결과를 애니메이션이나 Typst 문서로도 남길 계획
    • 실제로 논문을 출력해서 읽는 전문 과학계 환경에선 종이가 아직도 효율적임
  • 저널이나 컨퍼런스가 typst를 아직 받아들이지 않으니, 나는 일부러 LaTeX를 고집하는 게 아니라 현실적으로 어쩔 수 없이 LaTeX에 머무는 상황 도입 여부는 이들이 도구 체인에 통합할 의지에 달림
  • 점점 내 작업을 Typst로 옮기고 있는데, 속도가 빠르고 쾌적함 다만 수학 표기법을 새로 익히는 게 가장 큰 허들이었음 Typst만의 독특한 규칙이 있어 새롭게 익혀야 함
    • Typst도 좋아 보이지만, Claude Code와 VS Code 조합으로 다시 LaTeX를 쓰게 됨 라텍스에서 한동안 멀어졌다가(박사 졸업 후 10여 년 만에), 과거엔 TikZ나 수식, preamble 매크로를 외울 정도로 썼음 Claude Code는 내가 원하는 걸 입력하면 1,2번만에 거의 원하는 결과를 뽑아줌 LaTeX 오류 메시지 해석도 Claude가 95% 해결해줘서 예전보다 큰 문제가 안 됨
    • mitex도 하나의 옵션임 mitex 패키지 참고, 난 이미 다른 표기법을 새로 익힐 엄두는 안 남
  • typst 소스와 결과물이 궁금하다면 직접 만든 몇 가지 문서를 공유함:
  • Typst는 몇 년 내에 사라지거나 회사에 인수될 가능성이 많고, LaTeX는 수십 년간 남을 것이라는 견해
  • Typst가 LaTeX보다 세로 레이아웃 제어 등에서 매력적이라 옮기려 했으나, 최근 챗GPT류 LLM의 코드 생성 능력이 괜찮아지면서 새로운 마크업엔진(특히 typst)에서는 상당히 부족한 모습 AI가 latex는 나쁘긴 해도 typst에 비해선 훨씬 낫고, typst에서는 정말 결과가 안 나옴 6개월이나 1년쯤 지나면 좀 나아질지도 모름
    • LLM을 쓰면 생각을 덜 하게 돼 편하긴 하지만, LLM에 너무 의존해서 새로운 도구 자체를 못 쓰는 사람이 많다는 점이 답답함 과거에도 복붙이 안 되거나 코드 스니펫 찾기 어렵다는 이유로 새 언어를 꺼렸던 현상과 비슷함
    • 마크다운이나 rust에선 AI가 꽤 쓸만함 Typst 문서 개요를 LLM 프롬프트에 입력한다면 좀 도움이 될지도 모름
  • Typst에서 마음에 안 드는 점은 지금은 LaTeX 수식 문법이 거의 표준으로 자리잡았고, 이미 널리 쓰이기 때문에 새 수학 문법을 익히기 어렵다는 것
    • 실제로 Typst에서도 $x^2=1$ 같은 표기는 그대로 동작함