On Sun, 31 Jan 2016, O.Hamann wrote:

Hi all,

Splitting header arguments for source blocks into different lines works very fine,
(and leads one to put more and more args in the header... )

Is there a chance or trick to do similarly when calling such src blocks?
Somehow like in shell scripts a backslash at the end of a line will signal continuation?
(example see below)

Any suggestions or workarounds or best-practices to make the call lines better readable and editable are welcome!

Kind regards,

Olaf


Try using a custom babel language. Then using variable assignment from babel block.

Here I define `fundamental' as a language, which means I can edit src blocks like `lorem' in a src edit buffer in fundamental mode without needing to do more than execute the `define-fundamental-as-babel' block or put that defun in my .emacs. And when I execute the lorem block - as when it is used in `:var txt=lorem()' - it returns the body as a string.


#+NAME: define-fundamental-as-babel
#+BEGIN_SRC emacs-lisp
  (defun org-babel-execute:fundamental (body params)
    (format "%s" body))
#+END_SRC

#+NAME: lorem
#+BEGIN_SRC fundamental
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
#+END_SRC

#+NAME: abc
#+BEGIN_SRC emacs-lisp :results value :var txt="A B C"
(concat "txt-->" txt "<--txt")
#+END_SRC

#+CALL: abc( lorem() ) :results raw :wrap EXAMPLE

#+RESULTS:
#+BEGIN_EXAMPLE
txt-->Lorem ipsum dolor sit amet, consectetuer adipiscing elit.<--txt
#+END_EXAMPLE


BTW, there is already `org-babel-execute:latex', which is very handy for editing LaTeX and then handing it to a src block for further processing.

HTH,

Chuck

Reply via email to