0

在各种 jupyter 笔记本中,我想手动指定要显示的输入单元格,并且在将其转换为 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 -*))

但它总是删除所有输入单元格,也就是带有“显示”标签的单元格。

4

1 回答 1

0

在写这个问题时,我意识到我从错误的文件中复制了第二个代码块中的第 4 行和第 5 行。它来自null.tplx(骨架)模板,我应该使用style_ipython.tplx它大部分时间继承的地方。

我想出了以下代码,它现在真正删除/隐藏/抑制了所有输入单元格,除了带有“显示”标签的单元格:

% 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 风格......也许有人可以在这里提供帮助?

于 2017-08-30T11:47:41.633 回答