打造最高效的科研环境之Emacs插件们
-1 修改日志
[1] 以上插件,在CentOS7 (内核 3.10.0-514.16.1.el7.x86_64)上的 Emacs 25.2 中同样安装成功。
0 盲人摸象
作为初学者,迫切的需求就是直接上手Emacs并打造包含自动补全命令在内的科研环境。
和网上众多的插件安装的教程相比,我认为找到一个与自己需求匹配的Emacs配置环境来得更方便。
本例中,在实测了两个AucTex和CDlatex插件的安装无果之后,转而寻找现成的配置。
比如Github上的这个设计,支持
- C/C++
- Matlab
- Markdown/LaTeX
- Haskell
与我的需求高度重合,克隆一份相应的配置简直是再方便不过了!也省去了一个个安装的麻烦,也无需解决各个依赖关系,对新手是再适合不过了!
1 更新Emacs配置
本机环境:
$ uname -r
Linux She 2.6.-.el6.x86_64
安装的Emacs版本:
$ emacs --version
GNU Emacs 24.5.
Copyright (C) Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
下载相应的Emacs配置文件:https://github.com/xyguo/emacs.d,选择“Download ZIP”下载压缩包,解压之后,将相应的文件放置到~/.emacs.d/文件夹中。
如果不存在~/.emacs.d/文件夹,上述下载-解压-复制的工作还可以用以下的一句命令来完成:
$ git clone https://github.com/xyguo/emacs.d.git ~/.emacs.d
在终端执行命令,使得配置的Emacs环境立即生效:
$ emacs --debug-init
至此,一个同样的环境被安装完毕,支持命令自动补全,Matlab | Python | C | Latex等语言的语法高亮。
剩下的工作就是如何熟悉这个环境,尤其是快捷键的操作,稍作练习,我相信能很快上手。
2 手动安装package(包)
具体内容译自这里。手动安装package,就是要解决两个问题:(1) LaTex 采用的是什么样的树结构?(2) 应该把一个package中的文件放到哪个目录下? 解决完这两个问题,package 也就安装好了。
两个问题的答案:
(1) 使用以下命令找到 TexLive 的树目录所在位置(若有疑问,可参考这里):
$ kpsewhich -var-value TEXMFLOCAL
/usr/local/texlive/texmf-local
$ echo $TEXMF
/usr/local/texlive/texmf-local
package 的各个文件,都需要放到这个树目录下,但是具体位置还需要根据树目录的规则,也就是第 (2) 个问题的答案来决定。
如果环境变量 $TEXMF 并不存在,则需要设置相应的环境变量,设置方法请参见另一篇博客:《[CentOS] 环境变量设置的三种方法》。
(2) 根据 TexLive 树目录的规则,package 的文档按以下规则来放置(若有疑问,可参考这里):
We assume here that you have decided what tree to put your files in, after reading “choosing a TDS tree”. We will therefore write $TEXMF for it, and you need to substitute the tree you decided on.
The basic idea is to imitate the directory structure in your existing tree(s). Here are some examples of where various sorts of files should go:
.sty, .cls or .fd: $TEXMF/tex///
.mf: $TEXMF/fonts/source///
.tfm: $TEXMF/fonts/tfm///
.vf: $TEXMF/fonts/vf///
.afm: $TEXMF/fonts/afm///
.pfb: $TEXMF/fonts/type1///
.ttf: $TEXMF/fonts/truetype///
.otf: $TEXMF/fonts/opentype///
.pool, .fmt, .base or .mem: $TEXMF/web2c
and for modern systems (those distributed in 2005 or later, using TDS v1.1 layouts):
.map: $TEXMF/fonts/map///
.enc: $TEXMF/fonts/enc///
实际上,自 TexLive 2015 起,minted package 就已经被打包在 TexLive 安装程序中,不需要再单独安装。
这里以 minted package 为例,介绍手动安装的过程。minted 包是一个用于给程序代码自动着色的包,它的官方网址位于:https://www.ctan.org/pkg/minted。
从GitHub 上可以下载它完整的 package,下载之后进入到相应的目录中,将 minted.sty 文件按照上述树目录的规则拷贝到 $TEXMF/tex 目录下,再运行 texhash 命令更新即可。
$ cd ~/Documents/
[She@localhost Documents]$ git clone https://github.com/gpoore/minted.git
正克隆到 'minted'...
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta ), pack-reused
接收对象中: % (/), 6.01 MiB | 725.00 KiB/s, done.
处理 delta 中: % (/), done. [She@localhost Documents]$ sudo cp ./minted/source/minted.sty $TEXMF/tex
[sudo] password for She: [She@localhost Documents]$ su
密码:
[root@localhost Documents]# texhash
texhash: Updating /usr/local/texlive//texmf-config/ls-R...
texhash: Updating /usr/local/texlive//texmf-dist/ls-R...
texhash: Updating /usr/local/texlive//texmf-var/ls-R...
texhash: Updating /usr/local/texlive/texmf-local/ls-R...
texhash: Done.
[root@localhost Documents]# exit
exit
[She@localhost Documents]$
从页面上的 Download 链接可以下载到一个压缩包,包括以下几个文档:
Makefile
minted.dtx
minted.ins
minted.pdf
README
安装和使用详见 minted.pdf 文档,需要注意的是,minted 包需要首先安装 Python 的 pygments 组件,安装完成之后,将 文档拷贝到 $TEXMF 目录下的
minted 会生成一些编译的临时文件,比较乱
可以把这些临时文件输出到特定文件夹
\usepackage[outputdir=build]{minted}
如果不想留临时文件:
\usepackage[cache=false, outputdir=build]{minted}
小尾巴:auto-complete 自动补全插件的下载地址为: https://github.com/auto-complete/auto-complete
许多常用的插件,都可以在GitHub中下载到,这个网址要经常访问,上面有好多宝贝待挖掘。
参考资料和学习文档:
[2] Emacs配置文件——新手攻略,相应的配置文件在Github可以下载到。
[3] AUCTeX+Emacs 是目前我见过的能最大限度提高 LaTeX 编辑效率的编辑器(转)
[4] AucTex: A sophisticated TEX environment for Emacs
[6] RefTex配置文件,待安装...
打造最高效的科研环境之Emacs插件们的更多相关文章
- 打造高效前端工作环境 - tmux
打造高效前端工作环境 - tmux 前言 现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...
- 打造高效的工作环境 – SHELL 篇
注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员 ...
- 用 CentOS 7 打造合适的科研环境
这篇博文记录了我用 CentOS 7 搭建 地震学科研环境 的过程,供我个人在未来重装系统时参考.对于其他地震学科研人员,也许有借鉴意义. 阅读须知: 本文适用于个人电脑,不适用于服务器: 不推荐刚接 ...
- 用CentOS 7打造合适的科研环境 :zhuan
这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考.对于其他地震学科研人员,也许有借鉴意义. 阅读须知: 本文适用于个人电脑,不适用于服务器: 不推荐刚接触Lin ...
- 用CentOS 7打造合适的科研环境
http://seisman.info/linux-environment-for-seismology-research.html 这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个 ...
- Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境
1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程序员的博客平台 开发者为什么要写作 写作平台 第三方博客平台 自建博客平台 开发论坛 1 ...
- [转载] 高效MacBook工作环境配置
原文: http://www.xialeizhou.com/?p=71 高效MacBook工作环境配置 发表于 2015 年 8 月 1 日 由 xialeizhou 本文记录整个配置过程,供新入手M ...
- 老司机带你用vagrant打造一站式python开发测试环境
前言 作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍. 今天,咱们就使用vagrant配合xshell打造一站式Python ...
- Vagrant - 打造跨平台的一致开发环境
官网 参考资料 借助 Vagrant ,可以使用 Vagrantfile 文件自动化虚拟机的安装和配置流程,方便快速的打造跨平台的统一开发环境. 1. Vagrant 是啥 Vagrant 用于构建及 ...
随机推荐
- 函数动态参数实现format
变量赋值一种是字符串格式化,一种是通过format的方式 1.字符串格式化 s="i am %s,age %d"%('Jasper',23)print(s) 打印输出:i am J ...
- tomcat7 日志设置为log4j
tomcat的日志设置用log4j的官方文档:http://tomcat.apache.org/tomcat-7.0-doc/logging.html 1. 下载tomcat-juli.jar, to ...
- linux内核追踪——find_next_bit函数详详详解
写在前面 宗旨:把话说清楚,把道理讲透彻. 约定:所有代码均来自Linux内核2.6.24版. 建议:本文介绍得十分详细,但也略显繁琐,读者可以先看“Ⅴ.总结”部分带注释的源码,如果哪里不清楚,再回头 ...
- Adding a Controller
MVC stands for Model, View, Controller. MVC is a pattern for developing applications such that each ...
- OpenCV从入门到放弃系列之——如何扫描图像、利用查找表和计时
目的 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 颜色空间缩减.具体做法就是:将现有颜色空间值除以某个输入 ...
- [JS复习] JS 基础知识
项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display :inline or bloc ...
- 新手如何查看API文档?
Java API文档为例: 1:知道包名,可以在Overview里直接找到这个包,然后去查这个包下面的类和方法.2:知道类名和方法名,可以在Index.html里直接去找这个类或方法,然后查看.3:如 ...
- 含有多个main方法的jar包的运行方式(适用于用java写的工具类)
如果一个jar中含有多个主程序,而你没有配置默认主程序,或者想要运行指定主程序,则可以通过如下命令执行: Java -cp example03-1.0-SNAPSHOT.jar cn.vicky.ex ...
- MAC usb启动盘制作
1.从App Store 下载OS 2.磁盘工具格式化磁盘默认即可 3. 为啥截图,因为有些是不一样的,建议使用 Tab建, 未命名则是你移动U盘命名的名称. 4.完成:所有的命令完成的话, 终 ...
- java.lang.Class<T> -- 反射机制
1反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为jav ...