LoginSignup
17
1

macOS Ventura (v13.1) の Chrome (108/109) で Qiita の数式が崩れて見える件

Last updated at Posted at 2023-01-20

macOS Ventura (v13.1) の Chrome (108/109) で Qiita の数式が崩れて見える件です。

Qiita は Mathjax のバージョンアップを v2 から v3 に切り替えました。もしかしたら状況が変わるかもしれません。
スクリーンショット 2023-08-01 2.49.16.png
参考) https://blog.qiita.com/update-math-jax-v3/

はじめに

自分は 2023年1月12日に Qiita の記事の数式表示がおかしい事に気づきました。

明らかに以前より数式の表示が崩れています。

MathJax Math Renderer (クライアント側での回避策)

(クライアント側) MathJax 設定で問題を回避可能です。右クリックで設定できます。

ただ、回避はできますが、クライアント側の対処だと、影響をうける閲覧ユーザ皆の手間がかかりますし、 Chrome を更新(108→109)するとまた設定が戻ったりして、その度にやり直すのも面倒です。
Chrome 更新せずとも再起動だけで設定がデフォルトに戻るようです。ページを開き直す分には設定を持続します。(2023/1/28)

MathJax Config (サーバ側での回避策)

マニュアルを見た感じ、サーバ側で頑張れば JavaScript で MathJax 設定して回避できそうです。
そもそも macOS Chrome 側の問題っぽい(後述する issue の話)ので根本対処でなく、あくまで一時的な回避です。

不具合の出る条件を絞り込み、その環境でのみサーバ側で以下の制御を行えば、ユーザ側の手間をかけず対処可能なはずです。

MathJax.Hub.Config({
  showProcessingMessages: false,
  jax: ["input/TeX", "output/HTML-CSS"],
  TeX: {
    TagSide: "left",
    Macros: {
      RR: '{\\bf R}',
      bold: ['{\\bf #1}',1]
    }
  }
});

例えば、Common HTML に切り替えたい場合は、以下のようにできます。(試してないので多分でしかないです)

MathJax.Hub.Config({
...()
  jax: ["input/TeX", "output/CommonHTML"],
...()
});

Qiita さん、検討してくれないかしら。(๑╹ω╹๑ )

ただ、適用するにしても副作用がないか要確認です。
例えば、この設定がクライアント側に記憶され、対応が不要になったずっと後で地雷になったりとか。

MathJax issue

恐らくズバリの issue をみつけました。

雑にまとめると

  • macOS Chrome の HTML-CSS 表示で崩れる
  • STIXGeneral、 STIXNonUnicode フォントに関わる問題
  • Chrome の macOS フォント検索の仕方に問題がありそう(?)
  • HTML-CSS は最も古い設定だが最も壊れやすく、デフォルトから変える提案はなされているが、他項目も完璧ではないので今のまま

まとめ

  • macOS Ventura だと Chrome 108 あたりから Qiita の数式が崩れて見える
  • MathJaxの MathML Renderer を変更する事で回避可能。クライアント側でもサーバ側でも変更可。
  • 特定バージョンの macOS + Chrome で問題がある事は MathJax 開発側でも認識されている。
17
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
1