Se hai bisogno di tutto per aggrovigliare in un singolo file, puoi usare questa soluzione incredibilmente confusa che utilizza orgmode per trasformare una tabella in codice generato in una seconda (o terza!) Lingua.
Il tuo tavolo (1):
#+tblname: personae-table
| Set | Description | variable | Value |
|-----+--------------------+----------+-------|
| DEP | Fam Med Department | famDep | 23 |
Il tuo generatore di codice (2):
#+name: python-generate-new-and-set-vars-blocks
#+BEGIN_SRC python :var records=personae-table :exports results :results output verbatim drawer
print("#+name: variables")
print("#+BEGIN_SRC mumps")
print("n " + ",".join(line[3] for line in records))
print("s " +
",".join(
"{}={}".format([line[2], str(line[3])]) for line in records))
print()
print("#+END_SRC")
#+END_SRC
I risultati del tuo generatore (3):
#+results: python-generate-new-and-set-vars-blocks
:RESULTS:
#+name: variables
#+BEGIN_SRC mumps
n famDep
s famDep=23
#+END_SRC
:END:
Il tuo blocco fittizio che precompila i blocchi per aggrovigliare (4):
#+BEGIN_SRC emacs-lisp :tangle yes :var DUMMY=(progn (org-babel-goto-named-src-block "python-generate-new-and-set-vars-blocks") (org-ctrl-c-ctrl-c))
; run pre-tangle hooks by putting them in the var.
#+END_SRC
Il tuo blocco di output che aggroviglia il codice generato (5):
#+BEGIN_SRC mumps :tangle fixed.m :noweb tangle :padline no
run()
<<variables>>
#+END_SRC
L'esecuzione va 4, 1, 2, 3, 5. Non sono sicuro se dovrei essere orgoglioso o vergognarmi. Orgmode è sorprendente.