このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

はてなTeX記法が表示されないのはバグではなく、表示されるのがバグ

2019年4月10日に、「はてな」に2つの問い合わせをしました。問い合わせ内容を簡潔に言えば:

  1. TeX記法がうまく表示されなくて困ってます。
  2. アンパサンド・エスケープ(文字実体参照)が効かなくて困ってます。

一番目の問い合わせに対する回答が昨日(2019年5月23日)届きました。その間、“ナシのつぶて”というわけではなくて、何度か連絡とやり取りがありましたので、十分に誠意ある対応だったと思います。でも …

内容:

非サポート機能として決着

回答までに随分と時間がかかっています。おそらく、「はてな」としての公式見解をまとめるのに苦慮していたのでしょう。

僕が遭遇した現象に関しては次の記事に書いてあります。

これは、TeX数式を \(TeXコード\) と書いたときに起きる現象です。結論を言えば(「はてな」からの回答を引用):

はてなブログの開発にあたって、はてなダイアリーTeX記法に対応した際に偶発的に今回の記述方法がご利用いただけるようになっていたものであり、
意図して機能提供を行ったわけではございませんので、何卒ご理解いただけますようお願いいたします。

つまり、\(TeXコード\) と書いて表示されたのが偶然であり、
[tex:TeXコード] しかサポートしないよ、ってことです。非サポートなので、

二回目以降が \(TeXコード\) で動作する点につきましては、今後はご利用いただけなくなる可能性はございます。

とのことです。後で修正するハメになるのが嫌なら、\(TeXコード\) は使わないほうが無難です。

僕が \(TeXコード\) に気付いたのは、「はてなダイアリー」との非互換性による不具合がキッカケでした。「不具合の原因となる非サポート機能って、それ何だよ?」という気持ちから、次の質問をしました。

もし、\(…\) が非推奨だとするなら、はてなダイアリーとの互換性を壊してまで \(…\) を導入した理由は何だったのですか?

これに対する回答はありませんでした。余計な事を言うと墓穴を掘る危険性がありそうだから、触れないのが得策ではあります -- まっ、致し方ないですね。

発見とぬか喜び

経緯を少し補足しておきます。

はてなダイアリー」と「はてなブログ」は完全互換ではないので、「はてなダイアリー」からインポートした記事の表示が崩れてしまう現象は起きました。そのひとつに、TeX記法内で \(…\) を使っていると数式が表示されなくなる不具合があります。

はてなダイアリー」では、次のように書くと丸括弧が小さく表示されて、数式としてはバランスが悪くなります。

[tex: \int_{y=c}^d ( \int_{x=a}^b f(x, y)dx ) dy ]

括弧のサイズを大きくするためには、\()\を使って次のようにします。

[tex: \int_{y=c}^d \( \int_{x=a}^b f(x, y)dx \) dy ]

この書き方が「はてなブログ」ではエラーとなります。表示を壊す非互換な変更がなされたのです。

「なぜ \(…\) を禁止したのだ?」と考えてみると、「\(…\) が新機能に割り当てられた」と推測できます。で、実験してみたら、\(…\) で数式が書けたのです。

手書きする場合は、\(…\)[tex:…] よりはるかに書きやすく、「はてなさん、TeX記法を改善したんだ。いいな、これは。非互換でもお釣りが来る便利さだ」と大変に喜んでました。

でも、新TeX記法(と僕は信じていた)がうまく表示されないことがあり、バグと思い問い合わせをしたのですが …
“偶発的に今回の記述方法がご利用いただけるようになっていたものであり、意図して機能提供を行ったわけではございません” とな。
“今後はご利用いただけなくなる可能性はございます” とな。

これは言わせて: 結局、過去記事の修正をする労力を払っただけで得るものはなかったんかい。