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
\name
is typed, there is a symbol calledname
, and no other symbol starts withname
; - When
\nameX
is typed (forX
any 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