Archive for the ‘latex’ Category

CJKutf8

Friday, September 11th, 2009

以前用latex(teTeX)排版中文文档基本上用的是老办法: latex + cjk + gbkfonts。后来重装了系统后,硬盘上用gbkfonts从微软simsum.ttf等生成的字体也都没了,于是编译tex文件总是提示字体丢失。

teTeX已经停止开发,现在大多数Linux发行版采用的是texlive,而且也自带了一些字体:
# apt-cache search latex-cjk-chinese

实际上texlive里utf-8已经支持的比较好了,再也不需要GBK了,简单的文档如下:
\documentclass[12pt,a4paper]{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
这是一个测试。
\end{CJK*}
\end{document}

于是手工修改已经存在的tex文档,但是有的文件在编译的时候没问题,再次编译生成目录的时候会报错:
\GenericError {(inputenc) } {Package inputenc Error: Unicode char \u 8 ...

搜索了一把,这应该是latex-cjk的bug,解决办法可以参考如下链接:

http://lists.ffii.org/pipermail/cjk/2008-April/002218.html

listings

Monday, August 25th, 2008

LaTeX中的listings包可以用来方便地排版各种编程语言。它默认内置了对多达80多种语言的支持,包括Lisp — 不过可惜的是没有对Scheme的直接支持。不过这也不是一个大的问题,因为listings提供了宏命令lstdefinelanguage来自定义新的语言。

\lstdefinelanguage{Scheme}{%
morekeywords={begin,call-with-current-continuation,call/cc,define,%
case,cond,do,delay,else,force,for-each,map,if,and,or,not,lambda,%
let,let-syntax,let*,letrec,letrec-syntax,syntax,syntax-rules%
},%
sensitive,%
alsodigit=-,%
morecomment=[l]{;},%
morecomment=[s]{\#|}{|\#},%
morestring=[b]{“}%
}[keywords,comments,strings]

其实Scheme的关键字相当稀少,除了define, lambda, if等等,其它多数只是宏而已,不过一起定义出来使得排版出来的代码自动语法高亮,还是相当赏心悦目。

PGF and TikZ

Sunday, August 24th, 2008

接触LaTeX也两三年了。在处理文字排版问题时,它已经成为我的个人首选。渐渐的,我也开始对字体、版式和图片有所挑剔。并且我发现完成一篇文档需要的时间远比用M$ Office来的多,其中主要时间在插图 — Linux下一只没有用起来顺手的作图工具。Xfig比较不错,不过我只喜欢用键盘,而笔记本又没有鼠标中键,很不方便。

然而终于找到一个perfectly适合我个人品味的解决方案:PGF/TikZ包。有个老外博士很nice的在其网站上展示了一系列漂亮的示例,包含tex源文件和生成的pdf文件。

很多软件看起来不够人性,门槛较高,不过一旦你跨过那道槛,便是另外一个天地了。Vim, Emacs, 以及LaTeX等,莫不如此。此外,不要满足于20%的足够80%的应用,不要有事没事总是google,系统的完整的阅读一下(至少扫描一眼)所用软件的手册先。

英文手册[pdf],中文手册[pdf]。

latex

Friday, April 20th, 2007

终于解决了LaTeX排版中图片以及标题旋转的问题,水源回帖建议用lscape包,或”\rotatebox”。不过最后两者都未用,而是使用了更强大并且更符自己排版要求的rotating包,用它可以轻易产生下面的插图:
只要少量的代码就能让LaTeX排出这样一幅图片。一眼看见它的时候我想到了MIT计算机科学系的系徽 — lambda标志, 包含着递归和无穷。

fcitx和skype协作得很好,可惜skype里无人在线 — 其实这也是我第四或者第五次用skype,Linux中我唯一的语音通讯手段。Gaim里居然又自带QQ插件了,自从0.56版本后就再也没用它连过QQ,试了试,有QQ群的时候极容易自动退出,还好有两个号码,其中一个没加入任何群。