2017-08-30 6 views
0

In verschiedenen jupyter Notizheften möchte ich manuell angeben, welche Eingabezellen angezeigt werden und standardmäßig keine Eingabezelle zeigen, wenn sie in ein PDF- oder Tex-Dokument konvertiert wird .Zeige nur spezifische (markierte) Eingabezellen in pdf erstellt mit nbconvert von jupyter notebook

ich bereits erreichte keine Eingabezellen zeigt, die durch folgende Latex-Vorlage:

((*- extends 'article.tplx' -*)) 
% Disable input cells 
((* block input_group *)) 
((* endblock input_group *)) 

Aber jetzt, wenn man versucht, Zelle Tags hinzuzufügen und sie dann zeigen oder nicht verwirrend ich bin. Ich habe versucht,

% 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 -*)) 

aber es ist immer alle Eingabezellen zu entfernen, das mit „Show“ Tag auch.

Antwort

0

Beim Schreiben dieser Frage wurde mir klar, dass ich die Zeilen 4 und 5 im zweiten Codeblock aus der falschen Datei kopiert habe. Es ist von der null.tplx (Skelett) Vorlage, ich hätte die von wo es die meiste Zeit geerbt werden sollte.

kam ich mit dem folgenden Code auf, der nun wirklich entfernt/Haut/Unterdrückt alle Eingabezellen außer denen mit dem „Show“ tag:

% 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 -*)) 

Aber dann wird es nur mit dem ipython Stil arbeitet Nicht mit dem Python ... vielleicht kann hier jemand helfen?

Verwandte Themen