linux如何编译tex,Linux下优秀的文本编辑器(Markdown、LaTeX、MathJax)
这样一个标题可能不太准确,因为确实无法准确地解释什么叫“Linux下优秀的文本编辑器”。其实我这篇随笔主要是想探讨Markdown、LaTeX、MathJax,有兴趣的朋友可以继续往下看,同时别忘记了顺手点个赞。
引言
大家写文章用什么工具?Windows的记事本吗?肯定不会吧!一般人应该至少会用一个类似Word的“所见即所得”的可视化编辑器。理由:因为文章不仅仅只是文字嘛,它还包含有各种各样的格式,比如字体、字号、颜色、标题、列表等等。“所见即所得”编辑器提供的编辑方法确实是最朴素的编辑思想:当你想要改变某些文字的样式时,你只需要选中它,然后在各种菜单、对话框里设置它的格式即可。这种排版很美观、样式很丰富的文章,可以称之为“富文本”。
如果进行更深层次的思考,就会发现“富文本”存在很多缺点,特别是对于我们这些程序员、理工男来说更是这样。下面略举几例:
“富文本”编辑起来太慢了,写文章时,即要考虑文章内容,又要考虑文章格式,写几段字就要点半天鼠标;
“富文本”需要专业的编辑器来编辑和阅读,如果没有编辑器,或者编辑器不兼容,那只有欲哭无泪了;
“富文本”往往让形式取代逻辑,文章可能从外观上看各级标题的文字大小、缩进都很正确,但是逻辑上无法指定层级关系;
“富文本”中的格式信息太冗余了,淹没了文章的内容;
“富文本”对计算机不友好,存储格式不透明不说,也让基于文本行比较的工具(如diff之类)无用武之地。
所以,优秀的思想应该是这样的:
文章就应该存储为纯文本的格式,用任何工具都可以阅读和编辑;
该纯文本的内容即要适合人类阅读,也要计算机容易理解;
能正确指定文章各部分的逻辑结构;
内容和显示分离,作者只用考虑文章的内容和逻辑结构,而文章怎么显示得好看是专业的人和工具的事。
这就是我标题中说的“文本化编辑思想”。这种思想在计算机领域由来已久,并逐渐形成一种哲学。比如互联网上广泛使用的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语法说明(简体中文) http://www.linuxidc.com/Linux/2014-12/110960.htm。
目前,我在博客园中发博客基本上就是使用博客园的Markdown编辑器了。博客园的Markdown实现目前尚不完善,比如说没有即时预览功能、没有续行为段功能、对 `\`$\` `的解释不正确等等,但是用起来已经很舒服了,除了上传图片,基本上不用动鼠标。
为什么续行为段功能很重要?
续行为段,换一种说法就是忽略非空白行后面的换行符。这个功能很重要。如果没有这个功能,则一段文字就是一个很长很长很长的行,这对基于文本行比较的自动化工具(比如diff)来说,无疑是一个致命的打击。对于可以显示行号的编辑器来讲,行号也会很跳跃,让人看着不舒服。不过最重要的,就是用户永远也不知道那个换行究竟是它自己加上去的,还是因为电脑屏幕不够宽而自动换的行。
所以无论是Markdown还是LaTeX,都允许作者在源代码中任意换行,只要多行文字中没有空白行分割,就会把这些行合并成一个段落。在Markdown中如果要换行,则需在上一个行的末尾增加至少两个空格,而LaTeX也允许用户使用\\手动换行。那么问题来了,博客园为什么要去掉这么一个重要的功能呢?
在Linux桌面系统中,我使用ReText编辑Markdown文档。在Ubuntu中只需要sudo apt-get install retext即可以安装该软件,其效果如下:
配置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的帮助文档。
看看文中的数学公式的效果:∫+∞0xne−xdx=n!
下图是ReText中使用数学公式的效果:
效果和效率都是不错的哦!至此,我的文字工作正式被Markdown和MathJax全面接管。妈妈再也不用担心我的语文作业和数学作业了。至于LaTeX编辑数学公式的语法,我这里再为大家送上一份资料:一份不太短的LaTeX 2e介绍 PDF。下载见:
------------------------------------------分割线------------------------------------------
具体下载目录在 /2015年资料/3月/4日/Linux下优秀的文本编辑器(Markdown、LaTeX、MathJax)/
------------------------------------------分割线------------------------------------------
linux如何编译tex,Linux下优秀的文本编辑器(Markdown、LaTeX、MathJax)相关推荐
- linux如何编译tex,linux下编译bib、tex生成pdf文件
实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...
- linux中vim文本编辑器的默认模式是,Linux 下 vi/vim 文本编辑器超详细使用指南
Linux下的编辑器最经常使用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了不少实用的功能. 大多数的linux/unix 发行版本 ...
- Linux 下 vi/vim 文本编辑器超详细使用指南(转载)
转载于 https://blog.csdn.net/kingmax54212008/article/details/54142633 Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和v ...
- 27款优秀的文本编辑器
经常跟代码打交道的人,除了自己所掌握的代码知识之外,我想他们最需要的工具之一,应该是一款得意的文本编辑器了,无论你是网站主还是博主,写东西改代码是经常的事情,所以很需要常备着一款合适且好用的文本编辑器 ...
- .net下的富文本编辑器FCKeditor的配置方法(图)原创
.net下的富文本编辑器FCKeditor的配置方法(图)原创 FCKeditor是一款开源的富文本编辑器,几乎支持所有流行的Web开发语言,版本稳定,用户多,可配置性好. 以前做Java和php的时 ...
- linux+systemc+编译,[转载]linux下systemC的安装编译仿真
一.systemc的安装 花了将近一天的时间终于成功安装systemC,下面记录下整个过程. (1)在www.systemc.org网站下载systemc-2.2.0.tgz. (2)将其copy到l ...
- 在linux安装编译vscode,Linux中安装 Visual Studio Code 详解
一起来学习如何在 Linux 发行版中安装 Visual Studio Code.Visual Studio Code 是基于 Electron 优化代码后的编辑器,后者是基于 Chromium 的一 ...
- linux用文本器打文件命令行,Linux 命令行下的最佳文本编辑器
文本编辑软件在任何操作系统上都是必备的软件.我们在 Linux 上不缺乏非常现代化的编辑软件,但是它们都是基于 GUI(图形界面)的编辑软件. 正如你所了解的,Linux 真正的魅力在于命令行.当你正 ...
- Linux学习笔记(二)(Vim文本编辑器 权限管理(用户,用户组) 系统相关(磁盘,进程))
Linux学习笔记(二) 5.账号管理 概述 一.用户账号管理 概述 1. 添加账号 :useradd(`useradd 选项 用户名`) 2. 删除帐号(`userdel 选项 用户名`) 3. 修 ...
最新文章
- CSDN 数学公式居中
- GetHashCode() 的研究
- 使用ORM提取数据很容易! 是吗?
- CompletableFuture详解~thenAcceptBoth
- 均值(Mean)和均值标准误差(S.E. Mean)
- html高德地图的使用方法,高德地图的使用方法
- 思维导图iMindMap如何制定时间计划
- 08cms cecore.cls.php,08CMS 变量覆盖导致getshell 等问题
- android微信下拉出现小程序,微信下拉出现小程序怎么关闭 微信下拉小程序去掉方法...
- oracle材料成本发票价差,ORACLE ERP 成本核算会计信息归纳
- echarts 自定义鼠标划过的显示 与 自定义legend
- 控制input标签只能输入数字
- MySQL的地理位置类型
- 《就这样享用word》word实用技巧总结-更新中
- 选择傲慢和残忍,会让你更加孤独
- 1、蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)
- POI2014 Salad Bar
- 20年9月wust招新赛writeup
- 计算机二级及格和优秀,计算机二级成绩优秀有用吗 优秀与合格的区别
- 这些魔术用的是物理原理?有啥诀窍?
热门文章
- 警惕!国内某广告SDK内置“后门”功能,Google Play商店已强制下架
- 运行ceph时,了解一下主要的进程。
- window 远程访问本地centos/redhat虚拟机上jupter notebook 配置方法
- window.open的小技巧分享(转)
- Cisco *** 完全配置指南-连载-PIX和ASA连接的故障诊断与排除
- 网络管理员比赛回顾04-DHCP
- 在线学位课程_如何选择计算机科学学位课程
- 辞职前为什么挣扎_当您感到自己像开发人员一样挣扎时,为什么学得最多
- CSS:当子元素皆浮动,撑开父元素的3种方式
- 集成测试_渐增与非渐增模式优缺点