2010年12月17日星期五
2010年12月10日星期五
Emacs+LaTeX+Make
Emacs里面的AUCTeX相当好使,唯一让我觉得烦的是它的编译,很是怀念WinEdt时的一键编译。其实它还是非常智能的,用C-c C-c编译,会根据现有的文件猜出现在需要执行什么命令,是要latex还是view,基本能猜对。可是平时改一下文件,要看效果,就要按好多六下才行,还不算要Bibtex的情况:C-c C-c,回车,C-c C-c,回车。
经大牛教育,说用Make来管理比较好。今天折腾了一下,基本算是满足我要求了。
首先是要在Emacs里把当前的文件名取出来。在.emacs里添了几行:
(defun my-LaTeX-mode-common-hook()
(define-key LaTeX-mode-map [(f9)] 'compile)
(defun my-make-command()
(concat "make TEX_FILE=" (file-name-sans-extension (file-relative-name buffer-file-name)) " "))
(setq compile-command (my-make-command))
(setq compilation-finish-functions
(lambda (buf str)
(when (and (string= (buffer-name buf) "*compilation*")
(not (string-match "exited abnormally" str)))
(run-at-time 0.5 nil 'delete-windows-on buf)
)))
;; (setq compilation-read-command nil)
)
(add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-common-hook)
其实关键的是(file-name-sans-extension (file-relative-name buffer-file-name)) 这一长串,可以把当前文件去后缀名取出来,然后传到Makefile的参数TEX_FILE里。
后面还跟了两句,一个可以把compile完的提示窗口关掉,另一个可以让make TEX_FILE= 那句话的提示都省掉,直接给回车了,一键完事。
然后Makefile里就该咋写咋写了,最基本的:
all:
pdflatex $(TEX_FILE)
"C:/Program Files/Adobe/Reader 9.0/Reader/AcroRD32" $(TEX_FILE).pdf
把Makefile放在平时写tex的目录里,基本就满足要求了。
2010年12月3日星期五
俄罗斯,卡塔尔
申办世界杯这事其实也一直没有留意,昨晚在网上看见新闻,稍为了解了一下前后情况。俄罗斯跟卡塔尔赢了,大概可以算是石油的胜利,而且对中国人民也是一大好事,卡塔尔刚办完,总不能马上又在亚洲办吧,这下子就甭折腾了。再说,虽然南非已经开了东道主出不了线的先河,但人家好歹也是力战而亡,就那么一代人的时间天朝蹴踘估计也不可能有多大起色,咱中国球迷真丢不起这脸啊。
俄罗斯那场,听说原来的大热门是英格兰来着,但英国狗仔队再次发扬了在关键时刻必须给国家集体添乱的精神,在最后时刻告了FIFA一状,确定一定以及肯定地把这事给搞砸了。英格兰大赛不出成绩,一帮球员教练不争气以外,狗仔队实在也是功不可没的,不挖出点动摇军心的丑闻不罢休;印象中听说法国那边齐秃也曾经出过丑闻,但法国媒体眼看世界杯马上要来了,先捂着等大赛结了之后再说。这就是英国佬活该了,没办法,新闻自由嘛。
话又说回来,这申办过程本身就很有意思,世界上最牛逼的那么几个国家,全国上下投入那么多资源,总统总理主席球星歌星影星,各种大腕求着你把那一票投给他们,那可真比大爷还大爷,要说什么黑幕都没有就真是有鬼了。而且那投票的制度也相当有个性,过半数才能赢,不过半数就末位淘汰然后再投,反正我就不是很明白这么整的合理性在哪,选最不讨厌的那个?就好比班上选班长,近半个班都支持阿囧,但其余那一半除了讨厌他以外也没觉得支持谁比较好,结果呢?不管是谁当上班长了,反正不是支持率最高的阿囧。虽然奥运会好像也是这么整的,但好歹奥委会那边好几十票,感觉还没FIFA这么黑。就那么二十张票,某位大爷一拍脑袋,这申办经费就全泡汤了……
而且看看每轮得票的话,也是个充分反证理性人假设的案例。比如说:
第一轮:俄罗斯9票,西班牙葡萄牙7票,荷兰比利时4票,英格兰2票(被淘汰)
第二轮:俄罗斯13票(直接获胜),西班牙葡萄牙7票,荷兰比利时2票
就是说至少有两个人,在有英格兰的时候,认为荷比比俄罗斯好,但没有英格兰的时候,俄罗斯就比荷比好了——算我愚笨,我想不出个合理的理由……