Noweb imbriqué dans des blocs org src
Sep 06 2020
J'ai les blocs de code suivants:
Le bloc 1 n'est qu'une ligne. C'est un MWE. En réalité, j'ai plusieurs lignes dans le bloc 1.
#+name: block1
#+begin_src python :noweb no :exports none
print("Block 1")
#+end_src
Le bloc 2 a également été réduit pour le bien de MWE.
#+name: block2
#+begin_src python :noweb no :exports none
<<block1>>
print("Block 2")
#+end_src
Cela montre un squelette de myfunc. Je veux inclure ce squelette pour donner un aperçu de myfunc.
#+name: block3
#+begin_src python :noweb no :exports code
def myfunc(x):
<<block2>>
#+end_src
Enfin, cela montre la spécification complète de myfunc.
#+begin_src python :noweb yes :exports code
<<block3>>
#+end_src
À quoi je m'attends quand il est exporté
def myfunc(x):
print("Block 1")
print("Block 2")
À quoi ça ressemble vraiment
def myfunc(x):
<<block1>>
print("Block 2")
Comment puis-je agrandir complètement les blocs imbriqués lorsque j'utilise: noweb yes?
Réponses
mankoff Sep 06 2020 at 18:28
Votre exemple fonctionne si je place tous les en-têtes avec :noweb yeset que seul le dernier bloc a :tangle yes.
Un exemple plus simple:
- Ajoutez ceci en haut du fichier:
#+PROPERTY: header-args :noweb yes :tangle no :exports code - Supprimez tous les arguments d'en-tête des blocs de code.
- Ajouter un en-
:tangle yestête à la "spécification complète".