diff --git a/src/lib/plainMath.ts b/src/lib/plainMath.ts index 53c0b1c..4cbddce 100644 --- a/src/lib/plainMath.ts +++ b/src/lib/plainMath.ts @@ -67,7 +67,7 @@ export function plainMath(text: string): string { s = s.replace(/\^\(((?:[^()]|\([^()]*\))*)\)/g, (_m, a: string) => tryMap(a, SUP) ?? ` به توانِ (${a.trim()}) `); s = s.replace(/\^([+\-−]?[0-9۰-۹]+)/g, (m, a: string) => tryMap(a, SUP) ?? m); s = s.replace(/(?<=[A-Za-z0-9۰-۹)₀-₉])\^([A-Za-zα-ωΑ-Ω□])(?![A-Za-z0-9۰-۹])/g, (_m, a: string) => tryMap(a, SUP) ?? ` به توانِ ${a} `); - s = s.replace(/(?<=[A-Za-z)∫Σ∏])_([0-9۰-۹]+|[A-Za-z]{1,4}[0-9۰-۹]?)/g, (_m, a: string) => [...a].map((c) => SUB[c] ?? c).join('')); + s = s.replace(/((? (p === 'log' && [...a].some((c) => !(c in SUB)) ? `log پایه‌ی ${a}` : p + [...a].map((c) => SUB[c] ?? c).join(''))); s = s.replace(/\^([+\-−])/g, (_m, a: string) => SUP[a]); s = s.replace(/(?<=[A-Za-z)'])_([+\-−])/g, (_m, a: string) => SUB[a]); s = s.replace(/\^(√[0-9۰-۹A-Za-z]+)/g, ' به توانِ $1 ').replace(/\^([A-Za-z]{2,3})(?![A-Za-z0-9])/g, ' به توانِ $1 ');