2017-08-30 91 views
0

在各種jupyter筆記本中,我想手動指定要顯示哪些輸入單元,並且在將其轉換爲pdf或tex文檔時默認不顯示任何輸入單元格。僅顯示使用jupyter筆記本的nbconvert創建的pdf中的特定(標記)輸入單元

我已經取得了不顯示任何輸入細胞通過以下乳膠模板:

((*- 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」標籤。

回答

0

在寫這個問題時,我意識到我複製了第二個代碼塊中來自錯誤文件的第4行和第5行。它來自null.tplx(骨架)模板,我應該從大部分時間繼承的地方使用。

我想出了下面的代碼,它現在確實刪除/隱藏/ supresses所有輸入單元,除了那些與「秀」的標籤:

% 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的工作作風,而不是與蟒蛇一個...也許有人可以幫助這裏?