yuriacats

yuriacats

実際にKatexを使ってみた感想

このテキストは8分で読めます。

経緯

大学の数学の課題で行列計算の式とかを書かなきゃいけなかった。
自分のLatex環境がまだできていないため、本番ブログ のエディターを 使ってTex打ちというものをやってみた。自分がLatexを使う時はLaTeX2ε美文書作成入門 という書籍を横におきながら Texを書いている。最近改定された上に、辞書的に使うのに大変重宝している。

実際に売ってみた式

行列の掛け算の計算方法について書いただけの式ではあるのですが。

A=(a11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44)A = \left( \begin{array}{cccc} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \\ a_{41} & a_{42} & a_{43} & a_{44} \\ \end{array} \right)
B=(b11b12b13b14b21b22b23b24b31b32b33b34b41b42b43b44)B = \left( \begin{array}{cccc} b_{11} & b_{12} & b_{13} & b_{14} \\ b_{21} & b_{22} & b_{23} & b_{24} \\ b_{31} & b_{32} & b_{33} & b_{34} \\ b_{41} & b_{42} & b_{43} & b_{44} \\ \end{array} \right)

のとき、

AB=(c11c12c13c14c21c22c23c24c31c32c33c34c41c42c43c44)AB = \left( \begin{array}{cccc} c_{11} & c_{12} & c_{13} & c_{14} \\ c_{21} & c_{22} & c_{23} & c_{24} \\ c_{31} & c_{32} & c_{33} & c_{34} \\ c_{41} & c_{42} & c_{43} & c_{44} \\ \end{array} \right)
c11=a11×b11+a12×b21+a13×b31+a14×b41c12=a11×b12+a12×b22+a13×b32+a14×b42c13=a11×b13+a12×b23+a13×b33+a14×b43c14=a11×b14+a12×b24+a13×b34+a14×b44c21=a21×b11+a22×b21+a23×b31+a21×b41c22=a21×b12+a22×b22+a23×b32+a22×b42c23=a21×b13+a22×b23+a23×b33+a23×b43c24=a21×b14+a22×b24+a23×b34+a24×b44c31=a31×b11+a32×b21+a33×b31+a34×b41c32=a31×b12+a32×b22+a33×b32+a34×b42c33=a31×b13+a32×b23+a33×b33+a34×b43c34=a31×b14+a32×b24+a33×b34+a34×b44c41=a41×b11+a42×b21+a43×b31+a44×b41c42=a41×b12+a42×b22+a43×b32+a44×b42c43=a41×b13+a42×b23+a43×b33+a44×b43c44=a41×b14+a42×b24+a43×b34+a44×b44c_{11}= a_{11} \times b_{11} +a_{12} \times b_{21}+a_{13} \times b_{31}+a_{14} \times b_{41}\\ c_{12}= a_{11} \times b_{12} +a_{12} \times b_{22}+a_{13} \times b_{32}+a_{14} \times b_{42}\\ c_{13}= a_{11} \times b_{13} +a_{12} \times b_{23}+a_{13} \times b_{33}+a_{14} \times b_{43}\\ c_{14}= a_{11} \times b_{14} +a_{12} \times b_{24}+a_{13} \times b_{34}+a_{14} \times b_{44}\\ c_{21}= a_{21} \times b_{11} +a_{22} \times b_{21}+a_{23} \times b_{31}+a_{21} \times b_{41}\\ c_{22}= a_{21} \times b_{12} +a_{22} \times b_{22}+a_{23} \times b_{32}+a_{22} \times b_{42}\\ c_{23}= a_{21} \times b_{13} +a_{22} \times b_{23}+a_{23} \times b_{33}+a_{23} \times b_{43}\\ c_{24}= a_{21} \times b_{14} +a_{22} \times b_{24}+a_{23} \times b_{34}+a_{24} \times b_{44}\\ c_{31}= a_{31} \times b_{11} +a_{32} \times b_{21}+a_{33} \times b_{31}+a_{34} \times b_{41}\\ c_{32}= a_{31} \times b_{12} +a_{32} \times b_{22}+a_{33} \times b_{32}+a_{34} \times b_{42}\\ c_{33}= a_{31} \times b_{13} +a_{32} \times b_{23}+a_{33} \times b_{33}+a_{34} \times b_{43}\\ c_{34}= a_{31} \times b_{14} +a_{32} \times b_{24}+a_{33} \times b_{34}+a_{34} \times b_{44}\\ c_{41}= a_{41} \times b_{11} +a_{42} \times b_{21}+a_{43} \times b_{31}+a_{44} \times b_{41}\\ c_{42}= a_{41} \times b_{12} +a_{42} \times b_{22}+a_{43} \times b_{32}+a_{44} \times b_{42}\\ c_{43}= a_{41} \times b_{13} +a_{42} \times b_{23}+a_{43} \times b_{33}+a_{44} \times b_{43}\\ c_{44}= a_{41} \times b_{14} +a_{42} \times b_{24}+a_{43} \times b_{34}+a_{44} \times b_{44}\\

これだけで結構な文字数があって大変な部分も多いです。しかし、自作アプリはその場で自動的にコンパイルされた文章が下に出力される 仕様だったのでその点では使いやすさがあったなと思いました。また、Vimでこの式に代入する時は:'<,'>/ a_{00}/g のようにそれぞれの 添字に対して代入の指定が行いやすいためある意味正規表現に強いところが1番のメリットかなとも思います。 正直Vim×Latex強い気しかしないのでどうにかしてVimと即時プレビューを両立したいところです。

今後の展望と仮説

これは地味にえぐい書き方をしているのですが、数学科の友人に話を聞いたところbmパッケージを使った この記法が便利ということで

B=
\begin{pmatrix}
b{11}&&&\
b{21}&&&\
b{31}&&&\
b{41}&&&
\end{pmatrix}
=
\begin{pmatrix}
\bm{b}_{1}&&&\
\end{pmatrix}

Katexにも入っているのか入れられるのかについてもよう審議すべきだなとか、基本的に 日本語文が混在するわけではないので、Vim的なキーバインドを併用できたら楽だろうなとか そういうことを考えています。ただ、今のキーボードのキーバインドが日本語英語の切り替えがすごく楽なので Vimで英語と日本語を切り替えるのが苦でないのが一番ありがたいところかなと思います。