INNER CODE UNIT · TypeScript
latexSpecialChars
RyanYipeng/SyncCaster · apps/extension/src/content-scripts/index.ts:334
const latexSpecialChars = /[_{}\\^]/;
let firstSpecialIdx = -1;
for (let i = 0; i < text.length; i++) {
if (latexSpecialChars.test(text[i])) {
firstSpecialIdx = i;
break;
}
}
console.log('[math] firstSpecialIdx:', firstSpecialIdx, 'char:', text[firstSpecialIdx]);
if (firstSpecialIdx > 0) {
// 新策略:从文本开头的字符开始,在 firstSpecialIdx 之前找到它的最后一次出现
// 这个位置就是 LaTeX 的起始位置
// 例如 "E=mc2E=mc^2":startChar='E',在位置 5 找到第二个 'E',LaTeX 从位置 5 开始
const startChar = text[0];
let latexStart = -1;