szhorvat
(Szabolcs)
2020 年 4 月 17 日午後 12:27
1
We have a discourse forum for a scientific software, and use the math plugin. Unfortunately, math is not quotable.
If I select some text, a Quote button appears:
Clicking it results in the following:
[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.
「いいね!」 8
mbauman
(Matt Bauman)
2021 年 5 月 4 日午後 7:50
2
This is still occurring and also happens with inline math, as reported by a member on our instance:
I’ve noticed that if you try to quote a post with LaTeX equations, e.g. $O(n^3)$ for O(n^3), in the quoted text it gets mangled to something like O(n3)O(n^3). It would be nice if the original $O(n^3)$ were preserved.
Reading time: 1 mins 🕑
Likes: 3 ❤
「いいね!」 2
sam
(Sam Saffron)
2021 年 5 月 5 日午前 2:36
3
Note, I agree completely we should clean this up, but it feels extremely complicated.
I am putting a pr-welcome on this in case someone with advances skills wants to give it a shot.
「いいね!」 6
XertroV
(Max Kaye)
2022 年 4 月 6 日午前 3:03
4
引用数式について調査しました(PRを作成するか、既存のPRに貢献することを検討しています)。
初期の考えと調査結果をここにまとめます。
したがって、私の最初の印象では、これらの点のいずれかが修正可能かもしれません。
toMarkdown はさまざまなHTMLタグに対して要素を照合します。MathJaxはカスタム要素を使用していると思いますが、検出可能だと思います(SVGレンダリングはそうではないかもしれません)。KaTeXもそうでしょうか?
selectedText はコードブロックやoneboxのような要素のマッチングを行います。MathJax/KaTeX要素を検出して変換できるかもしれません。(注:変換ロジックをメインのDiscourseコードベースではなく、discourse-mathプラグインに追加できるように、フックまたは同様のものを用意するのが良いでしょう。)
他の点は、これら2つほど適していないようです。
アプローチと生の数式を取得する方法に関するその他の考え。
KaTeX / MathJax + SVG[^1] の動作によっては、数式の各インスタンスにはルートHTML要素があると思います(アクセシビリティなどのための非表示要素がいくつかあるため、複数になる可能性もあります)。したがって、数式が存在する場所がわかれば、投稿の生のコンテンツから $ で区切られたインスタンスを解析できるかもしれません(ただし、インタープリターはトリッキーです。コードベースにすでに存在するものはありますか?)。
[^1]:MathJax + SVGはサポートされていないと思いますが、したがって問題ではないかもしれません。
あるいは、MathJaxには少なくとも右クリック > texを表示するような機能があります(これは $ のペア間のリテラル文字列であるはずです)。それをどのようにフックできるかはわかりませんが、MathJax v2、v3、およびKaTeXでそれが可能な方法があれば、それを使用してフォーマットされた数式を選択して $ ... $ に置き換えることができるはずです(注:これはインライン数式の場合に機能します。他の種類の場合もカバーする必要があります。それらは $$ ... $$ または [/ ... /] デリミタを使用します。)
現在の問題点:
フックを実装する方法がわかりません。また、使用できるより良いものや、Discourseのコードベースでのより良い方法があるかどうかもわかりません。
MathJax/KaTeXに関するいくつかの不明点があり、調査が必要です。
HTML要素 - それらを確実に検出するにはどうすればよいですか?
生のTeXコードをどのように取得しますか?
修正する場所/対象、その他の実装方法、またはその他のアイデアがあれば、投稿してください。
「いいね!」 5