1.2 发行说明

此补丁版本中的新内容

  • 修复了在Windows上Quarto内置的tinytex无法正确找到TexLive 2023附带的二进制文件的问题。这将导致在使用最新版本的TinyTex时在Windows上编译PDF时出错。

在之前的补丁版本中修复的内容

  • 修复了在使用最新版本的jupyter_client(8.0.0及更高版本)时使用Quarto的问题
  • 启动预览服务器时正确处理代理URL(修复在IDE中预览的问题)
  • 修复了由于在MacOS上tinytex安装无效导致的tinytex无法安装包的问题

Jupyter

  • 当存在相应的.qmd文件时,始终忽略.ipynb输入
  • 正确解释具有false值的单元格元数据
  • 当text/latex输出完全由$数学组成,或被LaTeX环境块(如\[\begin{align} ... \end{align}\])包裹时,将其渲染为markdown数学
  • ojs_define中使用IPython 7.14导入语法
  • 正确处理Jupyter Notebook经典中的多个附件
  • 当输出格式为ipynb时,防止覆盖源.ipynb文件
  • 执行笔记本时优先使用YAML前文中声明的内核
  • 修复了处理带有Juptyer小部件的单元格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 chrome(#2134

扩展

  • 扩展源文件更改时的实时重新加载预览
  • HTML依赖项可以由扩展目录外的文件路径提供
  • HTML依赖项现在可以包括serviceworkers,这些将被复制到输出目录中。
  • 新的quarto.doc.attach_to_dependency函数用于将文件附加到html依赖项(将文件复制到命名HTML依赖项的lib目录中)。
  • 新的quarto.version,提供Quarto版本
  • 新的quarto.project.profile,提供当前活动的配置文件列表(如果没有活动配置文件,则为空表)
  • 新的quarto.project.directory,提供当前项目目录(如果项目处于活动状态)
  • 新的quarto.project.output_directory,提供当前项目输出目录(如果项目处于活动状态)
  • 新的quarto.project.offset,提供从当前输入文档到项目目录的偏移量。
  • 新的quarto.doc.input_file,提供输入文档的路径
  • 新的quarto.doc.output_file,提供输出文件的路径
  • 确保quarto.utils.dump与pandoc的内置全局变量一起工作(#2254
  • 为不存在的格式资源提供更好的错误消息(#2291
  • 通过quarto-required选项指定最低quarto版本的能力。
  • 扩展现在可以贡献项目类型(项目元数据,当渲染该类型的项目时将与项目合并)
  • 包含@wlupton的Pandoc logging Lua模块
  • 改进扩展的路径解析
  • 添加对贡献revealjs-plugins的扩展的支持
  • 修复当组织名称与扩展标识符相同时加载扩展的问题
  • 修复阻止从任意url安装存档扩展的问题(#2419
  • 支持使用Github存档url安装扩展
  • 支持从github仓库的子目录中安装扩展
  • Lua require现在可以找到与当前脚本相邻的模块
  • 使用蛇形命名法为Quarto Lua API函数(匹配Pandoc API)
  • 修复没有文本时的定理标题(#2166, #2228

项目

  • 项目配置profile,用于根据全局QUARTO_PROFILE--profile命令行选项改变配置和输出。
  • 项目级别的环境变量(包括本地覆盖)
  • 确保execute-dir始终解析为绝对路径

HTML格式

  • 修复在使用output-file的输出文件中恢复保留的HTML时的错误
  • 在页面之间导航时正确维护深色/浅色状态
  • 修复当 page-layout 全屏且无可见 toccode-copy 按钮的问题 (#2388)
  • 添加对 scss 变量的支持,以更好地控制目录外观 ($toc-color, $toc-font-size, $toc-active-border, $toc-inactive-border)
  • 使用工具提示提供更明确的代码复制反馈
  • 在使用各种 highlight-styles 时改进代码复制按钮的颜色
  • 支持 scss 变量自定义代码复制按钮,使用 $btn-code-copy-color, $btn-code-copy-color-active
  • 在文档元数据中添加对 date-modified 的支持
  • 必要时包装内联代码元素

PDF 格式

  • 为生成空文档的 PDF 输出提供更好的错误消息
  • 改进 LaTeX 标题区域的检测 (#2295)
  • 更优雅地处理没有文件输出的 LaTeX 错误消息 (#2183)
  • 支持带有标注的可交叉引用图表
  • 允许在标注内部进行交叉引用
  • 改进 scrbooktwoside, oneside, 和 twoside=semi 选项的页边距布局支持
  • 当文档类为 scrbook 时,正确默认启用 number-sections

Docx 格式

  • 使用 DPI 正确缩放标注图标
  • 正确间隔连续的表格和图表 (#2493)

Revealjs 格式

  • 更新至 Reveal v4.3.1 (+ commit e281b32) 以修复演示文稿缩放/缩放问题
  • 改进使用标准化作者和隶属关系模式的标题幻灯片
  • 为 RevealJS 引入模板部分。您可以为 title-slide.htmltoc-slide.html 提供部分内容
  • 确保 output-location 在 fenced divs 中正常工作
  • 更改 SCSS 以使样式响应 linkColorlink-color (#2820)
  • 当存在 mermaidjs 图表时,将 viewdistance 设置为覆盖整个幻灯片 (#2607)

Markdown 格式

  • 当支持 raw_html 时,支持 markdown 输出的代码折叠
  • 适用于 Docusaurus 兼容 markdown 的 docusaurus-md 格式
  • 适用于在外部静态站点生成器中渲染/预览的 docusaurushugo 项目类型

Ipynb 格式

  • 转换为 ipynb 时去除图像的属性(保留属性会导致 VS Code 中的附件问题)

AST 格式

  • 移除 AST 格式 (nativejson) 的中间元数据

Google Scholar

  • 正确读取动态生成的参考文献 YML 中的 Google Scholar 引用数据

交叉引用

  • 修复列表代码块的交叉引用索引问题

表格

  • 不需要为 tbl-colwidths 指定数组括号
  • 在多列跨度中覆盖标准 GT 样式 (#3038)

作者和隶属关系

  • 改进空作者的处理
  • authorinstitute(常用于 RevealJs 和 Beamer)解析为标准化作者模式

网站

  • 正确允许 twitter-cardopen-graph 覆盖页面描述
  • 不在站点或书籍输出目录中查找资源
  • 启用网站的自定义 HTML 格式
  • 使用 auto 选项自动填充侧边栏菜单
  • 正确处理 margin-headermargin-footer 文件
  • 确保即使存在页边距内容,code-copy 按钮也能正常工作
  • 添加对开放图谱图像尺寸的支持
  • 修复阻止 twitter-card site 元数据发出的问题
  • 防止页面首次加载时网站内容移动
  • 改进移动模式下展开导航栏时的动画流畅度 (#1873)
  • 如果指定,允许在顶层导航栏中使用图标
  • 修复第一个分隔符后下一页和上一页按钮的错误计算

书籍

  • 修复导致书籍搜索索引不完整的问题
  • 不在每个章节的标题块中显示书籍描述
  • 书籍 YAML 现在接受 csl-item 模式的字段 (#2148, #2398)
  • 书籍 YAML 现在明确接受日期格式 (#2148, #2398)

预览

  • 如果预览服务器重新启动,则重新启动 Jupyter 内核守护进程
  • 启用使用外部预览服务器来提供项目输出
  • 添加 --no-serve 命令行参数以完全阻止服务
  • 不要在 code-server 设置的 VSCODE_PROXY_URI 后添加斜杠

发布

  • 处理 gh-pages 的 CNAME 文件,无论是否带有协议前缀(例如 https://)

语言

  • Quarto UI 文本的意大利语翻译
  • Quarto UI 文本的波兰语翻译
  • Quarto UI 文本的韩语翻译

列表和订阅源

  • 修复 RSS 订阅源字段中的转义问题
  • 正确支持 max-desc-length 以在列表中截断描述
  • 解析列表内容时正确支持排除全局模式(如 !blog/index.qmd

参考文献和引用

  • 支持 bibtexbiblatexcsljson 格式。当渲染为这些格式之一时,文档中的任何引用都将以指定的参考文献格式呈现。
  • 即使文档中没有参考文献或引用,如果指定了 citeproc: true,始终添加 citeproc 过滤器(#2294
  • 当指定 citeproc 时,不要处理引用两次(#2393
  • 修复脚注样式参考格式的 citation-hover 问题

TinyTex

  • quarto install tinytex 现在即使检测到系统安装的 TeX,也会安装 TinyTex。
  • quarto install tinytex 默认情况下不再将 TinyTex 添加到系统路径。
  • 渲染 PDF 时,Quarto 将优先使用现有的 TinyTex 安装,而不是系统 Tex 安装。
  • 要防止 Quarto 使用 TinyTex 安装(如果你希望使用系统安装),请在项目或文档前文中设置 latex-tinytex: false
  • 要系统范围内安装 TinyTex,请在安装时使用 --update-path 标志(这将把 TinyTex 添加到系统路径)。

视频短代码

  • 视频短代码扩展现在成为 Quarto CLI 的原生功能
  • 更好地支持 Reveal-JS 视频片段背景。对于常见的视频片段,如 YouTube,你可以将其指定为 background-video,Quarto 将确保使用正确的嵌入 URL,并在需要时切换到 background-iframe 背景。

创建工件

  • 引入新的 quarto create 命令,用于创建项目或扩展

杂项

  • 渲染:能够从命令行设置 enginejupyter 元数据值
  • 渲染:能够将 --to all 与其他格式组合(例如 --to all,json
  • 不要在 Windows 上调用 Deno.realPathSync(避免 UNC 路径问题)
  • 不要在 Windows 上直接包含 Unicode 字面量(#2184),感谢 @yihui
  • 改进对象类型值的 YAML 验证错误消息(#2191
  • 将 esbuild 升级到 0.15.6
  • 为 quarto preview 和 quarto run 实现 –help 选项
  • 增加 a11y-light 主题的对比度,以适应默认的代码块背景(#2067, #2528
  • 在 macOS 上使用 deno arm64 原生二进制文件
  • 解析包含短代码中的绝对路径(#2320
  • 新的元数据字段 quarto-required,用于在文档中指定所需的 quarto 版本
  • 为文件调用 quarto inspect 提供项目配置
  • 改进封闭模式下的 YAML 验证错误消息(#2349
  • 当有更好的信息可用时,不要在 mermaid 图表上使用默认的宽度/高度(#2383
  • 改进包含 x = y 的无效 YAML 对象的 YAML 验证错误消息(#2434
  • 通过 --trace--verbose--quiet--log-level 转发给 Pandoc
  • 禁止在命令行选项 --output 和 YAML 选项 output-file 中使用带路径的名称(#2440
  • 当 quarto 无法连接到无头 Chrome 时,在抛出的错误消息中添加可能的 Chrome 进程运行错误(#2499
  • 仅对 HTML 文件输出传递 pagetitle 元数据
  • 为代码块 filename 提供非 HTML 处理
  • 防止 Chrome CRI 在初始化期间竞争(#2733
  • 解决 mermaid-format: svg 图表裁剪问题(#1622
  • 不要在交互式 IDE 上下文之外使用 tree-sitter(#2502
  • 在 YAML 前文中支持自定义 Lua 写入器(#2687
  • 更好的错误消息,处理 YAML 字符串中的意外 !#2808
  • 更精确地加下划线 YAML 验证错误(#2681
  • 将原始 html 表格转换为 pdf 时,使用所有生成的表格(#2615
  • 修复所有格式中的定理(thm, def, …)环境 (#2866)
  • 升级至 deno 1.25.2,预计将使 quarto 启动时间加快 2-3 倍,并修复 Fedora 37 的问题 (#3012)
  • quarto preview: 仅在需要时在路径前添加 / (#3183)