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


94

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

回答:


137

必要な関数は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'))

1
どうもありがとうございました。これは非常に役立つと思います。私が尋ねる場合、コードでセルを非表示にする方法はありますか?つまり、マークダウンセルを「コンパイル」すると、「コード」が消え、コンパイル済みのマークダウン出力のみが表示されます。これを繰り返したいのですが、display_markdown機能があります。
fulaphex 2016年

2
残念ながら、あなたのコードは私にとってはうまくいきません、それは何の出力も生成しません。
fulaphex 2016年

1
今では実際に機能します。セルを非表示にするコマンドはありますか?これにより、このマークダウンを生成でき、これは通常のマークダウンセルのように動作しますか?
fulaphex 2016年

2
以前のコメント内のリンクは、もはや動作しません、拡張子は今で見つけることができます:github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/...
BioGeek

1
:私はオブジェクトではありませんプリントを得る<IPython.core.display.Markdown object>
loretoparisi

30

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

  1. コード結果を出力するMarkdownセル。

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

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

    私はそのようなコマンドprint '$\phi$'が欲しい:マークダウンのように、phiシンボルを生成する。

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


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

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

インストール手順は、nbextensionsのgithubページにあります。jupyterコマンドまたは拡張設定ツールを使用して、Pythonマークダウン拡張機能を有効にすることを確認してください

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

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

変数aは{{a}}です

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

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

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

wikiの例


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


これはJupyter Labで利用できますか?
BND

私はそれを使用しないので、経験はありません。しかし、jupyter-lab拡張リストに「Python Markdown」が見つかりません:github.com/topics/jupyterlab-extension ? q=&unscoped_q= -したがって、おそらく:いいえ
Honeybear
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.