最近琢磨着用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文件夹下所有的文件。重新开始! 这...
好吧,当这个世界越来越繁杂的时候,啥就都有可能了。 今天看到一个巨强的帖子,然后找到了一个神奇的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 files provided in the package|are presented to get new users started [...]
...不知道各位用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...
昨天在LyX里面撰写的文件死活通不过编译,郁闷的关机之后今天想起来去Ctex论坛看看。却发现,原来TexLive2009去年12月就发布了,唉,又一次落伍了。这次号称是“史上对中文支持最好的TexLive”。目前看起来几乎不用怎么配置,就可以用Xetex输出中文了,Ctex等宏包也都完美的嵌入了。 干脆卸载掉庞大的TexLive2008,然后下载下来2009的网络安装版。开始安,悍然的发现需要2000+文件(2G+),还是单线程一个一个下。唉,早知道用BT下那个DVD镜像了。它自己搜索到厦大的镜像之后我看一时半会也完不成,索性去洗了个澡。一个小时左右回来,发现还没有下载完,只好干点别的。想起来昨天配置Sweave的时候好麻烦,是不是可以配置成一个module来调用?然后看起来LyX的配置文档,试着写了一个module,但貌似工作起来不是那么完美。 不一会儿TexLive2009下完了,好家伙,103分钟,你还真好意思向我汇报?下完了它自己开始安,我也开始继续研究Sweave。 按照CRan上的指导和Yihui兄提供的讲解,我磨磨悠悠的配置完。但是很郁闷,LyX总是提示“运行 R CMD Sweave”出错。怎么回事啊?试了试在命令行中直接运行这个,也不行,提示“.sh不是内部或外部命令,也不是可运行的程序”。在几乎就要崩溃的瞬间,想起来原来".sh"是Unix下面的东西,...