Wenn Sie alles benötigen, um sich in einer einzigen Datei zu verwickeln, können Sie diese unglaublich hackige Problemumgehung verwenden, bei der mithilfe des Organisationsmodus eine Tabelle in generierten Code in einer zweiten (oder dritten!) Sprache umgewandelt wird.
Ihr Tisch (1):
#+tblname: personae-table
| Set | Description | variable | Value |
|-----+--------------------+----------+-------|
| DEP | Fam Med Department | famDep | 23 |
Ihr Codegenerator (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
Die Ergebnisse Ihres Generators (3):
#+results: python-generate-new-and-set-vars-blocks
:RESULTS:
#+name: variables
#+BEGIN_SRC mumps
n famDep
s famDep=23
#+END_SRC
:END:
Ihr Dummy-Block, der die Blöcke vorkompiliert, um sie zu verwickeln (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
Ihr Ausgabeblock, der den generierten Code verwickelt (5):
#+BEGIN_SRC mumps :tangle fixed.m :noweb tangle :padline no
run()
<<variables>>
#+END_SRC
Die Ausführung erfolgt mit 4, 1, 2, 3, 5. Ich bin mir nicht sicher, ob ich stolz oder beschämt sein sollte. Orgmode ist unglaublich.