perf: Optimize inline extraction

This commit is contained in:
Yaotian-Liu 2023-06-08 00:40:01 +08:00
parent e797755282
commit b8ef48f07e
No known key found for this signature in database
GPG key ID: 160A5464FF2FBA1F

View file

@ -4,21 +4,19 @@ import {
} from "./latex_translator";
export function extractInlineMacros(source: string): [string, string] {
const lines = source.split("\n");
const sourceLines = source.split("\n");
const macroStartIndex = sourceLines.findIndex(line => line.includes("\\begin{algorithm}"));
let i: number;
for (i = 0; i < lines.length; i++) {
if (lines[i].includes("\\begin{algorithm}")) break;
}
const macroLines = lines.slice(0, i).join("\n");
const nonMacroLines = lines.slice(i).join("\n");
const macroLines = sourceLines.slice(0, macroStartIndex).join("\n");
const nonMacroLines = sourceLines.slice(macroStartIndex).join("\n");
let inlineMacros = "";
try {
const translated = translateUnsupportedMacrosPerf(macroLines);
inlineMacros = checkTranslatedMacros(translated);
} catch (error) {
console.error(error);
}