如何使用emacs org python 直接输出mathjax直接可以渲染的代码?

原来就有那个函数的,只是原来的那个结果如果不做修改只能导出到 pdf,我把格式改了,就可以不用修改直接导出到 html 了。抱歉忘了这个细节。在合并之前你可以直接使用我的 fork:GitHub - et2010/scimax at develop

我也不是开发者,只是有时候看到某个软件让自己不爽就有改变它的冲动 :smile:

emacs 就是这样,应该没有专职的 emacs 开发者,都是兴趣使然。用 emacs 的过程必然是折腾的过程。

谢啦,我下载来看看,学习下再说。:)

如果解决了你的问题,请把我的回复勾选为答案。

勾选答案后,再给 et 立一个 “信et2010,得永生” 的牌坊 :sunglasses:

那样的话我会被查水表了 :persevere: :rofl:

其实我还没有搞定 ,哈哈,前几天通过“文学编程”–>搜寻工具–“jupyter noetbook”–"eamcas"才找到这里,现在在恶补"emacs"配置,以前也偶尔接触到lisp.应该隔解决不远了。

我的 PR 已经被合并了 :tada:,你可以用官方的 scimax 了

还有什么问题吗?

祝贺,这个输出功能很棒。

我这边加载了文件后scimax-org-babel-ipython.el,然后运行,出现一些参数错误,

感觉应该是我设置加载有些问题。比如我加载了官方的OB-ipython,所以在努力学习配置.emacs,default.el,init.el方法,正在把有些配置单独规划整理一下

单独又加载了些文件,还是输出错误。

能不能帮忙使用(print load-path)输出加载目录,我不太清楚加载了那些文件可以顺利出结果。SEVER2016

不要用官方的 ob-ipython,必须用 kitchin 自己的 fork:

我没有在 Windows 下使用过 scimax,没法帮你测试了。

整好了,重新CLONG了项目,使用了人肉加载,却啥给啥,终于知道要加载些啥了。 记录一下。感谢高手支持。 1:给目录路径, 2:设置语言。 3:设置OB-IPYTHON. 4:单独加载,scimax-org-babel-ipython.el

(add-to-list 'load-path "d:/git/scimax/scimax")
(add-to-list 'load-path "d:/git/scimax/scimax/ob-ipython")
(org-babel-do-load-languages
 'org-babel-load-languages
   '((ipython . t)
     (python . t)
     (emacs-lisp . t)
     ))
;config ipython 
(require 'ob-ipython)
;; 
(setq org-confirm-babel-evaluate nil)
;; 
(defun org-babel-tangle-and-execute ()
  (interactive)
  (org-babel-tangle)
  (org-babel-execute-buffer)
  (org-display-inline-images))

貌似多了点副产品,不知道重启之后还有没有。

最好把 scimax-org.el 也加载了,我写的函数对那个有依赖,不然恐怕不能正常工作。或者至少把其中的 org-fontify-meta-lines-and-blocks-1 函数拷贝到你的配置中去。

最后恭喜你也跳到 orgmode 的大坑里来了 :rofl:

估计学会点后,可以写1两个功能的函数啥的。我主要想弄点文档数据话,自动化,跟数据库链接。做点小东西玩玩。自动报告必须编程才是王道啊。 真心有坑啊,居然重启后用同样的方法,出不来了。不知道哪里又有问题了。坑大。

果然坑大,一会内核没有运行,一会调用MIKTEX安装styl,那个环节不行,就坑了。 注意事项, 1.miktex,的安装目录别默认,有空格,系统不认。 2.设置字体设置。这个配置好像能成功。控制台不乱码,也能传递 3.启动的时候不用着急,后台在运行东西,有时候是没有反应的。

(set-language-environment 'Chinese-GB)
(set-keyboard-coding-system 'euc-cn)
(set-clipboard-coding-system 'euc-cn)
(set-terminal-coding-system 'euc-cn)
(set-buffer-file-coding-system 'euc-cn)
(set-selection-coding-system 'euc-cn)
(modify-coding-system-alist 'process "*" 'euc-cn)
(setq default-process-coding-system '(euc-cn . euc-cn)) 
(setq-default pathname-coding-system 'euc-cn)

测试完整代码:

#+BEGIN_SRC ipython :results value :ob-ipython-results text/latex
from __future__ import division
from sympy import *
#from sympy.interactive import printing
init_printing(use_latex=True)
#init_printing(use_mathjax=True)
x, y, z, t = symbols('x y z t')
k, m, n = symbols('k m n', integer=True)
f, g, h = symbols('f g h', cls=Function)
(1/cos(x)).series(x, 0, 10) 
#+end_src

输出结果:

2

1 个赞

注意到你的结果和我的有细微的不同:你的结果是单 $ 包围的。估计可能是 ipython 或者 sympy 的版本不同?

我的:

图片

图片

是一样的,我整掉了一个美元,好让靠边。:)。应该有参数可以控制是1个美元,2个美元就好了。呵呵。

这个可以简单地通过 hack scimax 实现,但是不推荐修改 ipython 的结果。ipython/sympy 说不定有控制这个的开关。

另外,想让它居左的话也可以通过修改 html 的 css 来实现。