TeXmacs的架构-- architecture.en.tm学习记录

翻到一个超级老的文档
TeXmacs由C++编写
然后源码目录各个目录的分配是

Basic 数据结构
Resource 字体,语言,编码,字典资源
Prg 扩展语言
Typeset 打字设置
Edit 编辑器相关
Server 服务器相关

我现在拿到的源码目录是
TeXmacs的架构-- architecture.en.tm学习记录
这个文档说的到底是多少年前的目录组织结构了

文本的表示

  • specific symbol
    与字体相关,不同的字体不同的效果
  • universal symbol
    独立于字体,用<>包起来
    典型的,我的中文显示不出来
    TeXmacs的架构-- architecture.en.tm学习记录
    就长这样

语言
说的好像是会做一个类似分词的操作

打字时的文本
tree为输入,box为输出
box还可以在逻辑光标和物理光标之间转换

文本修改过程

  • 事件触发 如make_fraction
  • 路由到某个操作 assign, insert, remove, split, join, ins_unary and rem_unary.
  • 在修改前,会通知同样文本的view
  • 得到通知的view,会更新光标位置等. 还会通知the typesetter of the text(干啥呀?)
  • 最后再执行修改
  • 用户的操作比如a keystroke or a mouse click都会插入undo points.撤销修改时,编辑器会移除之前的undo points

这就是texmacs/TeXmacs/doc/devel/source/architecture.en.tm的学习记录啦