裏紙に雑文

日記とか,とりとめのないこと

はてなブログでの可換図式の書き方

はてなブログで可換図式を書く方法を備忘録がわりに記事にしておきます. 記述に誤りなどありましたらコメントでお知らせいただければ幸いです. また,私は Markdown モードで記事を書いているので,他の編集モードでは同じ結果にならないかもしれません. ご了承くださいませ.

可換図式を書く方法としては

  1. AMScd を利用する方法
  2. XyJax を利用し xymatrix 環境を用いる方法

があります.

追記; 当記事は思うところあって非公開にしていましたが,再度公開することにしました.

AMScd を利用して書く

一番簡単な方法は AMScd を利用することです. みなさんご存知のように(?)はてなブログでは MathJax を利用して数式を表示しています. MathJax は CD 環境が使えます. 一番簡単な方法はこの CD 環境を用いる方法です. 以下の情報を参考にしました:

MathJax で可換図式: SpaceLikeのブログ

MathJax TeX and LaTeX Support — MathJax 2.7 documentation

使い方は簡単で,記事本文中のどこかに[tex: \require{AMScd}]と書くだけです. これで簡単な可換図式が書けるようになります.

たとえば

\begin{CD}
S^{{\mathcal{W}}_\Lambda} \otimes T @>j>> T \\\\
@VVV                                @VV{\mathrm{End} \\, P}V \\\\
(S \otimes T)/I                     @= (Z \otimes T)/J
\end{CD}

と書けば

\begin{CD} S^{{\mathcal{W}}_\Lambda} \otimes T @>j>> T \\ @VVV @VV{\mathrm{End} \, P}V \\ (S \otimes T)/I @= (Z \otimes T)/J \end{CD}

のような図式が得られます. AMScd を使った図式の書き方については各自で ググってください.

ただし CD 環境では斜めの射が書けません. そこまで凝った図式が欲しいなら LaTeX で好きなツール(TikZ とか)使って書いてスクショ撮った方が良い気もしますが.

XyJax を利用して書く

XyJax という,MathJax で XY-pic 環境を使うための拡張があります. XY-pic なら斜めの射も書けます. 参考にしたのは以下のサイトです:

XyJax - = Xy-pic extension for MathJax

XyJax/README.md at master · sonoisa/XyJax · GitHub

Blogger で数式や可換図式を書く - Diary over Finite Fields

導入方法ですが,だいたい515ひかるさんのブログ記事通りにすればできます: 設定>詳細設定 の中の headに要素を追加 に以下のように記述します.

<script type="text/x-mathjax-config>
MathJax.Hub.Config({
  extensions: ["tex2jax.js"],
  jax: ["input/TeX","output/HTML-CSS"],
  "HTML-CSS": {
    styles: {".MathJax_Preview": {visibility: "hidden"}}
  },
  tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]},
  TeX: {extensions: ["AMSmath.js","AMSsymbols.js","http://sonoisa.github.io/xyjax_ext/xypic.js"]}
});
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>

ただし最後の行の https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js の部分はそれぞれ適当なバージョンの MathJax を指定してください.

以下の記述を参考にしてください:

さて,以上のような設定で可換図式が書けるようになりました. たとえば

\begin{xy}
\xymatrix{
U \ar@/\_/[drd]\_y \ar@{.>}[dr]|{\langle x,y \rangle} \ar@/^/[drr]^x & & \\\\
 & X \times_Z Y \ar[r]_p \ar[d]^q & X \ar[d]^f \\\\
 & Y \ar[r]\_g & Z
}
\end{xy}

\begin{xy} \xymatrix{ U \ar@/_/[drd]_y \ar@{.>}[dr]|{\langle x,y \rangle} \ar@/^/[drr]^x & & \\ & X \times_Z Y \ar[r]_p \ar[d]^q & X \ar[d]^f \\ & Y \ar[r]_g & Z } \end{xy}

という図式が得られます.

また,MathJax の数式環境内では_などの文字を\_エスケープしてあげないと数式化されない場合があります. 図式が書けない場合は片端からエスケープしてみましょう.

注意

XyJax と AMScd の両方を使う人は MathJax の設定に AMScd.js も追加して

  TeX: {extensions: ["AMSmath.js","AMSsymbols.js","AMScd.js","http://sonoisa.github.io/xyjax_ext/xypic.js"]}

のようにしておきましょう.

とりあえず以上のような方法ではてなブログに可換図式を書くことが可能となりました. めでたしめでたし.