Module: LatexToUnicode

Defined in:
lib/data.rb,
lib/translate.rb,
lib/latex_grammar.rb,
lib/latex-to-unicode.rb

Defined Under Namespace

Modules: Latex Classes: LatexParser

Constant Summary collapse

ALIASES =
{
  "\\mathfrak" => "\\frak",
  "\\mathcal" => "\\cal",
  "\\mathbf" => "\\bf",
  "\\mathbb" => "\\bb",
  "\\ldots" => "\\dots",
  "\\dfrac" => "\\frac"
}
BB =
{
  "z" => "๐•ซ",
  "y" => "๐•ช",
  "x" => "๐•ฉ",
  "w" => "๐•จ",
  "v" => "๐•ง",
  "u" => "๐•ฆ",
  "t" => "๐•ฅ",
  "s" => "๐•ค",
  "r" => "๐•ฃ",
  "q" => "๐•ข",
  "p" => "๐•ก",
  "o" => "๐• ",
  "n" => "๐•Ÿ",
  "m" => "๐•ž",
  "l" => "๐•",
  "k" => "๐•œ",
  "j" => "๐•›",
  "i" => "๐•š",
  "h" => "๐•™",
  "g" => "๐•˜",
  "f" => "๐•—",
  "e" => "๐•–",
  "d" => "๐••",
  "c" => "๐•”",
  "b" => "๐•“",
  "a" => "๐•’",
  "Z" => "โ„ค",
  "Y" => "๐•",
  "X" => "๐•",
  "W" => "๐•Ž",
  "V" => "๐•",
  "U" => "๐•Œ",
  "T" => "๐•‹",
  "S" => "๐•Š",
  "R" => "โ„",
  "Q" => "โ„š",
  "P" => "โ„™",
  "O" => "๐•†",
  "N" => "โ„•",
  "M" => "๐•„",
  "L" => "๐•ƒ",
  "K" => "๐•‚",
  "J" => "๐•",
  "I" => "๐•€",
  "H" => "โ„",
  "G" => "๐”พ",
  "F" => "๐”ฝ",
  "E" => "๐”ผ",
  "D" => "๐”ป",
  "C" => "โ„‚",
  "B" => "๐”น",
  "A" => "๐”ธ",
  "9" => "๐Ÿก",
  "8" => "๐Ÿ ",
  "7" => "๐ŸŸ",
  "6" => "๐Ÿž",
  "5" => "๐Ÿ",
  "4" => "๐Ÿœ",
  "3" => "๐Ÿ›",
  "2" => "๐Ÿš",
  "1" => "๐Ÿ™",
  "0" => "๐Ÿ˜"
}
BF =
{
  "โˆ‡" => "๐›",
  "โˆ‚" => "๐››",
  "ฯต" => "๐›œ",
  "ฯด" => "๐šน",
  "ฯฑ" => "๐› ",
  "ฯฐ" => "๐›ž",
  "ฯ–" => "๐›ก",
  "ฯ•" => "๐›Ÿ",
  "ฯ‘" => "๐›",
  "ฯ‰" => "๐›š",
  "ฯˆ" => "๐›™",
  "ฯ‡" => "๐›˜",
  "ฯ†" => "๐›—",
  "ฯ…" => "๐›–",
  "ฯ„" => "๐›•",
  "ฯƒ" => "๐›”",
  "ฯ‚" => "๐›“",
  "ฯ" => "๐›’",
  "ฯ€" => "๐›‘",
  "ฮฟ" => "๐›",
  "ฮพ" => "๐›",
  "ฮฝ" => "๐›Ž",
  "ฮผ" => "๐›",
  "ฮป" => "๐›Œ",
  "ฮบ" => "๐›‹",
  "ฮน" => "๐›Š",
  "ฮธ" => "๐›‰",
  "ฮท" => "๐›ˆ",
  "ฮถ" => "๐›‡",
  "ฮต" => "๐›†",
  "ฮด" => "๐›…",
  "ฮณ" => "๐›„",
  "ฮฒ" => "๐›ƒ",
  "ฮฑ" => "๐›‚",
  "ฮฉ" => "๐›€",
  "ฮจ" => "๐šฟ",
  "ฮง" => "๐šพ",
  "ฮฆ" => "๐šฝ",
  "ฮฅ" => "๐šผ",
  "ฮค" => "๐šป",
  "ฮฃ" => "๐šบ",
  "ฮก" => "๐šธ",
  "ฮ " => "๐šท",
  "ฮŸ" => "๐šถ",
  "ฮž" => "๐šต",
  "ฮ" => "๐šด",
  "ฮœ" => "๐šณ",
  "ฮ›" => "๐šฒ",
  "ฮš" => "๐šฑ",
  "ฮ™" => "๐šฐ",
  "ฮ˜" => "๐šฏ",
  "ฮ—" => "๐šฎ",
  "ฮ–" => "๐šญ",
  "ฮ•" => "๐šฌ",
  "ฮ”" => "๐šซ",
  "ฮ“" => "๐šช",
  "ฮ’" => "๐šฉ",
  "ฮ‘" => "๐šจ",
  "z" => "๐ณ",
  "y" => "๐ฒ",
  "x" => "๐ฑ",
  "w" => "๐ฐ",
  "v" => "๐ฏ",
  "u" => "๐ฎ",
  "t" => "๐ญ",
  "s" => "๐ฌ",
  "r" => "๐ซ",
  "q" => "๐ช",
  "p" => "๐ฉ",
  "o" => "๐จ",
  "n" => "๐ง",
  "m" => "๐ฆ",
  "l" => "๐ฅ",
  "k" => "๐ค",
  "j" => "๐ฃ",
  "i" => "๐ข",
  "h" => "๐ก",
  "g" => "๐ ",
  "f" => "๐Ÿ",
  "e" => "๐ž",
  "d" => "๐",
  "c" => "๐œ",
  "b" => "๐›",
  "a" => "๐š",
  "Z" => "๐™",
  "Y" => "๐˜",
  "X" => "๐—",
  "W" => "๐–",
  "V" => "๐•",
  "U" => "๐”",
  "T" => "๐“",
  "S" => "๐’",
  "R" => "๐‘",
  "Q" => "๐",
  "P" => "๐",
  "O" => "๐Ž",
  "N" => "๐",
  "M" => "๐Œ",
  "L" => "๐‹",
  "K" => "๐Š",
  "J" => "๐‰",
  "I" => "๐ˆ",
  "H" => "๐‡",
  "G" => "๐†",
  "F" => "๐…",
  "E" => "๐„",
  "D" => "๐ƒ",
  "C" => "๐‚",
  "B" => "๐",
  "A" => "๐€",
  "9" => "๐Ÿ—",
  "8" => "๐Ÿ–",
  "7" => "๐Ÿ•",
  "6" => "๐Ÿ”",
  "5" => "๐Ÿ“",
  "4" => "๐Ÿ’",
  "3" => "๐Ÿ‘",
  "2" => "๐Ÿ",
  "1" => "๐Ÿ",
  "0" => "๐ŸŽ"
}
CAL =
{
  "z" => "๐”ƒ",
  "y" => "๐”‚",
  "x" => "๐”",
  "w" => "๐”€",
  "v" => "๐“ฟ",
  "u" => "๐“พ",
  "t" => "๐“ฝ",
  "s" => "๐“ผ",
  "r" => "๐“ป",
  "q" => "๐“บ",
  "p" => "๐“น",
  "o" => "๐“ธ",
  "n" => "๐“ท",
  "m" => "๐“ถ",
  "l" => "๐“ต",
  "k" => "๐“ด",
  "j" => "๐“ณ",
  "i" => "๐“ฒ",
  "h" => "๐“ฑ",
  "g" => "๐“ฐ",
  "f" => "๐“ฏ",
  "e" => "๐“ฎ",
  "d" => "๐“ญ",
  "c" => "๐“ฌ",
  "b" => "๐“ซ",
  "a" => "๐“ช",
  "Z" => "๐“ฉ",
  "Y" => "๐“จ",
  "X" => "๐“ง",
  "W" => "๐“ฆ",
  "V" => "๐“ฅ",
  "U" => "๐“ค",
  "T" => "๐“ฃ",
  "S" => "๐“ข",
  "R" => "๐“ก",
  "Q" => "๐“ ",
  "P" => "๐“Ÿ",
  "O" => "๐“ž",
  "N" => "๐“",
  "M" => "๐“œ",
  "L" => "๐“›",
  "K" => "๐“š",
  "J" => "๐“™",
  "I" => "๐“˜",
  "H" => "๐“—",
  "G" => "๐“–",
  "F" => "๐“•",
  "E" => "๐“”",
  "D" => "๐““",
  "C" => "๐“’",
  "B" => "๐“‘",
  "A" => "๐“"
}
FRAK =
{
  "z" => "๐”ท",
  "y" => "๐”ถ",
  "x" => "๐”ต",
  "w" => "๐”ด",
  "v" => "๐”ณ",
  "u" => "๐”ฒ",
  "t" => "๐”ฑ",
  "s" => "๐”ฐ",
  "r" => "๐”ฏ",
  "q" => "๐”ฎ",
  "p" => "๐”ญ",
  "o" => "๐”ฌ",
  "n" => "๐”ซ",
  "m" => "๐”ช",
  "l" => "๐”ฉ",
  "k" => "๐”จ",
  "j" => "๐”ง",
  "i" => "๐”ฆ",
  "h" => "๐”ฅ",
  "g" => "๐”ค",
  "f" => "๐”ฃ",
  "e" => "๐”ข",
  "d" => "๐”ก",
  "c" => "๐” ",
  "b" => "๐”Ÿ",
  "a" => "๐”ž",
  "Z" => "โ„จ",
  "Y" => "๐”œ",
  "X" => "๐”›",
  "W" => "๐”š",
  "V" => "๐”™",
  "U" => "๐”˜",
  "T" => "๐”—",
  "S" => "๐”–",
  "R" => "โ„œ",
  "Q" => "๐””",
  "P" => "๐”“",
  "O" => "๐”’",
  "N" => "๐”‘",
  "M" => "๐”",
  "L" => "๐”",
  "K" => "๐”Ž",
  "J" => "๐”",
  "I" => "โ„‘",
  "H" => "โ„Œ",
  "G" => "๐”Š",
  "F" => "๐”‰",
  "E" => "๐”ˆ",
  "D" => "๐”‡",
  "C" => "โ„ญ",
  "B" => "๐”…",
  "A" => "๐”„"
}
IT =
{
  "โˆ‡" => "๐›ป",
  "โˆ‚" => "๐œ•",
  "ฯต" => "๐œ–",
  "ฯด" => "๐›ณ",
  "ฯฑ" => "๐œš",
  "ฯฐ" => "๐œ˜",
  "ฯ–" => "๐œ›",
  "ฯ•" => "๐œ™",
  "ฯ‘" => "๐œ—",
  "ฯ‰" => "๐œ”",
  "ฯˆ" => "๐œ“",
  "ฯ‡" => "๐œ’",
  "ฯ†" => "๐œ‘",
  "ฯ…" => "๐œ",
  "ฯ„" => "๐œ",
  "ฯƒ" => "๐œŽ",
  "ฯ‚" => "๐œ",
  "ฯ" => "๐œŒ",
  "ฯ€" => "๐œ‹",
  "ฮฟ" => "๐œŠ",
  "ฮพ" => "๐œ‰",
  "ฮฝ" => "๐œˆ",
  "ฮผ" => "๐œ‡",
  "ฮป" => "๐œ†",
  "ฮบ" => "๐œ…",
  "ฮน" => "๐œ„",
  "ฮธ" => "๐œƒ",
  "ฮท" => "๐œ‚",
  "ฮถ" => "๐œ",
  "ฮต" => "๐œ€",
  "ฮด" => "๐›ฟ",
  "ฮณ" => "๐›พ",
  "ฮฒ" => "๐›ฝ",
  "ฮฑ" => "๐›ผ",
  "ฮฉ" => "๐›บ",
  "ฮจ" => "๐›น",
  "ฮง" => "๐›ธ",
  "ฮฆ" => "๐›ท",
  "ฮฅ" => "๐›ถ",
  "ฮค" => "๐›ต",
  "ฮฃ" => "๐›ด",
  "ฮก" => "๐›ฒ",
  "ฮ " => "๐›ฑ",
  "ฮŸ" => "๐›ฐ",
  "ฮž" => "๐›ฏ",
  "ฮ" => "๐›ฎ",
  "ฮœ" => "๐›ญ",
  "ฮ›" => "๐›ฌ",
  "ฮš" => "๐›ซ",
  "ฮ™" => "๐›ช",
  "ฮ˜" => "๐›ฉ",
  "ฮ—" => "๐›จ",
  "ฮ–" => "๐›ง",
  "ฮ•" => "๐›ฆ",
  "ฮ”" => "๐›ฅ",
  "ฮ“" => "๐›ค",
  "ฮ’" => "๐›ฃ",
  "ฮ‘" => "๐›ข",
  "z" => "๐‘ง",
  "y" => "๐‘ฆ",
  "x" => "๐‘ฅ",
  "w" => "๐‘ค",
  "v" => "๐‘ฃ",
  "u" => "๐‘ข",
  "t" => "๐‘ก",
  "s" => "๐‘ ",
  "r" => "๐‘Ÿ",
  "q" => "๐‘ž",
  "p" => "๐‘",
  "o" => "๐‘œ",
  "n" => "๐‘›",
  "m" => "๐‘š",
  "l" => "๐‘™",
  "k" => "๐‘˜",
  "j" => "๐‘—",
  "i" => "๐‘–",
  "h" => "โ„Ž",
  "g" => "๐‘”",
  "f" => "๐‘“",
  "e" => "๐‘’",
  "d" => "๐‘‘",
  "c" => "๐‘",
  "b" => "๐‘",
  "a" => "๐‘Ž",
  "Z" => "๐‘",
  "Y" => "๐‘Œ",
  "X" => "๐‘‹",
  "W" => "๐‘Š",
  "V" => "๐‘‰",
  "U" => "๐‘ˆ",
  "T" => "๐‘‡",
  "S" => "๐‘†",
  "R" => "๐‘…",
  "Q" => "๐‘„",
  "P" => "๐‘ƒ",
  "O" => "๐‘‚",
  "N" => "๐‘",
  "M" => "๐‘€",
  "L" => "๐ฟ",
  "K" => "๐พ",
  "J" => "๐ฝ",
  "I" => "๐ผ",
  "H" => "๐ป",
  "G" => "๐บ",
  "F" => "๐น",
  "E" => "๐ธ",
  "D" => "๐ท",
  "C" => "๐ถ",
  "B" => "๐ต",
  "A" => "๐ด"
}
MONO =
{
  "z" => "๐šฃ",
  "y" => "๐šข",
  "x" => "๐šก",
  "w" => "๐š ",
  "v" => "๐šŸ",
  "u" => "๐šž",
  "t" => "๐š",
  "s" => "๐šœ",
  "r" => "๐š›",
  "q" => "๐šš",
  "p" => "๐š™",
  "o" => "๐š˜",
  "n" => "๐š—",
  "m" => "๐š–",
  "l" => "๐š•",
  "k" => "๐š”",
  "j" => "๐š“",
  "i" => "๐š’",
  "h" => "๐š‘",
  "g" => "๐š",
  "f" => "๐š",
  "e" => "๐šŽ",
  "d" => "๐š",
  "c" => "๐šŒ",
  "b" => "๐š‹",
  "a" => "๐šŠ",
  "Z" => "๐š‰",
  "Y" => "๐šˆ",
  "X" => "๐š‡",
  "W" => "๐š†",
  "V" => "๐š…",
  "U" => "๐š„",
  "T" => "๐šƒ",
  "S" => "๐š‚",
  "R" => "๐š",
  "Q" => "๐š€",
  "P" => "๐™ฟ",
  "O" => "๐™พ",
  "N" => "๐™ฝ",
  "M" => "๐™ผ",
  "L" => "๐™ป",
  "K" => "๐™บ",
  "J" => "๐™น",
  "I" => "๐™ธ",
  "H" => "๐™ท",
  "G" => "๐™ถ",
  "F" => "๐™ต",
  "E" => "๐™ด",
  "D" => "๐™ณ",
  "C" => "๐™ฒ",
  "B" => "๐™ฑ",
  "A" => "๐™ฐ",
  "9" => "๐Ÿฟ",
  "8" => "๐Ÿพ",
  "7" => "๐Ÿฝ",
  "6" => "๐Ÿผ",
  "5" => "๐Ÿป",
  "4" => "๐Ÿบ",
  "3" => "๐Ÿน",
  "2" => "๐Ÿธ",
  "1" => "๐Ÿท",
  "0" => "๐Ÿถ"
}
SUBSCRIPTS =
{
  "ฯ‡" => "แตช",
  "ฯ†" => "แตฉ",
  "ฯ" => "แตจ",
  "ฮณ" => "แตง",
  "ฮฒ" => "แตฆ",
  "x" => "โ‚“",
  "v" => "แตฅ",
  "u" => "แตค",
  "r" => "แตฃ",
  "o" => "โ‚’",
  "i" => "แตข",
  "e" => "โ‚‘",
  "a" => "โ‚",
  "=" => "โ‚Œ",
  "9" => "โ‚‰",
  "8" => "โ‚ˆ",
  "7" => "โ‚‡",
  "6" => "โ‚†",
  "5" => "โ‚…",
  "4" => "โ‚„",
  "3" => "โ‚ƒ",
  "2" => "โ‚‚",
  "1" => "โ‚",
  "0" => "โ‚€",
  "-" => "โ‚‹",
  "+" => "โ‚Š",
  ")" => "โ‚Ž",
  "(" => "โ‚"
}
SUPERSCRIPTS =
{
  "โˆŠ" => "แต‹",
  "ฯ‡" => "แตก",
  "ฯ†" => "แต ",
  "ฮน" => "แถฅ",
  "ฮธ" => "แถฟ",
  "ฮด" => "แตŸ",
  "ฮณ" => "แตž",
  "ฮฒ" => "แต",
  "ฮฑ" => "แต…",
  "ฮฆ" => "แถฒ",
  "z" => "แถป",
  "y" => "สธ",
  "x" => "หฃ",
  "w" => "สท",
  "v" => "แต›",
  "u" => "แต˜",
  "t" => "แต—",
  "s" => "หข",
  "r" => "สณ",
  "p" => "แต–",
  "o" => "แต’",
  "n" => "โฟ",
  "m" => "แต",
  "l" => "หก",
  "k" => "แต",
  "j" => "สฒ",
  "i" => "โฑ",
  "h" => "สฐ",
  "g" => "แต",
  "f" => "แถ ",
  "e" => "แต‰",
  "d" => "แตˆ",
  "c" => "แถœ",
  "b" => "แต‡",
  "a" => "แตƒ",
  "W" => "แต‚",
  "V" => "โฑฝ",
  "U" => "แต",
  "T" => "แต€",
  "R" => "แดฟ",
  "P" => "แดพ",
  "O" => "แดผ",
  "N" => "แดบ",
  "M" => "แดน",
  "L" => "แดธ",
  "K" => "แดท",
  "J" => "แดถ",
  "I" => "แดต",
  "H" => "แดด",
  "G" => "แดณ",
  "E" => "แดฑ",
  "D" => "แดฐ",
  "B" => "แดฎ",
  "A" => "แดฌ",
  "=" => "โผ",
  "9" => "โน",
  "8" => "โธ",
  "7" => "โท",
  "6" => "โถ",
  "5" => "โต",
  "4" => "โด",
  "3" => "ยณ",
  "2" => "ยฒ",
  "1" => "ยน",
  "0" => "โฐ",
  "-" => "โป",
  "+" => "โบ",
  ")" => "โพ",
  "(" => "โฝ"
}
SYMBOLS =
{
  "\\zeta" => "ฮถ",
  "\\xi" => "ฮพ",
  "\\wr" => "โ‰€",
  "\\wp" => "โ„˜",
  "\\wedge" => "โˆง",
  "\\veebar" => "โŠป",
  "\\vee" => "โˆจ",
  "\\vdots" => "โ‹ฎ",
  "\\vdash" => "โŠข",
  "\\vartriangleright" => "โŠณ",
  "\\vartriangleleft" => "โŠฒ",
  "\\vartriangle" => "โ–ณ",
  "\\vartheta" => "ฯ‘",
  "\\varsigma" => "ฯ‚",
  "\\varrho" => "ฯฑ",
  "\\varpropto" => "โˆ",
  "\\varpi" => "ฯ–",
  "\\varphi" => "ฯ†",
  "\\varnothing" => "โˆ…",
  "\\varkappa" => "ฯฐ",
  "\\varepsilon" => "ฮต",
  "\\vDash" => "โŠจ",
  "\\upuparrows" => "โ‡ˆ",
  "\\upsilon" => "ฯ…",
  "\\uplus" => "โŠŽ",
  "\\upharpoonright" => "โ†พ",
  "\\upharpoonleft" => "โ†ฟ",
  "\\updownarrow" => "โ†•",
  "\\uparrow" => "โ†‘",
  "\\unrhd" => "โŠต",
  "\\unlhd" => "โŠด",
  "\\twoheadrightarrow" => "โ† ",
  "\\twoheadleftarrow" => "โ†ž",
  "\\trianglerighteq" => "โŠต",
  "\\triangleright" => "โ–ท",
  "\\triangleq" => "โ‰œ",
  "\\trianglelefteq" => "โŠด",
  "\\triangleleft" => "โ—",
  "\\triangledown" => "โ–ฝ",
  "\\triangle" => "โ–ณ",
  "\\top" => "โŠค",
  "\\times" => "ร—",
  "\\thicksim" => "โˆผ",
  "\\thickapprox" => "โ‰ˆ",
  "\\theta" => "ฮธ",
  "\\therefore" => "โˆด",
  "\\tau" => "ฯ„",
  "\\swarrow" => "โ†™",
  "\\surd" => "โˆš",
  "\\supseteq" => "โЇ",
  "\\supset" => "โŠƒ",
  "\\sum" => "โˆ‘",
  "\\succsim" => "โ‰ฟ",
  "\\succeq" => "โ‰ฝ",
  "\\succcurlyeq" => "โ‰ฝ",
  "\\succ" => "โ‰ป",
  "\\subseteq" => "โІ",
  "\\subset" => "โŠ‚",
  "\\star" => "โ‹†",
  "\\square" => "โ–ก",
  "\\sqsupseteq" => "โŠ’",
  "\\sqsupset" => "โА",
  "\\sqsupset" => "โА",
  "\\sqsubseteq" => "โŠ‘",
  "\\sqsubset" => "โŠ",
  "\\sqsubset" => "โŠ",
  "\\sqcup" => "โŠ”",
  "\\sqcap" => "โŠ“",
  "\\sphericalangle" => "โˆข",
  "\\spadesuit" => "โ™ ",
  "\\smile" => "โŒฃ",
  "\\smallsmile" => "โŒฃ",
  "\\smallsetminus" => "โˆ–",
  "\\smallfrown" => "โŒข",
  "\\simeq" => "โ‰ƒ",
  "\\sim" => "โˆผ",
  "\\sigma" => "ฯƒ",
  "\\shortparallel" => "โˆฅ",
  "\\sharp" => "โ™ฏ",
  "\\setminus" => "โˆ–",
  "\\searrow" => "โ†˜",
  "\\rtimes" => "โ‹ˆ",
  "\\risingdotseq" => "โ‰“",
  "\\rightthreetimes" => "โ‹Œ",
  "\\rightsquigarrow" => "โ‡",
  "\\rightrightarrows" => "โ‡‰",
  "\\rightleftharpoons" => "โ‡Œ",
  "\\rightleftarrows" => "โ‡„",
  "\\rightharpoonup" => "โ‡€",
  "\\rightharpoondown" => "โ‡",
  "\\rightarrowtail" => "โ†ฃ",
  "\\rightarrow" => "โ†’",
  "\\rho" => "ฯ",
  "\\rhd" => "โŠณ",
  "\\rfloor" => "โŒ‹",
  "\\rceil" => "โŒ‰",
  "\\rangle" => "โŒช",
  "\\psi" => "ฯˆ",
  "\\propto" => "โˆ",
  "\\prod" => "โˆ",
  "\\prime" => "โ€ฒ",
  "\\precsim" => "โ‰พ",
  "\\preceq" => "โ‰ผ",
  "\\preccurlyeq" => "โ‰ผ",
  "\\prec" => "โ‰บ",
  "\\pm" => "ยฑ",
  "\\pitchfork" => "โ‹”",
  "\\pi" => "ฯ€",
  "\\phi" => "ฯ•",
  "\\perp" => "โŠฅ",
  "\\partial" => "โˆ‚",
  "\\parallel" => "โˆฅ",
  "\\otimes" => "โŠ—",
  "\\oslash" => "โŠ˜",
  "\\oplus" => "โŠ•",
  "\\ominus" => "โŠ–",
  "\\omega" => "ฯ‰",
  "\\oint" => "โˆฎ",
  "\\odot" => "โŠ™",
  "\\nwarrow" => "โ†–",
  "\\nu" => "ฮฝ",
  "\\notin" => "โˆ‰",
  "\\ni" => "โˆ‹",
  "\\nexists" => "โˆ„",
  "\\neq" => "โ‰ ",
  "\\neg" => "ยฌ",
  "\\nearrow" => "โ†—",
  "\\natural" => "โ™ฎ",
  "\\nabla" => "โˆ‡",
  "\\multimap" => "โŠธ",
  "\\mu" => "ฮผ",
  "\\mp" => "โˆ“",
  "\\models" => "โŠจ",
  "\\mid" => "โˆฃ",
  "\\mho" => "โ„ง",
  "\\mho" => "โ„ง",
  "\\measuredangle" => "โˆก",
  "\\mapsto" => "โ†ฆ",
  "\\ltimes" => "โ‹‰",
  "\\lozenge" => "โ—Š",
  "\\looparrowright" => "โ†ฌ",
  "\\looparrowleft" => "โ†ซ",
  "\\longrightarrow" => "โ†’",
  "\\longmapsto" => "โ‡–",
  "\\longleftrightarrow" => "โ†”",
  "\\longleftarrow" => "โ†",
  "\\lll" => "โ‹˜",
  "\\ll" => "โ‰ช",
  "\\lhd" => "โŠฒ",
  "\\lfloor" => "โŒŠ",
  "\\lesssim" => "โ‰ฒ",
  "\\lessgtr" => "โ‰ถ",
  "\\lesseqgtr" => "โ‹š",
  "\\lessdot" => "โ‹–",
  "\\leqslant" => "โ‰ค",
  "\\leqq" => "โ‰ฆ",
  "\\leq" => "โ‰ค",
  "\\leftthreetimes" => "โ‹‹",
  "\\leftrightsquigarrow" => "โ†ญ",
  "\\leftrightharpoons" => "โ‡‹",
  "\\leftrightarrows" => "โ‡†",
  "\\leftrightarrow" => "โ†”",
  "\\leftleftarrows" => "โ‡‡",
  "\\leftharpoonup" => "โ†ผ",
  "\\leftharpoondown" => "โ†ฝ",
  "\\leftarrowtail" => "โ†ข",
  "\\leftarrow" => "โ†",
  "\\leadsto" => "โ†",
  "\\le" => "โ‰ค",
  "\\lceil" => "โŒˆ",
  "\\langle" => "โŒฉ",
  "\\lambda" => "ฮป",
  "\\kappa" => "ฮบ",
  "\\iota" => "ฮน",
  "\\intercal" => "โŠบ",
  "\\int" => "โˆซ",
  "\\infty" => "โˆž",
  "\\in" => "โˆˆ",
  "\\implies" => "โ‡’",
  "\\hslash" => "โ„",
  "\\hookrightarrow" => "โ†ช",
  "\\hookleftarrow" => "โ†ฉ",
  "\\heartsuit" => "โ™ก",
  "\\hbar" => "โ„",
  "\\hbar" => "โ„",
  "\\gtrsim" => "โ‰ณ",
  "\\gtrless" => "โ‰ท",
  "\\gtreqless" => "โ‹›",
  "\\gtrdot" => "โ‹—",
  "\\gimel" => "ื’",
  "\\ggg" => "โ‹™",
  "\\gg" => "โ‰ซ",
  "\\geqq" => "โ‰ง",
  "\\geq" => "โ‰ฅ",
  "\\ge" => "โ‰ฅ",
  "\\gamma" => "ฮณ",
  "\\frown" => "โŒข",
  "\\forall" => "โˆ€",
  "\\flat" => "โ™ญ",
  "\\fallingdotseq" => "โ‰’",
  "\\exists" => "โˆƒ",
  "\\eth" => "รฐ",
  "\\eta" => "ฮท",
  "\\equiv" => "โ‰ก",
  "\\eqcirc" => "โ‰–",
  "\\epsilon" => "โˆŠ",
  "\\emptyset" => "โˆ…",
  "\\ell" => "โ„“",
  "\\downharpoonright" => "โ‡‚",
  "\\downharpoonleft" => "โ‡ƒ",
  "\\downdownarrows" => "โ‡Š",
  "\\downarrow" => "โ†“",
  "\\dots" => "โ€ฆ",
  "\\dotplus" => "โˆ”",
  "\\doteqdot" => "โ‰‘",
  "\\doteq" => "โ‰",
  "\\divideontimes" => "โ‹‡",
  "\\div" => "รท",
  "\\digamma" => "ฯœ",
  "\\diamondsuit" => "โ™ข",
  "\\diamond" => "โ‹„",
  "\\delta" => "ฮด",
  "\\ddots" => "โ‹ฑ",
  "\\ddagger" => "โ€ก",
  "\\dashv" => "โŠฃ",
  "\\dashrightarrow" => "โ‡ข",
  "\\dashleftarrow" => "โ‡ ",
  "\\daleth" => "ื“",
  "\\dagger" => "โ€ ",
  "\\curvearrowright" => "โ†ท",
  "\\curvearrowleft" => "โ†ถ",
  "\\curlywedge" => "โ‹",
  "\\curlyvee" => "โ‹Ž",
  "\\curlyeqsucc" => "โ‹Ÿ",
  "\\curlyeqprec" => "โ‹ž",
  "\\cup" => "โˆช",
  "\\coprod" => "โˆ",
  "\\cong" => "โ‰…",
  "\\complement" => "โˆ",
  "\\colon" => ":",
  "\\clubsuit" => "โ™ฃ",
  "\\circleddash" => "โŠ",
  "\\circledcirc" => "โŠš",
  "\\circledast" => "โŠ›",
  "\\circledS" => "โ“ˆ",
  "\\circlearrowright" => "โ†ป",
  "\\circlearrowleft" => "โ†บ",
  "\\circeq" => "โ‰—",
  "\\circ" => "โˆ˜",
  "\\chi" => "ฯ‡",
  "\\centerdot" => "โ‹…",
  "\\cdots" => "โ‹ฏ",
  "\\cdot" => "โ‹…",
  "\\cap" => "โˆฉ",
  "\\bumpeq" => "โ‰",
  "\\bullet" => "โˆ™",
  "\\boxtimes" => "โŠ ",
  "\\boxplus" => "โŠž",
  "\\boxminus" => "โŠŸ",
  "\\boxdot" => "โŠก",
  "\\bowtie" => "โ‹ˆ",
  "\\bot" => "โŠฅ",
  "\\blacktriangleright" => "โ–ท",
  "\\blacktriangleleft" => "โ—€",
  "\\blacktriangledown" => "โ–ผ",
  "\\blacktriangle" => "โ–ฒ",
  "\\blacksquare" => "โ– ",
  "\\blacklozenge" => "โ—†",
  "\\bigwedge" => "โ‹€",
  "\\bigvee" => "โ‹",
  "\\biguplus" => "โŠŽ",
  "\\bigtriangleup" => "โ–ณ",
  "\\bigtriangledown" => "โ–ฝ",
  "\\bigstar" => "โ˜…",
  "\\bigsqcup" => "โŠ”",
  "\\bigotimes" => "โŠ—",
  "\\bigoplus" => "โŠ•",
  "\\bigodot" => "โŠ™",
  "\\bigcup" => "โ‹ƒ",
  "\\bigcirc" => "โ—‹",
  "\\bigcap" => "โ‹‚",
  "\\between" => "โ‰ฌ",
  "\\beth" => "ื‘",
  "\\beta" => "ฮฒ",
  "\\because" => "โˆต",
  "\\barwedge" => "โŠผ",
  "\\backsim" => "โˆฝ",
  "\\backprime" => "โ€ต",
  "\\backepsilon" => "โˆ",
  "\\asymp" => "โ‰",
  "\\ast" => "โˆ—",
  "\\approxeq" => "โ‰Š",
  "\\approx" => "โ‰ˆ",
  "\\angle" => "โˆ ",
  "\\angle" => "โˆ ",
  "\\alpha" => "ฮฑ",
  "\\aleph" => "ื",
  "\\Xi" => "ฮž",
  "\\Vvdash" => "โŠช",
  "\\Vdash" => "โŠฉ",
  "\\Upsilon" => "ฮฅ",
  "\\Updownarrow" => "โ‡•",
  "\\Uparrow" => "โ‡‘",
  "\\Theta" => "ฮ˜",
  "\\Supset" => "โ‹‘",
  "\\Subset" => "โ‹",
  "\\Sigma" => "โˆ‘",
  "\\Rsh" => "โ†ฑ",
  "\\Rrightarrow" => "โ‡›",
  "\\Rightarrow" => "โ‡’",
  "\\Re" => "โ„œ",
  "\\Psi" => "ฮจ",
  "\\Pi" => "ฮ ",
  "\\Phi" => "ฮฆ",
  "\\Omega" => "ฮฉ",
  "\\Lsh" => "โ†ฐ",
  "\\Longrightarrow" => "โ‡’",
  "\\Longleftrightarrow" => "โ‡”",
  "\\Longleftarrow" => "โ‡",
  "\\Lleftarrow" => "โ‡š",
  "\\Leftrightarrow" => "โ‡”",
  "\\Leftarrow" => "โ‡",
  "\\Lambda" => "ฮ›",
  "\\Join" => "โ‹ˆ",
  "\\Im" => "โ„‘",
  "\\Gamma" => "ฮ“",
  "\\Finv" => "โ„ฒ",
  "\\Downarrow" => "โ‡“",
  "\\Diamond" => "โ—‡",
  "\\Delta" => "ฮ”",
  "\\Cup" => "โ‹“",
  "\\Cap" => "โ‹’",
  "\\Bumpeq" => "โ‰Ž",
  "\\Box" => "โ–ก"
}
WHITESPACE =
{
  "\\quad" => " ",
  "\\qquad" => " ",
  "\\;" => " ",
  "\\:" => " ",
  "\\," => " "
}

Class Method Summary collapse

Class Method Details

.convert(str) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/latex-to-unicode.rb', line 12

def self.convert(str)
  m = LatexParser.new.parse(preprocess(str))
  if m
    m.value
  else
    raise ArgumentError, "Parsing failed."
  end
end

.preprocess(str) ⇒ Object



6
7
8
9
10
11
# File 'lib/latex-to-unicode.rb', line 6

def self.preprocess(str)
  str = str.gsub(/\s/, '')
  str = translate(str, ALIASES)
  str = translate(str, WHITESPACE)
  str = translate(str, SYMBOLS)
end

.translate(str, set) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/translate.rb', line 4

def self.translate(str, set)
  q = str.dup
  set.each do |k, v|
    q.gsub!(k, v)
  end
  q
end

.translate_combining(text, type) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/translate.rb', line 44

def self.translate_combining(text, type)
  text + 
  case type
  when :hat then 'ฬ‚'  # this is the unicode "combining circumflex"
  when :breve then 'ฬ†'
  when :grave then 'ฬ€'
  when :bar then 'ฬ„'
  when :check then 'ฬŒ'
  when :acute then 'ฬ'
  when :tilde then 'ฬƒ'
  when :vec then 'โƒ—'
  when :dot then 'ฬ‡'
  when :ddot then 'ฬˆ'
  when :mathring then 'ฬŠ'
  end
end

.translate_fraction(num, den) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/translate.rb', line 12

def self.translate_fraction(num, den)
  case [num.to_i, den.to_i]
  when [1, 2] then 'ยฝ'
  when [1, 3] then 'โ…“'
  when [1, 4] then 'ยผ'
  when [1, 5] then 'โ…•'
  when [1, 6] then 'โ…™'
  when [1, 8] then 'โ…›'
  when [2, 3] then 'โ…”'
  when [2, 5] then 'โ…–'
  when [3, 4] then 'ยพ'
  when [3, 5] then 'โ…—'
  when [3, 8] then 'โ…œ'
  when [4, 5] then 'โ…˜'
  when [5, 6] then 'โ…š'
  when [5, 8] then 'โ…'
  when [7, 8] then 'โ…ž'
  else
    "(#{num} / #{den})"
  end
end

.translate_sqrt(radicand, radical) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/translate.rb', line 34

def self.translate_sqrt(radicand, radical)
  case radical.to_i
  when 2 then "โˆš(#{radicand})"
  when 3 then "โˆ›(#{radicand})"
  when 4 then "โˆœ(#{radicand})"
  else
    "#{translate(radical, SUPERSCRIPTS)}โˆš(#{radicand})"
  end
end