如何使用撰写键创建小写pi(“π”)?


14

我很确定我曾经能够使用创建小写的pi字符Composepi(例如fsymbols.com上的描述),但是它不再起作用。我的撰写键适用于其他字符(例如Composeaa“å”),那么可能出什么问题了?

我没有/usr/share/X11/locale/en_GB.utf8/Compose(或~/.XCompose),应该安装/生成某些东西吗?有一个/usr/share/X11/locale/en_US.utf8/Compose; 将其符号链接/usr/share/X11/locale/en_GB.utf8/Compose以解决此问题是否足够?

$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=

分拆问题


您正在使用什么发行版?这可能是输入法问题(uim,xim)。
Klaatu von Schlacker 2015年

Answers:


5

X11撰写列表通常位于下面/usr/share/X11/locale/(尽管此位置在发行版之间可能有所不同),但是该Compose文件不一定位于以您的LC_CTYPE设置命名的目录中。有一个通过文件转换语言环境名称的阶段/usr/share/X11/locale/compose.dir。这种转换允许许多语言环境共享相同的撰写文件。(本来可以使用符号链接,但是文本文件更易于分发,并且可以在不具有符号链接的平台上工作-X11存在于Unix之外。)大多数使用UTF-8编码的语言环境拉丁字母用于的撰写文件en_US.UTF-8,位于en_US.UTF-8/Compose

在中en_US.UTF-8/Compose,生成U03C0(GREEK SMALL LETTER PI)的唯一方法是<dead_greek> <p>。没有<Multi_key>Compose)序列。在X.org分发的键盘布局中,唯一定义dead_greek按键的是BÉPO布局(DVORAK的法语类似物)。因此,无法π使用默认配置下的Compose键键入内容。并且默认英国布局不包括一种方法来输入π(美国苹果布局(,甚至没有在XKB变种us(mac))会给你πAltGr+ P不过)。

据我所知,从来没有π在Xorg 上插入标准的Compose序列。如果您还记得一个,那么您可能是X11的内置机制之外的一种输入方法。


13

就像其他人提到的那样,X中没有针对π的标准组合规则,因此,如果您想使用compose来制作π符号(就像我刚才所做的那样),则可以:

  • 安装uim
  • 创建 ~/.XCompose
  • 放置您需要的规则
  • 不要忘记使用以下文件启动文件 include "%L"

我的看起来像这样:

include "%L"

<Multi_key> <l> <l>                 : "ℓ"   U2113     # litre symbol
<Multi_key> <p> <i>                 : "π"   U03C0     # GREEK SMALL LETTER PI

这适用于Debian。它确实会影响Ctrl-Shift-u的工作方式。


在Gentoo上使用xorg服务器1.17.4对我来说似乎不起作用。我恰好使用了上面的内容,启动了一个新的终端,使用了compose键,pi但没有显示。
巴维尔·希默达(PavelŠimerda)

2
@PavelŠimerda不好意思发表旧评论。您是否重新加载了DE / DM(可能有一种更优雅的方式来执行它,但我不知道;据我所知,X是处理Compose绑定的那个)。
omn​​inonsense

2
@omninonsense我唯一的问题是我使用.Xcompose而不是.XCompose。不需要重新加载Xorg或WM,它是在客户端(即Web浏览器或控制台)启动时读取的。谢谢!
PavelŠimerda'18

4

这不是超级方便,但是它可以工作:

如果在Compose文件中查找“ pi”符号:

% grep -i greek /usr/share/X11/locale/en_US.UTF-8/Compose | grep -i 'letter pi'
<dead_greek> <P>            : "Π"   U03A0    # GREEK CAPITAL LETTER PI
<dead_greek> <p>            : "π"   U03C0    # GREEK SMALL LETTER PI

您会看到小写π的组合是U03C0

因此,如果按ControlShiftu,然后键入03c0 Space,您将看到一个π符号。

这另一种方式工作是定义使用xmodmap的关键,但我曾与一些应用程序不响应的问题。


恐怕键盘快捷键不起作用(我尝试以Compose,Shift,u,Compose + Shift + u,Compose,Shift + u和Compose + Shift,u开头),而且很难记住。
l0b0

6
U03c0表示它是Unicode字符,其代码点为0x03c0。这并不意味着U键以任何方式参与键入。您可以键入Control + Shift + U(不是Compose + Shift + U),然后输入一个十六进制代码以按其Unicode代码点输入字符,但这是Gnome的东西,与撰写机制无关,并且在Gnome应用程序外部不可用(除非可能是全局使用Gnome启发式输入法,否则我不知道有哪些实现了该方法)。Cc @ l0b0
吉尔(

将答案更改为control-shift-u。并不打算暗示这与Compose有关;使用Compose获取Unicode数字,然后使用该数字生成π字符。就像我说的那样,不方便也不是“正确”的方式,而是可能的选择。
Klaatu von Schlacker 2015年

2

使用unicode撰写[shift] + [control] + U然后03A0


我的系统没有任何反应,只需键入03a0。
彼得-恢复莫妮卡

按住Shift + Ctrl + u并键入03a0,然后对于大写Pi(Π),键入03c0对于小写Pi(π)。对我来说,在Manjaro Linux上它可以工作。
刺激

1

一种选择是将键盘设置更改为使用希腊语,然后按“ p”(小写,即大写锁定)


这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。- 评论
shirish '17

2
我没有批评。我是希腊人,在编写一些文档时遇到了同样的问题,最终我使用了最简单的方法。
克里斯·夏亚拉斯

-2

在我的配置中(大多数情况下是默认设置), * 希腊字母是Compose前缀,因此可以用组成小写的pi Compose * p

但是,其他配置包括更多的视觉构造,因此您可能还会看到是否Compose"~可行。


1
对不起,这些都不起作用。
l0b0 2015年

1
X11随附的任何Compose表中都没有。也许还有其他一些输入法可以提供这种组合,但是如果您不指定哪个答案,此答案将无用。
吉尔斯(Gilles)“所以,别再邪恶了”

5
也许这是来自github.com/kragen/xcompose
Mikel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.