Plugin for Sublime for inserting unicode math symbols
Install via PackageControl or git clone in your Packages directory (Select Preferences → Browse Packages... to open right packages directory).
Input backslash and name of unicode symbol (for example \forall) then insert space and text will be automatically converted to ∀
To insert space use shift+space
You can disable conversion on space by setting convert_on_space to false.
Emoji's names starts with colon (:)
There are also special way to convert subscripts and superscripts with several symbols, just input several symbols after \_ or \^:
S\^1+2k → S¹⁺²ᵏ S\_1+2k → S₁₊₂ₖ
You can also convert list of chars with special prefix via \\prefix\abc, which will be equivalent to \prefixa \prefixb and \prefixc, for example:
\\Bbb\ABCabc → 𝔸𝔹ℂ𝕒𝕓𝕔
Hex-code of unicode symbol can be also used in one of these formats:
\u12ba \U0001d7be \U+1F1D1
To explicitly convert (or convert back) use commands UnicodeMath: Convert, UnicodeMath: Convert Back, UnicodeMath: Convert Back (Code). Selection convert is also available:
To select symbols from list, use command UnicodeMath: Insert
Instant conversion allows eager conversion of symbols in the following situations:
- When
\nameis typed, there is a symbol calledname, and no other symbol starts withname; - When
\nameXis typed (forXany character), there is a symbol calledname, but none that starts withnameX.
The intent is to remove control keystrokes and get the same result as when typing LaTeX code; for instance typing \delta \subseteq \pi(f) with instant conversion enabled will input δ ⊆ π(f).
When using instant conversion it is recommended to disable accept_prefixes. convert_on_space can also be disabled to make a space after a symbol name use case 2 above instead of activating the conversion command.
You can add custom symbols into symbol-table in UnicodeMath settings (Preferences → Package Settings → UnicodeMath → Settings — User or command "Preferences: UnicodeMath Settings — User")
(Note: don't use characters fom word_separators, see #19 issue for details)
"symbols": {
"mysymbol": "\u0021",
"myothersymbol": "\u2080",
"shortcode": "\\u0021", // code within string
"longcode": "\\U00000021",
"pluscode": "\\U+12345",
"manycodes": "\\U+12345\\u0020",
"codes-and-text": "Foo\\U+12345"
}
Synonyms for existing symbols can also be set:
"synonyms": {
"mys": "mysymbol"
}
Now \mys will insert the same symbol as \mysymbol.
Disable plugin for specific syntaxes (most common and default is 'latex'):
"ignore_syntax": ["latex"]
Enable (default) or disable converting hex-codes:
"convert_codes": true
Enable (default) or disable converting multichar sub- and superscripts:
"convert_sub_super": true
Enable (default) or disable converting list of chars with prefix:
"convert_list": true
Enable or disable (default) instant conversion:
"convert_instantly": true
Enable or disable (default) treating a non-ambiguous prefix of a symbol name as the full name:
"accept_prefixes": true
I prefer using Lucida Sans Unicode, it contains many unicode symbols.
"font_face": "Lucida Sans Unicode"
I also recommend to set directwrite font option on Windows to allow font-substitution for unknown unicode symbols
"font_options": ["directwrite"]
You can see all predefined emoji, symbols and synonyms





