7年半前に,MathJaxによるbloggerの数式表示に若干の問題があることを報告していたが,そのまま放置していた。数式部分がかなり小さく表示されてしまうのだ。数回リロードすると直ることもあるが,同じページで再発することもあって面倒だった。
この度,思いついてChatGPTに相談してみると,あっという間に解決してしまった。こんなことなら早く聞いておくのだった。MathJaxの初期化と,ページ全体のレンダリングの順序が混乱することによるらしい。使っているのは,MathJax 2.7.2でもうだいぶ古いとも言われた。
そこで,MathJax 4.1.3にして,現在の数式部分のコードとも矛盾しない解決案(下記参照)を提示してくれた。最新のものでは,$ $ で数式を囲うのはなしになったそうだ。確かに普通の$記号と間違えて数式が乱れることが多かった。過去のものはそのまま成立するようにしている。BloggerのテーマのカスタマイズでHTMLのところの冒頭を修正すればいいのだ。
なお,今後は,次のようにせよとのことだった。
(※HTMLエディタと混線するので,途中の改行なし直書きが必要)
(1) 行内数式:
\\( E=mc^2 \\)
(2) 独立数式:
\\[E=mc^2 \\]
(3) 複数行式:
\\begin{aligned} E &= mc^2,\\ p & = mv. \\end{aligned}
(4) 番号つき複数行式
\\begin{align} E &= mc^2,\\ p & = mv. \\end{align}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<head>
<script type='text/javascript'>
window.MathJax = {
tex: {
inlineMath: [
['\$', '\$'],
['\\(', '\\)']
],
displayMath: [
['\$\$', '\$\$'],
['\\[', '\\]']
],
processEscapes: true,
tags: 'ams',
macros: {
bm: ['\\boldsymbol{#1}', 1],
argmax: '\\mathop{\\rm arg\\,max}\\limits',
argmin: '\\mathop{\\rm arg\\,min}\\limits'
}
},
output: {
displayOverflow: 'linebreak',
linebreaks: {
inline: true,
width: '100%'
}
}
};
</script>
<script defer='defer'
src='https://cdn.jsdelivr.net/npm/mathjax@4.1.3/tex-mml-chtml.js'
type='text/javascript'>
</script>
<meta expr:content='data:blog.isMobile ? "width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" : "width=1100"' name='viewport'/>
<b:include data='blog' name='all-head-content'/>