仅显示使用 nbconvert 从 jupyter 笔记本创建的 pdf 中的特定(标记)输入单元格
Show only specific (tagged) input cells in pdf created with nbconvert from jupyter notebook
在各种 jupyter notebooks 中,我想手动指定要显示的输入单元格,默认情况下在将其转换为 pdf 或 tex 文档时不显示任何输入单元格。
我已经通过使用以下乳胶模板实现了不显示任何输入单元格:
((*- extends 'article.tplx' -*))
% Disable input cells
((* block input_group *))
((* endblock input_group *))
但是现在,在尝试添加单元格标签然后显示或不显示它们时,我感到很困惑。我试过了
% Disable input cells if there is no "show" tag, else show
((*- block input_group -*))
((*- if 'show' in cell.metadata.get('tags', []) -*))
((*- block in_prompt -*))((*- endblock in_prompt -*))
((*- block input -*))((*- endblock input -*))
((*- else -*))
((*- endif -*))
((*- endblock input_group -*))
但它总是删除所有输入单元格,也删除带有 "show" 标签的单元格。
在写这个问题时,我意识到我从错误的文件中复制了第二个代码块中的第 4 行和第 5 行。它来自 null.tplx
(骨架)模板,我应该使用大部分时间继承的 style_ipython.tplx
。
我想出了下面的代码,现在确实 removes/hides/supresses 所有输入单元格,除了带有 "show" 标签的单元格:
% Disable input cells if there is no "show" tag, else show
((*- block input_group -*))
((*- if 'show' in cell.metadata.get('tags', []) -*))
((( add_prompt(cell.source | highlight_code(strip_verbatim=True), cell, 'In ', 'incolor') )))
((*- else -*))
((*- endif -*))
((*- endblock input_group -*))
但是它只适用于 ipython 样式,不适用于 python 样式...也许有人可以在这里提供帮助?
在各种 jupyter notebooks 中,我想手动指定要显示的输入单元格,默认情况下在将其转换为 pdf 或 tex 文档时不显示任何输入单元格。
我已经通过使用以下乳胶模板实现了不显示任何输入单元格:
((*- extends 'article.tplx' -*))
% Disable input cells
((* block input_group *))
((* endblock input_group *))
但是现在,在尝试添加单元格标签然后显示或不显示它们时,我感到很困惑。我试过了
% Disable input cells if there is no "show" tag, else show
((*- block input_group -*))
((*- if 'show' in cell.metadata.get('tags', []) -*))
((*- block in_prompt -*))((*- endblock in_prompt -*))
((*- block input -*))((*- endblock input -*))
((*- else -*))
((*- endif -*))
((*- endblock input_group -*))
但它总是删除所有输入单元格,也删除带有 "show" 标签的单元格。
在写这个问题时,我意识到我从错误的文件中复制了第二个代码块中的第 4 行和第 5 行。它来自 null.tplx
(骨架)模板,我应该使用大部分时间继承的 style_ipython.tplx
。
我想出了下面的代码,现在确实 removes/hides/supresses 所有输入单元格,除了带有 "show" 标签的单元格:
% Disable input cells if there is no "show" tag, else show
((*- block input_group -*))
((*- if 'show' in cell.metadata.get('tags', []) -*))
((( add_prompt(cell.source | highlight_code(strip_verbatim=True), cell, 'In ', 'incolor') )))
((*- else -*))
((*- endif -*))
((*- endblock input_group -*))
但是它只适用于 ipython 样式,不适用于 python 样式...也许有人可以在这里提供帮助?