Quarto 1.11, 코드와 그림과 조판을 한 줄로 잇다
요약
Quarto 1.11은 코드와 그림, 조판을 Markdown 한 줄에 담고, 원본 하나로 웹 페이지와 PDF, Word, 슬라이드, 전자책을 렌더링한다. 이번 판은 인증서 연쇄 위험도 함께 막았다.
추천- 이름
- Quarto
- 버전
- 1.11
- 요금
- 무료
- 오픈소스
- 오픈소스
- 운영체제
- WindowsmacOSLinux
- 공식 사이트
- https://quarto.org/
- 업데이트
- 2026-11-06 23:00
글과 코드를 한 파일에
데이터가 들어간 기술 문서를 쓰는 흐름은 대개 이렇다. 노트에서 그림을 만들고, 그림 파일로 내보내고, 워드에 끌어다 넣어 조판하고, 데이터가 바뀌면 처음부터 다시 한다. Quarto가 없애려는 것이 바로 이 옮겨 나르기다. Posit이 관리하고 Pandoc 위에 서며, 과학과 기술을 위한 공개 출판 체계를 자처한다. 작성자는 qmd 확장자를 가진 순수 텍스트 파일 하나만 유지하면 되고, 이야기하는 글과 실행되는 코드 토막이 같은 파일에 들어간다. 렌더링할 때 코드가 먼저 돌고 그림과 수치가 제자리에 채워지며, 마지막에 Pandoc이 완성품으로 바꾼다.
값어치는 클릭 몇 번을 아끼는 데 있지 않다. 결과의 출처를 언제나 따라갈 수 있다는 데 있다. 문서의 모든 수치와 모든 그림은 파일 안의 코드 한 토막과 대응한다. 데이터를 고치면 다시 렌더링하면 되고, 본문은 3월 결론인데 그림만 2월 판인 상태는 생기지 않는다. 오래 유지해야 하는 보고서와 기술 문서에는 예쁜 조판보다 이쪽이 실용적이다.
원본 하나, 완성품 여럿
출력 형식의 폭이 넓다. HTML 페이지, PDF, 워드 문서, ePub 전자책, 그리고 revealjs 슬라이드까지 포함하고, 여러 문서를 웹 사이트와 블로그, 책으로 묶을 수도 있다. 같은 원본에 여러 목표 형식을 동시에 지정할 수 있으니 화면용과 인쇄용 원고를 따로 유지하지 않아도 된다. 쓸 때는 Pandoc의 Markdown 방언을 쓰며 수식, 인용, 상호 참조, 그림 배치, 주의 상자, 나아간 판면이 문법 단계에서 지원된다. 그림 번호는 내용이 늘고 줄어드는 대로 자동으로 다시 매겨지므로 긴 문서에서 가장 자주 틀리는 손 번호 매기기가 사라진다.
코드 실행은 언어에 묶이지 않는다. Python, R, Julia, Observable JavaScript를 그대로 코드 토막에 쓰고, 렌더링할 때 필요한 engine이 선택된다. Jupyter 노트도 그대로 렌더링된다. 편집기도 강요하지 않는다. VS Code, Positron, RStudio, JupyterLab이 모두 되고, 눈으로 보며 쓰는 Markdown 편집기도 제공된다. 순수 텍스트를 좋아하는 사람은 아무 편집기와 명령줄로도 똑같이 해낼 수 있다.

1.11이 고친 것은 토대
Quarto 1.11은 2026년 11월 2일에 나왔다. 평소 간격보다 이른데 이유는 보안 업데이트다. 함께 들어 있는 Deno 실행 환경을 2.7.14에서 2.9.8로 올렸고, 새 판은 이미 뚫린 eMudhra와 emSign 인증서 연쇄를 담은 인증서를 받지 않는다. 영향은 공개와 가져오기 단계에 있다. quarto publish, quarto add, quarto use template 같은 명령과 Quarto가 돌리는 TypeScript 스크립트가 모두 HTTPS 요청을 지나는데, 옛 판이 그 인증서를 믿은 것은 같은 네트워크의 공격자에게 사이트를 사칭할 틈을 준 셈이다. 이 수정은 1.10 계열로 되돌려 넣지 않는다고 밝혔으니, 고쳐진 판을 받는 길은 1.11뿐이다.
대신 기계의 문턱이 조금 올라간다. 함께 들어 있는 Deno 2.9.8은 macOS에서 12 이상을 요구하므로 그보다 오래된 환경은 먼저 올려야 하고, 그러지 않으면 렌더링 engine과 관련 형식이 돌지 않을 수 있다.

접근성은 알찬 손질
1.11의 나머지 절반은 접근성에 놓였고, 고친 곳은 실제로 쓰이는 자리다. Bootstrap 주제를 쓰는 HTML 문서와 웹 사이트, 책, 계기판에는 본문으로 뛰는 링크가 들어가 키보드만으로 쓸 때 안내 전체를 Tab으로 지나가지 않아도 된다. 사이트 옆단의 구역은 키보드로 다룰 수 있는 단추가 된다. 스크롤되는 코드 토막과 출력 영역은 Safari에서도 초점을 얻고 움직인다. 인용, 각주, 상호 참조, 코드 주석의 겹쳐 뜨는 창은 Esc로 닫힌다. 눈으로는 두 색 초점 테두리가 더해져 강한 대비를 강제하는 설정에서도 초점이 어디 있는지 보인다.
그림과 슬라이드도 챙겼다. Mermaid와 Graphviz가 만든 그림은 이제 fig-alt로 지정한 대체 글을 쓴다. HTML, revealjs, Word, Typst 출력에서 모두 적용된다. 대체 글은 읽는 사람이 보는 그림 설명과 분리된 채로 남아 서로를 밀어내지 않는다. 슬라이드는 보통 재생 보기에서 초점을 지금 쪽에 두고, 화면 읽기는 아직 나오지 않은 단계를 미리 읽지 않으며, 다른 탭으로 갔다 돌아와도 초점을 잃지 않는다.

Typst와 Julia 두 줄에도 덧붙임
Typst로 조판하는 사람은 이번에 lof와 lot 두 선택지로 그림과 표의 목록을 만들 수 있다. 목록 제목은 문서 언어를 따르고 crossref로 손볼 수 있다. proof, remark, solution 세 갈래 토막은 순수 글에서 정리 모양으로 올라가고, 표를 붙인 토막은 상호 참조가 된다. 정의 목록을 쓰는 방식도 정해졌다. 안긴 글머리 목록을 가진 definition-list 그릇을 쓰는 형태이고, 이것이 다음 큰 판에서도 이어지는 문법이다.
Julia engine에는 keep-ipynb 선택지가 붙어 실행이 끝난 노트를 원본과 함께 저장할 수 있다. 아울러 노트 실행이 멈추던 문제와, 메타데이터 변화가 캐시한 cell 결과를 무효로 만들지 않던 문제도 고쳤다. 공유 메타데이터는 합쳐진 값으로 Pandoc 견본과 Lua 걸러내기에 전달되므로, keywords처럼 물려받은 목록은 문서 자체의 값과 합쳐지고 문서 안의 목록으로 통째로 바뀌지 않는다.

맞는 사람, 맞지 않는 사람
편한 구역은 분명하다. 코드와 결과와 설명을 함께 쓰고 싶은 사람이다. 데이터 분석 보고서, 실험 기록, 강의 자료, 기술 안내서, 오래 유지하는 책은 모두 결과가 계산 과정까지 거슬러 올라가야 한다는 강한 요구를 가진다. 원본 하나 모델이 그 요구에 곧장 답한다. 이미 RStudio나 Jupyter를 쓰는 팀이라면 옮기는 비용은 주로 YAML 선택지를 익히는 데 쓰이고, 문법 자체는 어렵지 않다.
깨끗한 문서 사이트만 원하고 화면에 돌릴 코드가 하나도 없다면 Quarto가 들여오는 설정 부담은 군더더기로 보인다. 더 가벼운 정적 방식으로 충분하다. 또 PDF 길은 여전히 LaTeX 환경에 기대고 그 오류 알림은 새로 온 사람에게 친절하지 않다. Typst 형식으로 바꾸면 이 층을 돌아갈 수 있지만 Typst 생태는 아직 젊다. 렌더링 시간도 생각해야 한다. 계산이 무거운 프로젝트는 얼리기와 캐시를 걸지 않으면 다시 만들 때마다 같은 계산을 되풀이한다.
1.11 업데이트를 보면 Quarto의 무게 중심은 기능을 쌓는 데서 신뢰를 다듬는 데로 옮겨 갔다. 인증서 연쇄, 접근성, 언어를 가로지르는 engine의 캐시 문제는 모두 오래 쓴 사람만 부딪히는 아픈 곳이다. 이미 쓰는 사람에게 업데이트의 이유는 보안 수정이고, 지켜보는 사람에게는 늘 쓰는 보고서 하나를 시험 삼아 렌더링해, 원본 하나가 지금의 짜깁기 흐름을 대신할 수 있는지 보는 값이 있다.