Skip to content

Plugin for Sublime for inserting unicode math symbols and emoji

Notifications You must be signed in to change notification settings

mvoidex/UnicodeMath

Repository files navigation

UnicodeMath

Package Control Join the chat at https://gitter.im/UnicodeMath/UnicodeMath PayPal Flattr this git repo

Plugin for Sublime for inserting unicode math symbols

Installation

Install via PackageControl or git clone in your Packages directory (Select Preferences → Browse Packages... to open right packages directory).

Usage

Input

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

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

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+1F1D1

To explicitly convert (or convert back) use commands UnicodeMath: Convert, UnicodeMath: Convert Back, UnicodeMath: Convert Back (Code). Selection convert is also available:

SelectionConvert

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 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

Font 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, symbols and synonyms

About

Plugin for Sublime for inserting unicode math symbols and emoji

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages