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
日常应用

lyx成功升级到v1.6.2中文版[lyx+xetex配置图文指引]

一直以来用的都是 LyTeX 绿色套装:LaTeX+XeTeX+TeXworks+LyX 全集 这个东西,很绿色很强大,但是问题是Lyx v1.6.2已经出来好久了,作者却没有及时的更新。

没办法,纠结在1.6.1 的众多问题中,加上我比较喜欢尝新,我决定手动升级绿色版到1.6.2。

  • 首先是去lyx官网下下来最新的安装包:http://www.lyx.org/Download#toc3,选那个windows版本就可以了。
  • 然后双击安装。记得在typesetting这一步的时候,选择现有的绿色版的目录就好。

Snap2

  • 然后下一步选择语言的时候记得选择Chinese,现在已经原生包含中文版了。(感觉这个翻译和绿色版中的翻译稍稍有点不同,不过还好,不影响理解)。

Snap3

  • 然后下一步选择自动检查拼写包,我只选了english包。

Snap4

然后就开始安装了。………………

安装完成后,双击运行,没有问题。但是,麻烦的是,我常用的Xetex编译按钮不见了!

没办法,继续搜寻lyx配置xetex的办法。

总结了多人的办法,在此不一一感谢,末尾标明了来源。

  • 首先找到“preference”这个文件,我的是在“E:LyTeX-fullLyX16local”文件夹中。
    结尾添加两行
    format "pdf4" "pdf" "PDF (xetexpdf)"  ""   ""   ""   "document,vector"
    converter "pdflatex" "pdf4" "xelatex $ $i" "latex"
  • 然后在“Resourceslyxrc.dist”中,添加
    “format "pdf4" "pdf" "PDF (xelatex)" "" "" "" "document,vector"
    converter "pdflatex" "pdf4" "xelatex $ $i" "latex"”

    Snap5
  • 最后按钮处。在“Resourcesuistdtoolbars.inc ”文件中,在 Toolbar "view/update" "View/Update" 这部分后面添加下边三行内容(感觉不如原来绿色版里面的按钮漂亮)
    Separator
    Item "View PDF (xelatex)" "buffer-view pdf4"
    Item "Update PDF (xelatex)" "buffer-update pdf4"

    Snap6
  • 然后重启Lyx就可以了。

参考帖子:

http://bbs.ctex.org/viewthread.php?tid=41004

http://bbs.ctex.org/viewthread.php?tid=46833

Categories
日常应用

LaTex和lyx中文PDF中EPS图片插入全攻略

这个东西我会持续的更新的,根据我的个人学习经历和使用经验一一汇总。主要针对使用Latex+Lyx+xeTex写论文时候出现的图片问题解决办法的汇总,尤其是我这种懒得学习太多专业接近编程的东西的人,一切傻瓜化从简。

首先是画图的问题。当时也说过,投奔Lyx的主要原因就是受不了CTex套装下Winedit那种文本编辑方式,看起来密密麻麻的代码让人头疼,就像手动编写HTML那般崩溃。虽然Latex引以为傲的是排版的优美,但是过程的痛苦我也实在是难以忍受了。所以纠结之下,找到了Lyx这种所见即所得的编辑工具,大喜过望,工作效率直线上升。而且插入图片很方便,这也是很多人喜欢他的缘故。但是牵扯到画图,由于Latex种种原因,EPS成为了最佳的首选格式。但是EPS怎么生成的?

从网上搜了搜,无外乎metapost、pgf/tikz、Asymptote这些宏包。但是从安装到下下教程来细细学习,这个过程实在是太痛苦也太复杂了。对于我这种人来说,又不是科学数据画图,干吗要手动自己写ps代码来生成矢量图呢?也太不直观了!

去年冬天的时候采取的办法是在Photoshop里面画图,然后生成EPS。但是众所周知,Photoshop是不会生成矢量图的,就算是EPS,也是栅格化的版本——即我们常说的位图,不能自由放大缩小的。而且还有颜色等等问题,勉强插入Latex中生成的PDF也不够好看。但是毕竟对于jpg等图片来说,有的时候用Photoshop改改再插入还是很方便的。

>>关于在Latex插入Photoshop绘制的EPS图像,请查看这篇文章:http://www.loyhome.cn/511.html

>>关于在Lyx中直接插入JPG图像,请访问Lyx官方网站的视频演示:http://www.lyx.org/VisualTour

但是我在这里当然是要隆重推介最简单的自己绘制EPS并插入的办法了~那就是最最著名的矢量画图工具——illustrator!同样也是adobe家的东西,从网上很容易找到。

Illustrator是我用过的最好用的专业矢量图画图工具,当然还有很多人用PowerBuilder或者VISIO或者crodraw,但是我觉得illustrator已经足够强大了。而且关键是上手很快,界面优美,环境稳定……这些对我来说可能更为重要。

在Lyx中可以直接插入Illustrator导出的EPS图像,还可以调整一下缩放比例和排版之类的,这个就不多说了。关键是生成的EPS可以保持原有的色彩,也就是说最后生成的PDF中是彩色的,而不是被转成黑白的那么郁闷。

当然关于PDF很多人还是热衷于acrobat直接在word或者网页中转换,但是我选择latex和lyx的原因就是,开源免费+跨平台+生成复杂的数学公式+专业的排版。当然最最期待的大概就是不用继续这样纠结在中文编译时常出现的种种莫名其妙的原因中虽然中文也可以编译,但是现在某种程度上都逼着我用英文写东西了。虽然也是件好事^_^

来几张生成的PDF效果图:
未命名
4

当然最后还是不得不说说一般的统计软件和数学工具的画图,对于那些图片要求精确的时刻。

  • Matlab:专业的数学软件,可以绘出优美的图形,尤其是3D图。但是我没有研究过,没有发言权。
  • SPSS/STATA等等统计软件:以我常用的SPSS17为例,生成的图片很漂亮也很容易调整,直接插进入就可以了。

好了,说了这么多,应该也差不多了。下一步学习的是怎么用Latex生成幻灯片,看了一些做的还是比较优美的。但是无论怎么说,还是和PPT相差甚远,尤其是有那么多好看的模板在世界各地的PPT网站上汇总。纯属折腾,呵呵。

Categories
日常应用

lyx+Xetex处理中文文档中表格、参考文献等中文名称

这段时间一直在用Lyx+XeTex写可爱的挑战杯论文。其实这篇文章本来是想抄抄外文文章了事的,结果最后几乎成了自己四处查阅参考文献做出来的。好辛苦的过程。

废话不多说,说说遇到的一个颇为头痛的问题:Lyx+Xetex处理中文。

上次写了一些输出中文需要注意的东西,但是随后就发现另一个问题,表格的名称例如表1、表2之类的都生成的是英文table1table2,摘要也是abstract,参考文献是reference。发给一位老师看,老师还误以为是挑战杯的专用格式,巨汗颜!所以还是自己回炉好好的重新弄了一番,搜了很多,最终发现在头文件(菜单栏:文档-首选项-latex序)里面加入这些就可以完美解决了。好东西不敢独享,贴到下面大家共用~

usepackage[cm-default]{fontspec}

usepackage{xunicode}

usepackage{xltxtra}

setmainfont[BoldFont=SimHei,ItalicFont=SimHei]{SimSun}

setsansfont[BoldFont=SimHei]{SimHei}

setmonofont{NSimSun}

XeTeXlinebreaklocale “zh”

XeTeXlinebreakskip = 0pt plus 1pt

renewcommandarraystretch{1.5}

renewcommand{contentsname}{目录}

renewcommand{listfigurename}{插图目录}

renewcommand{listtablename}{表格目录}

renewcommand{refname}{参考文献}

renewcommand{abstractname}{摘要}

renewcommand{indexname}{索引}

renewcommand{tablename}{表}

renewcommand{figurename}{图}

最后再牢骚几句,写论文真的是一件巨痛苦无比的事情,尤其是我终于体会到选题没选好的代价。实在是不想写了,但是还是在这里挺着忍者恶心改来该去,5555……这就是个过程么?

Categories
日常应用

使用Lyx+Xetex编译中文Tex和输出中文PDF

用Lyx编译英文是非常方便的,但是对于国内的人来说总有用得到中文的时候,比如这次我写论文就不得不用中文(其实是用英文写不出来)。

如上篇文章所说,在Lyx编译中文我遇到了比较大的困难。总是报错。无奈之下,上网搜索到了大虾们的方法。现在整理一下我所用到的。

首先是一个比较好的视频教程:Lyx和Xetex新手入门教程 可以很清晰的知道怎么配置。

然后是从各处搜集得来的代码:

usepackage[cm-default]{fontspec}

usepackage{xunicode}

usepackage{xltxtra}

setmainfont[BoldFont=SimHei,ItalicFont=SimHei]{SimSun}

setsansfont[BoldFont=SimHei]{SimHei}

setmonofont{NSimSun}

XeTeXlinebreaklocale “zh”

XeTeXlinebreakskip = 0pt plus 1pt

至少我现在可以顺利的编译中文PDF了。虽然对于那个断行还是很不满意。另外,还没研究出来PDF书签怎么弄……好晕啊……

[3.28补充] 一个很好的lyx配置教程:http://bbs.ctex.org/viewthread.php?tid=46962&extra=page%3D1