问题标签 [org-babel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3555 浏览

haskell - 如何使用 Stack 为 Haskell 设置 org-babel

我在跑:

  • GNU Emacs 24.4.1
  • 堆栈版本 1.3.3
  • 组织模式
  • 哈斯克尔模式

我浏览过:

虽然上面的要点看起来很有希望,但我还没有找到任何看起来是让 org-haskell 运行的权威方法(例如,melpa 上什么都没有),当然也没有任何东西专门针对运行堆栈环境而不是使用我的全球 ghc 将需要。

当我尝试:

我明白了

执行 Haskell 代码块

...永远挂起。当我 Cg 时,我看到:

当我切换到 haskell 缓冲区时,我看到它已经真正评估了我发送的内容,它只是有这个 org-babel-haskell-eoe 错误并且永远不会将控制权返回给我的 org 会话。

这是因为我有一个自定义提示吗?使用 lambda 而不是 Prelude> ?

0 投票
0 回答
191 浏览

emacs - Org Babel Source Block Native Fontification

我正在尝试获取 org-babel 源代码块来进行本机语法突出显示。我已经设置org-src-fontify-natively为true,但仍然没有看到任何东西。

这是我的相关配置:

这是org-babel-view-src-block-info(Cc Cv I):

我的(emacs-version)GNU Emacs 25.1.50.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1603)) of 2016-04-03

0 投票
1 回答
297 浏览

emacs - Org-Babel Clojure Cider NRepl 坏了?

我按照此处的说明编写了以下 org-mode 文件:

如您所见,emacs-lisp 块的评估工作并产生预期的输出。顺便说一句,它还报告了我正在使用的东西的版本。但是,clojure 源代码块在评估时会离开

我在代码块中尝试了许多不同的 Clojure 表达式,例如printlns 等等。NREPL 窗口中没有显示任何内容,并且 org 模式下的结果始终相同:上面的消息在 minibuffer 中。

在 emacs 小缓冲区中。以下是我采取的具体步骤:

  1. $ lein new clojure-example
  2. $ cd clojure-example
  3. $ emacs clojure.example.org
  4. 在上面的文件中键入
  5. 运行 emacs 命令cider-jack-in

这会产生一个带有以下版本信息的 repl 窗口:

等等

  1. 将 emacs 光标放在每个块内并键入C-c C-c,它绑定到 org-babel-execute-src-block

在此之前,我在我的 emacs 初始化文件中插入了以下代码:

根据引用的说明。

我会很感激任何帮助。

0 投票
1 回答
995 浏览

python - 从 org-mode 将 utf-8 表传递给 python

当表包含 utf-8 编码的元素时,我试图从 org-to-python-to-pandas 中提取一个表,然后返回到 org,这让我有点头疼。

在下面的示例中,它是暴露给 python 的 tbl var。我相信这是默认为字符串类型的 Python 元素,而不是 unicode。

然后将它们作为 str 类型导入 pandas 数据框(尽管我怀疑这只是一个实现细节)。

因为 pandas 认为它​​将 ASCII 字符串作为元素,而不是 UTF-8 元素,所以我发现自己必须迭代每个元素,设置为 UTF-8,然后再编码回 ASCII,以免破坏 pandas 已经做出的类型假设. 这行得通,但显然我失去了非 ASCII 字符,而且很难看。见下文。

我的问题是 - 有没有办法将 :var tbl=TBL 传递给 python,使每个表元素中包含的数据被正确编码为 python unicode UTF-8 而不是 ASCII 字符串?

我相信如果是这种情况,那么在尝试使用 tabluate 库转换回 org-table 时,它​​将避免进一步的错误。制表库在不使用我的重新编码为 ASCII 的情况下抛出,但我不认为这是制表的问题,但 :var 提供的输入被键入为字符串,但实际上包含 utf-8。

我正在使用 Python 2.7 和 emacs24。

谢谢!

更新

这不是一个完整的答案,但在与制表所有者之一讨论过这个问题后,我已经证明可以通过对数据帧进行 UTF-8 解码来保留 Unicode,并在制表的实际输出上使用 UTF-8 编码。问题也与制表无关!

这比我原来删除 unicode 的解决方案要好,因为它可以正确保留字符。

我仍然认为如果您可以在 Org-Babel 中为输入和输出指定字符编码会很好,但除非其他人评论,否则我认为这是不可能的。

请参阅此处以获取来自 Org/Python 的讨论和调试会话,这些会话显示了内部结构:

BitBucket 上的问题讨论

0 投票
1 回答
100 浏览

emacs - 在 org-babel 的 RESULTS 块中启用字体粗细和颜色

有什么方法可以在#+RESULTS块中启用字体粗细和颜色org-babel

例如,ls使用该--color选项调用会在 shell 中按预期呈现字体粗细和颜色,但在#+RESULTS块内呈现时不会:

终端ls有无的截图--color

另一个例子是nodemodule ,它以明文形式chalk出现在块中:#+RESULTS

chalk终端中的截图

0 投票
1 回答
830 浏览

python-sphinx - 组织模式代码块结果中的内部链接和目标链接,例如,链接到其他代码块的结果

我正在使用 org-mode 编写软件文档,其中函数、变量等的 API 文档是从代码的文档字符串中自动提取的(恰好在 Common Lisp 中)。然后将此文档导出为 HTML(我碰巧通过带有ox-rstSphinx的 reStructuredText 执行此操作)。它的工作方式与直接在 Python 中使用 Sphinx 非常相似,但具有 org-mode 的所有功能,例如可执行代码块。

只是为了简要说明原理,我将使用 Emacs Lisp 演示以下方法进行了一些简化。我有一个提取函数文档的代码块(使用 Common Lisp 的格式并使用:results output raw我避免在结果中包含双引号,但为简单起见,我将它们留在下面的简短演示中)。

然后,我使用我想要记录的函数调用该代码块,并在导出过程中将该调用替换为生成的文档。

自动插入到导出文件中的地图生成文档恰好如下。

我可以在我的文档字符串中使用 org-mode 格式,并且这种格式会按预期导出。

现在是我的问题。我想在其他函数、变量等的文档字符串和主文本(即,未自动插入的文本)中使用指向 API 条目(例如,函数的文档)的链接使用函数名称自动插入目标很容易,我只需要相应地扩展上面的代码块function-doc。但是,在导出过程中找不到这些目标。即使我将目标文件自动添加到上面的代码块function-doc中,当我将 org-mode 链接[[ MY -FUNCTION]]插入该函数时,org-mode 会中断导出以下错误。

有没有办法绕过这个限制?在导出过程中,org-mode 是否可以“看到”org-mode 代码块结果中的目标?

我已经尝试了各种解决方法,但到目前为止都没有成功。例如,我尝试使用 org-mode 宏而不是代码块,但是产生多行宏结果非常棘手(Define org-mode macro with line breaks where 对我来说不够用)。我正在寻找一种方法将有关未解决链接的错误消息转换为警告,但我发现的只是标记损坏链接的选项,如下所示。有什么方法可以导出并忽略(看似)断开的链接?

我还考虑过首先将我的 org 文件自动导出到已插入所有代码块结果的 org,以便 org-mode 可以看到链接的所有目标,但显然也无法将 org 文件导出到 org 模式(看似)断开的链接。

有什么帮助吗?非常感谢!

0 投票
1 回答
207 浏览

emacs - 如何在 Emacs Lisp 中将参数列表转换为每个换行符的字符串?

我想emacs-lisp在 Emacs Org-mode 中将 list to :var 放入代码块中,并在新行上仅输出每个列表项。它ruby看起来很简单

但无法在 Emacs lisp 代码块中实现。

0 投票
2 回答
626 浏览

org-mode - 如何为空输出自动抑制`#+RESULTS`?

在以下 org-mode 源代码片段中,不会生成任何结果:

但是,在执行时#+RESULTS:会添加到文档中。如何将 org-mode / babel 配置为仅在有要显示的内容时插入结果?

我知道我可以使用 禁用输出:results silent,但我不希望根据是否生成结果来指定不同的标志。

0 投票
1 回答
130 浏览

emacs - org-mode babel sh script + escaped(?) ~ char 作为主目录?

我在 org-mode babel 下有这个小sh脚本:

注意:set -e是否会在发生错误时立即停止脚本。

该脚本适用于完整路径:

但是,当与~(我的主目录)一起使用时,它不再起作用:

我明白了

sh: 4: cd: 不能 cd 到 ~/Temp

错误信息。

另请注意

也不行。

我猜这个~角色在某个地方被转义了(在 Emacs 中?在 sh 中?)......

我的问题是:如何解决这个问题?

0 投票
1 回答
1740 浏览

python - 在emacs上使用babel org模式作为python数据分析环境

我已经开始使用org-babel25.3.1 emacs。用于我的初始化文件和组织。我正在使用ein跑步jupyter notebook并想知道是否可以以org-babel相同的方式使用。

ein我使用 、 和 python 库进行数据分析的笔记本numpypandas它工作matplotlib得很好,但是看到使用 babel在 babel 上完成的类似工作的示例Rgnuplotorg-mode,我想知道它是否可以用于python分析包。

这是babel 简短文档的链接,介绍了文学编程的一些不同语言的代码片段。

我使用 Python 3.5.4 版anaconda,它可以方便地安装所有库,并且使用 anaconda-modeemacs我可以访问所有功能,但在 babel 中:

org 文件中的这段代码并没有真正看到 anaconda 安装,因为我认为它使用 emacs python 模式,因此不导入 numpy ...

我喜欢文学编程的想法,它可能不如带有代码单元和降价单元的笔记本有用,但考虑到可定制的特性org-mode,在那种环境中工作可能会非常有趣。

编辑从这里开始

在上一个问题中发现了这个实现, @bowen.li 的答案有用于将 interperter 更改为 ipython 的有用代码,因此可以访问缺少的库。我仍在寻找实现更多功能的方法,例如使用 matplotlib 进行内联绘图。