如何在 org-mode table 中执行内联源代码块?
How to execute inline source blocks in an org-mode table?
我想在 org-mode table:
中输出 src_R 个块
| Variable | Value |
|----------+----------|
| x | src_R{x} |
但是,当我导出为 PDF(通过 LaTeX)时,我得到的是文字 src_R{x} 而不是底层 R session 中的 x 变量的值。我可以在文本中使用相同的 src_R{x} 并且它按预期工作。
有没有办法在 table 秒内支持内联源代码?
(我看过这个标题类似的问题:Code blocks inside tables for org-mode,但主题不同。)
感谢 Juancho 的提示(见评论),我在这里找到了答案:http://orgmode.org/worg/org-contrib/babel/intro.html#spreadsheet。我首先定义一个命名源块来执行我的 R 计算:
#+NAME: my-code
#+BEGIN_SRC R :results output
message(10)
#+END_SRC
(假设输出只是数字 10)。然后我像这样将它插入 table 中:
| Variable | Value |
|----------+-------|
| Name | |
#+TBLFM: @2='(org-sbe my-code)
评论:
- 似乎 org-babel-execute 不再存在,文档使用 org-sbe,它适用于我的 9.0.x org-mode 版本。
- 我已将代码输出包装在 message() 中以避免 R 的额外输出。我尝试了 R 代码的各种 header 参数(例如:results value raw),但我得到了额外的括号,大概来自 lisp,或错误。
- 使用org-sbe你还可以将参数传递给代码,甚至是其他代码块的输出。这在上面引用的文档中有解释。
我想在 org-mode table:
中输出 src_R 个块| Variable | Value |
|----------+----------|
| x | src_R{x} |
但是,当我导出为 PDF(通过 LaTeX)时,我得到的是文字 src_R{x} 而不是底层 R session 中的 x 变量的值。我可以在文本中使用相同的 src_R{x} 并且它按预期工作。
有没有办法在 table 秒内支持内联源代码?
(我看过这个标题类似的问题:Code blocks inside tables for org-mode,但主题不同。)
感谢 Juancho 的提示(见评论),我在这里找到了答案:http://orgmode.org/worg/org-contrib/babel/intro.html#spreadsheet。我首先定义一个命名源块来执行我的 R 计算:
#+NAME: my-code
#+BEGIN_SRC R :results output
message(10)
#+END_SRC
(假设输出只是数字 10)。然后我像这样将它插入 table 中:
| Variable | Value |
|----------+-------|
| Name | |
#+TBLFM: @2='(org-sbe my-code)
评论:
- 似乎 org-babel-execute 不再存在,文档使用 org-sbe,它适用于我的 9.0.x org-mode 版本。
- 我已将代码输出包装在 message() 中以避免 R 的额外输出。我尝试了 R 代码的各种 header 参数(例如:results value raw),但我得到了额外的括号,大概来自 lisp,或错误。
- 使用org-sbe你还可以将参数传递给代码,甚至是其他代码块的输出。这在上面引用的文档中有解释。