1840_emacs org-mode babel的语言支持

Grey

全部学习内容汇总: GitHub - GreyZhang/g_org: my learning trip for org-mode

1840_emacs org-mode babel的语言支持

主题由来介绍

Babel是org-mode中支持文学式编程以及可重现研究的一个核心模块,之前看过这个插件的优点是功能完善且支持的语言比较多。这一次的内容,主要是看看Babel支持哪些编程语言以及是不是有什么特性。

参考文档以及解读

这部分资料还是主要参考官方文档,如下是文档链接:

Babel: Languages

简单的功能小结

  • Babel支持百种编程语言
  • 随着emacs发布的语言支持多达三四十种
  • 历史原因,还有十几种跟随org发布
  • 针对不支持的语言,也有一个扩展的指导说明

功能包值得注意的地方

emacs内置的编程语言支持之前做其他小结的时候引用看过了,这里不再赘述。看一下随着org发布的表格描述如下:

这么看,其实跟随org发布的主要是一些没有使用GPL许可证分发的一些语言。

这些随着org发布的也有一些我熟悉或者直接用了不少的编程语言。其实不仅是这些,包括伴随着emacs发布的那些,在每一种编程语言对应的链接部分都有对应语言的说明文档。针对我目前经常用的,还是有必要去仔细阅读一下的。

实际探索体验以及效果

这是如何激活一个语言的说明,之前看多语言支持的文学编程以及可重现研究的论文的时候也接触了一点。当时是因为我自己的测试中,发现python代码不执行。其实根本原因就在于,对应的语言支持没开。

如果要开启常用的几种编程语言的支持,可以在emacs的配置中增加如下配置:

;; configurations for babel
;; only use when you want to use code evaluation.
 (org-babel-do-load-languages
       'org-babel-load-languages
       '((python . t)
    (emacs-lisp . t)
    (perl . t)
    (C . t)
    (scheme . t)))

上面的语言的支持配置,其实只有在需要执行代码的时候才需要。如果只是文学式编程,这些功能看起来没有开启的必要,因此,我自己的配置中保留了但是禁用了,以此保证我配置的最小化。

小结

通过这一部分文档的阅读,看得出来如果只是做简单的文学式编程的化,其实目前的功能支持基本上没有什么语言的限制了。因为文档与代码的混合以及代码的tangle等,都不涉及到对语言支持的定制。或许,Babel的功能支持更多在于对可重现方面以及数据处理方面的一些支持。但是这些目前来说,并不是我很期待关注的部分。由此,前面提到的各语言的支持文档只需要做一个泛泛的了解应该就可以继续我个人工作流的定制改进了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海思越影系列3516DV500/3519DV500/3519AV200/SD3403平台的AI一体化工业相机设计思路

随着工业自动化的发展,生产线对机器视觉的数量要求越来越多,由于数量的增加,视觉系统占的空间也越来越大,给生产线的布局带来困扰。 另一方面随着视觉SOC的发展,越来越多的视觉SOC都逐渐带有一定的算力,一体…

实验四 TCP/UDP协议分析

目录 一、TCP连接建立过程分析 二、TCP关闭连接过程分析 三、6号报文分析 四、A方TCP报文序列号分析 五、计算 六、UDP协议分析 一、TCP连接建立过程分析 图 1 第一次握手 第一次握手:客户端将标志位 SYN 置为 1 ,随机产生一个值SEQ X 0&#xf…

Edge浏览器版本更新后Copilot按钮消失的解决应对方式

需求背景 今天突然发现Edge浏览器右上角的Copilot按钮不见了,排查了一下,发现可能是浏览器自动升级到120版本后,关闭了右上角的Copilot按钮。案发现场如下: 原因如下: 说实话,人家这个插件还是很好用的&…

计网 - LVS 是如何直接基于 IP 层进行负载平衡调度

文章目录 模型LVS的工作机制初探LVS的负载均衡机制初探 模型 大致来说,可以这么理解(只是帮助我们理解,实际上肯定会有点出入),对于我们的 PC 机来说,物理层可以看成网卡,数据链路层可以看成网卡…

HTML中常用表单元素使用(详解!)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中常用表单元素使用以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言 …

时序分解 | Matlab实现SSA-ICEEMDAN麻雀算法优化ICEEMDAN时间序列信号分解

时序分解 | Matlab实现SSA-ICEEMDAN麻雀算法优化ICEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现SSA-ICEEMDAN麻雀算法优化ICEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现SSA-ICEEMDAN麻雀算法优化ICEEMDAN时间序列信号分解 可…

网神 SecGate3600 authManageSet.cgi信息泄露漏洞复现

漏洞概述 网神SecGate 3600 authManageSet.cgi 接口存在敏感信息泄露漏洞,未授权得攻击者可以通过此漏洞获取控制台管理员用户名密码等凭据,可登录控制整个后台,使系统处于极不安全的状态 复现环境 FOFA:body"sec_gate_im…

maui 调用文心一言开发的聊天APP 3

主要是对代码进行了优化 上一个版本写死了帐号跟密码 ,这一个帐本有户可以直接设置对相关的key以及secret如果设置错时,在聊天中也会返回提示。注册帐号时同时也设置了key及secrete升级到了net.8.0导出APK,上一个版本是导出abb.解决了变型问…

C# 使用异步委托获取线程返回值

写在前面 异步委托主要用于解决 ThreadPool.QueueUserWorkItem 没有提供获取线程执行完成后的返回值问题。异步委托只能在.Net Framework 框架下使用,.Net Core中会报平台错误,而且使用Task.Result来获取返回值,可以达成同样的目的&#xff…

无代码开发让合利宝支付与CRM无缝API集成,提升电商用户运营效率

合利宝支付API的高效集成 在当今快速发展的电子商务领域,电商平台正寻求通过高效的支付系统集成来提升用户体验和业务处理效率。合利宝支付,作为中国领先的支付解决方案提供者,为电商平台提供了一个高效的API连接方案。这种方案允许无代码开…

Linux----内核及发行版

1. Linux内核 Linux内核是操作系统内部操作和控制硬件设备的核心程序,它是由芬兰人林纳斯开发的。 内核效果图: 说明: 真正操作和控制硬件是由内核来完成的,操作系统是基于内核开发出来的。 2. Linux发行版 是Linux内核与各种常用软件的组合产品&am…

音乐制作软件Studio One mac软件特点

Studio One mac是一款专业的音乐制作软件,由美国PreSonus公司开发。该软件提供了全面的音频编辑和混音功能,包括录制、编曲、合成、采样等多种工具,可用于制作各种类型的音乐,如流行音乐、电子音乐、摇滚乐等。 Studio One mac软件…

网络安全项目实战(二)--报文检测

4. 源码管理系统 目标 了解源码管理了解源码管理的工具了解源码管理流程了解git源码管理的分支 4.1. 源码管理简述 在现代软件开发项目中,要成为一个有效的软件开发人员,我们必须能够与其他项目贡献者并行进行开发。 源代码管理(SCM&…

Python 自动化之处理docx文件(一)

批量筛选docx文档中关键词 文章目录 批量筛选docx文档中关键词前言一、做成什么样子二、基本架构三、前期输入模块1.引入库2.路径输入3.关键词输入 三、数据处理模块1.基本架构2.如果是docx文档2.1.读取当前文档内容2.2.遍历匹配关键字2.3.触发匹配并记录日志 3.如果目录下还有…

Linux shell编程学习笔记35:seq

0 前言 在使用 for 循环语句时,我们经常使用到序列。比如: for i in 1 2 3 4 5 6 7 8 9 10; do echo "$i * 2 $(expr $i \* 2)"; done 其中的 1 2 3 4 5 6 7 8 9 10;就是一个整数序列 。 为了方便我们使用数字序列,Linux提供了…

Python 小程序之PDF文档加解密

PDF文档的加密和解密 文章目录 PDF文档的加密和解密前言一、总体构思二、使用到的库三、PDF文档的加密1.用户输入模块2.打开并读取文档数据3.遍历保存数据到新文档4.新文档进行加密5.新文档命名生成路径6.保存新加密的文档 四、PDF文档的解密1.用户输入模块2.前提准备2.文件解密…

jmeter和postman的对比

1.创建接口用例集(没区别) Postman是Collections,Jmeter是线程组,没什么区别。 2.步骤的实现(有区别) Postman和jmeter都是创建http请求 区别1:postman请求的请求URL是一个整体,j…

玩转大数据15:常用的分类算法和聚类算法

前言 分类算法和聚类算法是数据挖掘和机器学习中的两种常见方法。它们的主要区别在于处理数据的方式和目标。 分类算法是在已知类别标签的数据集上训练的,用于预测新的数据点的类别。聚类算法则是在没有任何类别标签的情况下,通过分析数据点之间的相似性…

智能优化算法应用:基于帝国主义竞争算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于帝国主义竞争算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于帝国主义竞争算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.帝国主义竞争算法4.实验参数设定…

图论——二分图

图论——二分图 二分图通俗解释 有一个图,将顶点分成两类,边只存在不同类顶点之间,同类顶点之间设有边。称图 G 为二部图,或称二分图,也称欧图。 性质 二分图不含有奇数环图中没有奇数环,一定可以转换为二…