Categories
日常应用

LyX2+XeTeX/LaTeX若干中文问题

最近琢磨着用sweave写一篇中文报告,结果打开LyX 2.0之后华丽丽的发现已然不知道一份中文的文档应该怎么写了。上一次用Latex玩中文的东西怕是要追溯到本科毕业论文了。而后一年的时间,就从来没用latex编译过任何中文的文档,也难免突然不知所措了。

LyX 2.0相比1.6x变化还是蛮大的,折腾了半天我也没弄明白怎么可以调出中文来。原来的时候觉得XeTeX慢,就一直用ctex+pdflatex的解决办法。可是不知道为什么,这一次中文总是乱码,改成UTF-8也是,弄得我好痛苦。于是一边折腾texlive,一边先在LyX里面用英文写报告。往后再慢慢翻译好了。

终于,在这个中秋假期临近尾声的时候,我没理由再拖着不把中文搞定了。于是,先调回到ubuntu去,从简单的linux软柿子捏。装完texlive 2011,找着网上的若干教程一步步走下来,比如这个,却发现我总是遇到一个莫名其妙的错误问题。错误提示大致如下:

! Undefined control sequence. <argument> ExplFileName

网上哗啦啦的搜了一番,发现原因大概是l3kernel, l3package和fontspec这个包之间的兼容问题。然后照着网上的步骤删除掉expl3这个文件夹,华丽丽的错误又出现了:

! LaTeX Error: File `expl3.sty' not found.

只有各种崩溃啊。最后忍无可忍,一个 rm -dR * 命令删掉了texlive文件夹下所有的文件。重新开始!

这一次学乖了,不用基于internet的网络安装texlive,改成ISO镜像安装(我下的是20110705版的),怎么也是打包好的镜像,不会出什么问题吧?吸取教训坚决不去tlmgr update -all了,就这个版本能用就行。话说,在ubuntu下配置环境变量$PATH的方法有许多,我最后发现还是直接改/etc/environment这个文件来的比较快,比改/home/username/.bashrck(看不到这些文件的话请在窗口上面选View -> Show Hidden Files)方便很多。不过ubuntu真的感觉还是离开了terminal寸步难行啊,总得sudo -i一下才能过得比较舒服。

然后打开LyX,什么乱码之类的浮云都不见了,顺利的编译中文文档。我是在language那里直接选择不用任何语言包,很清爽啊。导言区加了几行字来适应中文。看了一下对应的latex源代码,也蛮简单的,

documentclass{article}
makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
usepackage {fontspec}
setmainfont {WenQuanYi Micro Hei}
XeTeXlinebreaklocale “zh”%中文断行
XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt%左右弹性间距
makeatother
usepackage{xunicode}
begin{document}

只是记得要在文档选项那里把output选成xetex就好了。然后华丽丽的文驿泉中文文档出现……好吧,我去研究一下怎么用宋体。

至此,LyX 2 配合Xetex的中文问题就顺利的搞定了,感觉在linux下编译xetex还是蛮快的。先这么凑合着用吧,接下来研究sweave的中文支持问题去。

Categories
日常应用

kindle变砖了?

真是不给力啊,继回国之前相机挂掉了之后,kindle也不争气的变板砖了。大概,是一路上我用它用的太狠了,把电全耗光了吧……然后网上搜了搜,说如果电池全耗掉就有可能出现这种问题。

目前的症状是电脑已然不识别了,充电还在充,不过貌似我已经充了一天一夜了……所有的什么reset之类的方式全都失效,kindle彻底冻结在开机目录了……

好伤心啊,怎么回来之后才坏掉?然后打客服,客服也很无奈的就让我一遍遍拔掉重插、按住电源键不放之类的,也貌似没啥更好的策略。然后说如果还是不行,那么就准备换新的吧……

好在还在一年保修期内,所以最多也就是把这个东西寄回去就好了。但是,鉴于kindle已经不被电脑识别了,里面的若干资料已然无法拷贝出来了……不知道里面有没有啥涉及到个人隐私的东西啊,真伤脑筋。

好吧,继续等kindle充电,然后再看看这块板砖有没有啥复生的希望吧。唉~

Categories
日常应用

用R画(中国)地图

没想到上个星期在写一篇论文(非毕业论文,毕业论文见这儿)的时候,居然需要画地图…这个,地图怎么画?虽然常年看论文人家总是轻描淡写的说一句“GIS数据来自……”,我还是对这个东西没啥概念,总觉得貌似挺麻烦似的……

一直知道R能画,taiyun展示过,yihui写到过yixuan讲解过,但是毕竟自己没有亲手做过。这次逼上梁山了,不得不搞定。于是乎,照着葫芦画瓢,比着yixuan和yihui的教程,一步步的研究,研究。

因为这次我画地图主要是画中国地图,所以GIS数据自然是关注中国的。从yihui那里找到了“国家基础地理信息系统”(中文版和我一样不给力的同学请用英文版网址:http://nfgis.nsdi.gov.cn/nfgis/english/default.htm)。然后,嗯,GIS数据就有了。扔到R里面,调用maptools包,两行代码,中国的雄鸡图就出来啦!顿时那个爽啊。

可是然后呢?呃,我要标注的是我所感兴趣的几个城市的位置,这个yixuan在“可能的拓展”里面说了一下,没有说具体的(傻瓜式)操作,yihui的地图用的是文本导入经纬度数据,我可没有现成的经纬度数据啊!我又懒得研究这个GIS对象在R中到底是怎么玩的,就对着maptools包里面的各种函数扫过去。果然,有一个函数貌似是可以读取经纬度数据的。联系起国家基础地理信息系统里面是有提供各个城市的经纬度数据的,嗯,试了试这个函数,果然可以!剩下的工作就轻松了,几行程序告诉R那几个城市是我感兴趣的,然后一个命令就上去了,再一个命令就搞定名称的一并标注了。R果然聪明啊!

成品图在此:

spread

好了,最后简单的说一下我用到的代码,方便大家复制粘帖。

library(maptools); #调用maptools包
#read data
cities=readShapePoints('chinamap/res2_4m.shp') #国家地理信息系统下载的市级经纬度数据
china=readShapePoly('chinamap/bou2_4p.shp') #国家地理信息系统下载的省级多边形数据

plot(china); #画中国地图
points(cities[cities$NAME %in% piaohao_pre1850$city,], pch = 19, col = rgb(0, 0, 0, 0.5)) #标注感兴趣的城市黑点
text(cities[cities$NAME %in% piaohao_pre1850$city,],labels=cities[cities$NAME %in% piaohao_pre1850$city,]$NAME, cex = 0.9, col = rgb(0, 0, 0, 0.7)) #标注城市名称

顺带赞一个,国家地理信息系统里面城市名分别使用中文和拼音存储的,调用的时候任意一个都可以。我的代码里面piaohao_pre1850$city存的是我感兴趣的城市的名称,只要对应一下就可以了,很方便。

(另注:汇通天下,嘿嘿~)

Categories
日常应用

更改LyX的快捷工具栏(加入“导出”按钮)

最近被LyX弄得有点烦,2.0确实好用,有实时拼写检查、拼写提示等等方便的功能,但是始终没搞明白那个“更新PDF (update PDF)”为啥只更新临时文件夹里面的,一点都不实用(我不用adobe reader,foxit里面好像不支持直接更新)。我要的功能在“文件->导出->pdf(pdflatex)”那儿(对应英文版“File->export->pdf(pdflatex)”)。菜单栏折磨了半天,干脆把快捷工具栏的update按钮改成导出算了!想起来当年折腾中文版xetex的时候改过菜单栏和工具栏,找回去,果然:lyx成功升级到v1.6.2中文版[lyx+xetex配置图文指引]

改LyX的工具栏还是比较方便的,打开lyx安装目录下的stdtoolbars.inc, 我的位于默认的“C:Program FilesLyX20Resourcesui”文件夹下,然后找到这行:

Toolbar "view/update" "View/Update"
Item "View" "buffer-view"
Item "Update" "buffer-update"

把红字部分改为 "buffer-export pdflatex",或者在其后面加上这一行:

Item "Export" "buffer-export pdflatex"

效果图如下:

我是觉得“更新”没啥必要,干脆就把那一行注释掉了。新的代码为:

Toolbar "view/update" "View/Update"
Item "View" "buffer-view"
Item "Export" "buffer-export pdflatex"

这下世界可清净多了。喜欢快捷键操作的童鞋们,可以在“工具-选项-编辑-快捷键”(Tools->Preferences->Editing->shorcuts)里面定义一个新的快捷键。位置大概在function列表的document and window下,找到buffer-update,先把它remove掉,然后找到buffer-export-custom,点击modify,然后改成buffer-export pdflatex,快捷键设置为ctrl+shift+R(我是把原来的更新快捷键替换掉了,各位酌情而视)。这样,无论是工具栏还是快捷键就都有的用了!

希望多少能帮大家省一些时间~嗯。以此类推,如果需要别的功能大概也都可以通过增加工具栏和快捷键节省时间!

补一句:刚发现LyX 2.0正式发布了!终于不再是RC了!大家可以欢欣鼓舞的去用新版了!(其实RC在我机子上也挺稳定的说~)呃,刚改过那个stdtoolbars.inc不妨考虑备份一下,不知道新版安装后会不会自动覆盖掉!

Categories
日常应用

ubuntu的纠结~

话说,当人无聊的时候,就开始喜欢折腾电脑。这个本本上的xp已经一年多没重装了,速度也越来越慢,像个背着房子的蜗牛似的。昨天被许大仙忽悠着就下了一个ubuntu v10,然后被忽悠着就在xp下面装起来了ubuntu。然后,然后,在困难的重启之后,终于看到的如下的类似启动界面。刚刚感叹了一下真是漂亮啊,进去之后就再也感叹不出声了。果真如许大仙所说,ubuntu已经蜕变成高端玩物了,我这等半残废本本跑起来那叫个吃力啊。

http://www.gdlinux.org/wp-content/gallery_my/system/ubuntu10-04start.jpg

没办法,在ubuntu下痛苦的打开firefox,然后登上gtalk,开始继续向许大仙求救。结果还没法输入中文。哈哈,其实对我来说,无所谓的,但是想想那边许大仙痛苦的表情,还是先装个输入法吧。别的输入法都挺麻烦的也不够好用,不过吾等有“搜狗云输入法”此等神器,一个firefox插件搞定,多快捷。而且选词的效率真的是很高啊,除了只能在firefox里面输入、只能联网使用之外真的无可挑剔了。还不占系统资源……其实我在win下面也曾经依赖过此等神器好一段时间……

进了ubuntu,才知道原来xp下的firefox是多么的丑啊。可惜ubuntu虽然漂亮,但是俺的破车拉不动美女,只能回头载上古老的xp……唉。于是乎又下了一个netbook版的ubuntu,准备抽空继续折腾。这个能在Windows下直接安装ubuntu确实比较爽,不用刻盘不用优盘,我就是喜欢硬盘安装,哈哈。

话说,转到ubuntu的动机就是除了网银真的找不到什么继续使用xp的理由了。firefox完美支持linux不说,lyx、texlive、R等长年以来的神器都有对应的linux版本的。况且还有wine可以挂着linux玩植物大战僵尸,多爽啊~于是,继续折腾可怜的本本,向着ubuntu的美丽怀抱奔去……但是为什么,我还是不得不在windows下面撰写这篇日志呢?多想直接在ubuntu下写啊……