UTF8数学符号和键盘布局/输入


11

我想在输入一个列表另一个列表时使用UTF8数学符号。

我找到了一个叫做ComposeKey的东西。不幸的是,它没有覆盖欧米茄,θ,右箭头等。

我正在使用KDE,我已经尝试了全局快捷方式,但是似乎不起作用。

如何使用键盘组合(例如Meta + S)设置键入utf8符号(例如:Θ,Ω,∃,∀,⇒,→)?


1
除了一些非常简短的数学公式外,该方法无法处理许多常见情况,例如分数,pedices,指数等。更结构化的方法是比较喜欢,例如胶乳,MATHML,mathjax等
enzotib

4
仅使用希腊字母的一种简单方法:添加希腊语键盘布局并在键入时在它之间来回切换(可能不太舒服)。
rozcietrzewiacz 2011年

对于那些感兴趣的人:在某些情况下,您只想在UTF8中键入简单的公式-例如->当您是学术老师时,并回答学生的电子邮件。有时您在讨论某事时喜欢在IM上写公式。
2011年

@rozcietrzewiacz,好主意,开关可能是<kbd> Caps Lock </ kbd>。
JMCF125 2014年

Answers:


9

您可以为Compose键定义自己的表:.XCompose在主目录中创建一个名为的文件。您需要定义整个表(不能将定义添加到系统默认值中,如果需要,您必须将系统默认值复制到文件中)。

您可以/usr/share/X11/locale/en_US.UTF-8/Compose在Debian和Ubuntu上以及其他unice的相似位置中找到系统默认表。格式应相当简单;典型的定义如下所示:

<dead_acute> <a> : "á" aacute         # a dead key: press Dead_acute then A to insert "á"
<Multi_key> <acute> <a> : "á" aacute  # Press Compose, ', A to insert "á"
<Multi_key> <g> <a> : "α" U03B1       # 03B1 is the hexadecimal code of "α"
<Multi_key> <M> <A> : "∀" U2200      # 2200 is the hexadecimal code of "∀"
<Multi_key> <minus> <greater> : "→" U2192
<Multi_key> <bar> <minus> <greater> : "↦" U21A6

ASCII字符和其他一些具有符号名;您会在中找到这些名称/usr/include/X11/keysymdef.h。例如,-minus因为keysymdef.h包含行#define XK_minus 0x002d,2d是的十六进制代码-

您可以使用两个以上字符的序列,|->如上例所示。请注意,如果您为定义了一个合成序列|->,则不能有另一个|-

如果您愿意AltGr+ key₁ʹkey₂Composekey₁key₂那么你就可以绑定AltGr+ key₁ʹ与xmodmap的一个死键。不一定是福气,请注意,您仅限于中列出的死键名称/usr/include/X11/keysymdef.h

对于您经常不常用来记住键序列的字符,可以使用KCharSelect(或其Gnome等值GUCharMap)。或执行数学家常用的操作,即键入\ LaTeX。


即使在LaTeX中,使用unicode字符而不是宏也可以使数学更易读。
Evpok 2012年

值得一提的是,数学unicode(wiki上的部分表)总有一些字符应该放在单独的布局上,即:«»。
Hi-Angel

2

我发现了一个有趣的工具,用于根据您使用的应用程序不同地转换xorg事件:

此处:特定于应用程序的映射

应用程序:evrouter(即将推出新版本:evoruter2

根据本主题,可以仅在与数学相关的应用中使用它来为数学符号添加特定的映射。


2
那很有意思。当然,具有特定于应用程序的键绑定的另一种方法是使用支持此功能的Windows管理器(我使用sawfish)。不幸的是,这不是一个共同的功能。
吉尔斯(Gilles)'所以

我同意你的看法。我已经在sawfish屏幕截图中看到“与KDE结合的锯鱼组合”,我希望这样的组合能够得到普及,例如不太受欢迎的WM经理。(顺便说一句,我必须结帐锯鱼)。我可怜的Lisp太可惜了,无法做我想做的事情。
2011年
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.