UnicodeMath
===========
[![Package Control](https://packagecontrol.herokuapp.com/downloads/UnicodeMath.svg?style=flat-square)](https://packagecontrol.io/packages/UnicodeMath) [![Join the chat at https://gitter.im/UnicodeMath/UnicodeMath](https://badges.gitter.im/UnicodeMath/UnicodeMath.svg)](https://gitter.im/UnicodeMath/UnicodeMath?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![PayPal][paypal-donate-image]][paypal-donate-link] [![Flattr this git repo][flattr-donate-image]][flattr-donate-link]
[paypal-donate-image]: https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif
[paypal-donate-link]: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=voidex%40live%2ecom&lc=US&no_note=0¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHostedGuest
[flattr-donate-image]: http://api.flattr.com/button/flattr-badge-large.png
[flattr-donate-link]: https://flattr.com/submit/auto?user_id=voidex&url=https://github.com/UnicodeMath/UnicodeMath&title=UnicodeMath&language=&tags=github&category=software
Plugin for Sublime for inserting unicode math symbols
Installation
---
Install via [PackageControl](https://packagecontrol.io) or `git clone` in your Packages directory (Select `Preferences → Browse Packages...` to open right packages directory).
Usage
-----
![Input](Images/Input.gif)
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
-----
Emoji's names starts with colon (`:`)
![Emoji](Images/Emoji.gif)
Special
---
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₁₊₂ₖ![Script](Images/Script.gif) 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 --- Hex-code of unicode symbol can be also used in one of these formats:
\u12ba \U0001d7be \U+1F1D1To explicitly convert (or convert back) use commands **UnicodeMath: Convert**, **UnicodeMath: Convert Back**, **UnicodeMath: Convert Back (Code)**. Selection convert is also available: ![SelectionConvert](Images/SelectionConvert.gif) To select symbols from list, use command **UnicodeMath: Insert** Instant conversion ------------------ Instant conversion allows eager conversion of symbols in the following situations: 1. When `\name` is typed, there is a symbol called `name`, and no other symbol starts with `name`; 2. When `\nameX` is typed (for `X` any character), there is a symbol called `name`, but none that starts with `nameX`. 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. Settings -------- 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](https://github.com/mvoidex/UnicodeMath/issues/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": trueEnable (default) or disable converting multichar sub- and superscripts:
"convert_sub_super": trueEnable (default) or disable converting list of chars with prefix:
"convert_list": trueEnable or disable (default) instant conversion:
"convert_instantly": trueEnable or disable (default) treating a non-ambiguous prefix of a symbol name as the full name:
"accept_prefixes": trueFont settings --- 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"]Symbols table --- You can see all predefined [emoji](emoji.md), [symbols and synonyms](table.md)