1.2 릴리스 노트

이번 패치 릴리스의 새로운 내용

  • Windows에서 Quarto의 내장 tinytex가 TexLive 2023에 포함된 바이너리를 제대로 찾지 못하는 문제를 수정했습니다. 이 문제는 최신 TinyTex를 사용할 때 Windows에서 PDF 컴파일 오류를 발생시켰습니다.

이전 패치 릴리스에서 수정된 내용

  • 최신 jupyter_client(버전 8.0.0 이상)와 함께 Quarto를 사용할 때 발생하던 문제를 수정
  • 미리보기 서버 시작 시 프록시 URL 처리 수정(IDE 내 미리보기 문제 수정)
  • macOS에서 tinytex가 잘못 설치되어 패키지를 설치하지 못하던 문제 수정

Jupyter

  • 해당 .qmd가 있으면 .ipynb 입력을 항상 무시
  • false 값이 있는 셀 메타데이터를 올바르게 해석
  • 출력이 $ 수식으로만 이루어졌거나 LaTeX 환경 블록(예: \[\begin{align} ... \end{align}\])으로 감싸진 경우 text/latex 출력을 마크다운 수식으로 렌더링
  • ojs_define에서 IPython 7.14 import 문법 사용
  • Jupyter Notebook classic에서 여러 첨부 파일 처리 개선
  • 출력 형식이 ipynb일 때 원본 .ipynb 덮어쓰지 않음
  • 노트북 실행 시 YAML 프런트매터에 선언된 커널을 우선 사용
  • Jupyter 위젯이 있는 cell display_data 처리에서 v1.1 회귀 수정
  • 프로젝트 전체에서 Jupyter 커널을 결정할 수 있도록 허용 (#2853)
  • Jupyter 엔진 의존성(위젯)이 다른 의존성 뒤에 오도록 보장(require/define 충돌 관리)

Knitr

  • 셀 YAML 옵션에서 connection 옵션 지정 지원

OJS

  • width 내장 함수에 revealjshtml 형식 지원, 기타 형식은 정상적으로 폴백 (#2058)
  • HTML 이외 형식에서 ojs_define HTML을 출력하지 않음 (#2338)
  • jszip 및 exceljs 지원 (#1981)
  • 셀 옵션을 잘못된 주석 문법으로 지정할 때 오류 메시지 개선 (#1856)
  • OJS 코드가 숨겨질 때 code-fold 크롬을 숨김 (#2134)

Extensions

  • 확장 소스 파일 변경에 대한 미리보기 라이브 리로드
  • 확장 디렉터리 밖의 파일 경로로 HTML 의존성을 제공 가능
  • HTML 의존성에 serviceworkers를 포함할 수 있으며 출력 디렉터리로 복사됨
  • HTML 의존성에 파일을 첨부하는 quarto.doc.attach_to_dependency 함수 추가(지정된 HTML 의존성의 lib 디렉터리에 파일 복사)
  • Quarto 버전을 제공하는 quarto.version 추가
  • 활성 프로파일 목록(또는 활성 프로파일이 없으면 빈 테이블)을 제공하는 quarto.project.profile 추가
  • 현재 프로젝트 디렉터리를 제공하는 quarto.project.directory 추가(프로젝트가 활성일 때)
  • 현재 프로젝트 출력 디렉터리를 제공하는 quarto.project.output_directory 추가(프로젝트가 활성일 때)
  • 현재 입력 문서에서 프로젝트 디렉터리까지의 오프셋을 제공하는 quarto.project.offset 추가
  • 입력 문서 경로를 제공하는 quarto.doc.input_file 추가
  • 출력 파일 경로를 제공하는 quarto.doc.output_file 추가
  • pandoc 내장 전역 변수에서 quarto.utils.dump가 동작하도록 보장 (#2254)
  • 존재하지 않는 형식 리소스에 대한 오류 메시지 개선 (#2291)
  • quarto-required 옵션으로 최소 Quarto 버전 지정 가능
  • 확장이 프로젝트 타입을 기여할 수 있도록 함(해당 타입 프로젝트가 렌더링될 때 프로젝트 메타데이터와 병합)
  • Pandoc logging Lua 모듈 추가(@wlupton 제공)
  • 확장 경로 해석 개선
  • revealjs-plugins를 기여하는 확장 지원
  • 조직 이름이 확장 식별자와 동일할 때 확장 로딩 문제 수정
  • 임의 URL의 아카이브 확장 설치 문제 수정 (#2419)
  • Github 아카이브 URL로 확장 설치 지원
  • github repo의 하위 디렉터리에서 확장 설치 지원
  • Lua require가 현재 스크립트에 인접한 모듈을 찾을 수 있도록 개선
  • Quarto Lua API 함수에 스네이크 케이스 사용(Pandoc API와 일치)
  • 정리된 정리 캡션에 텍스트가 없을 때 처리 문제 수정 (#2166, #2228)

Projects

  • 전역 QUARTO_PROFILE 또는 --profile 명령줄 옵션에 따라 구성과 출력을 바꾸는 프로젝트 구성 profile
  • 프로젝트 수준 환경 변수(로컬 오버라이드 포함)
  • execute-dir가 항상 절대 경로로 해석되도록 보장

HTML Format

  • output-file을 사용하는 출력 파일에서 보존된 HTML 복원 시 오류 수정
  • 페이지 간 이동 시 다크/라이트 상태를 올바르게 유지
  • page-layout이 full이고 toc가 보이지 않을 때 code-copy 버튼 문제 수정 (#2388)
  • 목차 모양을 제어하기 위한 scss 변수 지원 추가($toc-color,$toc-font-size,$toc-active-border,$toc-inactive-border)
  • 툴팁을 사용해 코드 복사 피드백을 더 명확하게 제공
  • 다양한 highlight-styles에서 코드 복사 버튼 색상 개선
  • $btn-code-copy-color, $btn-code-copy-color-active로 코드 복사 버튼 커스터마이징 지원
  • 문서 메타데이터에 date-modified 지원 추가
  • 필요 시 인라인 코드 요소를 줄바꿈

PDF Format

  • 빈 문서를 생성하는 PDF 출력에 대한 오류 메시지 개선
  • LaTeX 캡션 영역 감지 개선 (#2295)
  • 파일 출력이 없는 LaTeX 오류 메시지 처리 개선 (#2183)
  • callout이 있는 상호 참조 가능한 그림 지원
  • callout 내부 상호 참조 허용
  • scrbooktwoside, oneside, twoside=semi 옵션에 대한 여백 레이아웃 지원 개선
  • documentclass가 scrbook일 때 number-sections 기본값을 올바르게 켜도록 수정

Docx Format

  • DPI를 사용해 callout 아이콘 크기를 올바르게 조정
  • 표와 그림이 연속될 때 간격을 올바르게 처리 (#2493)

Revealjs Format

  • Reveal v4.3.1(+ commit e281b32)로 업데이트하여 프레젠테이션 스케일링/줌 문제 수정
  • 정규화된 저자/소속 스키마를 사용하는 개선된 제목 슬라이드
  • RevealJS 템플릿 파셜 도입(title-slide.html 또는 toc-slide.html 파셜 제공 가능)
  • fenced div에서 output-location이 올바르게 동작하도록 보장
  • SCSS가 linkColor와 link-color 모두에 반응하도록 변경 (#2820)
  • mermaidjs 다이어그램이 있을 때 전체 슬라이드쇼를 커버하도록 viewdistance 설정 (#2607)

Markdown Formats

  • raw_html이 지원될 때 마크다운 출력에서 코드 접기 지원
  • Docusaurus 호환 마크다운을 위한 docusaurus-md 형식
  • 외부 정적 사이트 생성기에서 render/preview를 위한 docusaurushugo 프로젝트 타입

Ipynb Format

  • ipynb 변환 시 이미지 속성을 제거(속성이 남아 있으면 VS Code 첨부 파일에 문제 발생)

AST Formats

  • AST 형식(native, json)에서 중간 메타데이터 제거

Google Scholar

  • 동적으로 생성된 참고문헌 YML에서 Google Scholar 참조 데이터를 올바르게 읽음

Crossrefs

  • listing 코드 블록에 대한 crossref 인덱싱 문제 수정

Tables

  • tbl-colwidths 지정 시 배열 대괄호를 요구하지 않음
  • 여러 열 spanner에서 표준 GT 스타일 덮어쓰기 (#3038)

Authors and Affiliations

  • 빈 저자 처리 개선
  • authorinstitute(RevealJs와 Beamer에서 자주 사용)를 정규화된 저자 스키마로 파싱

Websites

  • twitter-cardopen-graph가 페이지 설명을 올바르게 덮어쓰도록 허용
  • 사이트 또는 책 출력 디렉터리에서 리소스를 발견하지 않음
  • 웹사이트에서 사용자 정의 HTML 형식 사용 허용
  • contentsauto 옵션으로 사이드바 메뉴를 자동 구성
  • margin-headermargin-footer 파일 처리 개선
  • 여백 콘텐츠가 있어도 code-copy 버튼이 동작하도록 보장
  • Open Graph 이미지 크기 지원 추가
  • twitter-card site 메타데이터가 출력되지 않던 문제 수정
  • 페이지 최초 로드 시 웹사이트 콘텐츠가 이동하는 문제 방지
  • 모바일 모드에서 navbar 확장 애니메이션 부드러움 개선 (#1873)
  • 지정 시 상단 navbar에 아이콘 허용
  • 첫 번째 구분자 이후 다음/이전 버튼 계산 오류 수정

Books

  • 책 검색 인덱스가 불완전하게 생성되던 문제 수정
  • 각 장의 제목 블록에 책 설명을 표시하지 않음
  • Book YAML이 csl-item 스키마의 필드를 허용 (#2148, #2398)
  • Book YAML이 date-format을 명시적으로 허용 (#2148, #2398)

Preview

  • 미리보기 서버가 재시작될 때 Jupyter 커널 데몬 재시작
  • 프로젝트 출력 제공을 위한 외부 미리보기 서버 사용 허용
  • 서빙을 완전히 비활성화하는 --no-serve 명령줄 파라미터 추가
  • code-server가 설정한 VSCODE_PROXY_URI에 슬래시를 붙이지 않음

Publishing

  • gh-pages에 대해 CNAME 파일을 프로토콜 접두어 유무 모두 처리(예: https://)

Languages

  • Quarto UI 텍스트에 대한 이탈리아어 번역
  • Quarto UI 텍스트에 대한 폴란드어 번역
  • Quarto UI 텍스트에 대한 한국어 번역

Listing and Feeds

  • RSS 피드 필드 이스케이프 문제 수정
  • listing 설명을 자르는 max-desc-length 지원 개선
  • listing 콘텐츠를 해석할 때 제외 글롭(예: !blog/index.qmd) 지원 개선

Bibliographies and Citations

  • bibtex, biblatex, csljson 형식 지원. 이 형식으로 렌더링할 때 문서 내 인용은 지정된 참고문헌 형식으로 출력됨
  • citeproc: true가 지정되면 참고문헌이 없어도 citeproc 필터를 항상 추가 (#2294)
  • citeproc가 지정될 때 인용을 두 번 처리하지 않음 (#2393)
  • 각주 스타일 참조 형식에서 citation-hover 수정

TinyTex

  • 시스템 TeX 설치가 감지되어도 quarto install tinytex가 TinyTex를 설치함
  • quarto install tinytex가 기본적으로 TinyTex를 시스템 PATH에 추가하지 않음
  • PDF 렌더링 시 시스템 TeX보다 기존 TinyTex 설치를 우선 사용
  • 시스템 TeX를 사용하고 싶다면 프로젝트 또는 문서 프런트매터에 latex-tinytex: false 지정
  • 시스템 전체에 TinyTex를 설치하려면 설치 시 --update-path 플래그 사용(시스템 PATH에 추가됨)

Video Shortcode

  • 비디오 쇼트코드 확장이 Quarto CLI에 기본 내장됨
  • Reveal-JS 비디오 스니펫 배경 지원 개선. YouTube 같은 일반 스니펫은 background-video로 지정할 수 있으며, Quarto가 올바른 임베드 URL을 사용하고 필요 시 background-iframe 배경으로 전환함

Creating Artifacts

  • 프로젝트 또는 확장을 생성하는 새로운 quarto create 명령 도입

Miscellaneous

  • Render: 명령줄에서 enginejupyter 메타데이터 값을 설정하는 기능
  • Render: --to all을 다른 형식과 조합 가능(예: --to all,json)
  • Windows에서 Deno.realPathSync 호출하지 않음(UNC 경로 문제 방지)
  • Windows에서 유니코드 리터럴을 직접 포함하지 않음 (#2184, @yihui 감사)
  • 객체 타입 값에 대한 YAML 검증 오류 메시지 개선 (#2191)
  • esbuild 0.15.6으로 업그레이드
  • quarto preview와 quarto run에 –help 옵션 구현
  • 기본 코드 블록 배경과 함께 작동하도록 a11y-light 테마 대비 개선 (#2067, #2528)
  • macOS에서 deno arm64 네이티브 바이너리 사용
  • include 쇼트코드에서 절대 경로 해석 (#2320)
  • 문서에서 요구되는 quarto 버전을 지정하는 quarto-required 메타데이터 필드 추가
  • 파일에 대한 quarto inspect 호출용 프로젝트 구성 제공
  • 닫힌 스키마 값에 대한 YAML 검증 오류 메시지 개선 (#2349)
  • 더 나은 정보가 있으면 mermaid 다이어그램에서 기본 width/height를 사용하지 않음 (#2383)
  • x = y를 포함하는 잘못된 YAML 객체의 검증 오류 메시지 개선 (#2434)
  • --log-level을 Pandoc의 --trace, --verbose, --quiet로 전달
  • --output 명령줄 옵션과 YAML 옵션 output-file에서 경로가 포함된 이름을 허용하지 않음 (#2440)
  • Chrome headless 연결 실패 시 가능한 chrome 프로세스 실행 오류를 오류 메시지에 추가 (#2499)
  • HTML 파일 출력에 대해서만 pagetitle 메타데이터 전달
  • 코드 블록 filename에 대해 비-HTML 처리를 제공
  • 초기화 중 Chrome CRI 경합 방지 (#2733)
  • mermaid-format: svg 다이어그램 클리핑 문제 우회 (#1622)
  • 대화형 IDE 컨텍스트 밖에서는 tree-sitter를 사용하지 않음 (#2502)
  • YAML 프런트매터에서 사용자 정의 Lua writer 지원 (#2687)
  • YAML 문자열 내 의도치 않은 !에 대한 오류 메시지 개선 (#2808)
  • YAML 검증 오류에 대한 밑줄 표시를 더 정밀하게 조정 (#2681)
  • raw html 테이블을 pdf로 변환할 때 생성된 모든 테이블을 사용 (#2615)
  • 모든 형식에서 정리(정의, 정리 등) 환경 수정 (#2866)
  • deno 1.25.2로 업그레이드(Quarto 시작 시간이 2~3배 빨라지고 Fedora 37 문제 수정) (#3012)
  • quarto preview: 필요할 때만 경로 앞에 /를 붙임 (#3183)