0

我在组织文档中有一个代码块

#+NAME: result_whatever
#+BEGIN_SRC python :session data :results value :exports none 
return(8.1 - 5)
#+END_SRC

我内联评估:

Now, does this work? Let's see: call_result_whatever(). I'd be surprised ...

导出到 LaTeX 时,会生成以下内容:

Now, does this work? Let's see:  \texttt{3.1}. I'd be surprised \ldots{}

但是,我不希望结果显示在monospace中。我希望它以“普通”直立字体格式化,没有任何特殊标记。

我怎样才能做到这一点?

4

3 回答 3

1

您应该能够使用可以添加到call_function().

我没有在这个系统上安装 LaTeX,因此无法完全测试输出以确保它们完全符合预期,我使用纯文本输出来进行比较。但是,您可以使用以下语法作为call修改结果的一部分。

Now, does this work? Let's see call_results_whatever()[:results raw].
I'd be surprised ...

没有[:results raw]到纯文本(Ascii 缓冲区)的输出是Let's see `3.0999999999999996'.. 随着添加的结果,它变成Let's see 3.0999999999999996.

有关可用results关键字以及内联块的其他可选标头参数的完整详细信息,请参阅评估代码块结果参数

于 2013-08-13T12:40:11.117 回答
1

这是5年后。显然在 org-mode 8.2 左右,引入了一个新变量(记录在 org-mode 手册中的“评估代码块”中,但这来自源代码树中的 etc/ORG-NEWS):

*** 新选项:org-babel-inline-result-wrap

如果您将其设置为以下

: (setq org-babel-inline-result-wrap "$%s$")

然后内联代码片段将被包装到格式化字符串中。

所以,要消除 \texttt{}

(setq org-babel-inline-result-wrap "%s")
于 2018-01-29T11:50:21.653 回答
0

这种类型的问题可以通过两种方式解决:

1:容易做到:

query-replace导出缓冲区上的平原。进入 LaTeX 缓冲区后,

  1. beginning-of-buffer或者M-<
  2. query-replace或者M-%
    • 输入\texttt要替换的字符串
    • 不输入任何内容作为替换
    • 继续以交互方式替换每个匹配项y/n或将所有内容替换为!

2:但我想要!

第二种方法是在 org-mode 邮件列表中为您的特定情况实施开关或选项。虽然有时这是必要的,但它也会产生一个包含数千个开关的系统,这可能会变得笨拙。你可以试试,但我不推荐。

于 2013-08-10T14:10:43.487 回答