我找不到办法,我只是用
katex
为此编写了一个组件。
// katex.component.ts
export class KatexComponent implements AfterViewInit{
@Input({required: true}) tex?: string
@ViewChild('ptex') texElement?: ElementRef
ngAfterViewInit(){
katex.render(this.tex || "", this.texElement?.nativeElement)
}
}
// katex-label.component.ts
export class KatexLabelComponent {
parts: {math: boolean, value: string}[] = []
@Input({ required: true }) tex: string = "";
ngOnInit() {
const splitContent = this.tex.split(/(\$\$.*?\$\$)/);
this.parts = splitContent.map(part => {
if (part.startsWith('$$')) {
return { math: true, value: part.slice(2, -2) };
} else {
return { math: false, value: part };
}
});
}
另外,很抱歉这么晚才发帖。我完全忘记了这个问题。