You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarto设置lang: it时XeTeX编译报错:缺失断字文件

解决Quarto+XeTeX意大利语断字缺失问题

方案1:手动配置babel加载断字文件

如果系统中已存在意大利语断字文件(如hyphen-it.tex,通常位于TeX发行版的tex/generic/hyphen目录下),可在Quarto的YAML头部指定babel的断字路径:

format:
  pdf:
    engine: xetex
    lang: it
    babel-options:
      hyphenation: "/实际路径/hyphen-it.tex"

替换/实际路径/为文件真实位置,比如TeX Live下可能是/usr/share/texlive/texmf-dist/tex/generic/hyphen/hyphen-it.tex,Windows MiKTeX下可能是C:\Program Files\MiKTeX\tex\generic\hyphen\hyphen-it.tex。

方案2:切换到polyglossia替代babel

XeTeX对polyglossia的支持更原生,Quarto可通过配置强制使用polyglossia:

format:
  pdf:
    engine: xetex
    lang: it
    latex-packages:
      - polyglossia
    polyglossia-options:
      lang: italian

polyglossia会自动适配意大利语断字规则,无需额外指定文件路径。

方案3:手动安装意大利语断字包(适配无tlmgr的发行版)

  • MiKTeX用户:打开MiKTeX Console,切换到「Packages」标签,搜索hyphen-italian并安装,重启Quarto后重新编译。
  • 精简版TeX Live用户:手动下载hyphen-italian包的文件(包含hyphen-it.tex),放入TeX的texmf-local目录,再运行mktexlsr更新索引(需终端权限)。

方案4:临时禁用断字(应急用)

若仅需临时生成文档,可关闭断字功能规避报错:

format:
  pdf:
    engine: xetex
    lang: it
    babel-options:
      nobabel: true
    latex-options:
      - "-no-hyphenation"

注:此方法会导致文本无断字,排版效果受影响,仅作应急使用。

内容的提问来源于stack exchange,提问作者Erik De Luca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:27:03