私のノードスクリプトはXHTML文書をインポートし、Caliberのebook-convertユーティリティを使用してeBook形式でエクスポートします。そのすべてがうまく動作します。JavaScript:コールバックで外界に影響を与えるには?
一部のソースドキュメントには、他のXHTMLコンテンツに加えてMathMLマークアップが含まれています。私はmathjax-node-svg2pngと一緒にMathJax-nodeを使ってMathMLを画像に置き換えようとしています。
ここに私のダムのコードの一部です:私はこれが二回出力をログに記録する理由を理解し、コンテンツを更新せず、私はすべてを交換するために一緒にすべてを引っ張っするかどうかはわかりません
let einstein = `
<blockquote class='eqtn'>
<p>We will now prove the Pythogorian theorem: <mml:math> <mrow> <msup><mi> a </mi><mn>2</mn></msup> <mo> + </mo> <msup><mi> b </mi><mn>2</mn></msup> <mo> = </mo> <msup><mi> c </mi><mn>2</mn></msup> </mrow> </mml:math></p>
</blockquote>
<blockquote>
<p><mml:math><mrow><mi>e</mi><mo>=</mo><mi>m</mi><msup><mi>c</mi><mn>2</mn></msup></mrow></mml:math></p>
</blockquote>
`;
const re = /(\<mml:math.*?\<\/mml:math\>)/g;
var equations = einstein.match(re);
equations.forEach(equation => {
mjAPI.typeset({
math: equation,
format: 'MathML',
png: true,
scale: 2
}, function(data) {
if(!data.errors) {
const imageTag = `<img alt="${data.speakText}" src="${data.png}" width="80%"/>`;
console.log(einstein.replace(equation, imageTag)); // This logs the string
// twice, each time with a different **single** equation replaced with
// an image tag.
}
});
});
それが非同期であるとすれば、画像を含む方程式。正しい方向で私を指し示す文書はありますか?