Oct 7

Scilab working with Emacs

安装

  • 从Alexander Vigodner那里获得所需要的el文件。 当然,我自然把那个文件备份了,以防回到THU又下载不了~_~。 该文件附在本文后头。
  • 解压缩到一个目录里面,我是Debian,于是就到默认的\usr\share\emacs\site-lisp\scilab

配置

  • 在你的.emacs最后添加
    (setq load-path (append (list "/usr/share/emacs/site-lisp/scilab") load-path))
    (load "scilab-startup")
    
    就可以了。 不用再修改el文件。 但是记得,你放那些el的文件的文件夹一定要对你来说可写,不然会报错。 我就直接chmod a+w它了。
  • 进入emacs,如果配置正常的话,能在Tool菜单下面看到Scilab Setup。 点进去,把shell启动命令里面的启动脚本改成你装的scilab的启动脚本。 比如我装的Scilab 5.0.2就是自己解压过去的,要自己指定一下。

使用

  • M-x scilab-mode, 进入写sci模式
  • C-c s,进入Command line的scilab

注:

如果你遇到了Scilab 5.0.2过慢的问题,而且又十分熟悉Emacs的使用,那么这个是一个非常好的解决办法。 当然,你还可以参考

TroubleShooting

来解决这个问题。


Updated: 2008-10-07 Home / Index

user_files/BreakDS/File/scilab.tar.gz

Oct 7

Scilab 5.0.2 运行缓慢
Locale的warning
罪魁祸首java
Scim无法呼出

Scilab 5.0.2 运行缓慢

关于这个问题的解决,只能归功于我的直觉。 记得很久以前听说matlab的Linux版本是java写的,但是跑起来会问题。 我自己试了,确实如此。 但是当时加了参数-nojvm就没有问题,只是失去了java提供的那个图形界面。

于是着手看scilab的问题。

Locale的warning

首先是strace它会发现一个GTK_Warning,大意是说当前的Locale设置得不支持C Library之类,其实后来发现是可以ingnore掉的,不过这个时候我使用

dpkg-reconfigure locales

改变了locale的设置。 因为在另外一台机子上跑没有这个warning,我就设置它为EN_US,这样就和原来的机子一样,代替了原来收到warning的EN_US.utf8。但是这个是有后效性的,它的确影响到了Scim.

罪魁祸首java

改变了locale仍然是缓慢无比。 CPU占用也居高不下。 难道是java的问题?? 执行

java -version
  • 查看java版本。好么...竟然是1.5的。 明明装了sun-java-6的呀。 于是赶紧修改 /etc/profile,添加:
# Java Settings
export CLASSPATH=.:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/rt.jar
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.07/
export PATH=/usr/lib/jvm/java-6-sun-1.6.0.07/jre/bin/:$PATH
  • 但是还没有结束。 检查Scilab的启动脚本1发现,里面仍然有更新java环境变量的语句,而且是弄到它自带的....郁闷,赶紧换掉。就参照上面的格式。

经过检验,上面的两个地方都得改才能收到效果。


Scim无法呼出

网络上的各种方法试了没有解决。 想到刚才改scilab的时候改了locale。 把locale改回来,带utf8的,就一切正常了。


1

在scilab目录下的bin/scilab

Oct 7

-->

AUCTeX in Emacs

AUCTeX是什么?

它算是

Emacs

的一个插件,为Emacs提供了很不错的TeX的IDE^_^。 这里我把它作为

TeXLive

安装介绍的补充。

安装

毋需多说了,对于Debian用户就是:

aptitude install auctex

配置

打开它的配置的一个最简单的方法就是在TeX mode下面,点击菜单栏的latex项,然后选择Customize AUCTeX>Browser Option。

点击TeX Command进入 将

  • TeX Pdf Mode 改成 on,这样你写TeX的时候,C-c C-c就能先用latex编译继而直接转成pdf文件。
  • TeX Output View Style中的pdf处改成,evince %o %(outpage),这样就可以用C-c C-v浏览刚刚生成的pdf,并且能够直接跳转到你刚刚看过的那一页。
Oct 6

-->

texlive 2007 的安装1

对于Debian来说,安装可以算说是最简单的一步的了。只要执行

sudo aptitude install texlive

就好了。 当然,如果想安装所有的组件,我们就需要:

sudo aptitude install texlive-full

但是我舍不得1个GB的空间。

安装完成后写了一个tex文件测试:

\documentclass[a4paper,12pt]{article}
\title{Haha Test}
\author{BreakDS}
\date{6/Oct/2008}
\usepackage{amsmath}
\begin{document}
\maketitle
Let's begin our work:
\begin{flalign*}
r^2 &= \frac{x}{y}\\
& = \frac{y}{x}
\end{flalign*}
\end{document}

用命令latex,texi2pdf这两个我最常用的命令测试它们。 同时,我们也测试了它们是不是成功地被加到了PATH里头。

中文化配置

在之前的

dell640m

上,采用的是texet+

Emacs

+

AucTex

的方法安装TeX的。但是现在因为texet已经完全停止更新了,故采用texlive 2007。 它的中文配置有点繁琐,最终我采用的是Yule Wang方法:

http://mailboxpublic.googlepages.com/texlive2007cjkchinesehowto

但是由于他不是通过Debian的apt安装的,所以要加入些许修改,具体如下:

准备工作

  • 需要安装一个fontforge。 Yule Wang推荐的是2005版本的,不然在生成字体的时候会很痛苦,时间很漫长。 但是现在的源里面很少有2005的,要从网上下。 如果你不会也没关系,执行fontforge的时候去做饭就好了^_^。
  • 还需要的一个东西是latex-cjk-common。源里面也有。其实安装了latex-cjk的那些东西就可以中文了,但是并不好,它提供的字体里面有许多字无法显示。

字体拷贝

  • Setup System path这步不再需要,具体原因见上面^_^。
  • 建立一个临时文件夹放,存放生成字体的中间文件。 这里跟Yule Wang的做法一致,放在~/font下头。
  • 从windows底下copy那些需要的字体过来。Yule Wang举的例子是黑体,那我就举下仿宋,换汤不换药的。将那个simfang.ttf放到~/font下面。
  • 这步也是和Yule Wang的不一样的,我们需要拷贝需要的sfd文件等,具体如下:
cd /usr/share/latex-cjk-common/utils/subfonts
cp * ~/font/
cd /usr/share/texmf-texlive/fonts/sfd
cp *.sfd ~/font/

字体生成

这步完全参照Yule Wang的即可。 注意把所有的hei改成fang。 其实fontforge那边的那个hei是你为这个字体命名,以后你在tex文件中要用

\begin<CJK><UTF8><hei>

来使用而已。 你大可以把它命名成myHeiFont之类的。但是注意这也要将后面的hei改成

MyHeiFont

把生成的字体拷贝到texmf里头

我们或许找不到Yule Wang所说的~/.texlive2007。 但是我们可以找到~/.texmf-var。 你看,连建立这个文件夹的事情都省了...

cd入这个文件夹,然后参照Yule Wang的即可。


最后,尽情测试吧。十分感谢Yule Wang的文章给予的帮助。 我只弄了hei和fang。 因为我的午饭太简单了吧~。

[1] 其实texlive 2008已经发布了,但是源里还没有,据说配置中文好简单。

Oct 5

-->

Emacs-Wiki

Define Emacs-wiki

关于这个话题,网上有极其丰富的内容。 我只说2句废话,就是这个网页就是由Emacs-Wiki生成的,以及它有两个关键字,Emacs和Wiki。 如此好的一个东西,说实话,网络上关于如何让新手快速起步的资料确实少之又少。因此我希望能够写一篇让新手可以快速起步的东西,

只要你懂得一些Emacs的基础

。 我还需要让你知道,Emacs-wiki在某种程度上类似于TeX。 我们在tex文件里面写代码,再通过TeX的

编译

将它变成pdf; 我们在Emacs-wiki中,编辑Emacs-wiki文件,再通过Emacs-wiki的

发布

将它变成生成的网页文件。

安装Emacs-Wiki

对于Debian用户来说,安装

emacs-wiki

实在是一件简单不过的事情。

~$ sudo aptitude install emacs-wiki

即可。

关于Emacs-wiki的教程

这是一件有些困难的事情,因为当你搜索Google的时候,往往可以找到很多关于如何设置Emacs-Wiki的文章,但是却很少有文章能够告诉你,当你真正设置完了,如何开始真正地使用它,尤其是像我这样的一个wiki新手。

关于设置的一些注解

  • 关于设置css的问题。 在.emacs文件里面添加如下的elisp代码:
    (setq emacs-wiki-style-sheet "<link rel=\"stylesheet\" type=\"text/css\" href=\"blueheadings.css\" />")
    
    需要注意的是,很多人在他们的设置指导上面只说了如此设置css,却没有说明如何添加引号中的内容,导致我一开始直接在引号里面加入了css的路径从而失败。 但是研究了 Eamcs-wiki生成的html文件以后,我发现它不过是把这引号里面的东西加入到了html头文件里面。 这下好办了,在引号内添入那句设置css的html就好了呀。 注意在LISP中,要在字符串内 输入引号要用“\”来转义。

找我喜欢的css文件也废了我很大的功夫。 好在,最终我找到了。 以后成功找到这篇文章的人就幸福了因为,你可以直接去:

http://www.emacswiki.org/cgi-bin/wiki?action=browse;id=CSS;theme=default;css=

  • 关于设置多个Project 这个在网上也很容易搜索到。 我想说的是大家很有可能会问的问题: 为什么要设置多个Project? 为了把这个问题说明白,我要调用一个设置里面的例子来将它说明白:
    (setq emacs-wiki-projects
    `(("Default" . ((emacs-wiki-directories . ("~/wiki/Default"))
                    (emacs-wiki-publishing-directory . "~/wiki/publish/Default")))
      ("Debian" . ((emacs-wiki-directories . ("~/wiki/draft/Debian"))
                (emacs-wiki-publishing-directory . "~/wiki/publish/Debian")))
      ("TeX" . ((emacs-wiki-directories . ("~/wiki/draft/TeX"))
                (emacs-wiki-publishing-directory . "~/wiki/publish/TeX")))))
    
    上面的设置来源于.emacs文件。 这个设置中有三个Project。 拿Debian这个Project来说,它的每一个emacs-wiki文件都存在

~/wiki/draft/Debian

这个目录下面。而每个文件发布了以后,生成的html文件会放在

~/wiki/publish/Debian

下面。 而默认地,生成文件夹中会有一个 *WikiIndex*的网页来index这个Project下面的所有html。 我想,不用我接着说,你也应该理解了Project的意义和它是如何封装的了。

关于使用的注解

首先,关于Emacs中最最常用的快捷键:

  • M-x emacs-wiki-find-file RET

    它会在mini-bar里面显示一个提示,让你输入Default这个project下你想编辑的entry,或者说,emacs-wiki文件名。其实我认为它最大的作用就是进入Emacs-wiki模式,只要继续轻轻回车 就可以了。 接下来的事我们用接下来的命令做。

  • C-c C-v 这个命令是换project用的。 因为我们已经用前面的命令进入了Emacs-wiki模式,所以在这个命令的使用中,可以通过Tab来补全project名。

  • C-c C-f 在Emacs-wiki的模式下,这个和C-x C-f是一个回事来着。 只不过,这个文件会保存在当前Project对应的emacs-wiki文件夹。

  • C-c C-p publish到当前Project对应的目标文件夹里头。

关于Wiki标记语言

这个找一篇教程就好了,比如

http://mwolson.org/static/doc/emacs-wiki.html

需要注意的是,这个教程貌似是默认你知道wiki的基本概念的,比如插入一个wikiname链接(比如你在维基百科上看到一个蓝色的名字,点一下就能连接到那个页面)它就没有详细说。 其实,只要用两个中括号就好了,比如:

[[Google]]

的结果就是Google

当然,前提条件是,你需要在当前的Project下有以这个为名字的html,不然它会找不到连接而直接发邮件给maintainer,也就是你,当然,这个功能是可以取消的。