TeXmacs:一个真正“所见即所得”的排版系统

好久没有推荐过自己喜欢的软件了,现在推荐一款我在美国做数学作业的私家法宝:TeXmacs。我恐怕不可能跟以前那么有闲心写个长篇的 TeXmacs 说明文档了,不过这东西如此的简单好用,所以基本上不用我写什么文档了。鉴于知道的人很少,不理解它的人很多,这里只是帮它打个广告,吊一下胃口。

TeXmacs 的主要特点是:

  • 跟 Lyx 等不同,它不是一个 TeX 的“前端”,而是一个完全独立的,超越 TeX 的系统。TeXmacs 拥有跟 TeX 相同,甚至更好的排版美观程度。这是因为它采用跟 TeX 一样的排版算法,并且用 C++ 重新实现。据说分页的算法比 TeX 的还要好些。

  • 拥有超越 Word (或者任何一款字处理软件)的,真正的“所见即所得” (WYSIWYG)。Word 所谓的“所见即所得”其实是假的。所见即所得的含义应该是,屏幕上显示的内容,跟打印下来的完全一样。可是 Word 能做到吗?打印一个文档出来你就发现跟屏幕上显示的有很大区别,一般来说屏幕上显示的要粗糙一些。一些 TeX 的前端,比如 Lyx, Scientific Workspace 等也是类似的,它们都不能达到真正的所见即所得。

  • 直接可在屏幕文档里绘图。完全可视化的表格,公式编辑环境。这些都是比 TeX 方便高效很多的方式。需要当心的是,用过 TeXmacs 一段时间之后,你会发现回到 TeX 的公式编辑方式简直就像回到原始社会。

  • 非常人性化的按键设计。比如,在数学公式环境下,你按任意一个字符,然后就可以用多次 TAB 键相继选择“拓扑相同”的字符。举个例子,如果你按 @,然后再按几下 TAB,就会发现这个字符变成各种各样的圆圈形的字符。如果你按 >,再按 =,就会出现大于等于号,之后再按 TAB,就会相继出现大于等于号的各种变体。

  • 在直观的同时不失去对底层结构的控制。比如,(见下图)窗口右下角的状态栏,显示出当前光标位置的“上下文”是“proof eqnarry* (1,1) start”,这表示的是这是在一个 proof 环境里的 eqnarry 的坐标 (1,1) 的开始处。当你使用 Ctrl-Backspace,最靠近光标的那层“环境”会被删除。比如,如果你现在的字体是斜体,那么在 Ctrl-Backspace 之后,字体就立即还原成正体。

  • 结构化的浏览功能。比如,按 Ctrl-PgUp, Ctrl-PgDn 就可以在“相同类型”的结构里上下跳转。比如,如果你在小节标题里按这个键,就可以迅速的浏览所有的小节标题。如果你在数学公式里按这个键,就可以迅速浏览所有的数学公式。

  • 与交互式程序接口。支持很多种计算机代数系统,和交互式软件,比如 MAXIMA,Octave,…… 这些系统返回的数学公式会直接被 TeXmacs 显示为“TeX 效果”。使用 Scheme 作为嵌入式语言,并且可以使用它来扩展系统。这比起 TeX 的语言是非常大的进步。

目前由于 TeX 的垄断地位,以及由于 TeXmacs 是法国人做的,这个系统在美国还不是很流行,很多人都没听说过有这种东西存在。学术圈的很多人由于受到某种错误思想的“洗脑”,都不理解这种图形化编辑软件的价值。希望中国人民和法国人民一样后来居上,超越美国。

想要迅速的掌握 TeXmacs 的基本用法,可以参考我绘制的 TeXmacs 思维导图:

【转】TeXmacs:一个真正“所见即所得”的排版系统相关推荐

  1. 用html+javascript打造公文一键排版系统1:设计界面

    近日,有同事抱怨收到的文件没有按公文要求进行排版,不得不自已动手帮他们擦PP排版,感慨每天都在做这些无意义的事情,浪费生命! 于是打算用用html+javascript打造公文一键排版系统. 首先是设 ...

  2. 英文字典设计c语言代码,一种简单的英文词典排版系统

    <一种简单的英文词典排版系统>由会员分享,可在线阅读,更多相关<一种简单的英文词典排版系统(20页珍藏版)>请在人人文库网上搜索. 1.中国地质大学(武汉)C语言课程设计论文学 ...

  3. 如何设计一个高可用的运营系统

    转载自   如何设计一个高可用的运营系统 这是一篇来自粉丝的投稿,作者[林湾村龙猫]近一年在做关于运营活动方面的设计.本文是他的关于运营活动的总结,Hollis做了一点点修改. 概述 一个产品业务的发 ...

  4. c语言词典课程设计报告,C语言课程设计英语词典排版系统

    <C语言课程设计英语词典排版系统>由会员分享,可在线阅读,更多相关<C语言课程设计英语词典排版系统(21页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计院系:姓名:学号: ...

  5. c语言编程文章排版,一种简单英文词典排版系统的实现 C语言编程

    一种简单英文词典排版系统的实现 C语言编程 答案:2  信息版本:手机版 解决时间 2019-10-06 18:43 已解决 2019-10-06 03:21 1. 一种简单的英语词典排版系统的实现 ...

  6. LaTeX排版系统及与word的区别

    LaTeX中文名拉泰赫,是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分 ...

  7. 英文排版系统C语言实现

    英文排版系统C语言实现 代码: #include <stdio.h> #include <stdlib.h> #include<string.h>void rout ...

  8. c语言编写英语词典软件,C语言课程设计一种简单的英文词典排版系统的实现.doc...

    C语言课程设计一种简单的英文词典排版系统的实现 目 录 课程设计评语2 目 录3 1.课程论文题目4 2.程序设计思路4 3.功能模块图5 4.数据结构设计5 5.算法设计6 6.程序代码13 7.程 ...

  9. c语言英文排版程序,C语言设计—英文排版系统精品.docx

    一.C语言课程设计的目的: 高级语言课程设计是学习完<高级语言程序设计>课程后进行的一次全面的综合性上机实验.其目 的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 ...

最新文章

  1. 在Ubuntu 16.04.1 LTS上安装ATS 6.2.1 LTS实录
  2. linux断电关机后,进度条满后卡在那里
  3. SpringBoot操作Kafka创建Topic、Producer、Consumer
  4. [BUUCTF-pwn]——jarvisoj_tell_me_something
  5. 我是永远不可能出轨的,除非......
  6. Java中的推断异常
  7. GCD6: 在GCD上异步执行非UI相关任务
  8. 计算机节电模式不能打开,电脑进入节电模式打不开怎么办
  9. SmartNews:基于 Flink 加速 Hive 日表生产的实践
  10. Android混淆从入门到精通
  11. php完整表单实例,PHP学习(五) 完整表单实例 HTML内嵌PHP
  12. LayoutInflater Factory
  13. 296 最佳的碰头地点
  14. python爬取qq音乐排行榜_手把手教你使用Python抓取QQ音乐数据!
  15. js 手机虚拟键盘控制
  16. windows键盘事件处理
  17. 计算机图形学【GAMES-101】14、动画(物理模拟、质点弹簧系统、粒子系统、运动学、动作捕捉、欧拉方法)
  18. BCG 使用之CBCGPTabWnd控件(相当于MFC TabControl)
  19. BCryptPasswordEncoder 对密码加密
  20. Minitab随机数生成办法

热门文章

  1. java和ajax超时_java – 如何在不重置tomcat的会话超时的情况下执行经过身份验证的AJAX请求?...
  2. python 进位_蓝桥杯-Python-高精度加法
  3. java中while空循环_java – 实现空while循环以保持控制的更好方法
  4. mac修改php配置文件,MAC下通过改apache配置文件切换php多版本的方法
  5. 2020计算机大纲,计算机专业2020考试大纲.doc
  6. unity运行环境_LG电子与Unity合作仿真软件 加速研发更安全的自动驾驶汽车系统...
  7. Java中的泛型全解析(二)
  8. 设计模式(一):从三类模式六种原则看设计模式
  9. 马斯克宣布:特斯拉Model Y本月14日发布,预估售价折合人民币25.8万
  10. 斯坦福大学2019年NLP课程上线,下周二开课 | 附PPT+视频