此补丁版本中的新内容
- 修复了在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
内置中支持revealjs
和html
格式,否则优雅地回退(#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
全屏且无可见 toc
时 code-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)
- 支持带有标注的可交叉引用图表
- 允许在标注内部进行交叉引用
- 改进
scrbook
的 twoside
, oneside
, 和 twoside=semi
选项的页边距布局支持
- 当文档类为
scrbook
时,正确默认启用 number-sections
Docx 格式
- 使用 DPI 正确缩放标注图标
- 正确间隔连续的表格和图表 (#2493)
Revealjs 格式
- 更新至 Reveal v4.3.1 (+ commit e281b32) 以修复演示文稿缩放/缩放问题
- 改进使用标准化作者和隶属关系模式的标题幻灯片
- 为 RevealJS 引入模板部分。您可以为
title-slide.html
或 toc-slide.html
提供部分内容
- 确保
output-location
在 fenced divs 中正常工作
- 更改 SCSS 以使样式响应
linkColor
和 link-color
(#2820)
- 当存在 mermaidjs 图表时,将
viewdistance
设置为覆盖整个幻灯片 (#2607)
Markdown 格式
- 当支持
raw_html
时,支持 markdown 输出的代码折叠
- 适用于 Docusaurus 兼容 markdown 的
docusaurus-md
格式
- 适用于在外部静态站点生成器中渲染/预览的
docusaurus
和 hugo
项目类型
Ipynb 格式
- 转换为
ipynb
时去除图像的属性(保留属性会导致 VS Code 中的附件问题)
AST 格式
- 移除 AST 格式 (
native
和 json
) 的中间元数据
Google Scholar
- 正确读取动态生成的参考文献 YML 中的 Google Scholar 引用数据
表格
- 不需要为
tbl-colwidths
指定数组括号
- 在多列跨度中覆盖标准 GT 样式 (#3038)
作者和隶属关系
- 改进空作者的处理
- 将
author
和 institute
(常用于 RevealJs 和 Beamer)解析为标准化作者模式
网站
- 正确允许
twitter-card
和 open-graph
覆盖页面描述
- 不在站点或书籍输出目录中查找资源
- 启用网站的自定义 HTML 格式
- 使用
auto
选项自动填充侧边栏菜单
- 正确处理
margin-header
和 margin-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
)
参考文献和引用
- 支持
bibtex
、biblatex
和 csljson
格式。当渲染为这些格式之一时,文档中的任何引用都将以指定的参考文献格式呈现。
- 即使文档中没有参考文献或引用,如果指定了
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
命令,用于创建项目或扩展
杂项
- 渲染:能够从命令行设置
engine
和 jupyter
元数据值
- 渲染:能够将
--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)