Haskell勉強会

関数型プログラミングの学習日記

圏論の可換図式をLaTeXで描く方法

素朴な疑問として、本やネットの記事にある圏論の図はどうやって描いているのだろう?と思いました。

 

検索したら、LaTeXで可換図式を書くツールが提供されているみたいです。

世の中には、こういう便利なものがあるんですね!

 

www.google.com

 

ywatanabevltmathscilogic.hatenablog.com

 

blog.miz-ar.info

 

alg-d.com

 

  • xymatrix
  • Xy-pic
  • TikZ
  • amscd

などのツールがあるそうです。

 

Xy-pic

 

 

qiita.com

 

texwiki.texjp.org

 

TikZ

 

texwiki.texjp.org

 

qiita.com

 

TikZではプログラミングのように図形と図形との位置関係などを指定してやることで、画像を生成することができます。

 

f:id:hamamuratakuo:20190930234555j:plain

 

わー、LaTeXでこんな図が描けるの!?(スゴイ)

ちょっとTikZを使ってみたくなりましたw

 

MathJaxでTikZを使う方法

調べてみましたが、ちょっとよく分かりませんでした。

 

www.google.com

 

stackoverflow.com

 

TikZJax

なんか、「tikzjax」というJavaScriptライブラリーを利用する方法が紹介されていました。

 

github.com

 

www.google.com

 

<script src="http://tikzjax.com/v1/tikzjax.js"></script>
<script type="text/tikz">
\begin{tikzpicture}
\draw (0,0) circle (1in);
\end{tikzpicture}
</script>

 

このようなJavaScriptコードを貼り付ければOKみたいですが、はてなブログでは表示させることができませんでした。

 

原因は、外部から読み込んでいるJSファイルがHTTPで読み込まれており、SSLに対応していないことみたいです。

 

wisteria0410ss.hatenablog.com

 

はてなブログで可換図式を表示するのは諦めて、ローカルで作った画像を貼り付ければOK?

 

はてなブログにJSコードを貼ってみたら、Chromeだとレンダリングされませんね。

↓ここからTikZ

↑ここまでTikZ

 

他の環境でTikZを使ってみたいと思います。

 

MathJaxでXy-picを使う方法

WebページでTikZの図をレンダリングすることはできませんでしたが、Xy-picはどうだろう?と思って調べてみたら、MathJaxでXy-picを使えるようにする「XyJax」という拡張ライブラリーが紹介されていました。

 

sonoisa.github.io

 

teratail.com

 

↓ここからXy-pic

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

↑ここまでXy-pic

 

Chromeで見ると、なんかレンダリングされてませんね。

 

うまくいった人の話もありました。

 

mtino1594.hatenablog.com

 

blog.515hikaru.net

 

うまくいかない原因を調べて解決するには時間がかかりそうなので、とりあえずローカルで生成した可換図式の画像をコピペして利用したいと思います。

 

 

インストールいらずのLATEX入門  ―Overleafで手軽に文書作成

インストールいらずのLATEX入門 ―Overleafで手軽に文書作成