【ChatGPT無】で数式・化学式を表示。LaTeX記法その１

:::note info
本記事は、ChatGPT（無料版）で
行なっております。GPT4での確認
はできておりません。あしからず。
:::

　どうも、カーブミラーです。

　今回は、
　　ChatGPTさんに
　　　数式を表示して
　　　　もらう方法です。
　　　　（化学式も含む）

　カレンダーを作成していて、
　　たまたま、数式が
　　　表示されたので、
　　　　調べることにしました。

　これは、
　　LaTeXというテキストベースの
　　　組版処理システム、とのこと。

　簡単にいうと、
　　特定の書き方をすれば、
　　　きちんとした数式として
　　　　印刷できる形になる、
　　　　　というものですね。

　マークダウン記法と
　　似たようなもの、
　　　と思えば、OK？

　どこで使うのか、というと、
　　主に学者先生様方（学生含む）が
　　　論文などに
　　　　使っているそうです。

　詳しい説明は、
　　ウィキペディアを
　　　参照してください。

　ちなみに、
　　私はそういうものがある、
　　　と知っていただけですw
　　　　使えませんw
　　　　　だって、
　　　　　　数式なんて
　　　　　　　関係ないもん。
***
　まぁ、本題です。

　数式は、LaTeX記法を指定すれば、
　　ChatGPTさん自身が解釈して、
　　　表示してくれます。

　以下にサンプルを表示します。
　　なお、Qiitaで表示できるように
　　　手を加えています。
　　　　式の前後を「$」で
　　　　　囲んだだけです。

　プロンプトは、のちほど。
***
サンプル

$分数: \(\frac{a}{b}\)$

$上付き文字: \(x^{n}\)$

$下付き文字: \(x_{n}\)$

$平方根: \(\sqrt{x}\)$

$求和記号: \(\sum_{i=1}^{n} a_{i}\)$

$積分記号: \(\int_{a}^{b} f(x) dx\)$

$行列: \(\begin{bmatrix} a & b \\ c & d \end{bmatrix}\)$

$ベクトル: \(\begin{pmatrix} x \\ y \end{pmatrix}\)$

$絶対値: \(|x|\)$

$極限: \(\lim_{x\to 0} f(x)\)$

$確率: \(P(A\mid B)\)$

$三角関数: \(\sin(x), \cos(x), \tan(x)\)$

$偏微分: \(\frac{\partial f}{\partial x}\)$

$行列式: \(\det(A)\)$

$ガウス関数: \(N(x\mid \mu, \sigma^2)\)$

$フーリエ変換: \(F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt\)$

$微分方程式: \(\frac{d^2 y}{d x^2} + a^2 y = 0\)$

$テイラー展開: \(f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n\)$

$ベイズの定理: \(P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\)$

$パーセプトロン: \(y = f(\sum_{i=1}^{n} w_i x_i + b)\)$
***
　上記のもとの
　　プロンプトは、
　　　こちらです。
```Text:LaTeXの数式プロンプト
以下を、コードではなく、数式として表示してください。

分数: \frac{a}{b}
上付き文字: x^{n}
下付き文字: x_{n}
平方根: \sqrt{x}
求和記号: \sum_{i=1}^{n} a_{i}
積分記号: \int_{a}^{b} f(x) dx
行列: \begin{bmatrix} a & b \\ c & d \end{bmatrix}
ベクトル: \begin{pmatrix} x \\ y \end{pmatrix}
絶対値: |x|
極限: \lim_{x\to 0} f(x)
確率: P(A\mid B)
三角関数: \sin(x), \cos(x), \tan(x)
偏微分: \frac{\partial f}{\partial x}
行列式: \det(A)
ガウス関数: N(x\mid \mu, \sigma^2)
フーリエ変換: F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt
微分方程式: \frac{d^2 y}{d x^2} + a^2 y = 0
テイラー展開: f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n
ベイズの定理: P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}
パーセプトロン: y = f(\sum_{i=1}^{n} w_i x_i + b)
```
***
　ほかの方の記事を見つけたので、
　　リンクしておきます。

　検索は「ChatGPT　LaTeX」で
　　見つけました。

・萩原学さん
[LaTeXもいけるよChatGPT](https://manau.jp/archives/4921/)

・hrk.さん
[ChatGPTは数式を理解してくれます。解いてもくれます。LaTexでもOK。むしろLaTexを出力させてラクする。](https://note.com/mhrk/n/n31a8a266ea28)

・AutoThinkさん
[AIによる数式の生成の基本(LaTexの利用と表示）](https://blog.front-mind.com/latex-ai/)
　上記のサンプルは、
　　こちらからいただきました。

　QiitaでもLaTeXの記事は
　　ありますけど、数式は画像で
　　　出しているだけが多いです。

　このほかにも、
　　Yahoo知恵袋で、
　　　いくつかの質問も
　　　　ありました。

　でも、
　　こちらは、
　　　答えとしては納得できた
　　　　とは思えませんでしたね。
***
　ChatGPTさんで、
　　数式を表示する必要性は
　　　自分、わかりません。

　でも、少なくとも
　　論文やレポートを
　　　書く際の数式コードが
　　　　正しいかを表示できます。

　そのプロンプトを示します。
```Text:LaTeX編集者Prompt
あなたはLaTeXを使うプロの編集者です。
私が入力する数式をLaTeXで表示してください。
```

　それが、どうした？
　　とは言わないでw
***
　この記事を書き終えて、
　　しばらくしたら、
　　　思い出してしまいました。

　数式ばかり
　　出しましたけど、
　　　確か、LaTeXは、
　　　　化学式も出せたはず？

　原子・分子・イオン
　　などなどの化学の表記。

　はい、出せました。
　　構造式は無理ですけどね。
　　　（Graphicalな表示は無理）

　化学式については、
　　doraTeXさんの記事を参照。
　　　なんと10年前のもの。
[TeXによる化学組版](https://doratex.hatenablog.jp/entry/20131203/1386068127)

　まずは、サンプルをどうぞ。
　　入力と出力のみにしました。
***
User
{Ag2O + 4NH3 + H2O -> 2[Ag(NH3)2]+ + 2OH-}

ChatGPT
$ \text{Ag}_2\text{O} + 4\text{NH}_3 + \text{H}_2\text{O} \rightarrow 2\left[\text{Ag}(\text{NH}_3)_2\right]^+ + 2\text{OH}^- $
***
User
{CaCO3 <=> Ca^2+ + CO3^2-}

ChatGPT
$ \text{CaCO}_3 \rightleftharpoons \text{Ca}^{2+} + \text{CO}_3^{2-} $
***
User
{Ba^2+ + SO4^2- -> BaSO4 v}

ChatGPT
$ \text{Ba}^{2+} + \text{SO}_4^{2-} \rightarrow \text{BaSO}_4 \downarrow $
***
User
{2H+ + 2e- -> H2 ^}

ChatGPT
$ 2\text{H}^+ + 2\text{e}^- \rightarrow \text{H}_2 \uparrow $
***
User
{CaSO4.2H2O -> CaSO4.$\frac{1}{2}$H2O + $\frac{3}{2}$H2O}

ChatGPT
$ \text{CaSO}_4 \cdot 2\text{H}_2\text{O} \rightarrow \text{CaSO}_4 \cdot \frac{1}{2}\text{H}_2\text{O} + \frac{3}{2}\text{H}_2\text{O} $
***
User
{CH3COOH <<=> CH3COO- + H+}

ChatGPT
$ \text{CH}_3\text{COOH} \rightleftharpoons \text{CH}_3\text{COO}^- + \text{H}^+ $
***
User
{H+ + OH- <=>> H2O}

ChatGPT
$ \text{H}^+ + \text{OH}^- \rightleftharpoons \text{H}_2\text{O} $
***
User
{2H2O2 ->C[MnO2] O2 ^ + 2H2O }

ChatGPT
$ 2\text{H}_2\text{O}_2 \rightarrow \text{C[MnO}_2\text{]} + \text{O}_2 \uparrow + 2\text{H}_2\text{O} $
***
User
{N2 + 3H2 ->[x\,\mathrm{mol}] 2NH3 }

ChatGPT
$ \text{N}_2 + 3\text{H}_2 \xrightarrow{x\,\mathrm{mol}} 2\text{NH}_3 $
***
User
{2CrO4^2- + 2H+ <=>C[H+][OH-] Cr2O7^2- + H2O }

ChatGPT
$ 2\text{CrO}_4^{2-} + 2\text{H}^+ \rightleftharpoons \text{C[H}^+\text{][OH}^-]\text{Cr}_2\text{O}_7^{2-} + \text{H}_2\text{O} $
***
User
{CuSO4.5H2O ->C[\Delta] CuSO4.H2O + 4H2O ^ }

ChatGPT
$ \text{CuSO}_4 \cdot 5\text{H}_2\text{O} \xrightarrow{\Delta} \text{CuSO}_4 \cdot \text{H}_2\text{O} + 4\text{H}_2\text{O} \uparrow $
***
User
{PbCl2 ->T[熱湯に溶解] Pb^2+ + 2Cl-}

ChatGPT
$ \text{PbCl}_2 \xrightarrow{\text{熱湯に溶解}} \text{Pb}^{2+} + 2\text{Cl}^- $
***
User
{HC#C - CH=CH2 + 3H2 -> CH3 - CH2 - CH2 - CH3}

ChatGPT
$ \text{HC}\equiv\text{C} - \text{CH}=\text{CH}_2 + 3\text{H}_2 \rightarrow \text{CH}_3 - \text{CH}_2 - \text{CH}_2 - \text{CH}_3 $
***
　一部、
　　おかしいところが
　　　ありましたが、
　　　　概ね表示できます。

　なお、
　　「\ce」（化学式である）が
　　　先頭や途中にあると、
　　　　ChatGPTさんが、
　　　　　うまく処理して
　　　　　　くれません。

　ご注意を。

　これが
　　誰かの何かの役に立てば、
　　　うれしいです。
***
　LaTeXについて追記です。

　　LaTeX記法その２
[【ChatGPT無】物理式も。LaTeX記法その２](https://qiita.com/kabumira/items/cd1c76e79afc0f534cce)

　　LaTeX記法その３
[【ChatGPT無】を文系も使おう。LaTeX記法その３](https://qiita.com/kabumira/items/95e2e21d5c35bcb08f85)