Questions tagged «org-babel»

组织模式的功能,可处理多种语言的源代码。它可以从Org模式文档中执行源代码,从而便于生成有文化的编程文档和管理可重复的研究。请注意,[tag:org-babel]现在已作为“与源代码一起使用”并入[tag:orgmode]中,而不再是单独的扩展名。

4
在组织模式下快速插入源代码块
org-mode 具有呈现源代码的能力,具有以下语法的块: #+NAME: <name> #+BEGIN_SRC <language> <switches> <header arguments> <body> #+END_SRC 是否有现有命令可以快速将这些块插入其中org-mode,还是需要使用外部工具yasnippet?

6
我可以使用org-mode来构造我的.emacs或其他.el配置文件吗?
我的.emacs配置文件越来越大,我希望通过添加标题,子标题并能够像我使用Emacs一样隐藏或显示它们来获得更好的概述和结构org-mode。 我注意到我也org-mode可以在.emacs缓冲区中激活,并且可以添加标题并折叠它们。但是,如果添加org-mode标题(例如,以一个或多个星号开头的行),Emacs / Aquamacs是否仍可以从文档中加载Elisp代码? 我可以将所有内容保存在一个文件中,还是必须拥有一个.*org文件,然后定期将Elisp代码导出到另一个文件中?

6
组织模式9:无法评估代码块
我的Emacs配置位于.org文件中,我从中将源代码块缠结到.el文件中。我可以用C-c C-c 今天,我从org elpa更新到org-mode版本9,现在评估像 #+BEGIN_SRC emacs-lisp :tangle yes (setq org-export-coding-system 'utf-8) #+END_SRC 与一起C-c C-c打印以下消息 禁用此emacs-lisp代码块的评估。 在我这里,init.el我已经定义了org-babel的语言: (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (org . t) (sh . t))) 如果我加载了股票的Emacs版本的org-mode,我可以C-c C-c按预期进行处理。我在组织模式9的变更日志中找不到与此相关的任何更改。 如何在组织模式9下启用代码块评估?

3
平滑(鼠标)滚动显示内联图像?
我显示与begin_src和结果块一致的图像。 但是,对于大图像,当我滚动到图像底部时,会出现“混蛋”,并且整个图像都被滚动了。类似地,如果我向上滚动并遇到一个图像,就会出现一个混蛋并看到整个图像,而不是一点一点地逐渐看到它。 这使得很难在组织模式下使用大型plantuml / graphviz图。 我希望有一个顺畅的scol体验,像在Web浏览器中一样,轻轻地滚动浏览图像,而不会出现抖动。 我试过了: (setq auto-window-vscroll nil) 并且 (setq scroll-margin 1 scroll-conservatively 0 scroll-up-aggressively 0.01 scroll-down-aggressively 0.01) 我尝试了平滑滚动包和此代码段。 但是,似乎在线图像仅占用“一行”,而将emacs固定为仅通过“一行”滚动并不能解决问题。 这个问题有解决方案吗? [编辑] 键盘与鼠标滚动: 暗示鼠标滚动。但是,如果可以正常滚动鼠标,键盘滚动将是一个额外的好处。 [edit] 一种解决方法,但对于在组织模式下使用图像很有用,是在外部应用程序中打开它们,该应用程序会在文件更改时自动重新加载。示例为eog (eye of gnome)or shutter或prievew (on OS X)。可以通过org-file-apps添加以下内容进行配置: extension: \.png\' Command: eog "%s"

1
如何在组织模式代码块中指定默认标头参数
我想将默认标头参数设置为org文件中的代码块,如下所示: #+PROPERTY: header-args :session *my_python_session* #+PROPERTY: header-args :results silent #+PROPERTY: header-args :tangle yes 我的代码块如下所示: #+BEGIN_SRC python import pandas as pd #+END_SRC 但是,当我org-babel-tangle从该缓冲区调用时,我从filename.org获得了纠结的0代码块。当我添加:tangle yes到该#+BEGIN_SRC行的末尾时,调用时将导出代码块org-babel-tangle。 我希望不需要:tangle yes在每个代码块上进行设置。我究竟做错了什么?

2
使用Org Babel纠缠为变量文件名
如果我有一个缠结到文件的代码片段,但是我希望文件名会随着时间变化,那么是否有比Query-replace更干净的方法来更改文件名? 例如,说我将代码纠缠到〜/ dir / my-file.el: #+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el (setq myvar1 "value1") #+END_SRC #+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el (defun foo (bar) ... ) #+END_SRC etc. 后来我意识到该文件最好放在另一个位置: #+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el (setq myvar1 "value1") #+END_SRC #+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el (defun foo (bar) ... ) #+END_SRC etc. 有没有办法将参数动态更改为:tangle。 我已经调查并发现,我可以将elisp输入到:tangle参数中。如果我评估(setq myfile "~/dir/file.el)然后纠结以下内容: #+BEGIN_SRC emacs-lisp …


2
Python组织模式的源代码块输出始终为“:无”
这是我的源代码块: #+BEGIN_SRC python print "hello" #+END_SRC 输出始终为: #+RESULTS: : None 这是我的org-babel配置: (org-babel-do-load-languages 'org-babel-load-languages '((python . t) (C . t) (calc . t) (latex . t) (java . t) (ruby . t) (scheme . t) (sh . t) (sqlite . t) (js . t))) Python在我的PATH上,可以通过终端执行。 Emacs-lisp SRC块工作正常。 为什么我得到None代替hello?

1
“对于c没有org-babel-execute函数”和“对于c ++没有org-babel-execute函数”
我的emacs版本是24.3.1。 我了解我必须将ob-C.el(可从此处获得)放在Emacs可以读取它的路径中。 我首先将代码从该.el文件复制粘贴到我的.emacs文件中,然后重新启动emacs。然后我去了C代码块(在org文件中)并尝试执行它(使用Cc Cc)。迷你缓冲区说“ C没有org-babel-execute函数”。试图执行C ++代码块也出现了同样的情况。请注意,R和python从我的org文件中评估完美。问题似乎仅在于这些编译语言。 然后,我尝试将这个ob-C.el放入〜/ .emacs.d目录中,以查看是否有帮助。重新启动emacs并检查。它没有用。 然后我尝试将其放入目录〜/ .emacs.d / lisp并将以下行添加到我的.emacs文件中 (add-to-list 'load-path "~/.emacs.d/lisp/") (load "ob-C.el") (require 'ob-C) 重新启动emacs之后,无法从组织文件中评估C或C ++代码块。我不断收到相同的错误“对于C没有org-babel执行功能”或“对于C ++没有org-babel执行功能”。 更新资料 我将emacs版本升级到24.5,删除了〜/ .emacs.d目录中所有以前的elpa和melpa子目录。怀疑这与我下达订单的顺序有关 (custom-set-variables '(org-babel-load-languages (quote ((emacs-lisp . t) (C . t) (css . t) (sh . t) (awk . t) (R . t)))) 和 ;; load the …
15 org-babel 

2
组织Babel中的异步执行
是否有一个良好的org-babel通用定制可以异步运行?最近,我计划通过org-babel使用MATLAB,但由于某些计算确实需要时间,因此我希望以异步方式使用它。 我不想仅自定义ob-matlab。这是因为我认为应该在框架级别而不是在应用程序级别完成。换句话说,相同的修改应启用其他语言扩展(例如R语言)的异步功能。 有没有人有一个好的解决方案?到目前为止,我已经尝试async.el过以及deferred.el修改org-babel-execute-safely-maybe目前可以找到ob-core.el的内容。
14 org-babel  matlab 

1
使用组织模式以其他语言生成输出
鉴于以下旨在生成C ++代码: #+BEGIN_SRC python :exports both :results output code print "struct Whatever{};" #+END_SRC 结果插入如下: #+RESULTS: #+BEGIN_SRC python struct Whatever{}; #+END_SRC 显然,该格式未格式化为C ++。我如何获得它,以便组织生成以下内容: #+RESULTS: #+BEGIN_SRC c++ struct Whatever{}; #+END_SRC 谢谢

1
为组织模式下的代码块设置默认语言
有没有一种方法可以为文档标头中的组织模式代码块定义默认语言?通常,在一个组织文档中,我只使用一种编程语言,因此总是很难写 #+BEGIN_SRC python [...] #+END_SRC 能够做类似的事情会很好 #+PROPERTY: header-args :session *mysession* :tangle yes :results silent :language python [...] #+BEGIN_SRC [...] #+END_SRC 有什么办法可以做到这一点?

3
可以将org-babel结果作为代码注释输出吗?
在博客,教科书等中,通常将某些代码的结果显示为注释,例如: (+ 1 1) ;=> 2 有没有一种方法可以使用Org-Mode的Babel功能自动显示这样的结果? 具体来说,我想要的是能够指定这样的标头: #+begin_src scheme <some headers> (+ 1 1) (/ 4 (* 2 2)) #+end_src 我将变成以下内容C-c C-c: #+begin_src scheme <some headers> (+ 1 1) ;=> 2 (/ 4 (* 2 2)) ;=> 1 #+end_src 然后,如果我做了一些更改,像这样... #+begin_src scheme <some headers> (+ 1 5) ;=> 2 …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.