更新中
第3回の今回は、数式の表示とマジックコマンドについてです(第2回)。Jupyter Notebookに含まれるMarkdownパーサーはJSのMathJaxライブラリ(wiki)に対応しており、LaTex( ラテック、ラテフ)で書いた数式をノートブック上にレンダリングして表示することができます。数式を載せることでコードをノート上に載せるだけよりずっと理解しやすくなります。手順はシンプルで、Markdownモードにして$ $または$$ $$で囲んで数式を書くだけです。
Jupiter notebook Docu ment - Motivating Examples
実際に書いてみましょう。 Markdownモードにして書きます。数式部分は$$ $$で囲むか、\begin{math} \end{math}で囲みます(mathは紛らわしくない適当な文字)(*1)。
出力です。数式なので変数は斜体(イタリック)、数値、演算子は立体(ローマン)です(*2)。
こちらは
オイラーの等式でした(*3)。
($ $だと左揃え)
複雑な数式もLaTeX記法で書きます。
出力
このような感じです。
$ $を改行なしで書くと
文章中に埋め込む事ができます。
このように美しい数式を書けますが、LaTeXに慣れていないと大変です。書き方が分からない時は奥村晴彦先生らのLaTeX2ε美文書作成入門などがバイブルになると思います。
こちらはMathJaxのコマンド紹介サイトです。コピペするだけで使えます。
補足
最近では数式からLaTeX記法に変換するツールも存在します。こちらのブログ記事を読んで下さい。
数式部分を囲むだけでほぼ正しくOCR化して変換してくれます。すごいアプリです。
ログイン後、右上からアプリをダウンロード。アプリを常駐後、commnad + option + M(winPCはCtrl + Alt + M)で数式キャプチャ(上限あり*4)。
マジックコマンド
次はマジックコマンドについて簡単に説明します。マジックコマンドはIPythonカーネル固有のコマンドで(jupyterとipythonの違い)、ディレクトリ移動、ファイル一覧、python以外のコードの表示機能などを可能にする、ノートをサポートする役割を持つ一連のコマンド群です。%をprefixとして%pwdのように始めます。%を使うのは、%はPythonでは有効な単項演算子(解説サイト)ではないためです(%無しでも初期は認識されるが変数を定義すると上書きされる)。
Jupiter notebook Docu ment - Built-in magic commands
少しだけコマンドを挙げてみます(*6)。Markdownモードの人はコードモードに戻して下さい(Y)。
%pwd
現在のパス
unixのpwdと同じですが、あくまで機能をミミックしたコマンドです。
(escで閉じる)
?1回でhelp表示になります(編集モード中にshft + tabでも可能)。%pwd?だと
%cd
作業ディレクトリ変更(移動)
%ls
ファイル一覧表示
%rm
ファイルを消す
%run xxx.pyで外部のpythonスクリプトxxx.pyを実行。
(外部の jupyter ノートブックの実行も可能)
%matplotlib
%matplotlib inlineを宣言しておくと、Notebook内にmatplotlibの結果を描画する。Notebook上でmatplotlibを使うために必要。
%lsmagic
現在利用可能なマジックコマンドを表示
これ以外にもたくさんのマジックコマンドがあります。Qiitaの記事を読んでみてください。
駆け足でしたが、これで基本的な事は説明しました。明日はまとめの文章を書きます。
引用
Jupyter Notebooks – a publishing format for reproducible computational workflows
Kluyver, Thomas, Ragan-Kelley, Benjamin, Pérez, Fernando, Granger, Brian, Bussonnier, Matthias, Frederic, Jonathan, Kelley, Kyle, Hamrick, Jessica, Grout, Jason, Corlay, Sylvain, Ivanov, Paul, Avila, Damián, Abdalla, Safia, Willing, Carol and Jupyter development team, (2016) Jupyter Notebooks – a publishing format for reproducible computational workflows. Loizides, Fernando and Scmidt, Birgit (eds.)
In Positioning and Power in Academic Publishing: Players, Agents and Agendas. IOS Press. pp. 87-90 . (doi:10.3233/978-1-61499-649-1-87)
参考
*1
*2
*3
映画にもなった "博士の愛した数式"(新潮社)で有名ですね。
*4
*5
独自のマジックコマンドを登録することもできます。
*6
そのほか参考にした資料