Quarto渲染阿拉伯语等非拉丁脚本为PDF的配置问题求助
解决Quarto全局配置LaTeX阿拉伯语渲染报错问题
问题分析
在单文档Markdown的YAML头部添加LaTeX配置(引入babel包+Amiri字体)能正常渲染阿拉伯语PDF,但将相同代码移到全局配置_quarto.yml时,会触发xelatex的“数组条目为空”错误;删除配置后PDF可生成,但阿拉伯语显示空白。核心原因是全局配置对header-includes的语法解析要求更严格,单文档的宽松格式在全局配置中会被错误拆分解析。
解决方案
1. 修正全局配置的header-includes格式
将LaTeX代码用- |包裹,确保Quarto将其解析为单个完整的代码块,避免拆分出空条目。正确的_quarto.yml配置示例:
pdf-engine: xelatex header-includes: - | \usepackage[arabic]{babel} \babelfont{rm}{Amiri} \babelfont{sf}{Amiri}
2. 确认Amiri字体已安装
xelatex依赖系统字体渲染阿拉伯语,缺失字体会导致显示空白。可通过终端命令检查:
fc-list | grep Amiri
若无输出,需先通过系统包管理器或字体官网下载安装Amiri字体。
3. 重新测试渲染
保存配置后重新渲染文档,若终端无报错且阿拉伯语正常显示,问题即解决。
内容的提问来源于stack exchange,提问作者jacobhoi
相关产品推荐
相关产品推荐

