nbconvert --to latex,删除所有提示
nbconvert --to latex, remove all prompts
我想从 jupyter-nbconvert --to latex
生成的 LaTeX 中删除典型的 IPython 提示 In [35]:
。
曾经有一个模板,style_simple.tplx
,几乎 做了我想要的,但现在它已被删除,otoh 它的配套模板,style_bw_ipython.tplx
等等。仍在分发,但不再使用新的 nbconvert。
我知道我必须用 jinja2
模板语言编写一个 临时 模板,但是 jinja2
模板语法及其在 nbconvert
尽管我尝试了很多次,但我还是无法理解。
鉴于我无法编写这样的模板,我正在寻求有关任务的帮助。
出现提示的两个地方是input
和execute_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
我想从 jupyter-nbconvert --to latex
生成的 LaTeX 中删除典型的 IPython 提示 In [35]:
。
曾经有一个模板,style_simple.tplx
,几乎 做了我想要的,但现在它已被删除,otoh 它的配套模板,style_bw_ipython.tplx
等等。仍在分发,但不再使用新的 nbconvert。
我知道我必须用 jinja2
模板语言编写一个 临时 模板,但是 jinja2
模板语法及其在 nbconvert
尽管我尝试了很多次,但我还是无法理解。
鉴于我无法编写这样的模板,我正在寻求有关任务的帮助。
出现提示的两个地方是input
和execute_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