From: "Berry, Charles" via "General discussions about Org-mode." <email@example.com> To: Greg Minshall <firstname.lastname@example.org> Cc: "email@example.com" <firstname.lastname@example.org> Subject: Re: org-in-org Date: Tue, 23 Feb 2021 19:46:32 +0000 [thread overview] Message-ID: <594E3B99-4F1C-4318-8113-FF7CD4CCD6C4@health.ucsd.edu> (raw) In-Reply-To: <email@example.com> Greg, See inline > On Feb 23, 2021, at 6:24 AM, Greg Minshall <firstname.lastname@example.org> wrote: > > i have a question about org-in-org source blocks. i volunteered to help > in an effort to provide a tutorial of using the ESS (Emacs Speaks > Statistics) package for R, in particular, from org mode. > > i'd like to write my contribution as a .org file. i'd like to include > fragments of org code, including source blocks (in R). and, i'd like to > show various result types. so, i'd like to be able to have the > #+RESULTS show up in the org-in-org source block as exported inside the > containing .org file. I think I get your intention. You want the visual to look like it would if the src-edit buffer was opened in emacs as org. > > and, i'd like to trigger all this from a makefile, using some emacs > batch script to export the containing .org file into a .html or .pdf > file. > > (i *think*) what i would like to end up with is what it would like if i > had manually opened the org-in-org source blocks (C-c'), then went to > each (or, possibly, selected, i guess) source blocks inside *that* > (org-in-org) source block, and executed each, producing a #+RESULTS > block for each, then closed the org-in-org source block (C-c', again), > and then exported the containing .org file. > > is this possible? any ideas? I have two alternative approaches: 1) Add an export engine for "org" to ox-ravel. This is a trivial customization of `org-ravel-engines' to add a '("org" . "engine='org'") element. Then add a custom language engine for rmarkdown or knitr. The actions for the makefile would be a ravel export to generate *.Rmd, *.Rnw, or *.Rhtml files followed by rmarkdown::render or knitr::knit on the generated files. 2) Define this function: #+begin_src emacs-lisp (defun org-exe-org () (let ((org-confirm-babel-evaluate nil)) (org-edit-src-code) (org-babel-execute-buffer) (org-edit-src-exit))) #+end_src In an org buffer with one or more org src blocks containing R src blocks: eval this (org-babel-map-executables nil (org-exe-org)) Then export the buffer to pdf or html. I haven't tested this much, but for the snippet below evaluating that line and exporting to html produces two framed blocks with R src blocks and the results displayed in each: --8<---------------cut here---------------start------------->8--- #+begin_src org ,#+begin_src R print("abc") ,#+end_src #+end_src #+begin_src org ,#+begin_src R print("def") ,#+end_src #+end_src --8<---------------cut here---------------end--------------->8--- I expect doing this in batch mode will not be a challenge. For pdf output the result is rather plain. Maybe there is some minted idiom that would help? HTH, Chuck p.s. I am an `ess-intro' member, in case it helps to move the conversation to there.  https://github.com/chasberry/orgmode-accessories  https://bookdown.org/yihui/rmarkdown-cookbook/custom-engine.html
next prev parent reply other threads:[~2021-02-23 19:48 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-23 14:24 org-in-org Greg Minshall 2021-02-23 19:46 ` Berry, Charles via General discussions about Org-mode. [this message] 2021-03-07 16:14 ` org-in-org Greg Minshall 2021-03-07 22:26 ` org-in-org Berry, Charles via General discussions about Org-mode. 2021-03-08 7:44 ` org-in-org Greg Minshall 2021-03-08 20:33 ` org-in-org Berry, Charles via General discussions about Org-mode. 2021-03-09 3:37 ` org-in-org Greg Minshall 2021-02-23 20:30 ` org-in-org Erik Iverson 2021-03-07 15:46 ` org-in-org Greg Minshall 2021-02-23 21:38 ` org-in-org Jeremie Juste 2021-03-07 16:06 ` org-in-org Greg Minshall
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=594E3B99-4F1C-4318-8113-FF7CD4CCD6C4@health.ucsd.edu \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: org-in-org' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).