Ueauty

The Julia language is unique in that the base language provides unicode aliases for a number of commonly used symbols, the default language REPL has built-in LaTeX to unicode conversion, and it is arguably the only programming language where use of unicode symbols is common even in purely English language programs. Additionally, nearly all Julia editor plug-ins contain some form of LaTeX to unicode conversion.

Unfortunately, while the provided aliases are extremely useful, there are quite a few missed opportunities as well.

This package is meant to provide additional aliases for universally recognized symbols as simply as possible, with 0 dependencies.

Note

While many monospace fonts have good unicode support for all Greek letters as well as some of the more common mathematical symbols, the JuliaMono font has been designed specifically with readable, consistent unicode in mind. In particular alternate type faces such as \mathcal (๐’œ, โ„ฌ, ๐“, ๐“Ž), \mathfrak (๐”„, ๐”…, ๐”ต, ๐”ถ), \mathbb (โ„, โ„ค, โ„‚), annotations eโƒ—, yฬ‚, xฬ„, as well as some operations such as โ†’, โ‡’ are much more consistent, readable and useable than in most other monospace fonts. I recommend you at least try it out.

Zero Dependencies

This package comes with a guarantee that no version of it will have any external dependencies except possibly in the Julia stdlib. This is to ameliorate any possible concerns about package bloat, and to make its use as close to the base language as possible

Safe, Universally Recognized Definitions

This package only defines symbols which are universally recognized (of course, your mileage may vary) and unlikely to be used in existing code (at least with any meaning other than used here).

For example, this package does NOT define const ฯต = eps (likewise it does NOT define ฮต) both because those are expected to be commonly used as variable names in code, and because they are not universally recognized as floating point $\epsilon$.

Macros

Unicode aliases are provided by the following macros, all of which are exported from the package.

Aliases can be declared by category, or all available can be defined with

Ueauty.@ueauty โ€” Macro
@ueauty

Declare all unicode aliases defined in Ueauty. See documentation for an explicit list.

Types

Ueauty.@ueauty_types โ€” Macro
@ueauty_types

Declare nice unicode aliases for Julia types. See documentation for an explicit list.

This macro provides the following symbols.

SymbolLaTeX-to-UnicodeDefined asDescription
โ„\bbRRealReal number abstract type.
โ„‚\bbCComplexComplex number abstract type.
โ„ค\bbZIntegerIntegral number abstract type.
โ„š\bbQRationalRational number abstract type.

Constants

Ueauty.@ueauty_constants โ€” Macro
@ueauty_constants

Declare nice unicode aliases for some special constant values. See documentation for an explicit list.

This macro provides the following symbols.

SymbolLaTeX-to-UnicodeDefined asDescription
๐’พ\scriimThe imaginary unit.
โˆž\inftyInfFloating point infinity.
โˆ…\emptysetSet{T}()An empty set of type T, for example โˆ…(Float64) == Set(Float64[]).
Ueauty.โˆ… โ€” Function
โˆ…(T=Any)

Return an empty set with elements of type T.

Operators

Ueauty.@ueauty_operators โ€” Macro
@ueauty_operators

Declare nice unicode aliases for some common operators. See documentation for an explicit list.

This macro provides the following symbols.

SymbolLaTeX-to-UnicodeDefined asDescription
โˆ‘\sumsumSummation operation.
โˆ\prodprodProduct operation.
โ‡’\Rightarrow=>The Pair operator.
โ–ท\triangleright|>The "pipe" operator.
Note

The โˆ‘ and โˆ characters are NOT the same as ฮฃ and ฮ , so the symbols ฮฃ and ฮ  are still available for regular use. With a good enough unicode font the distinction should be clear.