暴论: 所有编程课本都应该用 Org 格式写

web 还是厉害的, js 有很多包, 我记得有个包对 latex 几乎也能做到任意预览, 虽然一年前试用的时候没有那么完美. web 易用而且跨平台, 即使手机也可以轻松显示.

我也用过 knitr, 但并没有觉得它比 org-mode 有什么了不起的地方, 不过我不确定 org mode 能否做到对 inline code 也能像 knitr 那样替换, 我表示怀疑. 而且记得我用的时候 knitr 速度很慢. 不过关键还是易用性, 假设一个工具你掌握它就需要很长时间, 另一个可以迅速上手, 而且功能还差不多或者略逊, 那么 99% 的人都会选那个简单的.

org 有 inline block (org manual 16.2), 不知道是不是你要的东西. 比如在 org buffer 中输入 my emacs dir is src_elisp{user-emacs-directory}, 然后 C-c C-c 代码部分, 就可以在最后插入结果. 当然如果你要 export 或者说 knit 的时候, 那就更能随便定义输出样式了.

哦哦, 我看了下, 确实可以, inline 语法也支持 session 的.

然而 Emacs 是自由软件, 你随时可以获取并使用.

主观地讲, 并不会.

我平时作业几乎全部是 Markdown 写的, 只有笔记等内容使用 Org Mode (哦, 还有偶尔需要验证代码片段时, 比如说 C++, 会随便打开一个 C++ 笔记, 插到代码块中立即执行, 而不是开 IDE 或者新建源文件). 只有最开始切换到 Org Mode 时会出现语法不熟悉的情况, 不包括那些我不需要用的语法, 即使熟悉了也没用.

所以你这句话可能有些问题: 本身记住 Org Mode 的所有语法就很难而且不必要, 但是如果要和 Markdown 作比较, 你应该只举 Org Mode 的子集 – 也就是 标记语言部分. 试问, 这应该很难忘记吧?

刚需没啥好说的.

对你来说没必要.
我在写作业, 作报告等场景下, 使用 Markdown, 也是因为对我来说没必要用 Org Mode.
作业写了是给助教看的, 我又不用对助教负责 :rofl: 但笔记写了是给我自己复习用的, Org Mode 的交互功能能极大地节约复习的时间.

弊端是不能持久保存, 不能纳入版本管理, 不过临时工作这么做当然可以.

没懂这是啥意思.
说到教学, 其实就是我一开始提到的, 我个人非常看重互动性 (而不是单纯的文学编程, 什么是单纯的文学编程呢, 你看的那些编程书籍大部分不都是么? 比如 Linux 内核源码剖析, 一段代码加一大串文字), PDF 和 Markdown 做不到这一点吧?
之前就有坛友说过, 希望看到更多的教学视频而非纯文字内容, 因为纯文字时常要花费更多的时间去理解. 有更高效的教学方式何乐而不为呢?
大数据/AI 类专业因为有时需要使用 Anaconda, 所以接触到 Jupyter 这种互动式的 notebook, 比计算机专业幸运.

试问, 论坛里哪条帖子/评论不是 Markdown 语法?? 在这方面 Markdown 一家独大, 属于是众望所归, Markdown 语法简单 (因为它功能少呀) + 具备必要的基本功能 + 流行.

如果要架设面向大众的社交/交流平台, 大部分情况下正常思维都是设计支持 Markdown 吧, 这我认为没什么值得拿出来提的. 纠结论坛是该支持 Markdown 还是 Org Mode, 那么产品经理该辞退了.

Do you know any features of knitr that are missing in Org mode?


您知道 Org 模式中缺少的 knitr 功能吗?

既然是课本那就需要精细的控制排版效果,使用 LaTeX 或者某些私有软件是更好的选择,当然额外提供一些互动性的课件是另一回事。

说进来我很少看到本科级别的 CS 的课本使用 LaTeX(Daniel Friedman 的 little books 是一个例外),国内的情况不必谈,而在国外我猜测因为教材是门赚钱的大生意,出版社会去请专业的编辑处理。高年级或者研究生教材因为出版量少,排版更可能是作者自己负责的,用 LaTeX 的可能性会增大不少。数学的教材也是同理。

支持暴论, 甚至应该拓展到一些别的学科上 (bushi).

Org-mode 的一个非常美妙的事情就是很方便快速演示, 比如想要用来展示某个参数对结果的影响, 就可以快速进行一个演示. (虽然缺乏一些类似于 Mathematica 一样的交互控件, 没准可以用 HoloLayer 搓一个, 或者最近 (之前) 看到有一个 把 Emacs 作为 McCLIM 后端的尝试).

(不过可能有一个悖论, 就是你都这么能折腾 Emacs 了, 那么直接上手和该方向特别配合的程序估计也不算太困难, 切换到 org-mode 的动力估计不是很足; 但是如果你花了很久去折腾 Emacs 和 org-mode, 可能不太适合初学者入门 :sweat_drops: 以上是尝试安利萌新大佬失败的经验)

个人用例。拿出去给别人看的东西,我会用 jupyter notebook,不过从书写的整体感和流畅感,我觉得 quarto 更舒适,jupyter notebook 总给我内容的割裂感。个人学习、思考、做笔记,用 org-mode,这是一个能够跟上我的思路,伴随我思考的工具。

1 个赞

org也好markdown也好只是一种富文本的格式,以现有的师资资源想要这样做是不可能的。其实这些富文本归根到底是在本身的文本上做个标记,让程序可以更好的分析而已。现在的LLM这类模型已经能很好的对这些非格式化的文本进行分析了。与其让他们学一套富文本的写法,还不如先让它们把AI引入到教学中。

1 个赞

主要问题还是 Emacs 的用户量太受限了,绝大部分人并不会接触 Emacs,org-mode 也几乎只活在 Emacs 里,更通用点的还是jupyter,主流编辑器和 IDE 都有对 jupyter 的内部集成。 使用 jupyter 授课的人是有的,可以看一下南京大学蒋炎岩 的《操作系统》课程,他基本就是在vscode里用jupyter和终端讲课的。 我还遇到过用RMarkdown的教师,RMarkdown在表现形式上很优秀,但是和org-mode一样场景比较受限,主要也就使用R语言的人用。

3 个赞

你可以试试GNU TeXmacs或者墨干理工套件阅读交互的SICP:

我制作了sicp的前两章,使用TeXmacs,就可以直接在书里面执行scheme代码。Python/Octave/Maxima都可以的。排版效果比Emacs应该会好很多,而且我还可以部署到网页端。

1 个赞