0

In [35]:によって生成された LaTeX から典型的な IPython プロンプトを削除したいと思いjupyter-nbconvert --to latexます。

かつてテンプレートがありましたがstyle_simple.tplx、それはほとんど私が望んでいたことをしましたが、現在は削除されており、コンパニオン テンプレートなどがありstyle_bw_ipython.tplxます。まだ配布されていますが、新しい nbconvert では動作しません。

テンプレート言語でアドホックテンプレートを作成する必要があることは理解していますが、何度も試みたにもかかわらず、テンプレートの構文とその使用方法の両方が理解できませんでした。jinja2jinja2nbconvert

私はそのようなテンプレートを書くことができないので、その作業について支援を求めています。

4

1 に答える 1

5

プロンプトが表示される 2 つの場所は、inputandexecute_resultブロックです。

デフォルトの入力ブロック:

((* block input scoped *))
    ((( add_prompt(cell.source | highlight_code(strip_verbatim=True), cell, 'In ', 'incolor') )))
((* endblock input *))

これを、プロンプトを追加する代わりに、ハイライトされたソース コードをページ上の逐語ブロックに直接配置するブロックに置き換えることができます。

((* block input scoped *))
\begin{Verbatim}[commandchars=\\\{\}]
((( cell.source | highlight_code(strip_verbatim=True) )))
\end{Verbatim}
((* endblock input *))

出力については、execute_result 出力が実際には display_data 出力と同じであり、プロンプトを追加するだけであるという事実を利用できます。したがって、テンプレートに execute_result の出力を display_data と同じように表示するように指示できます。

((* block execute_result scoped *))
    ((* block display_data scoped *))
        ((( super() )))
    ((* endblock display_data *))
((* endblock execute_result *))

すべてをカスタム テンプレートにまとめて、デフォルトarticleテンプレートを拡張します。

% extend the default article template:
((* extends 'article.tplx' *))

% display input without prompts:
((* block input scoped *))
\begin{Verbatim}[commandchars=\\\{\}]
((( cell.source | highlight_code(strip_verbatim=True) )))
\end{Verbatim}
((* endblock input *))

% treat execute_result (output with prompt) as display_data (output without prompt)
((* block execute_result scoped *))
    ((* block display_data scoped *))
        ((( super() )))
    ((* endblock display_data *))
((* endblock execute_result *))

このファイルを と呼ぶとnoprompts.tplx、次のように使用できます。

jupyter nbconvert --to latex --template noprompts mynotebook.ipynb
于 2016-06-24T11:58:08.237 に答える