From a73ca44ce9ea269b352a6ec0379d8d196976b465 Mon Sep 17 00:00:00 2001 From: andreeapescar Date: Fri, 16 Feb 2024 12:37:07 +0200 Subject: [PATCH] feat: handle separately special characters that don't have quotes after build --- package-lock.json | 8 +- package.json | 2 +- .../converters/mi.ts | 16 +- .../converters/mn.ts | 5 +- .../converters/mo.ts | 10 +- src/syntax/all-math-operators-by-glyph.ts | 159 ++++----- src/syntax/all-math-symbols-by-glyph.ts | 322 +++++++++--------- src/syntax/math-numbers-by-glyph.ts | 7 +- 8 files changed, 276 insertions(+), 253 deletions(-) diff --git a/package-lock.json b/package-lock.json index 810978a..b0d3690 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "mathml-to-latex", - "version": "1.3.0", + "name": "@pie-framework/mathml-to-latex", + "version": "1.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "mathml-to-latex", - "version": "1.3.0", + "name": "@pie-framework/mathml-to-latex", + "version": "1.4.0", "license": "MIT", "dependencies": { "@xmldom/xmldom": "^0.8.10" diff --git a/package.json b/package.json index c4ba901..f4e1773 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pie-framework/mathml-to-latex", - "version": "1.3.3", + "version": "1.4.0", "description": "A JavaScript tool to convert mathml string to LaTeX string. This is a forked repo.", "main": "dist/bundle.min.js", "types": "dist/index.d.ts", diff --git a/src/data/usecases/mathml-to-latex-convertion/converters/mi.ts b/src/data/usecases/mathml-to-latex-convertion/converters/mi.ts index 95de954..86637f0 100755 --- a/src/data/usecases/mathml-to-latex-convertion/converters/mi.ts +++ b/src/data/usecases/mathml-to-latex-convertion/converters/mi.ts @@ -1,7 +1,13 @@ import { ToLaTeXConverter } from '../../../../domain/usecases/to-latex-converter'; import { MathMLElement } from '../../../protocols/mathml-element'; import { normalizeWhiteSpaces } from '../../../helpers'; -import { allMathSymbolsByChar, allMathSymbolsByGlyph, mathNumberByGlyph } from '../../../../syntax'; +import { + allMathSymbolsByChar, + allMathSymbolsByGlyph, + allMathSymbolsByGlyphSpecial, + mathNumberByGlyph, + mathNumberByGlyphSpecial, +} from '../../../../syntax'; import { UTF8ToLtXConverter } from 'data/protocols'; import { HashUTF8ToLtXConverter } from '../../../../syntax/utf8-converter'; @@ -91,10 +97,14 @@ class Character { } private _findByGlyph(): string | undefined { - return allMathSymbolsByGlyph[this._value]; + const mathOperator = allMathSymbolsByGlyphSpecial[`"${this._value}"`]; + + return mathOperator || allMathSymbolsByGlyph[this._value]; } private _findByNumber(): string | undefined { - return mathNumberByGlyph[this._value]; + const mathOperator = mathNumberByGlyphSpecial[`"${this._value}"`]; + + return mathOperator || mathNumberByGlyph[this._value]; } } diff --git a/src/data/usecases/mathml-to-latex-convertion/converters/mn.ts b/src/data/usecases/mathml-to-latex-convertion/converters/mn.ts index 9e14316..1d08091 100755 --- a/src/data/usecases/mathml-to-latex-convertion/converters/mn.ts +++ b/src/data/usecases/mathml-to-latex-convertion/converters/mn.ts @@ -1,7 +1,7 @@ import { ToLaTeXConverter } from '../../../../domain/usecases/to-latex-converter'; import { MathMLElement } from '../../../protocols/mathml-element'; import { normalizeWhiteSpaces } from '../../../helpers'; -import { mathNumberByGlyph } from '../../../../syntax'; +import { mathNumberByGlyph, mathNumberByGlyphSpecial } from '../../../../syntax'; export class MN implements ToLaTeXConverter { private readonly _mathmlElement: MathMLElement; @@ -12,7 +12,8 @@ export class MN implements ToLaTeXConverter { convert(): string { const normalizedValue = normalizeWhiteSpaces(this._mathmlElement.value).trim(); - const convertedValue = mathNumberByGlyph[normalizedValue]; + const mathOperator = mathNumberByGlyphSpecial[`"${normalizedValue}"`]; + const convertedValue = mathOperator || mathNumberByGlyph[normalizedValue]; return convertedValue || normalizedValue; } diff --git a/src/data/usecases/mathml-to-latex-convertion/converters/mo.ts b/src/data/usecases/mathml-to-latex-convertion/converters/mo.ts index e0ea4b9..d6e4f2d 100755 --- a/src/data/usecases/mathml-to-latex-convertion/converters/mo.ts +++ b/src/data/usecases/mathml-to-latex-convertion/converters/mo.ts @@ -5,7 +5,7 @@ import { HashUTF8ToLtXConverter, allMathOperatorsByChar, allMathOperatorsByGlyph, - mathNumberByGlyph, + mathNumberByGlyph, allMathOperatorsByGlyphSpecial, mathNumberByGlyphSpecial, } from '../../../../syntax'; export class MO implements ToLaTeXConverter { @@ -48,10 +48,14 @@ class Operator { } private _findByGlyph(): string | undefined { - return allMathOperatorsByGlyph[this._value]; + const mathOperator = allMathOperatorsByGlyphSpecial[`"${this._value}"`]; + + return mathOperator || allMathOperatorsByGlyph[this._value]; } private _findByNumber(): string | undefined { - return mathNumberByGlyph[this._value]; + const mathOperator = mathNumberByGlyphSpecial[`"${this._value}"`]; + + return mathOperator || mathNumberByGlyph[this._value]; } } diff --git a/src/syntax/all-math-operators-by-glyph.ts b/src/syntax/all-math-operators-by-glyph.ts index d7d0007..67b2851 100644 --- a/src/syntax/all-math-operators-by-glyph.ts +++ b/src/syntax/all-math-operators-by-glyph.ts @@ -1,3 +1,84 @@ +export const allMathOperatorsByGlyphSpecial: Record = { + '"ˍ"': '\\_', + '"ˋ"': 'ˋ', + '"ˊ"': 'ˊ', + '"ˉ"': 'ˉ', + '"ˇ"': '', + '"ˆ"': '\\hat', + '"º"': 'o', + '"ª"': 'a', + '"ⅆ"': 'd', + '"ⅅ"': '\\mathbb{D}', + '"土"': '\\pm', + '"十"': '+', + '"α"': '\\alpha', + '"β"': '\\beta', + '"γ"': '\\gamma', + '"Γ"': '\\Gamma', + '"δ"': '\\delta', + '"Δ"': '\\Delta', + '"ϵ"': '\\epsilon', + '"ζ"': '\\zeta', + '"η"': '\\eta', + '"θ"': '\\theta', + '"Θ"': '\\Theta', + '"ι"': '\\iota', + '"κ"': '\\kappa', + '"λ"': '\\lambda', + '"ν"': '\\nu', + '"ο"': '\\omicron', + '"π"': '\\pi', + '"Π"': '\\Pi', + '"ρ"': '\\rho', + '"σ"': '\\sigma', + '"Σ"': '\\Sigma', + '"τ"': '\\tau', + '"υ"': '\\upsilon', + '"Υ"': '\\Upsilon', + '"ϕ"': '\\phi', + '"Φ"': '\\Phi', + '"χ"': '\\chi', + '"ψ"': '\\psi', + '"Ψ"': '\\Psi', + '"ω"': '\\omega', + '"Ω"': '\\Omega', + '"Ω"': '\\Omega', + '"ℏ"': '\\hbar', + '"ℜ"': '\\mathfrak{R}', + '"Ѳ"': '\\theta', + '"Ø"': '\\emptyset', + '"ϱ"': '\\varrho', + '"ф"': '\\phi', + '"ℇ"': '\\varepsilon', + '"Ρ"': 'P', + '"ᐁ"': '\\nabla', + '"ƞ"': '\\eta', + '"μ"': '\\mu', + '"Ө"': '\\theta', + '"ⅇ"': '\\text{e}', + '"ɼ"': 'r', + '"ἱ"': 'i', + '"ϒ"': '\\Upsilon', + '"ѳ"': '\\theta', + '"ⁿ"': '^{n}', + '"เ"': '\\prime', + '"П"': '\\prod', + '"о"': 'o', + '"ђ"': '\\hbar', + '"Ʌ"': '\\Lambda', + '"ῡ"': '\\bar{u}', + '"φ"': '\\varphi', + '"ȼ"': 'c', + '"Χ"': '\\mathsf{X}', + '"ₙ"': '_{n}', + '"ħ"': '\\hbar', + '"T"': 'T', + '"$"': '\\$', + '"𝛿"': '\\delta', + '"𝜙"': '\\phi', + '"𝞮"': '\\epsilon', +}; + export const allMathOperatorsByGlyph: Record = { _: '\\underline', '⏡': '\\underbrace', @@ -29,13 +110,6 @@ export const allMathOperatorsByGlyph: Record = { '˚': '\\degree', '˙': '\\cdot', '˘': ' ', - ˍ: '\\_', - ˋ: 'ˋ', - ˊ: 'ˊ', - ˉ: 'ˉ', - ˇ: '', - ˆ: '\\hat', - º: 'o', '¹': '1', '¸': ',', '´': '´', @@ -43,7 +117,6 @@ export const allMathOperatorsByGlyph: Record = { '²': '2', '°': '\\degree', '¯': '\\overline', - ª: 'a', '↛': '\\nrightarrow', '¨': '\\cdot\\cdot', '~': '\\sim', @@ -54,8 +127,6 @@ export const allMathOperatorsByGlyph: Record = { '∜': '\\sqrt[4]{}', '∛': '\\sqrt[3]{}', '√': '\\sqrt{}', - ⅆ: 'd', - ⅅ: '\\mathbb{D}', '?': '?', '@': '@', '//': '//', @@ -783,8 +854,6 @@ export const allMathOperatorsByGlyph: Record = { '⊼': '\\overline{\\land}', '⊻': '\\underline{\\lor}', '⊺': '\\top', - 土: '\\pm', - 十: '+', '⊹': '', '⊷': '\\circ\\multimap', '⊶': '\\circ\\multimap', @@ -1083,63 +1152,18 @@ export const allMathOperatorsByGlyph: Record = { '“': '\\text{``}', '’': "'", '‘': '`', - α: '\\alpha', - β: '\\beta', - γ: '\\gamma', - Γ: '\\Gamma', - δ: '\\delta', - Δ: '\\Delta', - ϵ: '\\epsilon', - ζ: '\\zeta', - η: '\\eta', - θ: '\\theta', - Θ: '\\Theta', - ι: '\\iota', - κ: '\\kappa', - λ: '\\lambda', - ν: '\\nu', - ο: '\\omicron', - π: '\\pi', - Π: '\\Pi', - ρ: '\\rho', - σ: '\\sigma', - Σ: '\\Sigma', - τ: '\\tau', - υ: '\\upsilon', - Υ: '\\Upsilon', - ϕ: '\\phi', - Φ: '\\Phi', - χ: '\\chi', - ψ: '\\psi', - Ψ: '\\Psi', - ω: '\\omega', - Ω: '\\Omega', - Ω: '\\Omega', '∅': '\\emptyset', '⟲': '\\circlearrowleft', '⟳': '\\circlearrowright', '×': '\\times', '½': '\\dfrac{1}{2}', - μ: '\\mu', - Ө: '\\theta', '✓': '\\checkmark', '⟩': '\\rangle', '⟨': '\\langle', '¼': '\\dfrac{1}{4}', '…': '\\ldots', - ℏ: '\\hbar', - ℜ: '\\mathfrak{R}', - Ѳ: '\\theta', - Ø: '\\emptyset', - ϱ: '\\varrho', - ф: '\\phi', - ℇ: '\\varepsilon', - T: 'T', '∙': '\\cdot', - Ρ: 'P', '∞': '\\infty', - ᐁ: '\\nabla', - ƞ: '\\eta', '⁺': '^{+}', '⁻': '^{-}', '⁼': '^{=}', @@ -1160,7 +1184,6 @@ export const allMathOperatorsByGlyph: Record = { '⎼': '-', '⎜': '\\mid', '⎥': '\\mid', - ħ: '\\hbar', '⮕': '\\rightarrow', '・': '\\cdot', '¦': '\\mid', @@ -1168,36 +1191,16 @@ export const allMathOperatorsByGlyph: Record = { '¥': '\\yen', '✗': '\\times', '✔': '\\checkmark', - ⁿ: '^{n}', '«': '\\ll', - เ: '\\prime', '†': '\\dagger', '│': '\\mid', - $: '\\$', '#': '\\#', '℃': '\\text{\\textdegree C}', '℉': '\\text{\\textdegree F}', '█': '\\blacksquare', '℧': '\\mho', - ⅇ: '\\text{e}', - ɼ: 'r', '‡': '\\ddagger', - ἱ: 'i', - ϒ: '\\Upsilon', - '𝛿': '\\delta', '˳': '\\cdot', - ѳ: '\\theta', - '𝜙': '\\phi', - П: '\\prod', - о: 'o', - ђ: '\\hbar', - Ʌ: '\\Lambda', '।': '\\mid', '€': '\\euro', - ῡ: '\\bar{u}', - φ: '\\varphi', - ȼ: 'c', - '𝞮': '\\epsilon', - Χ: '\\mathsf{X}', - ₙ: '_{n}', }; diff --git a/src/syntax/all-math-symbols-by-glyph.ts b/src/syntax/all-math-symbols-by-glyph.ts index 2597c7e..2361274 100755 --- a/src/syntax/all-math-symbols-by-glyph.ts +++ b/src/syntax/all-math-symbols-by-glyph.ts @@ -1,3 +1,165 @@ +export const allMathSymbolsByGlyphSpecial: Record = { + '"ℵ"': '\\aleph', + '"Ω"': '\\Omega', + '"ω"': '\\omega', + '"Ψ"': '\\Psi', + '"ψ"': '\\psi', + '"χ"': '\\chi', + '"φ"': '\\varphi', + '"Φ"': '\\Phi', + '"ϕ"': '\\phi', + '"υ"': '\\upsilon', + '"τ"': '\\tau', + '"Σ"': '\\Sigma', + '"σ"': '\\sigma', + '"ρ"': '\\rho', + '"Π"': '\\Pi', + '"π"': '\\pi', + '"Ξ"': '\\Xi', + '"ξ"': '\\xi', + '"ν"': '\\nu', + '"μ"': '\\mu', + '"Λ"': '\\Lambda', + '"λ"': '\\lambda', + '"κ"': '\\kappa', + '"ι"': '\\iota', + '"ϑ"': '\\vartheta', + '"Θ"': '\\Theta', + '"θ"': '\\theta', + '"η"': '\\eta', + '"ζ"': '\\zeta', + '"ɛ"': '\\varepsilon', + '"ε"': '\\epsilon', + '"Δ"': '\\Delta', + '"δ"': '\\delta', + '"Γ"': '\\Gamma', + '"γ"': '\\gamma', + '"β"': '\\beta', + '"α"': '\\alpha', + '"ϵ"': '\\epsilon', + '"µ"': '\\mu', + '"ı"': '\\imath', + '"ม"': '\\mathbf{m}', + '"Ω"': '\\Omega', + '"त"': ' ', + '"ß"': '\\ss', + '"Ћ"': '\\hbar', + '"เ"': '\\prime', + '"白"': ' ', + '"ℸ"': '\\wp', + '"퓰"': ' ', + '"Ө"': '\\theta', + '"ⁿ"': '^{n}', + '"ℏ"': '\\hbar', + '"ℜ"': '\\mathfrak{R}', + '"Ѳ"': '\\theta', + '"Ø"': '\\emptyset', + '"ϱ"': '\\varrho', + '"ф"': '\\phi', + '"Ρ"': 'P', + '"ᐁ"': '\\nabla', + '"ƞ"': '\\eta', + '"ɣ"': '\\gamma', + '"ћ"': '\\hbar', + '"Ɛ"': '\\varepsilon', + '"ⅅ"': '\\_{D}', + '"𝜆"': '\\lambda', + '"𝑥"': 'x', + '"𝑦"': 'y', + '"𝑧"': 'z', + '"𝑖"': 'i', + '"𝑗"': 'j', + '"𝑘"': 'k', + '"𝑚"': 'm', + '"𝑒"': 'e', + '"𝑟"': 'r', + '"ɳ"': '\\eta', + '"Є"': '\\epsilon', + '"є"': '\\epsilon', + '"𝜀"': '\\epsilon', + '"п"': '\\pi', + '"Ν"': '\\nu', + '"ɵ"': '\\theta', + '"ϴ"': '\\theta', + '"ɸ"': '\\phi', + '"Ӷ"': '\\Gamma', + '"ɭ"': '\\ell', + '"ʋ"': '\\upsilon', + '"𝛟"': '\\varphi', + '"Ф"': '\\Phi', + '"ⅈ"': 'i', + '"ο"': 'o', + '"ơ"': 'o', + '"ƒ"': 'f', + '"ṁ"': 'm', + '"Փ"': '\\Phi', + '"ħ"': '\\hbar', + '"ፈ"': ' ', + '"ế"': '\\hat{e}', + '"О"': '0', + '"Υ"': 'Y', + '"х"': 'x', + '"𝓏"': 'z', + '"𝓎"': 'y', + '"𝓍"': 'x', + '"р"': 'p', + '"а"': 'a', + '"ℇ"': '\\varepsilon', + '"ⅇ"': '\\text{e}', + '"ɼ"': 'r', + '"ἱ"': 'i', + '"ˆ"': '\\hat{}', + '"ϒ"': '\\Upsilon', + '"ѳ"': '\\theta', + '"П"': '\\prod', + '"о"': 'o', + '"ђ"': '\\hbar', + '"Ʌ"': '\\Lambda', + '"土"': '\\pm', + '"十"': '+', + '"ῡ"': '\\bar{u}', + '"ȼ"': 'c', + '"Χ"': '\\mathsf{X}', + '"ₙ"': '_{n}', + '"T"': 'T', + '"∙"': '\\cdot', + '"〗"': '\\rangle', + '"〖"': '\\langle', + '";"': ';', + '"𝛽"': '\\beta', + '"⍵"': '\\omega', + '"℘"': '\\wp', + '"𝜋"': '\\pi', + '"𝜓"': '\\psi', + '"⍬"': '\\theta', + '"𝜑"': '\\varphi', + '"⍴"': '\\rho', + '"🇽"': 'x', + '"𝞮"': '\\epsilon', + '"𝜙"': '\\phi', + '"𝛿"': '\\delta', + '"$"': '\\$', + '"m"': 'm', + '"𝚵"': '\\Xi', + '"𝑝"': 'p', + '"𝑞"': 'q', + '"𝑠"': 's', + '"𝑡"': 't', + '"𝑢"': 'u', + '"𝑣"': 'v', + '"𝑤"': 'w', + '"𝑎"': 'a', + '"𝑏"': 'b', + '"𝑐"': 'c', + '"𝑑"': 'd', + '"𝑓"': 'f', + '"𝑔"': 'g', + '"𝑙"': 'l', + '"𝑛"': 'n', + '"𝑜"': 'o', + '"𝔀"': 'w', + '"𝚟"': 'v', +}; export const allMathSymbolsByGlyph: Record = { ' ': '\\textrm{ }', '∃': '\\exists', @@ -14,7 +176,6 @@ export const allMathSymbolsByGlyph: Record = { '⋮': '\\vdots', '∵': '\\because', '∴': '\\therefore', - ℵ: '\\aleph', '∅': '\\emptyset', '±': '\\pm', '∇': '\\nabla', @@ -44,162 +205,34 @@ export const allMathSymbolsByGlyph: Record = { '⋆': '\\star', '∗': '\\star', '⋅': '\\cdot', - Ω: '\\Omega', - ω: '\\omega', - Ψ: '\\Psi', - ψ: '\\psi', - χ: '\\chi', - φ: '\\varphi', - Φ: '\\Phi', - ϕ: '\\phi', - υ: '\\upsilon', - τ: '\\tau', - Σ: '\\Sigma', - σ: '\\sigma', - ρ: '\\rho', - Π: '\\Pi', - π: '\\pi', - Ξ: '\\Xi', - ξ: '\\xi', - ν: '\\nu', - μ: '\\mu', - Λ: '\\Lambda', - λ: '\\lambda', - κ: '\\kappa', - ι: '\\iota', - ϑ: '\\vartheta', - Θ: '\\Theta', - θ: '\\theta', - η: '\\eta', - ζ: '\\zeta', - ɛ: '\\varepsilon', - ε: '\\epsilon', - Δ: '\\Delta', - δ: '\\delta', - Γ: '\\Gamma', - γ: '\\gamma', - β: '\\beta', - α: '\\alpha', '∞': '\\infty', - ϵ: '\\epsilon', - µ: '\\mu', '²': '^{2}', - ı: '\\imath', '∎': '\\blacksquare', - ม: '\\mathbf{m}', - Ω: '\\Omega', '⟲': '\\circlearrowleft', '⟳': '\\circlearrowright', - त: ' ', '¥': '\\yen', '⁽': '^{(}', '⁾': '^{)}', - ß: '\\ss', - Ћ: '\\hbar', '⦵': '\\ominus', '⊿': '\\bigtriangleup', "↛'": '\\nrightarrow', '†': '\\dagger', - เ: '\\prime', - 白: ' ', '⿱': ' ', - ℸ: '\\wp', - 퓰: ' ', - ⁿ: '^{n}', '✔': '\\checkmark', '✗': '\\times', '½': '\\dfrac{1}{2}', - Ө: '\\theta', '✓': '\\checkmark', '⟩': '\\rangle', '⟨': '\\langle', '〈': '\\langle', '¼': '\\dfrac{1}{4}', '…': '\\ldots', - ℏ: '\\hbar', - ℜ: '\\mathfrak{R}', - Ѳ: '\\theta', - Ø: '\\emptyset', - ϱ: '\\varrho', - ф: '\\phi', - T: 'T', - '∙': '\\cdot', - Ρ: 'P', - ᐁ: '\\nabla', - ƞ: '\\eta', - ɣ: '\\gamma', - ћ: '\\hbar', - Ɛ: '\\varepsilon', - ⅅ: '\\_{D}', - 𝜆: '\\lambda', - '〗': '\\rangle', - '〖': '\\langle', - ';': ';', - 𝑥: 'x', - 𝑦: 'y', - 𝑧: 'z', - 𝑖: 'i', - 𝑗: 'j', - 𝑘: 'k', - 𝑚: 'm', - 𝑒: 'e', - 𝑟: 'r', - ɳ: '\\eta', - '𝛽': '\\beta', - '⍵': '\\omega', - '℘': '\\wp', - '𝜋': '\\pi', - Є: '\\epsilon', - є: '\\epsilon', - 𝜀: '\\epsilon', - п: '\\pi', - Ν: '\\nu', - ɵ: '\\theta', - '𝜓': '\\psi', - ϴ: '\\theta', - ɸ: '\\phi', - Ӷ: '\\Gamma', - ɭ: '\\ell', - ʋ: '\\upsilon', - 𝛟: '\\varphi', - '⍬': '\\theta', - Ф: '\\Phi', - '𝜑': '\\varphi', - ⅈ: 'i', - ο: 'o', - ơ: 'o', - ƒ: 'f', - '⍴': '\\rho', - '🇽': 'x', - '𝑝': 'p', - '𝑞': 'q', - '𝑠': 's', - '𝑡': 't', - '𝑢': 'u', - '𝑣': 'v', - '𝑤': 'w', - '𝑎': 'a', - '𝑏': 'b', - '𝑐': 'c', - '𝑑': 'd', - '𝑓': 'f', - '𝑔': 'g', - '𝑙': 'l', - '𝑛': 'n', - '𝑜': 'o', - '𝔀': 'w', - '𝚟': 'v', - ṁ: 'm', '൦': '\\circ', '┴': '\\perp', '✕': '\\times', '∣': '\\mid', - Փ: '\\Phi', '⎜': '\\mid', - ħ: '\\hbar', - ፈ: ' ', '⦨': '\\llbracket', - ế: '\\hat{e}', '¢': '\\cent', '⤹': '\\downarrow', '⤸': '\\downarrow', @@ -211,17 +244,7 @@ export const allMathSymbolsByGlyph: Record = { '|': '\\mid', '⎥': '\\mid', '♥': '\\heartsuit', - О: '0', - Υ: 'Y', - х: 'x', - 𝓏: 'z', - 𝓎: 'y', - 𝓍: 'x', - р: 'p', - а: 'a', '£': '\\pounds', - m: 'm', - '𝚵': '\\Xi', '⓪': '\\textcircled{0}', '①': '\\textcircled{1}', '②': '\\textcircled{2}', @@ -277,7 +300,6 @@ export const allMathSymbolsByGlyph: Record = { '‖': '\\parallel', '%': '\\%', '“': '\\text{``}', - $: '\\$', '#': '\\#', '℃': '\\text{\\textdegree C}', '℉': '\\text{\\textdegree F}', @@ -287,67 +309,47 @@ export const allMathSymbolsByGlyph: Record = { '⌊': '\\lfloor', '⌉': '\\rceil', '⌈': '\\lceil', - ℇ: '\\varepsilon', - ⅇ: '\\text{e}', - ɼ: 'r', '↛': '\\nrightarrow', - ˆ: '\\hat{}', '‾': '\\overline', '→': '\\rightarrow', '‡': '\\ddagger', '・': '\\cdot', '▱': '\\square', '∆': '\\Delta', - ἱ: 'i', '∡': '\\angle', - ϒ: '\\Upsilon', '↓': '\\downarrow', '↑': '\\uparrow', '»': '\\gg', '⊤': '\\top', '⧸': '/', - '𝛿': '\\delta', '˳': '\\cdot', '։': ':', '⦪': '\\measuredangle', '⦩': '\\measuredangle', '⦫': '\\measuredangle', '⦁': '\\cdot', - ѳ: '\\theta', '⦢': '\\measuredangle', '¸': ',', '⎻': '\\overline', '⟦': '\\llbracket', - '𝜙': '\\phi', - П: '\\prod', - о: 'o', '≈': '\\approx', '≤': '\\leq', - ђ: '\\hbar', - Ʌ: '\\Lambda', - 土: '\\pm', '⎼': '-', - 十: '+', '≠': '\\neq', '←': '\\leftarrow', '।': '\\mid', '€': '\\euro', '˘': ' ', - ῡ: '\\bar{u}', '∥': '\\parallel', '↔': '\\leftrightarrow', '√': '\\sqrt{}', - ȼ: 'c', - '𝞮': '\\epsilon', '·': '\\cdot', '⦬': '\\measuredangle', '⦮': '\\measuredangle', '⦭': '\\measuredangle', '«': '\\ll', - Χ: '\\mathsf{X}', '│': '\\mid', '〉': '\\rangle', - ₙ: '_{n}', '▫': '\\square', '●': '\\circle', '”': '\\"', diff --git a/src/syntax/math-numbers-by-glyph.ts b/src/syntax/math-numbers-by-glyph.ts index 610b186..49861f2 100644 --- a/src/syntax/math-numbers-by-glyph.ts +++ b/src/syntax/math-numbers-by-glyph.ts @@ -1,3 +1,8 @@ +export const mathNumberByGlyphSpecial: Record = { + '"ⁿ"': '^{n}', + '"ₙ"': '_{n}', +}; + export const mathNumberByGlyph: Record = { '₀': '_{0}', '₁': '_{1}', @@ -19,8 +24,6 @@ export const mathNumberByGlyph: Record = { '⁷': '^{7}', '⁸': '^{8}', '⁹': '^{9}', - ⁿ: '^{n}', - ₙ: '_{n}', '⓪': '\\textcircled{0}', '①': '\\textcircled{1}', '②': '\\textcircled{2}',