dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

在Sublime Text 3中用Latex语法写化学方程式的尝试

已有 12637 次阅读 2018-6-13 16:22 |个人分类:软件杂谈|系统分类:教学心得| Markdown, Latex, 化学方程式, MathJax, SublimeText3, Markdown, Latex, Markdown, Latex, Markdown, Latex, Markdown, Latex, Markdown, Latex

果子是这样的


结果子的花儿却是这样的:


----正文开始---

这几天在研究markdown语法在Sublime Text 3里面的实时预览,发现一个有意思的插件omniMarkupPreviewer,它可以用来预览Markdown语法的显示效果. 此外,它还支持MathJax库,而这个库正是设计用来显示数学公式的,支持LaTex的语法.

  好些年前,我接触过一点点LaTex的语法,知道它是一种用明面上的字符来控制文本格式的方式,特别适合数字公式的排版,在理工科图书的出版中说是用得比较多.但可读性比较差,不象WORD那样所见即所得(WYSIWYG)玩"把控制格式的字符放在后台不显示".丑是丑了点,但是,LaTex很有用!


markdown编辑器: Sublime Text 3 + OmnimarkupPreviewer + MathJax 2.7.4

 怎么玩呢?我在Sublime Text 3(以下简记为ST3)上先用package control 功能,安装OmniMarkupPreviewer插件(以下简称omni).完成之后,再打开omni的用户设置,修改启用mathjax的设置(默认是false)然后保存.

{

    "mathjax_enabled": true,

 }


启用Mathjax后,omni插件会后台下载这个库,按网上教程(教程),下载的mathjax.zip是2.1版的,而Mathjax.org官方网站已经更新到了2.7.4版, 我下了最新的mathjax_master.zip,解压压缩包内的目录,放到 指定的目录下面. 注意别放错了.我的电脑上如图所示,你的电脑上用户名不一样,要注意相应的修改.如果操作系统不一样(我的Win10)路径的前面部分(Roaming前面这一节)也应该不一样.我没有用压缩包的名字mathjax_master作为目录名,而是沿用了mathjax目录名.Mathjax除了支持Tex,LaTex,还支持MathML等语法,详见它的语法教程.



然后重新启动ST3和浏览器就可以了.


用HTML和LaTex语法来写化学方程式

语法学习参考 (简明 高阶)


在ST3中写一份markdown文件(其实就是文本文件,只是后缀为.md或.mdown )并对比下它的预览:


HTML中,下标用<sub></sub>块来包围, 上标用<sup></sup>,右箭头用特殊字符表示法 &rarr;  向上的箭头用&uarr;  这样的写法没有什么问题,对多数化学方程式应该OK. 但是如果配平时用分数,就比较讨厌了---HTML没有生成分数的语法, 要么用 3/4这样的表示方法,要么用特殊字符(比如上图),但可用的分数特殊字符很少,没有通用性. 还有一种别扭的方法, 用绝对定位的方法来写,但这样的做法很生硬而且不方便.比如写个1/3要用这样的形式

<div>1</div><div style="border-top:1px solid black; width:10px" >3</div>

这样生成的分数要另起一行,不能很好的嵌入到行文本中.


相反, LaTex语法本来就是为了数理公式编辑设计的,因此支持这样简单的式子太轻松了.

解释一下LaTex代码:我从网上抓了一张Latex语法介绍的表用来自己备用,放在本文最后面.

  • $包围表示这是一个Mathjax代码块,用mathjax来渲染Latex代码.

  • 下划线在MathJax语法中表示下标,下标的内容放在花括号内, ^表示上标, \to 表示向右箭头,沉淀的箭头用\downarrow来表示, 可逆反应符号用\rightleftharpoons. 设置字体颜色用{\color {red} {文本}} 

  • 源码中用1. 1.来起头表示数字编码,这是markdown的语法,解释时会按顺序生成数字而不是沿用原数字.但是Markdown格式控制不能在$...$包围块内用,这里要求mathjax语法.


查看效果

按Omni指定的快捷键(Ctrl+Alt+O)启动"在浏览器中预览",就可以看到漂亮的效果了!


用右键在化学方程式上面点击,可以显示Mathjax的功能,比如


是不是有点意思?



附件: 抓自 www.mohu.org/info/symbols/symbols.htm

抓屏工具FastStone Capture







Update:

 补充Mathjax资料.2018-6-15

更新HTML中表示分数的方法.2018-6-19




https://blog.sciencenet.cn/blog-1213210-1118783.html

上一篇:Markdown 语法简记
下一篇:那些渐行渐远的添加剂们
收藏 IP: 112.2.61.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-20 07:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部