位置: 编程技术 - 正文

Linux折腾记(十四):优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)(,linux)

编辑:rootadmin

推荐整理分享Linux折腾记(十四):优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)(,linux),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux012,linux1,折腾linux 没意义,linux !,linuxone,linux1,linux012,linux012,内容如对您有帮助,希望把文章链接给更多的朋友!

这样一个标题可能不太准确,因为确实无法准确地解释什么叫“文本化编辑思想”。其实我这篇随笔主要是想探讨Markdown、LaTeX、MathJax,有兴趣的朋友可以继续往下看,同时别忘记了顺手点个赞。

引言

  大家写文章用什么工具?Windows的记事本吗?肯定不会吧!一般人应该至少会用一个类似Word的“所见即所得”的可视化编辑器。理由:因为文章不仅仅只是文字嘛,它还包含有各种各样的格式,比如字体、字号、颜色、标题、列表等等。“所见即所得”编辑器提供的编辑方法确实是最朴素的编辑思想:当你想要改变某些文字的样式时,你只需要选中它,然后在各种菜单、对话框里设置它的格式即可。这种排版很美观、样式很丰富的文章,可以称之为“富文本”。

  如果进行更深层次的思考,就会发现“富文本”存在很多缺点,特别是对于我们这些程序员、理工男来说更是这样。下面略举几例:

1.“富文本”编辑起来太慢了,写文章时,即要考虑文章内容,又要考虑文章格式,写几段字就要点半天鼠标;2.“富文本”需要专业的编辑器来编辑和阅读,如果没有编辑器,或者编辑器不兼容,那只有欲哭无泪了;3.“富文本”往往让形式取代逻辑,文章可能从外观上看各级标题的文字大小、缩进都很正确,但是逻辑上无法指定层级关系;4.“富文本”中的格式信息太冗余了,淹没了文章的内容;5.“富文本”对计算机不友好,存储格式不透明不说,也让基于文本行比较的工具(如diff之类)无用武之地。

  所以,优秀的思想应该是这样的:

1.文章就应该存储为纯文本的格式,用任何工具都可以阅读和编辑;2.该纯文本的内容即要适合人类阅读,也要计算机容易理解;3.能正确指定文章各部分的逻辑结构;4.内容和显示分离,作者只用考虑文章的内容和逻辑结构,而文章怎么显示得好看是专业的人和工具的事。

  这就是我标题中说的“文本化编辑思想”。这种思想在计算机领域由来已久,并逐渐形成一种哲学。比如互联网上广泛使用的HTML、XML等,就是把信息储存为纯文本,用任何工具都可以阅读和编辑,并且能正确地指定内容的逻辑结构,而浏览器和CSS则控制文章如何显示。但是,HTML标签还是太多了,如果没有浏览器,完全靠人工脑补阅读起来还是太困难了。于是,就诞生了Markdown。

  在文本编辑领域还有另外一个难题,那就是数学公式(或者其它类似数学公式的东西,比如乐谱),它们显示起来是二维的,而且其中使用的很多符号标准键盘根本无法输入,使用的字体和正文也不一样。好在Unix/Linux世界中,它们有一个比较好的解决方法,那就是LaTeX。当然,也有很多可视化的编辑器提供数学公式编辑的功能,比如Word的公式编辑器,比如TexMacs。但是正如前文所述,从优秀的“文本化编辑思想”来思考,最好的依然是LaTeX,因为使用LaTeX就是使用纯文本的方式输入数学公式,输入速度快,人和计算机都容易理解。LaTeX的思想影响广泛,很多编辑器都支持以LaTeX语法输入数学公式。要在网页上显示数学公式,则非MathJax莫属了,它是一个JavaScript库,可以识别网页中的LaTeX格式的数学公式并将其完美显示出来。博客园的数学公式支持用的就是这个。

Markdown的特点和工具

  Markdown的宗旨就是“易读易写”,所以用Markdown语法写的文档,以纯文本的格式直接阅读也是非常方便的。如果对外观的要求非常高,就可以通过相应的工具将Markdown文档转化成HTML或者PDF。Markdown的语法非常简单,一般情况下一个多小时就学会了。参考地址在这里:Markdown语法说明(简体中文)。

  目前,我在博客园中发博客基本上就是使用博客园的Markdown编辑器了。博客园的Markdown实现目前尚不完善,比如说没有即时预览功能、没有续行为段功能、对 ``$` `的解释不正确等等,但是用起来已经很舒服了,除了上传图片,基本上不用动鼠标。

为什么续行为段功能很重要?

续行为段,换一种说法就是忽略非空白行后面的换行符。这个功能很重要。如果没有这个功能,则一段文字就是一个很长很长很长的行,这对基于文本行比较的自动化工具(比如diff)来说,无疑是一个致命的打击。对于可以显示行号的编辑器来讲,行号也会很跳跃,让人看着不舒服。不过最重要的,就是用户永远也不知道那个换行究竟是它自己加上去的,还是因为电脑屏幕不够宽而自动换的行。

所以无论是Markdown还是LaTeX,都允许作者在源代码中任意换行,只要多行文字中没有空白行分割,就会把这些行合并成一个段落。在Markdown中如果要换行,则需在上一个行的末尾增加至少两个空格,而LaTeX也允许用户使用\手动换行。那么问题来了,博客园为什么要去掉这么一个重要的功能呢?

  在Linux桌面系统中,我使用ReText编辑Markdown文档。在Ubuntu中只需要sudo apt-get install retext即可以安装该软件,其效果如下:

Linux折腾记(十四):优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)(,linux)

 

配置ReText使用比较漂亮的CSS

  刚安装的ReText对于文档的预览效果可能没有我上图中的那么好,应该是这样的:

  上图中的引用和代码和正文的区分并不明显,而且整个文档的字体显示也不好看。之所以会出现这种情况,是因为没有给ReText指定相应的CSS文件。唯一的遗憾是ReText的某些配置无法通过菜单来完成,必须手动修改配置文件~/.config/ReText project/ReText.conf,我的配置文件如下图:

  至于到哪里去找一个漂亮的CSS,那就仁者见仁、智者见智了。博客园中就有许多不错的可以借鉴。

开启数学公式支持

  在网页中显示数学公式全靠MathJax。博客园开启数学公式支持非常简单,在后台管理页面中打个勾就行了。由于MathJax使用$来界定数学公式,所以文章或评论中有很多$符号的同学们就要注意了。想想看,我的文章中用$多吗?还真不少,介绍AT&T汇编语法时用过,探讨Bash脚本编程的时候也用过,所以那两篇文章的排版还真费了我不少劲。除了$,MathJax还使用(和)、$$和$$、[和]来界定数学公式。

  由于MathJax是如此的出名和优秀,所以ReText也有相应的MathJax扩展,不过这次修改的配置文件是~/.config/markdown-extensions.txt。我的配置文件如下图:

  从图中可以看出,配置文件的第1行就是开启mathjax扩展。至于其它的扩展和功能,大家可以阅读ReText的帮助文档。

  看看博客园中数学公式的效果:$$int_0^{+infty} x^n e^{-x} ,dx = n!$$

  下图是ReText中使用数学公式的效果:

  效果和效率都是不错的哦!至此,我的文字工作正式被Markdown和MathJax全面接管。妈妈再也不用担心我的语文作业和数学作业了。至于LaTeX编辑数学公式的语法,我这里再为大家送上一份资料:一份不太短的LaTeX 2e介绍

Linux折腾记(十五):再来说说LaTeX排版引擎 在我的上一篇随笔中,我提到了Markdown、LaTeX和MathJax。这几个东西对目前的网络技术文章的写作、展示都有深远的影响。在上一篇中,我还给出了一份LaT

Linux折腾记(十六):数值计算和符号计算 不知道经常需要做科学计算的朋友们有没有这样的好奇:在Linux系统下使用什么工具呢?说到科学计算,首先想到的肯定是Matlab,如果再说到符号计算,

Linux折腾记(十七):适合数值计算的语言需要具备什么样的特色 年1月,我继续徜徉在数值计算的世界。这段时间里,我抽空看了Python科学计算和数值分析方面的书,也仔细研读了Octave的用户手册,甚至连古老的For

标签: ,linux

本文链接地址:https://www.jiuchutong.com/biancheng/368247.html 转载请保留说明!

上一篇:Linux折腾记(十三):我该如何备份系统(linux !!)

下一篇:Linux折腾记(十五):再来说说LaTeX排版引擎(linuxone)

  • 以前年度损益调整结转到未分配利润
  • 发票红冲需要做账吗
  • 企业的主要经营哲学理念
  • 小规模企业所得税税率多少
  • 车票抵扣进项税申报在哪一栏
  • 废旧物资收购发票取消
  • 开户以后不用要钱吗
  • 全资收购企业需要交税吗
  • 收到供应商赠送的发票
  • 购进蔬菜的进项税额
  • 台湾企业不能在大陆或香港上市吗
  • 由于汇率引起汇兑损益计入哪个科目?
  • 工程结算怎么结转收入
  • 公司收到的其他发票
  • 房屋所有权变更登记证书
  • 分项结转分步法例题及分录
  • 民事诉讼的适用范围具体包括哪些案件
  • 纳税人如何办理纳税申报
  • 企业所得税季报填报说明
  • 土地闲置费可以税前扣除吗
  • 已交税金是什么科目
  • 企业取得的土地使用权应作为固定资产核算
  • 多计提教育费附加怎么调整
  • 购买汽车车辆购置税个人垫付,企业付给个人的附件归属
  • 企业取得代扣代缴个税手续费分录
  • 业务招待住宿进什么科目
  • 投资活动净现金流为负说明什么
  • 汇算清缴后补缴得企业所得税,计入哪年的税负
  • win10护眼模式在哪
  • 开业庆典的活动内容
  • 已经提完折旧的设备改造
  • 工资里的其他应收款是什么
  • 光纤布线有什么作用
  • 员工聚餐费用计入
  • 追加投资会增加实收资本吗
  • php详细教程
  • 企业一部分房屋出租后怎样缴纳房产税
  • 加工制造业包括
  • 怎么检查当年的核酸结果
  • vue表单验证数字
  • h5移动端网页设计
  • WIN11系统CPU占用率高
  • 参展费会计分录
  • 公司过年买的红包封壳怎么做账
  • 服务业折旧费怎么计算
  • 小规模小于30万之前计提的税金及附加税
  • 不抵扣勾选是什么
  • 收到银行承兑汇票如何记账
  • 单位代个人交社保可以吗
  • 商业企业库存商品成本核算
  • 公司注销后退资需要交税吗
  • 文化传媒公司的主营业务
  • 哪些凭证是有效凭证
  • 预计产品质量保证损失计入什么
  • 政府补贴收入确认政策
  • 公司买空调算什么费用
  • 或有租金租赁
  • 内帐与外帐的哪个更好
  • sql server中事务有哪三种语句
  • mysql闪退怎么回事
  • freebsd常用命令
  • 宏基笔记本电脑质量怎么样
  • wmiprvse.exe这是什么进程
  • xp系统怎么调性能
  • Win10 Mobile 10586.36预览版怎么更新?
  • win10引导记录损坏修复方法详解
  • win10预览文件怎么显示内容
  • window10删除自带输入法
  • android怎么ping
  • jquery可以实现哪些效果
  • css ie8
  • 使用NGUI时遇到物理引擎错误
  • mono为什么不能用了
  • nodejs python交互
  • 前端框架到底是什么
  • 发票怎样读入金税开票系统
  • 四川4050社保补贴政策什么时候发放
  • 广东省国家税务局电子发票系统,网络设置
  • 留抵税额退税政策2023
  • 上海个体工商户怎么报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设