-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中下载到,这个网址要经常访问,上面有好多宝贝待挖掘。

打造最高效的科研环境之Emacs插件们的更多相关文章

  1. 打造高效前端工作环境 - tmux

    打造高效前端工作环境 - tmux 前言  现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...

  2. 打造高效的工作环境 – SHELL 篇

    注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员 ...

  3. 用 CentOS 7 打造合适的科研环境

    这篇博文记录了我用 CentOS 7 搭建 地震学科研环境 的过程,供我个人在未来重装系统时参考.对于其他地震学科研人员,也许有借鉴意义. 阅读须知: 本文适用于个人电脑,不适用于服务器: 不推荐刚接 ...

  4. 用CentOS 7打造合适的科研环境 :zhuan

    这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考.对于其他地震学科研人员,也许有借鉴意义. 阅读须知: 本文适用于个人电脑,不适用于服务器: 不推荐刚接触Lin ...

  5. 用CentOS 7打造合适的科研环境

    http://seisman.info/linux-environment-for-seismology-research.html 这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个 ...

  6. Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境

    1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程序员的博客平台 开发者为什么要写作 写作平台 第三方博客平台 自建博客平台 开发论坛 1 ...

  7. [转载] 高效MacBook工作环境配置

    原文: http://www.xialeizhou.com/?p=71 高效MacBook工作环境配置 发表于 2015 年 8 月 1 日 由 xialeizhou 本文记录整个配置过程,供新入手M ...

  8. 老司机带你用vagrant打造一站式python开发测试环境

      前言 作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍. 今天,咱们就使用vagrant配合xshell打造一站式Python ...

  9. Vagrant - 打造跨平台的一致开发环境

    官网 参考资料 借助 Vagrant ,可以使用 Vagrantfile 文件自动化虚拟机的安装和配置流程,方便快速的打造跨平台的统一开发环境. 1. Vagrant 是啥 Vagrant 用于构建及 ...

随机推荐

  1. windows重建图标缓存(解决快捷方式图标丢失,图标加载时间长问题)

    新建一个文本文档,把下边的代码输入进去,保存为.bat格式,运行即可 有快捷方式图标丢失或者觉得图标加载速度慢了,就run一下这个,很实用的小工具 rem 关闭Windows外壳程序explorer ...

  2. SqlBulkCopy批量添加数据

    var sqlconn = ConfigurationManager.ConnectionStrings["SQLConnStringRead"].ConnectionString ...

  3. [原创]Keil uVision4 安装破解

    Keil uVision4 安装没什么特别的,跟一般Windows软件安装方法相同,这里不再赘述. 安装完成界面如下图,未破解之前,点击编译,下载等选项都会出现未响应提示,软件会卡死.下面进行软件破解 ...

  4. JFinal - Handler 处理流程

    Handler 处理流程 doFilter - Handler 链中每个 handler.handle(...) 容器初始化时访问 web.xml 配置的 JFinalFilter.doFilter. ...

  5. display inline-block 垂直居中

    table td:after {display:inline-block;width:0;height:100%;vertical-align:middle;content:'';}

  6. Java知识积累2-StringReverse实现文字(单词)倒叙输出

    package String; import java.util.Stack;import java.util.StringTokenizer; public class StringReverse ...

  7. 实现table的单线边框的办法

    实现table的单线边框的办法 现在给出效果图: 1.实现方法一:    <table border="0" cellspacing="1" style= ...

  8. 最新榜单!消金企业TOP10,数据、风控、催收服务方TOP5

    最新榜单!消金企业TOP10,数据.风控.催收服务方TOP5 布谷TIME2016-12-15 17:47:59消费 风控阅读(164)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账 ...

  9. html中css、div命名规范

    html中css.div命名规范 1.类class的命名规范示例 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column ...

  10. css3 transition动画

    CSS3: 一.transition: <property> <duration> <animation type> <delay> eg: .div{ ...