web-dev-qa-db-ja.com

Jupyterノートブックでマークダウン出力をプログラムで生成する方法は?

Jupyterノートブックのクラスのレポートを書きたいです。いくつかのものを数え、結果を生成し、それらをマークダウンに含めたいと思います。セルの出力をマークダウンとして解釈するように設定できますか?
このようなコマンド:print '$\phi$'を使用して、マークダウンと同様にphiシンボルを生成します。
つまり、マークダウンでテンプレートを作成し、ノートブックに記述されたプログラムによって生成された値を挿入したいのです。ノートブックを再計算すると、新しい値が挿入され、新しい結果と新しいマークダウンが生成されます。このソフトウェアで可能ですか、それとも自分で値を置き換える必要がありますか?

62
fulaphex

必要な関数は IPython.displayモジュール にあります。

from IPython.display import display, Markdown, Latex
display(Markdown('*some markdown* $\phi$'))
# If you particularly want to display maths, this is more direct:
display(Latex('\phi'))
85
Thomas K

あなたは基本的に2つの異なることを求めています:

  1. コード結果を出力するマークダウンセル

    いくつかのものを数え、結果を生成し、それらをマークダウンに含めたいと思います。 [...]テンプレートをマークダウンして、値を挿入したいノートブックのプログラム

  2. マークダウンを出力するコードセル

    このようなコマンドが必要です:print '$\phi$'マークダウンの場合と同じように、phiシンボルを生成します。

2.はすでに 別の回答 (基本的に:IPython.displayからインポートされたLatex()またはMarkdown()を使用)でカバーされているため、最初のものに焦点を当てます。


1.変数が挿入されたマークダウンテンプレート

Jupyter拡張機能 Python Markdown を使用すると、実際に記述したとおりに行うことができます。

インストール手順 は、nbextensionsのgithubページにあります。 jupyterコマンド または extension configurator を使用して、pythonマークダウン拡張機能を有効にしてください。

拡張では、変数は{{var-name}}を介してアクセスされます。このようなマークダウンテンプレートの例は次のようになります。

マークダウンセルのPythonコード

変数aは{{a}}です

LateX:{{b}}をここに埋め込むこともできます!

でも画像を埋め込むことができます:{{i}}

当然、すべての変数または画像abiは前のコードで設定する必要があります。そしてもちろん、printコマンドなしでMarkdown-Latexスタイルの式($\phi$など)を使用することもできます。この画像は拡張機能のWikiからのもので、機能を示しています。

example from wiki


Ipython/jupyterに統合されるこの機能の詳細については、 ipython および jupyter の課題トラッカーで説明されています。

22
Honeybear