排版混合了阿拉伯文和拉丁文的文档,无需烦人的标记

排版混合了阿拉伯文和拉丁文的文档,无需烦人的标记

如何在无需繁琐标记的情况下直接在 RTL 文本中插入 LTR 脚本?(考虑一本语言学习书。)

编写以下文本最简洁的方法是什么?

Aa bb cc ااا ببب تتت dd ee ff.

或者

ااا ببب ثثث aa bb cc تتت خخ.

如果我不使用外部标记,则的输出One Two ThreeThree Two One在 RTL 文档中,而的输出یک دو سهسه دو یک在 LTR 文档中。

另请参阅:RTL 文本中的 LTR 序列——繁琐标记的替代品?

答案1

不可以。XeTeX 会单独处理每个单词,不会将 BiDi 算法应用于整个段落。可以使用 interchar 类进行非常原始的 BiDi 处理,但这种方法太有限,不可靠(因为 BiDi 处理的性质以及 interchar 类不适用于此类用例的事实)。

PS我有Lua 中的 Bidi 算法实现我使用 ConTeXt,但是除了我的个人文档之外,它没有经过很好的测试,并且我停止为它提供 LaTeX 包。

相关内容