Usage | Installation | Changelog | Features | Known Issues | References
This script adds all the Unicode character abbreviations supported by Julia to AutoKey. However, instead of [TAB]
, they are triggered on [SPACE]
. If you do not want to perform the replacement, simply hit [BACKSPACE]
afterwards.
- Install AutoKey. Only works on X11, no Wayland support.
- Execute
install.py
(requires python ≥3.10) - Restart AutoKey
For overview see Supported Alphabets
- Work even when MathJax / LaTeX is not available (e.g. E-mails, chat clients, etc.)
- Is character efficient (e.g. when writing comments on https://math.stackexchange.com)
- Increases readability of source code.
- Copy-paste persistent.
- MathJax supports Unicode characters:
$\sin(\theta)$
and$\sin(θ)$
should look exactly the same. - LuaLaTeX has Unicode compatibility, at least in math-mode when using the unicode-math package.
- For PDFLaTeX, the package
unicode-symbols.sty
is provided. (should also work with lualatex)
𝓝
or ℒ
. If you want to use these characters, you need to compile your document locally (details).
To create single characters of the given alphabet, simply type \<modifier><char><space>
.
- For blackboard bold R,
ℝ
, type\bbR␣
. - For a circled one,
①
, type\o1␣
. - For a bold italic capital gamma,
𝜞
, type\biGamma␣
. - For the sub and superscripts,
Xᵢ²
, typeX\_i␣\^2␣
. - For the Roman numeral
Ⅷ
(this is a single UTF-8 glyph, and notV
+I
+I
+I
), type\RM8␣
.
family | \bf<> |
\it<> |
\bi<> |
---|---|---|---|
Latin | 𝐚𝐛𝐜𝐀𝐁𝐂 | 𝑎𝑏𝑐𝐴𝐵𝐶 | 𝒂𝒃𝒄𝑨𝑩𝑪 |
Greek | 𝛂𝛃𝛄𝚨𝚩𝚪 | 𝛼𝛽𝛾𝛢𝛣𝛤 | 𝜶𝜷𝜸𝜜𝜝𝜞 |
Digits | 𝟎𝟏𝟐 | ⸻ | ⸻ |
family | \sans<> |
\bsans<> |
\isans<> |
\bisans<> |
---|---|---|---|---|
Latin upper | 𝖠𝖡𝖢 | 𝗔𝗕𝗖 | 𝘈𝘉𝘊 | 𝘼𝘽𝘾 |
Latin lower | 𝖺𝖻𝖼 | 𝗮𝗯𝗰 | 𝘢𝘣𝘤 | 𝙖𝙗𝙘 |
Greek upper | ⸻ | 𝝖𝝗𝝘 | ⸻ | 𝞐𝞑𝞒 |
Greek lower | ⸻ | 𝝰𝝱𝝲 | ⸻ | 𝞪𝞫𝞬 |
Digits | 𝟢𝟣𝟤 | 𝟬𝟭𝟮 | ⸻ | ⸻ |
family | \tt<> |
\bb<> |
\frak<> |
\bfrak<> |
\scr<> |
\bscr<> |
---|---|---|---|---|---|---|
Latin upper | 𝙰𝙱𝙲 | 𝔸𝔹ℂ | 𝔄𝔅ℭ | 𝕬𝕭𝕮 | 𝒜ℬ𝒞 | 𝓐𝓑𝓒 |
Latin lower | 𝚊𝚋𝚌 | 𝕒𝕓𝕔 | 𝔞𝔟𝔠 | 𝖆𝖇𝖈 | 𝒶𝒷𝒸 | 𝓪𝓫𝓬 |
Digits | 𝟶𝟷𝟸 | 𝟘𝟙𝟚 | ⸻ | ⸻ | ⸻ | ⸻ |
family | \<>. |
\rm<> |
\RM<> |
---|---|---|---|
0 | ⸻ | ⸻ | ⸻ |
1 | ⒈ | ⅰ | Ⅰ |
2 | ⒉ | ⅱ | Ⅱ |
3 | ⒊ | ⅲ | Ⅲ |
family | \^<> |
\_<> |
\o<> |
\(<>) |
\sc<> |
\fw<> |
---|---|---|---|---|---|---|
Latin upper | ᴵᴶᴷ | ⸻ | ⒶⒷⒸ | ⸻ | ᴀʙᴄᴅ | ABC |
Latin lower | ⁱʲᵏ | ᵢⱼₖ | ⓐⓑⓒ | ⒜⒝⒞ | ⸻ | abc |
Greek upper | ⸻ | ⸻ | ⸻ | ⸻ | ⸻ | ⸻ |
Greek lower | ᵝᵞᵠ | ᵦᵧᵩ | ⸻ | ⸻ | ⸻ | ⸻ |
Digits | ⁰¹² | ₀₁₂ | ⓪①② | ⑴⑵⑶ | ⸻ | 012 |
Note: Generally here not all characters are available:
- Small capital letters is missing
\scX
. - Sub- and superscripts is missing quite a few letters, see: https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts.
- When using the
Markdown All in One
extension for VS Code, make sure to disable thebackspace
hotkey, otherwiseAutoKey
will not be able to insert the Unicode characters. - So far was only tested with Ubuntu 20.04 LTS and
Autokey
0.95.10 - Seems to behave weird with Gnome Terminal, no idea what's going on.
- Can show strange behavior with VS Code.
- Seems fixable by deleting all
[shift]+[insert]
hotkeys combinations. (File > Preferences > Keyboard Shortcuts
) - Our macros here insert symbols with
[shift]+[insert]
and VS Code seems to mess with that
- Seems fixable by deleting all
- Composed characters seem to not always work as intended, not many editors render them correctly.
- Doesn't support multiple sub/super-scripts like Julia does (e.g. in REPL,
a\^(k)+[TAB]
) givesa⁽ᵏ⁾
. WithAutoKey
we need to add the superscripts one at a time. - Seems like it doesn't work with a German keyboard because
AutoKey
interprets\
and[AltGr]+?
(what you type on a German keyboard to get backslash) as different things.
- 2024-04-04: Added transpose and hermitian transpose:
A𞁀
andAᵸ
. (use\transpose
/\hermitian
or provisional\tp
/\htp
) - 2024-04-02: Added missing letter-like symbols
- 2024-03-08: Revamped the installation script, refactored the installation procedure.
- 2024-02-27: Added italic and bold italic Greek variants to
unicode-symbols.sty
. - 2024-02-26: Combining subscripts:
$xᵢⱼ$
will render identically to$x_{ij}$
($x_{ij}$ ). - 2024-01-23:
⚠️ New⚠️ : Addedunicode-symbols.sty
which provides a useful subset of the Unicode characters for usage withpdflatex
.