J'essaie de créer un modèle de latex personnalisé pour créer une sortie PDF à partir d'un bloc-notes jupyter. Je souhaite annuler la sortie des cellules lorsque les cellules sont marquées d'une manière spéciale. Par exemple, laissez-dire modifier un méta-données pour une cellule donnée (de l'ordinateur portable/« Modifier les métadonnées ») et ajouter ce sous-JSON:accéder à des métadonnées de cellule à partir du modèle jinja2
[...]
"tpl": {
"view_in": true,
"view_out": false
},
[...]
Ensuite, j'ai essayé de tirer le modèle en utilisant la variable cell
, comme brièvement montré dans http://nbconvert.readthedocs.org/en/latest/customizing.html#Templates-that-use-cell-metadata:
% ((*- extends 'report.tplx' -*))
% Disable input cells
((* block input_group *))
((* endblock input_group *))
% disable output if required from metadata
((* if cell['metadata'].get('tpl', {}).get('view_out', True) == true *))
((* block output_group *))
((* endblock output_group *))
((* endif *))
Mais jinja2 se plaint lorsque je tente de générer mon PDF:
$ jupyter nbconvert --to pdf C4_RevD.ipynb --template=tpl.tpl
[...]
jinja2.exceptions.UndefinedError: 'cell' is undefine
Comment un accès à METDATA cellulaire d'un jinja2 modèle?
versions [Modifier] utilisés:
Python: 2.7.6
jupyter: 4.0.6
jupyter notebook: 4.1.0
jinja2: 2.8
La variable 'cell' n'est disponible que dans les blocs' any_cell' et les blocs à l'intérieur de ceux-ci. Donc, le code que vous ajoutez est à l'envers - vous devez vérifier les métadonnées dans le bloc 'output_group', et décider si vous voulez ou non lui donner du contenu. –
@ThomasK: merci pour votre conseil, cela fonctionne. Si vous écrivez une réponse appropriée, je la marquerai comme une solution. – Nic