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
网站建设

301,永久重定向!

我这次彻底被惹火了。真的大感慨:早知如此,何必当初!

落园两个域名、两个服务器分别独立运行的痛苦日子终于要结束了——我也痛下决心,牺牲一部分速度,做出这个抉择——落园国内服务器暂停。接下来的问题就是把.cn的域名做一个301永久重定向,全部指到loyhome.com来。

其实本来是想做一个在MySQL 层面的数据库同步的,但无奈两个服务器之间不给力,同步很难做。wordpress镜像的次选择就是直接在配置文件里面写入远程MySQL服务器地址,但也不是很给力。最后的办法就是全静态同步,自然还是不给力。我实在忍无可忍了,再也不想忍受两个站点手动同步刷新的痛苦,于是决定赶紧的搞定这个事儿。.com转到国内还牵扯一个备案问题,同样是折磨的我实在是受不了的事儿。索性,一了百了,全面转身.com并使用国外的服务器。为了清理这一年来的旧账(两边都有留言),我还写了一天的R代码来一一对应各种文章ID和留言ID,最后终于全面整理了过来。国内的服务器可能还会保留给后花园用。

我不得不唠叨一下这些痛苦的历史。落园从2006年开始运行在独立域名上(落园以前是在blogcn上的,前段时间blogcn删档,落园最早的文章就全部覆灭了,正好,毁尸灭迹,不怕有人追踪什么了),以loyhome.cn作为唯一的域名。后来波折一再,.cn域名从来就没有消停过。先是备案,由于换空间商换了一次,所以前后备案痛苦的备了两次;后是实名认证,直接导致去年不在国内的我无奈的看着域名被封了两个月,这也是当时一怒之下注册loyhome.com取而代之的缘故。这还是域名和空间的事儿。落园所依赖的程序上,本来采用的是Textcube,后来实在是不给力就转到wordpress了。当年那次大搬家费了我好大事儿,不得不手动对应两个MySQL数据库,写了一堆PHP程序来实现了完全的迁移。至于各种小波折小调整就不罗列了……

回顾这差不多7年的落园成长史,就是一部充斥着各种折磨的辛酸血泪史。不堪忍受删文章,就自己掏钱买域名买空间做独立博客;不堪忍受TC的低效,就自己写PHP代码鼓捣MySQL彻底转到Wordpress来;不堪忍受一而再、再而三的实名认证,就忍痛把旧域名转到新域名来。谁说写博客容易的?我真不想骂人,可是哪有强迫人不仅要有文笔、还要有独立思考能力、还要有时间有持之以恒精神、还要不计金钱报酬(落园从未也永远不会挂任何广告)、还要学会写PHP代码查bug弄SEO、还要搞的定国外的域名注册……说真的,落园能走到现在,我已经很满足了,很满足了。有的时候真的想过放弃算了,一个博客而已。但是还是跌跌撞撞的坚持下来了。现在所有人都在微博上玩的不亦乐乎,还有多少人关注博客?在大多数博客沦落为相互复制粘贴、挂满小广告或者半年不更新的今日,还有多少人关注什么原创和持之以恒?

总而言之,当我在阿里巴巴商学院门口看到马云题写的四个有点难看的字“永不放弃”的时候,当时想到落园就有种泪流满面的冲动。如果没有这么多朋友的支持与鼓励、没有一篇篇日志后面那些温馨的让人忘记寒冬的留言,我可能真的坚持不到今天。还有,当我不止一次在网上搜问题搜回到自己的博客的时候,只有会心一笑,稍稍讽刺,却也暗自欢喜。

我很对不起很多国内的、尤其是限制国外流量的教育网的朋友们。我知道这一次301之后,很多人访问落园的速度会慢下来,还有可能打不开。但是,我已经没有其他更好的办法了。如果IPV6可以用的话,还请用Google reader订阅落园的RSS吧!如果你们连留言页面都打不开,那么就给我发邮件吧!我不想失去大家的关怀,也请大家不要忘记落园这么一个越来越孤独的存在。

丢车,是为了保帅。只有暗自的期望落园的未来可以顺畅的走下去,毕竟一个博客的核心是内容——正如301对应的解释,永久重定向,我也不想浪费更多的时间在其他的网站管理等琐事上了。涅磐之后,还请雨过天晴。

Categories
网站建设

[调整]侧边栏加入新浪微博

刚刚进行了一个小调整,在侧边栏订阅那一块儿加入了新浪微博。呃,众所周知我是不玩儿微博的,但是当年尝鲜新浪微博的时候不幸绑定了落园,然后就一直有更新。好吧,既然大家这么习惯微博,我还是提供以一个跟踪落园动态的新方式吧,毕竟只有Twitter的图标不公平(那里只绑定了我的英文博客)。

只是一个小调整,方便大家,但是我还是不玩微博的。有兴趣者可以在那里follow我。大致就是下面这么个东西。我比较懒,没重新自己设计,直接借用新浪的代码了。

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存的是我感兴趣的城市的名称,只要对应一下就可以了,很方便。

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