41 Mathematica の notebook からプログラムを抜き出す

Mathematica の notebook で、いわゆるサンプル・プログラムを作ったとき、 その内容を TEX に取り込んで説明するのに、 これまでは verbatim 環境の中にコピペしていた。

今回、10近いサンプル・プログラムを処理するに当たって、 自動化したいなと思った。

Chat GPT に尋ねたところ、.wl 形式で保存することを勧められた。 やってみて、おお、なるほど。でも、日本語の注釈が文字コードの羅列になったり、 余計なものが多すぎて、色々後処理しないといけない。

(2026/8/17追記) あれ、.wl は昔ながらの .m とどう違うのかな。


自動化したい。何とかして。

そうして wl2utf8.pywlcleanup.py を作ってもらった。

  1. Wolfram 言語パッケージ *.wl 形式で保存する。
  2. wl2utf8.py で処理する。
    ./wl2utf8.py nantoka.wl
    
    これで nantoka-utf8.wl ができる。 これは一応 .wl 形式なので、 Mathematica で Get["nantoka-utf8.wl", CharacterEncoding -> "UTF8"] とすると読めるとか (まだ試していない)。
  3. wlcleanup.py で処理する。
    ./wlcleanup.py nantoka-utf8.wl
    
    こうすると nantoka-utf8.wl.txt ができる。

curl -O https://nalab.mind.meiji.ac.jp/~mk/misc/20260812/wl2utf8.py
curl -O https://nalab.mind.meiji.ac.jp/~mk/misc/20260812/wlcleanup.py
chmod +x wl2utf8.py wlcleanup.py

今後ぼちぼち改善していくつもり。



桂田 祐史