0

私はBackboneJsフレームワークを使用してhtmlビューをレンダリングしているという事実のためです。MathMLコードを含むhtml要素は、DOMにアタッチする前にHTML-CSSコードを取得するために、MathJaxがタイプセットするために何らかの形で使用する必要があります。

要素がDOMにアタッチする前にタイプセットを実行しようとしましたが、うまく機能しませんでした。MathJaxがアタッチされていないhtml要素を処理していたとしても、要素内のmathmlはDOMに表示された後にレンダリングできませんでした。

ターゲット要素がDOMにアタッチされた後、MathMLのタイプセットを実行する必要がありますか?または、DOMにアタッチする前にタイプセットを実行するための回避策はありますか?

4

1 に答える 1

2

要素はDOMにアタッチする必要があります。MathJaxは、さまざまな部分式を測定できる必要があり(分数などをレイアウトできるようにするため)、そのためには、数学のコンテナー要素がアクティブなDOMに含まれている必要があります。(DOMにアタッチされていない要素にはoffsetWidth計算などがないため、MathJaxはそれらの大きさを判断できません。)

表示する前に要素に数学の植字を行いたい場合は、それをDOMに接続して設定visibility:noneposition:absolute、MathJaxを呼び出して要素を植字してから、表示と位置の設定を削除します。を使用しないでくださいdisplay:none。MathJaxが要素を測定できなくなります。

2013年1月の合同数学会議で私がこれについて行った講演のを参照してください。

于 2013-03-26T12:52:57.283 に答える