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

在Pandoc中结合拉丁与阿语/希伯来文生成LaTeX的问题

问题分析与解决方案

你的核心错误

  1. 配置中错误地将\hebrewfont的脚本设置为Script=Arabic,希伯来文对应的脚本应为Script=Hebrew。
  2. 嵌入英文单词的阿拉伯字符未被polyglossia识别为阿拉伯语环境,因此仍会调用主字体Brill(缺少对应字符),导致显示方框。

最优解决方案(自动字符回退,无需手动标记)

直接通过fontspec为主字体设置** fallback 字体**,当Brill缺少目标字符时,自动切换到对应字体显示,无需额外语言标记,适合嵌入字符的场景:

---
mainfont: "Brill"
mainfontoptions:
  - RawFeature=+fallback=Scheherazade New;+fallback=Amiri
header-includes:
  - \usepackage{fontspec}
---

# English only
Lorem ipsum

# English with Arabic
oﺵﻉerim

# Hebrew text
שלום עולם

备选方案(明确语言环境,适合连续非英文段落)

若需要对连续的阿拉伯/希伯来文段落做语言标记,需修正polyglossia配置,并手动包裹非英文内容:

---
mainfont: "Brill"
header-includes:
  - \usepackage{polyglossia}
  - \setmainlanguage{english}
  - \setotherlanguage{arabic}
  - \setotherlanguage{hebrew}
  - \newfontfamily\arabicfont[Script=Arabic]{Scheherazade New}
  - \newfontfamily\hebrewfont[Script=Hebrew]{Amiri}
---

# English only
Lorem ipsum

# English with Arabic
o\textarabic{ﺵﻉ}erim

# Hebrew paragraph
\texthebrew{שלום עולם,这是一段连续的希伯来文文本}

另一种高效方案(使用babel自动识别脚本)

babel对XeLaTeX的字体切换支持更智能,可自动检测字符所属脚本并切换字体:

---
mainfont: "Brill"
header-includes:
  - \usepackage[english,arabic,hebrew]{babel}
  - \babelfont{rm}{Brill}
  - \babelfont[arabic]{rm}{Scheherazade New}
  - \babelfont[hebrew]{rm}{Amiri}
---

# English only
Lorem ipsum

# English with Arabic
oﺵﻉerim

# Hebrew text
שלום עולם

内容的提问来源于stack exchange,提问作者bulbul

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 13:24:53