在 lyx 中输入波斯语时使用零宽度空格

在 lyx 中输入波斯语时使用零宽度空格

我想使用 Lyx 用波斯语书写。波斯语中有一个名为“零宽度空格”或“半空格”的空格字符,在标准键盘中,我们用“Shift-Space”快捷键输入它。它在 utf-8 编码中是“U-200C”。

(有关零宽度空间的更多信息:https://en.wikipedia.org/wiki/Zero-width_space

在 Lyx 中我无法输入该内容,当按下“Shift-Space”时没有任何反应。我尝试指定一个新的快捷键来模仿该操作,但 Lyx 无法识别波斯语键盘中的这种组合。此外,我更改了 .kmap 中的一些定义,但没有效果。

我认为问题在于,当我按住 Shift 键时,Lyx 会重新映射键盘,这样“Shift-Space”就没有任何意义了。此外,当我复制粘贴一些包含零宽度空格的波斯语文本时,Lyx 会将它们全部替换为简单空格。在其他 latex 编辑器中没有问题,无论是打字还是编译。

谢谢。

答案1

在具有 UTF-8 系统语言环境的 Linux 上使用 LyX 2.3.3 并输入 UTF-8 字符U+200B将在隐藏的 LaTeX 前言中产生此内容(仅在代码预览窗格中可见):

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.

\newcommand*\LyXZeroWidthSpace{\hspace{0pt}}

\LyXZeroWidthSpace并且文档主体中的字符被宏改变了 ,主编辑窗口中没有显示任何内容。

如何U+200B在键盘上打字是另一个问题,因为它依赖于操作系统、程序,也可能依赖于键盘语言。

在我的 Linux 中,使用西班牙语键盘和 UTF-8 系统语言环境,输入:

CtrlShift+u200b

我无法在 Windows 上测试,但谷歌表示,确保Num Lock 已打开,您可以使用数字键盘

Alt+{ 8203} 或者

Alt+{ 200}B

也就是说,Alt在用右侧数字键输入所有数字时,保持按下状态,但不是通常在Fx琴键下面。

如果这些都不起作用,那么您的操作系统/键盘就必须有另一种特定的方法来输入键盘上没有专用键的特殊 uft-8 字符。

U+200C(“ZERO WIDTH NON-JOINER”,而不是“ZERO WIDTH SPACE”)的情况类似,但更简单,因为它被\textcompwordmark已经定义的替换(因此,序言中没有添加任何内容)。在 Superuser 中,有一个问题如何输入 u+200C其中包括针对波斯语或阿拉伯语键盘的具体答案。

相关内容