Scribble at 2022-11-09 09:28:20 Last modified: 2022-11-09 09:51:43

組合せ論のページでご覧いただくと気づくかもしれないが、当サイトでは KaTeX を導入した。数式を表示するのに MathJax など幾つかの選択肢はあったけれど、MathJax は敢えて避けた。MathJax は多くの学術誌のサイトでも使われているくらいポピュラーだが、極めてライブラリの容量が多くてファイル構成も複雑になってしまい、その使い方だけではなくメンテナンスも難しいからだ。ページを読み込むたびに大量の特殊なフォント・ファイルやスタイル・シートのファイルや JavaScript のコードを読み込み、そのページが実際に数式を使わなくても過剰なリソースを消費する。そのため、現在では個人のサイトで MathJax を使うときは CDN で提供されているライブラリの一式をロードするというスタイルが普及しており、ページのプレゼンテーションについてサイトの制作・運営者が責任を取らないという愚劣な慣行が普及してしまっている。僕は、KaTeX を自分でメンテナンスできるわけではないものの、ユーザとしての見識から言って、そういう慣行は20年以上にわたってウェブサイトを制作したり運用している者として、にわかには認めがたい。そして、僕自身が MathJax を何度か使ってきたり、MathJax を利用している理数系のサイトやブログにアクセスしてきて、本当にパフォーマンスが悪いという実感を持っているのだ。まさに MathJax はブラウザに DTP womotikonnda///nanndezenkakuninatterunnda? ・・・DTP を持ち込んだようなものではないのか。

これ、特に Microsoft Edge でフォームに文章を入力してると起きるんだよね。全角の英文字なんていう、この宇宙に全く存在する必要がないガラクタみたいな文字種をユーザに強要してくる。そして、Happy Hacking Keyboard ではキーの種類が限られているため、これを簡単に元へ(「ひらがなキー」がないので)戻す方法がない。実は、これはウィンドウを閉じて Edge のプロセスを再起動すれば治る。しかし、このことに気づくまでは何度も困惑させられたものだ。しかも、どういうわけか僕の設定だと MS-IME の「言語バー」というのが全くデスクトップに表示されないため、言語バーから元に戻す方法もとれないのである。こうして日本語で入力していても、タスク・バーの通知領域には丸い「x」のアイコンが表示されていて、ツール・チップにも「IMEが無効です」とある。要するに、IMEが無効になっている状態で日本語を入力しているという変な体裁でパソコンを使っているわけだ。原因は知らない。もう10年以上にわたって、これまで使ってきた Windows ではずっとこんな調子で言語バーにアクセスできないままだ。

それはともかく KaTeX に話を戻すと、そんなわけで、当サイトでは LeX の記法を取り入れて数式や論理式を表記するようになったということである。ただし、KaTeX だけでなく LaTeX にも不等号のマクロ表記が欠落しており、これはもちろん HTML において LeX を記述する際には好ましくない。HTML において不等号の記号はタグを囲む文字として使われるため、いまでも多くのテキスト・エディタが不等号を開始点としてタグであるかどうかを判定するような syntax highlighting を実装しており、不等号を使うだけで、後続する文字列を HTML の要素名と見做して太字にしたり色を変えるといった変換をしてしまうことがあるからだ。よって、KaTeX で解釈するべきドル・マークで囲んだスコープにおいても、不等号は &lt や &gt(実体参照されるのを避けるために、敢えて最後のセミコロンを書いていない)を使っている。= や - は問題ない。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook