在ubuntu上编译中文latex文档
2014-03-13 by 煎挠橙tex大名不再多说,作为需要编译的文档,外加原生不支持中文这样的设定,给人感觉难用是正常的。今天咬咬牙看了些资料,发现在前人的努力下编译中文已经是很简单的事情了,虽然原理依旧复杂,需要注意的地方依旧很多。
具体的解决方案为XeLaTeX + xeCJK + ctex。
在windows平台下还是建议使用ctex套件,该套件把引擎编辑器等等东西一起打了包,一次安装无痛使用。
linux下面则因为字体配置方案不统一的问题需要一些配置,下面是具体方法。
texlive
后端推荐使用texlive2012,可以找一个光盘镜像挂载起来,在挂载目录下直接
sudo ./install-tl
注意安装完成以后根据提示往.bashrc
里面添加一下环境变量
export PATH=/usr/local/texlive/2012/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH
这样texlive就算安装配置好了,CJK、ctex宏包和XeTeX引擎都内置在其中,稍后会用到。
安装中文字体
因为版权问题texlive没有携带诸如宋体、黑体等的win字体,不过我们可以直接去windows系统的windows/fonts/
目录下面拷贝sim*.ttf
(宋体是simsum.ttc)出来。
拷出来的字体放在/usr/share/fonts/windows
下面,更改一下权限
sudo chmod 644 /usr/share/fonts/windows/*
接着刷新字体缓存
sudo fc-cache -fv
字体安装成功后可以通过一下命令查看
fc-list :lang=zh
上面显示出的结果才是系统所识别的字体名字,先记住。
配置中文字体
因为众多linux发行版中的字体名称不不统一所以texlive默认的配置往往无法正常工作,这就需要手动去更改配置。
sudo vim /usr/local/texlive/2012/texmf-dist/latex/ctex/fontset/ctex-xecjk-winfonts.def
根据刚刚查看到的系统安装的字体情况,将以上配置文件中不合适的部分如ItalicFont={[simkai.ttf]}
改为={KaiTi}
。这样字体就配置完成了。
测试
touch test.tex
测试文件的内容为
\documentclass[UTF8]{ctexart}
\begin{document}
测试中文
\end{document}
不出意外的话pdflatex
引擎能够成功编译上面的文档。
其中的ctexart
是LaTeX中article文档类的中文本地化版本,如果你想使用其他的文档类,也可以这样
\documentclass[UTF8]{article}
\usepackage{ctex}
\begin{document}
测试中文
\end{document}
二者效果一致,在编译时ctex在底层调用CJK,并添加了很多本地化的成分,比如“Figure 1”会变成“图 1”等,方便不少。
调用字体则可以用\heiti
、\kaishu
这些。
另一个选项:XeTeX
上面的方案虽然解决了中文的编译问题,但限制是只支持win下面经典的六套字体,具体原因则牵扯了版权技术等等的问题,我也没搞太明白。
这样的情况下可以任意调用系统字体的XeTeX引擎横空出世,并且包含在各大tex的发行版中,装了texlive的就可以直接调用。
值得注意的一点是,XeTeX基于Unicode,要求它的源文件编码必须是utf8(业界良心),win用户在保存文件的时候注意一下编码。
下面测试一下:
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{微软雅黑} %我按照前面的方法装了微软雅黑字体,没有可以选文泉驿正黑,或是任何系统字体
\begin{document}
测试中文!
\end{document}
编译时用xelatex
,调用xeCJK宏包,直接生成pdf。
其实还可以这样
\documentclass{ctexart}
\setCJKmainfont{微软雅黑}
\begin{document}
测试中文
\end{document}
依旧使用xelatex
编译,这样做的虽然看似用了CJK的底层,但实际上XeTeX引擎下ctex调用的还是xeCJK的宏包。
这样写的好处是如果没有指定字体或者指定的字体不存在,将使用宋体黑体等,不影响编译,兼容性好。
无root权限的情况下在集群上配置个人python环境
昨天刚问管理员师兄要了个服务器的账户,准备折腾一番。因为所里面用python
的人不多,环境基本没配置,仅有的标准python
库也很老了。
而且因为服务器上惊人的预装了SuSE Linux
(What?),连源都没有,我磨了半天嘴皮子管理员师兄还是拒绝给上面的python
升级,还说让我随便改一下环境变量就好了。
于是我折腾了4个小时,很“随意”的搞定了。这里做一个备份,省的回头忘了。
解决思路
- 在我的
/home
下先装一个python 2.7.6
版本 - 用
virtualenv
隔离一个python环境出来 - 修改一下
bash
的配置文件,每次登陆时都把默认的python
环境指向本地
这样处理过后
- 我得到了一个想要的
python
版本 - 不需要
root
权限 - 使用了虚拟环境 ...
ubuntu的简单配置
接触ubuntu不过两个月,之前装了一个试玩,熟练之后越发的喜欢了,准备把工作环境迁移过来。不过之前只给了ubuntu 30g的磁盘空间,明显不够用,而且gnome3各种反人类,昨天心血来潮把原来的系统删了,扩了一下磁盘,重装。今天重新配置,顺便写在这里,后面方便查阅。
装系统
分区
我搞的是双系统,windows虽然讨厌,但还真离不开。没装ubuntu之前,硬盘分了两个区,c盘是主分区,用来装系统,剩下的扩展分区是一个d盘,存数据。
要再装个ubuntu的话就得再分一个区出来,做法很简单,(如果有的话)在windows下面,找到磁盘管理器,在原来的d盘上右键,压缩磁盘,跳出来的对话框可以调整大小,我弄了130g出来,点确定,过一会儿就能看到多了一个130g的空闲分区,windows下面的操作就到此为止了。
注意虽然压缩磁盘对原有的数据没影响,但磁盘操作都有丢数据的风险,最好提前做好备份。
做u盘安装盘
先去找一个顺眼的ubuntu的iso镜像,官网上就能下,这次我选了xubuntu,就是ubuntu换了张皮,但很多细节做的很舒服。
而后google一下UNetbootin,是个跨平台的ubuntu安装盘制作工具。找个空u盘,插电脑上 ...
read more