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
网络新发现

有趣的R包——试卷生成器

好吧,当这个世界越来越繁杂的时候,啥就都有可能了。

今天看到一个巨强的帖子,然后找到了一个神奇的R包——exams: Automatic Generation of Standardized Exams for Large-Lecture Courses。证据在此:http://cran.r-project.org/web/packages/exams/

呃,简而言之,就是一个试卷生成器,可以按照不同的参数生成试卷和答案……当然,背后的主要功臣自然是sweave。好吧,原来不止学生讨厌考试,老师也是蛮讨厌出题的,尤其是年复一年的出新题……

看看介绍:

To employ the tools, users just need to supply a pool of exercises and a master le controlling the layout of the final PDF document... Hands-on illustrations|based on example exercises and control fi les provided in the package|are presented to get new users started easily.

好吧,我就不说什么了……可惜我是用不到这东西了,不会有年复一年的出题为难学生的机会,呃。凄惨的人生。

再说一句,讨厌zero-sum game...尤其是到手的东西马上就飞了的感觉实在是很糟糕啊。5555。今天运气真的是,唉。背就一个字啊。

Categories
日常应用

在LyX里面使用分章节的子文档

不知道各位用latex有没有分章节写书的习惯……一本书若是近10个章节(chapter)甚至更多到后面可是会让人蛮抓狂的。所以就有了主控文档(main document)和子文档(child documents),所以就造福了吾等懒人……

latex里面标准的命令有两个:include和input(怎么看怎么像php里面的include和require),两者的差别简而言之就是include =newpage input。

然而在这个懒人泛滥的时代,我们已然不用latex的文本编辑器们,转投了可视化编辑器LyX。这东西所见即所得的好处多得很,就不赘述了。但是今天我遇到的问题是,如何把一本书各章节分开写?最后再整合到一块儿去?

分开写的好处很多,比如打开文件之后不用先点鼠标翻到想写的那一行,不用为了调试某一处而忍受漫长的整个文档编译过程(尤其是动辄上M的中文文档),不用一下子把所有章节都放出来(在后面的没完工的时候)等等。
好在我们有LyX如此神器……插入子文档也变得格外简单,“插入> 文件 >子文档”即可。这个时候需要选择插入子文档的路径和模式。所以我们需要提前建立好N个LyX文档,分别命名为chapter1, 2, ....即可。然后按按鼠标把它们按顺序插入。这里其实还有个好处,比如我想把第三章模型A提前,放到第二章模型B之前,那么我们只需要在LyX里面改改include的顺序,所有的编码就调过来了……这比整本书一个文档需要剪切/粘帖一大块方便许多吧?所以其实我们子文档的命名也可以按照内容来,最后只是排序的事儿嘛!

Snap4

LyX第一神奇的地方就在于,不仅仅支持子文档,而且在打开主文档并在左侧显示目录的时候(“文档 > 目录”),子文档的目录也是即时更新的,可以直接通过鼠标点击在各个子文当之间跳转。
当然,它最最神奇地方就是子文档是可以单独编译的,这可比传统的Latex方便多了。这样,若是只改了某一小部分,想看效果就不必要编译整个文件了。再者,子文档也是单独有导言区的,这就意味着我们可以给子文档用不同于主控文档的样式(比如字体啊,页面大小啊)去编译。

最后的最后,LyZ此等神器也是支持子文档的……只是你需要稍稍辛苦点在每个子文档后面都加上参考文献数据库。

目前已知的问题就是超级链接及交叉引用……诸位可以暂时参考此帖(用LaTeX写过书的朋友帮帮忙 ),等我完善了之后再补充上。

Categories
事儿关经济

疲惫的感觉[2nd week, Oct]

最近两天精神特别的不好,一般说来从早上爬起来,到晚上十一点以前一直忙碌对我来说还是没有问题的,但是自从周三从早晨九点爬起来忙到晚上11点重新拥抱柔软的床,接下来这几天一直是精力不济。想想八小时工作制是有道理的,像周三那般一天连续忙活14小时真是一件耗费精力的事情。何况对我这种一向标称效率而不是耗费时间的人来说。

这两天精神不济(话说,谁知道怎么可以有效的提神?),所以只是懒洋洋的听听课,而后该上自习的时间都华丽丽的昏睡过去了。尤其是昨夜特别的累,本来兴冲冲的带着电脑跑到资料室满心划算着可以做多少多少事情,但是实在是事与愿违的去了就趴下了,睡到九点半放弃了于是早早跑回宿舍了。而后一觉睡到天亮,快醒来时朦胧有种错觉我是在家里软软的大床上而不是宿舍那张又小又硬的小床。可见我睡得不是一般的沉。

这周,前半周忙忙碌碌、忙忙碌碌,我也实在是找不到更好的词儿来形容了,只能是:忙忙碌碌。而后,下半周就有点颓废了,懒洋洋的上课……上课。第一次在导师的课上居然挺不住睡着了,关键我还坐在第二排……现在我还有闲情逸致写博客,就可见我导师的脾气实在是很好……我想他也能理解这种疲惫的感觉吧,每次见他我都感觉他颇为疲惫……所以,那日他貌似很大度的对我视而不见了。

这周读的书不多,可能就是零零散散的看了一些文章,也不是特意去看的所以印象也不深。如前几日所说,听了一场彭院士的高质量的讲座,一边敬仰一边激发了我对他研究的东西的兴趣;还有一场dirty lecture,若不是保持基本的礼貌,我早就拂袖而去了。哦,还发现那个不认识的话很多的新老师居然就是那个杨瑞龙的学生,切……同是一个导师的学生,咋就差别这么大呢?看看人家聂辉华……真不是一个档次的。下一次居然是他讲,我真是颇为好奇他会弄些什么东西出来,所以在时间紧的要死的情况下还是纠结着要不要去听听……

看来经院一年一度的惯例:新留校的老师要进行“答辩”开始展开了。话说,其实听讲座是一件很有风险的事情,可能有很大的收益,也可能白白浪费时间。所以to be or not to be, that's a question.

最近还回了很多Email……说实话,若是两三天不看信箱,我估计我就没有打开信箱的勇气了。反正我已经很久没有打开QQ的勇气了,以至于现在每次偶尔登一次QQ就有若干人跟见了火星来客似的争先恐后的问候我“你还活着啊?”。拜托,我这么大个博客隔三差五的更新,您老儿们都懒的移步来看看我是不是健在……

最后发觉自己真的有写tutorial的潜力……昨儿花了一个多小时证明了一个不算是数学也不算是经济学、可是非得让我去用数学证明的经济学中问题。于是乎,一个tutorial就诞生了。但是很郁闷的是,只有7k的tex文件居然给我编译出来了2M还多的PDF文件,明明单薄的只有文字的两页。真是诡异、诡异!!!莫不是我电脑里面的编译系统出了什么问题了?我应该重装系统好好的配置一下texlive了,深深的鄙视miktex,自从某天开始只要我点击编译,然后等待时间就足以让我去泡杯咖啡然后喝完了。

总之这篇例行的一周总结写的毫无头绪,乱七八糟的就堆在这里了。最后补上一句英文,因为理论上对一两行英文大家习惯性的就略过去了,所以不去理解也好。

Next Monday I decide to go to Peng's class for graduates. It is sure that I will be ruthlessly shocked, but I want a try.

Categories
网站建设

如何在wordpress博客网页中显示latex公式

If you like, you can see the English version of this post here.

可能用惯了latex的人对于latex公式的书写语法会习惯很多,而且毕竟latex排出来的公式比较美观。但是我们对于PDF游刃有余,对于网页等传统媒介则显得捉襟见肘。

有需求就有供给,人的力量是无穷的!我最新欣赏的就是英文的wikipedia上面直接显示latex公式,并且你要去复制的话,粘贴出来的正是latex公式代码,直接放到latex编辑器里面可谓异常方便啊!在lyx里面更是直接在公式环境插入,所见即所得!那叫个舒服,惬意,盎然……

那么对于我们这种独立小博客,怎么办好呢?搜了搜,网路上有几种解决办法,我一一试了试。

  • 最好的办法是安装服务器端的latex,适用于有个人主机的。如这里何勃亮提供的办法,下载 LatexRender。然后对于wordpress的用户,更大的福音就是WP LaTeX这个插件。直接搞定~
  • 但是对于我这种虚拟主机用户,大多数虚拟主机是不会给你安latex的。所以,按照宋和平提供的办法: John Forkosh, 可以将LaTeX的数学公式转换为图像嵌入网页中, 即"real math images in html documents". 个人感觉mathTex好看点。 用法很简单, 把LaTex公式代码放在mathtex.cgi?后面, 以图像输出。
  • 不过上面的是不是有点麻烦呢?每次都要改链接。所幸已经有了wordpress插件,Latex for WordPess(MimeTex for WordPress & bbPress,来自阅微堂)。安装好后,他会自动请求服务器。哈哈,适用于我这种懒人。

如[cref stochastic-calculus-4th-week-sep]所示,现在落园已经能够成功的显示latex公式了~~

另,不知道为什么我这里直接安装阅微堂的latex for wordpress插件会导致网页打不开。后来改了一下默认的服务器地址,就好了。也就是将class mimetex {
下面的改为:

var $server = "http://www.bytea.net/cgi-bin/mimetex.cgi?formdata=";
var $img_format = "gif";

这里先谢过http://www.bytea.net/提供的公用接口!

MimeTex for WordPress & bbPress