プロンプトが表示される 2 つの場所は、input
andexecute_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