エクセル、ワードを代替的な数式エディターとしていたが、最近はLyXとの二刀流でLaTexに霧中

AIの時代が始まる前はMS Word やエクセルを代替的な、しかも、ゼロコストの数式エディターに出来ないかと試行錯誤して、以下のように設定して、少し楽に使えるようになった。 エクセル(EXCEL)も同じ手順だが、 ワード( word)を例にすると、まずワード(word)を立ち上げ新しいファイルを開く。つぎにオプションを選択して開くとオプションメニューが出るので「リボンのユーザー設定」とクリックする。


ワード MS word 数式エディター





するとリボンのカスタマイズのメニューが表れる。

数式ツールを WORD(ワード)のメインメニューに




「コマンドの選択」で「ツールのタブ」を選択する。すると下の方に数式ツール+デザインが出て来るので、それをマウスで選択して、そのまま右側の「メイン タブ」の好きな箇所にドラッグしてドロップする。


  
数式エディターらしく変える





当該の新しいタブを右クリックして好みの名称に変えて終了。次にwordを立ち上げると数式エディタがメニューとして表示されるので、それをクリックし、つぎにリビンの右端でリボンのピン止めをする。


数式エディター

なんとか数式エディター風になる。エクセル(excel)もワード(word)ともに右下のスライドバーで拡大表示できるので細かい添え字の入力は楽になる。常時にメニューリボンをフロント画面の任意の場所に浮かせておくような使い方が出来ればもっと使いやすいと思う。エクセル(excel)もワード(word)と同様のやり方でメインメニューに数式エディターをメニュ-表示させることができる。



AI時代が始まり、 最近になってLyXを使い始めた


AIに統計学や数学に関連した質問をするとLaTex表記の回答が返ってくる。LaTeXは面倒臭そうで本格的に学ぶ気力も無いので(後期高齢者のため)何か安直な方法はないかと思案していたところLyXというソフトに辿りついてた。LaTexについてあまり知識が無くても数式が表現できる便利なツールとして使っている。AIの回答をLyXに貼りつけて、編集すると奇麗な数式が表示された文書になり読みやすくなる。まだ五里霧中の状態だが大変な便利さを実感しているので、その感想文を書いてみた。子供達の方が遥かに進んでいて、そんなことはずっと前からやっているよと言われるかも知れないが、少しだけご紹介しておきたい。LyXについては公式サイトの他にも詳しく書かれたサイトが多数あるので調べやすい。LyXを使うには事前にTeXLiveかMikTexをインストールしておく必要があるが、筆者の経験ではTeXLiveのインストールがうまく出来なかったのでMikTexをインストールして使っている。MikTexのインストールが終わってからLyXをインストールする。いずれのインストール時にはこのソフトのインストールは推奨できないと警告が表示される。警告の詳細情報を読むと実行ボタン表示されるのでインストールを続けていく。LyXのインストールにも30分程度の時間を要した。インストール画面のバックグラウンドに別の追加のインストール画面が出ているのに気づかなかったせいかもしれない。これに気付いて追加のインストールの許可も与えたらスムーズにインストールできた。
 使い方は直観的で数式専用のワープロのように使えて重宝している。
前述のようにAIに数学や統計学などに関連した質問をするとTeX表記が混在している回答が表示される。そのままワードにコピーしても読みにくい。そこでAIの回答をコピーして、LyXの新しいファイルに貼りつける。次に、LyXの文書中のTex表記の個所を選択して、LyXの挿入メニューから数式の行内数式をクリックすると美事な数式が表示される。(Ctl+M のショートカットキーが使える。)他のTex表記個所も同様の操作をすると全文書が綺麗な数式で表示される。

一例としてAIの回答の一部が以下のようだった。

ベイズ統計では、$$\pi(\theta)$$ を事前分布としたとき、$$\int_\Theta L(\theta; x)\pi(\theta) d\theta$$ は**周辺尤度(evidence)**となり、事後分布の正規化定数になります。

これをLyXの新規ファイルに貼りつけ$$で挟まれている部分を$$も含めて選択して
 挿入-->数式-->行内数式  を実行すると

LaTeX

と表示される。
LyXで綺麗に表示できたら、その全文をコピーしてワードに貼りつけるとワードでも数式が表示されている。それをPDFで保存したりと何かと便利である。

MAXIMAでもう一つ実験をしてみた。


MAXIMAで簡単な差分方程式を解き、ライブラリ-mactex-utilities.lisp をロードしてtex関数でLaTex表記に出力したコードをLyXに貼り付けてみた。

MAXIMAの画面

差分方程式

tex(%)の結果の$$で囲まれた部分をLyXの新規ファイルに貼りつけて前記の操作をすると下記の数式表示される。

差分方程式




過去に書きあげたワードの数式は無駄になるのか

もちろん過去の努力は全く無駄にならない。最近のワードでは数式変換機能があってLaTeXに変換できる。

Wordの数式エディターで数式を選択し、
 「数式」タブ → 「変換」 → 「LaTeX」に切り替えて
「現在 - 行形式」または「すべて - 行形式」を選ぶと、LaTeX形式に変換される。

筆者も実験してみたが、自分の全てのファイルを丁寧にチェックしたわけではないがほぼ成功したように見えた。
 一寸だけ気付いたことだがワードで偏微分をする数式をワードのLaTeX変換したコードをそのままLyXに貼りつけて数式表示させると奇麗にできなかった。ワードの数式表示は以下のようなものであった。

latex11

このオブジェクトをワードのLaTeX変換で次のtexコードを得たので、そのままLyXに貼りつけて表現さすと下図のようになった。
\frac{\partialN\left(z\right)}{\partialz}=\frac{1}{\sqrt{2\pi}}\ e^\frac{-z^2}{2}=n\left(z\right)

LyXの表示

latex12

そこでワードが出力したtexコードを一寸手直しして、partialの後に半角の空白を入れて、次にeの前の\と空白を削除して書き換えたコードをLyXに貼りつけたら以下の表示になった。

手直ししたコード
\frac{\partial N\left(z\right)}{\partial z}=\frac{1}{\sqrt{2\pi}}e^\frac{-z^2}{2}=n\left(z\right)

手直し後のLyXの表示

latex13

言語変換するときには大なり小なり微調整は避けられないのだろう。

Wordの数式をLyXにコピペ

最近になって気付いたことだが、ワードの数式をLaTeX変換するまでもなく、ワードの数式をLyXにそのまま貼りつけ、その個所をLyxの行内数式で選択・クリックすると綺麗な数式に大体なる。
LyxからMathJaxでhtmlファイルを作る場合には数式に全角文字が入っているとエラーとなる。そこでワードで数式を作るときには意識して半角文字で打ち込む必要がある。かな漢字変換で知らずにrとかtとか数字が全角文字になっていることがよくある。また乗算を示す・が大きなな点(/bullet)に変換されることもあり、小さな点(/cdot)に修正したり、余計な空白を削除するなどの調整は必要だが、なかなか便利である。技術的なことはよく分からないが最近のWordの内部処理ではUnicodeMathが使われており、クリップボードでMathMLの情報も加えられるので、LyXは瞬時にMathMLをTeXに飜訳しているらしい。
 
いづれにしてもワード、エクセルで書いた数式は何時でもLaTexに変換できるので安心である。

人によってはワードの操作に慣れているのでワードで数式を作りLaTeX変換してLyXに貼りつけるよう二刀流的な使い方をする人もいるかも知れない。

LyXで書いた数式を含む文書をhtml(MathJax)に変換

まだ筆者も試運転中であるが数式を含むLxy文書が綺麗なhtml(MathJax)に変換できた。 事前にPandocをインストールしておく必要がある。細かいことはAIに聞けば解決できるがLyX(バージョン2.5.2)の「ツール」 > 「設定」で
左メニューの 「ファイル処理」 > 「変換子」を選択
そこで表示されている変換子の定義の画面で以下のように書き換える。
「変換元の形式」 は  LaTeX (pLaTeX)  を選択し、
(注  LaTeX (pLaTeX)は使用環境により異なるかもしれない。)
「変換先の形式」 は HTML を選択。
次の行の「変換子」 欄に、以下のコマンドを上書記入する。
pandoc -s --mathjax -f latex -t html -o $$o $$i
作業が終わったら、画面右側の上部にある 「追加」 ボタンを押す。次に画面下部の「適用」と「保存」を押してからLyXを再起動させる。 次に、LyXで適当な文書を開き、 メニューの 「ファイル」 > 「書き出し」 > 「HTML」 を選択すると、出力結果の保存用のフォルダーが自動的に作られ、そこにhtmlファイルが入っている。LyXファイル名は全角文字や空白は使わずに半角アルファベットとアンダースコアだけで付ける。何か解らないときにはAIが教えてくれるだろう。
筆者は最近までExpression Web4 を使っていたが、この頃はLyXをwebオーサリングツールのような感覚で使っている。

無料のAI先生との算数・数学問答の整理

  無料バージョンのAIでも大学の講義に出てくるような複雑な数式の証明なども示してくれるので、 何かと頼りになる。この数式の、この展開はどうして、そうなるのかといった疑問や自分なりに考えた数式の展開が正しいのか自信が無いときにはLyXで書き上げた一連の数式をAIのプロンプトに貼りつけて、数学の誤りを指摘してと頼めば、tex表記でここがおかしいとか、ここは完ぺきですと言った回答が返ってくる。このような質疑応答をwordに貼りつけて整理する方法もあるが、その場合は数式がtex表記となり読みにくい。いろいろ実験しているが、今のところ以下の方法を使っている。もっと賢い方法もあるだろうが取敢えず以下のようにしている。 前提となる使用環境としては、RStudio、Notepad++、Word(2021)を使っている。
  1. Notepad++で新規ファイルを立ち上げ、言語のメニューで下部にあるmarkdow(preinstalled)を選択する。
  2. AIの数式を含む回答をこのファイルに貼りつけ、適当な名前でマークダウン形式でファイル保存し、Notepad++は閉じる。
  3. 保存したファイルをダブルクリックするとRStudioが起動しmarkdown fileが読み込まれる。
  4. RStudioの画面上部にPreview というアイコンが出ているのでプルダウンメニューから PreviewWord クリックするとwordが起ち上がる。
  5. wordで名前を付けて保存しようとすると、「文書は最新のファイル形式にアップグレードされます。」といった警告が出る。そこで警告を終わらせてから保存のオプションとして「以前のバージョンのwordの互換性を保つ」にチェックマークを入れてファイル保存する。
  6. 体験的には最新のワードで保存すると数式表記がtex表記のままのことが多く、古いバージョンのword形式だと 綺麗な数式になることが多いように感じている。
    わざわざNotepad++を介在させずに直接にRStudioのマークダウンファイルに貼りつければ簡単であるが、それをするとRStudioが気を利かしすぎてRコードと思いバックグラウンドで実行しようとしてエラーになってしまうことがある。そこで、Notepad++を使ってプレーンなテキストファイルの.mdを作り、それをRStudioに引渡すといった迂回的な方法を使っている。
自分用の数学ノートが作れるので便利な時代になったと感激している。
興味のある方は自己責任で試みられたい。



戻る