理想の数式エディタを求めて - Mathcha.io が使いやすい

# Mathcha.ioとは
Mathcha.ioはWebブラウザで利用できる無料の数式エディタです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/429d19b6-3320-59fb-5867-ee3f7ad706ff.png)

https://www.mathcha.io/

以下のような特徴があり、非常に使いやすいです。
- latexを知らなくてもつかえる
- 数式だけでなく文章も入力できる。文章中に数式を入れられる。
- 作成した数式はlatexで出力できるので、他のエディタ（Qiitaとか）にコピペできる

ベトナムのNha Bui Ducというイケメンが開発しているようです。（ありがとうございます！！）

https://www.linkedin.com/in/nha-bui-duc/

メニューは英語ですが、もちろん日本語も入力できます。

## どんな人におススメか
- latexを日常言語のように操れない人。
- 使いやすい数式エディタを求めてさまよっている人

わたしは最近数学にはまっており、勉強したことを勉強会などで共有したいと常々思っていました。
最近はgoogle様のColabがあり、これを使うのがコードを使えるので、標準的だと思います。

https://colab.research.google.com/?hl=ja

ただ、**ここに説明の為に数式を書いていくのにいちいちlatexの文法を調べながら書いていくのは苦痛** で、わたしはipadに手書きで書いたものを共有するという原始的な方法を長年とっていました。
Mathcha.ioに早く出会っていれば、、、

## Mathcha.ioの基本的な操作
https://www.mathcha.io/
[Open Editor] を押すとeditorが開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/67d22a0e-51ff-035a-b7ed-5ffe0b08dd1f.png)

ファイルの保存等はログインしなければできませんが、一通りこのエディタ画面で機能を試すことができます。ちょっと試してみましょう。文章等はword感覚で普通に入力できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/429d19b6-3320-59fb-5867-ee3f7ad706ff.png)

### 数式入力モード
mathchaでは二つの数式入力モードがサポートされています。
- math-containerモード
数式のみを入力するブロックモード
- inline-mathモード
文章中に数式を埋め込める。

#### math-containerモード
[\\]（日本語キーボードだと¥）を押すとメニューが出てきます。ここで[\\math-container]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/dad5f8da-b818-06a1-1264-4ce1ebb5fea5.png)
すると、薄緑のコンテナがでてきて、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/7951e4d2-7bd1-139f-fed9-a63e37d8d22f.png)

ここでさらに[\\]（日本語キーボードだと¥）を押すと数学記号を選ぶことができます。
基本的にはここで記号を選んでいくことで入力します。
絞り込み検索が有効なので、マウスを使わず素早く絞り込み出来ます。またtex記法に（だいたい）対応しているかつ結構あいまいに検索できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/b81f244f-e7c6-a43a-1554-c14c3592a2ed.png)

#### inline-mathモード
文章中入力中に[$]を押すとinline-mathモードに切り替わり、先ほどと同じく[\\]（日本語キーボードだと¥）で数式を入力できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/8543d02c-7ebe-528b-73f5-a8d909894edd.png)

### 数式入力例
- 分数
\\frac で入力ボックスが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/ec2f3966-926d-1916-8cf2-38fb98a2cde9.png)

- 行列
\\bmatrix で入力ボックスが表示されます。ボックスの歯車アイコンをクリックすると、Row*Colを指定できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/9a96cb7e-9524-5524-88f6-df0df3537a85.png)

- bracket
個人的に最近多用するブラ-ケット記法もいい感じです \\bra\ket 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/b1e93046-c002-5bcc-e662-cb619c321097.png)

- 上付き、下付き添え字
添え字は上付きは[^]、下付きは[_]で入力したいですよね。その通り入力できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/d54459b5-58cc-a3c4-acee-2b52a9d8ece1.png)

### 記号の名前が思い出せないときには
φって何て読むんだっけ？？phiと思い出せないときのために[Drawing]を選べば

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/a7ac1cfe-2b4e-4c22-df9c-3fdce29d21b1.png)

ちゃんと候補を出してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/ed73290b-03b0-4a3f-f1c9-07ee741bb6db.png)

## 便利な機能
### latex記法へのコンバート機能
例えばこのQiitaで行列を書きたいとして、結構latexで書くの面倒、、そんな時に
数式を選択して右クリックすれば

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/8d99ddb6-0b0f-d1ca-14dc-c1ca24f29203.png)

[To Latex]を選択して、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/0efdb921-cb04-b34d-3576-8073373ffc93.png)

コピーすれば楽々です。
↓はQiitaに張り付けたもの。この用途でlatex記法生成ツールとしてだけでも使いやすいです。

```math
\begin{bmatrix}
1 & 4\\
3 & 5
\end{bmatrix} \ \begin{bmatrix}
a & c\\
b & d
\end{bmatrix}
```

### PDF変換機能
実はPDFへの変換機能はMathcha.ioにはないです。ただし、最近はOSでPDFプリント機能があるのが普通なので、メニューから[Print]を選んで、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/c32ed0a9-d859-9cc4-7f3d-a1d8f77e4f7a.png)

印刷すれば問題ないでしょう。かなりきれいに出力できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/dfcf408a-337b-0d89-f27f-8d0505001480.png)

### グラフなどの入力
グラフ等を生成する機能もあります。ただ、個人的にはちょっと使いにくいので、グラフを入力するときはほかのソフトで入力したほうがいいかも、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/63443fbe-51d5-239c-549b-46c64981eda4.png)

個人的にはchatGPTにMatplotlibで生成してもらってコードを調整したほうが良いと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/d3cbd73e-ffda-1844-03fe-4976141be5a2.png)

### ファイル保存
無料のユーザ登録をすればディレクトリを作ってファイルを保存できます。容量制限等はなさそう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/111a0249-dcbf-5e59-0ed4-cf077486766e.png)

無料でここまで？という感じですが、ファイルは履歴管理されうっかり間違っても過去の世代に戻せます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613415/289bdc9f-3f63-2f99-1652-1db9d67df5bc.png)

## というわけで
まだまだ機能盛りだくさんで、複数ユーザでファイルを共有して使ったり、いろんなことができるようですが、大体簡単に使う操作方法としては以上です。
MSofficeや、googleスライドの数式エディタや、フリーソフト、linuxのLatex->画像生成、などいろいろ試したのですが、今のところ自分の中でMathCha.ioが一番使いやすいです。

これが完全無料というのもありがたすぎる、、、と思って記事を書いてみました。
数式を書くのは手段であって目的じゃないので、ストレスの少ないツール使うの大事ですよね！！

ありがとうございました。