[quote]
definition of the closeness centrality:
ci=1N−1N∑j=11dij c_i = \frac{1}{N-1} \sum_{j=1}^N\frac{1}{d_{ij}}
[/quote]
Notice that in the quotation, the math appeared as a weird textual version (unreadable) followed by the actual LaTeX source, but lacking the $ delimiters.
I assume that there is no fix for this currently. It would be nice if this could be improved in the future.
Der Inhalt, der an das Zitat übergeben wird, stammt aus this.quoteState.buffer – dieser wird in QuoteButton._selectionChanged (möglicherweise auch an anderen Stellen) gefüllt.
Die buildQuote-Funktion nimmt ein Post-Objekt entgegen – ich denke, das ist eine vollständige JSON-Beschreibung des Posts Beispiel.
Mein erster Eindruck ist, dass einer dieser Punkte patchbar sein könnte:
toMarkdown gleicht Elemente mit verschiedenen HTML-Tags ab; MathJax verwendet benutzerdefinierte Elemente, die ich für erkennbar halte (möglicherweise nicht SVG-Rendering), vielleicht auch KaTeX?
selectedText führt einige Abgleiche für Elemente wie Codeblöcke und Onebox durch – könnte man MathJax/KaTeX-Elemente erkennen und transformieren? (Hinweis: Wahrscheinlich ist es eine gute Idee, hier einen Hook oder etwas Ähnliches zu haben, damit die Logik für die Transformation im discourse-math-Plugin statt in der Haupt-Codebasis von Discourse hinzugefügt werden kann.)
Die anderen Punkte scheinen nicht so geeignet wie diese beiden.
Einige weitere Gedanken zu Ansätzen und wie man die rohe Mathematik erhält.
Abhängig davon, wie KaTeX / MathJax + SVG[1] funktionieren, sollte jede Instanz von Mathematik ein root HTML-Element haben, denke ich (möglicherweise mehrere, da es einige versteckte Elemente für Barrierefreiheit und Ähnliches gibt). Wenn wir also die Stellen kennen, an denen Mathematik existiert, könnten wir den rohen Post nach Instanzen von Inhalten durchsuchen, die mit $ abgegrenzt sind (aber Interpreter sind knifflig – vielleicht gibt es bereits einen in der Codebasis?).
Alternativ hat MathJax zumindest eine Rechtsklick-Funktion \u003e Tex anzeigen (was die buchstäbliche Zeichenkette zwischen $-Paaren sein sollte); Ich bin mir nicht sicher, wie man sich damit verbinden kann, aber wenn es einen Weg gibt, dies für MathJax v2, v3 und KaTeX zu tun, dann sollte es möglich sein, dies zu verwenden, um ausgewählte formatierte Mathematik durch $...$ zu ersetzen (Hinweis: das funktioniert für Inline-Mathematik, wir müssen auch den Fall für die andere Art abdecken – die $$...$$ oder [/.../] Delimiter verwendet.)
Aktuelle Probleme:
Ich weiß nicht, wie man einen Hook implementiert oder ob es etwas Besseres gibt / einen besseren Weg, dies in der Discourse-Codebasis zu tun.
Mehrere Unbekannte über MathJax/KaTeX, die untersucht werden müssen.
HTML-Elemente – wie erkennt man sie zuverlässig?
Wie erhält man rohen TeX-Code?
Wenn jemand andere Ideen hat, wo/was man patchen könnte, andere mögliche Implementierungsmethoden oder was auch immer, dann bitte posten.
Ich glaube, MathJax + SVG wird möglicherweise nicht unterstützt, also ist das möglicherweise kein Problem↩︎