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

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

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

参照用 記事

はてなブログでもXyJaxが使える

[追記]ムムム、単一記事の表示ではうまくいきますが、複数記事を表示すると、XyJaxのレンダリングが崩れてしまいますね(ブラウザ依存の現象のようです)。不完全です。[/追記][追記]はてなブログでもXyJaxが使える、のか?」に問題点を書きました。[/追記]

2019年の記事「MathJaxで可換図式」で次のように書きました。

XyJaxというMathJax拡張(https://sonoisa.github.io/xyjax/xyjax.html)を使えば、Xy-pic相当の絵を描けるようですが、はてなブログではサポートされていません。ユーザー側のカスタマイズ (head内にscriptタグを追加することになります。) でXyJaxを導入することも出来ないようです。残念。

「出来ないようです」は僕の誤認でした。実はXyJaxが使えるのです! id:jurupapaさんの次の記事で知りました -- ありがとうございます。

設定は、上記記事のとおりにやるだけです。[設定] >> [詳細設定] の [headに要素を追加] に、jurupapaさん記事からコピーした(わずかに変えていますが)次のHTMLコードを記入しました。

<script
        src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_HTML">
</script>
<script>
        MathJax.Ajax.config.path["Contrib"] = "//cdn.mathjax.org/mathjax/contrib";
        MathJax.Hub.Config({
        CommonHTML: { linebreaks: { automatic: true } },
        "HTML-CSS": { linebreaks: { automatic: true } },
        tex2jax: { inlineMath: [['$`', '`$']] },
        TeX: { equationNumbers: { autoNumber: "AMS" }, TagSide: "left", TagIndent: "0em",
        extensions: ["AMSsymbols.js","[Contrib]/xyjax/xypic.js"] }});
</script>

幾つか試してみます。


MathJaxで可換図式」で、こんなんが描けたらいいのになー、と言っていた例です。曲線を含む色付きの可換図式です。

\newcommand\Ker{\mathrm{Ker}\,}
\newcommand\Coker{\mathrm{Coker}\,}
\begin{xy}
\xymatrix {
  0 \ar@[red][r]
  & {\Ker f} \ar@[red][r]
  & {\Ker a} \ar@[red][r] \ar[d]
  & {\Ker b} \ar@[red][r] \ar[d]
  & {\Ker c} \ar@[red]@`{[]+/r10pc/, [dddll]+/l10pc/}[dddll]_(0.55)d \ar[d]
\\
  &
  & A \ar@[blue][r]^f \ar@[blue][d]^a
  & B \ar@[blue][r] \ar@[blue][d]^b
  & C \ar@[blue][r] \ar@[blue][d]^c
  & 0
\\
  & 0 \ar@[blue][r]
  & A' \ar@[blue][r] \ar[d]
  & B' \ar@[blue][r]^{g'} \ar[d]
  & C' \ar[d]
\\
  &
  & {\Coker a} \ar@[red][r]
  & {\Coker b} \ar@[red][r]
  & {\Coker c} \ar@[red][r]
  & {\Coker g'} \ar@[red][r]
  & 0
}
\end{xy}

$$
\newcommand\Ker{\mathrm{Ker}\,}
\newcommand\Coker{\mathrm{Coker}\,}
\begin{xy}
\xymatrix {
0 \ar@[red][r]
& {\Ker f} \ar@[red][r]
& {\Ker a} \ar@[red][r] \ar[d]
& {\Ker b} \ar@[red][r] \ar[d]
& {\Ker c} \ar@[red]@`{[]+/r10pc/, [dddll]+/l10pc/}[dddll]_(0.55)d \ar[d]
\\
&
& A \ar@[blue][r]^f \ar@[blue][d]^a
& B \ar@[blue][r] \ar@[blue][d]^b
& C \ar@[blue][r] \ar@[blue][d]^c
& 0
\\
& 0 \ar@[blue][r]
& A' \ar@[blue][r] \ar[d]
& B' \ar@[blue][r]^{g'} \ar[d]
& C' \ar[d]
\\
&
& {\Coker a} \ar@[red][r]
& {\Coker b} \ar@[red][r]
& {\Coker c} \ar@[red][r]
& {\Coker g'} \ar@[red][r]
& 0
}
\end{xy}
$$


XyPicのユーザーガイド(https://www.math.wichita.edu/~pparker/personal/latex/xyguide)の最初にある例です。

\xymatrix{
  U \ar@/_/[ddr]_y \ar@/^/[drr]^x\ar@{.>}[dr]|-{(x,y)} \\
  & X \times_Z Y \ar[d]^q \ar[r]_p & X \ar[d]_f \\
  & Y \ar[r]^g & Z
}

$$
\xymatrix{
U \ar@/_/[ddr]_y \ar@/^/[drr]^x\ar@{.>}[dr]|-{(x,y)} \\
& X \times_Z Y \ar[d]^q \ar[r]_p & X \ar[d]_f \\
& Y \ar[r]^g & Z
}
$$


https://tex.stackexchange.com/questions/215217/xypic-pasting-diagrams-in-lyx の回答にあった、ペースティング図の例です。

\begin{gathered}
\xymatrix@C+3em@R+3em{
  V_1 \ar[r]^{\rho_1(g)} \ar[d]_{\phi} &
  V_1 \ar[r]^{\rho_1(g')} \ar[d]^{\phi} &
  V_1 \ar[d]^{\phi} \\
  V_2 \ar[r]_{\rho_2(g)} \ar@{=>}[ur]^{\phi(g)} &
  V_2 \ar[r]_{\rho_2(g')} \ar@{=>}[ur]^{\phi(g')} &
  V_2
}
\end{gathered}
=
\begin{gathered}
\xymatrix@C+3em@R+3em{
  V_1 \ar[r]^{\rho_1(g'g)} \ar[d]_{\phi} &
  V_1 \ar[d]^{\phi} \\
  V_2 \ar[r]_{\rho_2(g'g)} \ar@{=>}[ur]^{\phi(g'g)} &
  V_2
}
\end{gathered}

$$
\begin{gathered}
\xymatrix@C+3em@R+3em{
V_1 \ar[r]^{\rho_1(g)} \ar[d]_{\phi} &
V_1 \ar[r]^{\rho_1(g')} \ar[d]^{\phi} &
V_1 \ar[d]^{\phi} \\
V_2 \ar[r]_{\rho_2(g)} \ar@{=>}[ur]^{\phi(g)} &
V_2 \ar[r]_{\rho_2(g')} \ar@{=>}[ur]^{\phi(g')} &
V_2
}
\end{gathered}
=
\begin{gathered}
\xymatrix@C+3em@R+3em{
V_1 \ar[r]^{\rho_1(g'g)} \ar[d]_{\phi} &
V_1 \ar[d]^{\phi} \\
V_2 \ar[r]_{\rho_2(g'g)} \ar@{=>}[ur]^{\phi(g'g)} &
V_2
}
\end{gathered}
$$


気付いたことや注意点:

  1. カスタマイズの設定をすると、$​` と `​$ がインライン数式の囲み記号になります。
  2. ディスプレイ数式は、$$(ドルマーク2つ)で囲みます。ドルマーク2つは特に設定しなくても使えます。
  3. 「はてなブログ」のオリジナルの囲み記号 "[​tex:", "]" は使えますが、同一記事内で「はてなブログ」オリジナルとカスタマイズしたMathJaxの共存はできません。混ぜて使うと、「はてなブログ・オリジナル」優先されて、カスタマイズしたMathJax設定は無効になります。
  4. 上記の理由で、過去記事のページは正常に表示されます。
  5. 冒頭で参照したjurupapaさんの記事にある「はてなブログのキーワードリンク機能」の問題は早速経験しました。対処法はjurupapaさんの記事に書いてあります。