<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>aifreedom &#187; Technology</title>
	<atom:link href="http://aifreedom.com/category/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://aifreedom.com</link>
	<description>Just feel free as in freedom</description>
	<lastBuildDate>Fri, 30 Dec 2011 18:11:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>解决 Evince 中查看 PDF 文档中文字体乱码</title>
		<link>http://aifreedom.com/technology/173#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e8%25a7%25a3%25e5%2586%25b3-evince-%25e4%25b8%25ad%25e6%259f%25a5%25e7%259c%258b-pdf-%25e6%2596%2587%25e6%25a1%25a3%25e4%25b8%25ad%25e6%2596%2587%25e5%25ad%2597%25e4%25bd%2593%25e4%25b9%25b1%25e7%25a0%2581</link>
		<comments>http://aifreedom.com/technology/173#comments</comments>
		<pubDate>Wed, 12 Jan 2011 16:54:42 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Chinese]]></category>
		<category><![CDATA[Font]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mojibake]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[乱码]]></category>
		<category><![CDATA[字体]]></category>

		<guid isPermaLink="false">http://aifreedom.com/?p=173</guid>
		<description><![CDATA[本文及所附代码, 文件在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 解决在 Linux 里的中文 PDF 乱码问题的文章已经有很多了, 这篇日志只是一篇笔记式的日志, 整理了网上流传的各式"解决方案". 首先, Gnome 下的 Evince 和 KDE 下的 KPDF 用来渲染 PDF 文档的后端程序都是 xpdf. 要让 xpdf 支持中文文档, 需要安装 xpdf-chinese-simplified 和 xpdf-chinese-traditional. 其次, 需要让 xpdf 能识别出 PDF 文档内容的正确编码, 需要 poppler 的支持. 在 Ubuntu 的源里, 有一个叫做 poppler-data 的包, 装上它才能让 xpdf 正确地识别出代码. 最后, 对于没有内嵌中文字体的文档(比如 China-Pub 上的一些试阅图书), 系统默认的配置文件(/etc/fonts/conf.avail/49-sansserif.conf)里的值为 sans-serif. 但默认的 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文及所附代码, 文件在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>解决在 Linux 里的中文 PDF 乱码问题的文章已经有很多了, 这篇日志只是一篇笔记式的日志, 整理了网上流传的各式"解决方案".</p>
<p>首先, Gnome 下的 Evince 和 KDE 下的 KPDF 用来渲染 PDF 文档的后端程序都是 xpdf. 要让 xpdf 支持中文文档, 需要安装 xpdf-chinese-simplified 和 xpdf-chinese-traditional.</p>
<p>其次, 需要让 xpdf 能识别出 PDF 文档内容的正确编码, 需要 poppler 的支持. 在 Ubuntu 的源里, 有一个叫做 poppler-data 的包, 装上它才能让 xpdf 正确地识别出代码.</p>
<p>最后, 对于没有内嵌中文字体的文档(比如 China-Pub 上的一些试阅图书), 系统默认的配置文件(/etc/fonts/conf.avail/49-sansserif.conf)里的值为 sans-serif. 但默认的 sans-serif 字体是不支持中文的, 需要给它手动指定一个支持中文的字体. 在我的电脑上, 我将 Windows 里的宋体安装了过来, 因此我将上面的配置文件中</p>
<p><code>&lt;edit name="family" mode="append_last"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;string&gt;sans-serif&lt;/string&gt;<br />
&lt;/edit&gt;</code></p>
<p>改成了</p>
<p><code>&lt;edit name="family" mode="append_last"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;string&gt;SimSun&lt;/string&gt;<br />
&lt;/edit&gt;</code></p>
<p>Linux 里安装字体的方法见这篇<a href="http://aifreedom.com/technology/158">关于 XeLaTeX 的日志</a>.</p>
<p>如果没有安装其他的字体, 可以在终端中输入 <span style="font-family: monospace;">fc-list :lang=zh-cn</span> 命令查看已经安装的中文字体.</p>
<p>我认为经过以上的步骤, 就能解决 Evince 下中文 PDF 的乱码问题. 但我同时根据网上各种解决方案, 安装了很多其他的包. 包括 cmap-adobe-* 包(根据描述是将字符编码映射到 CID 字体的表), ttf-arphic-* 包(一堆中文 TTF 字体). 而且根据 <a href="http://aifreedom.com/technology/168">apt-log</a> 的结果, 我安装这些包的时间都在2010年9月, 记忆也不甚准确.</p>
<p>有任何疑问或指正请在日志后留言, 感谢各位在这篇日志后留言的老师.</p>
<a href="http://aifreedom.com/technology/173" title="链接">链接</a> | <a href="http://aifreedom.com/technology/173#comments" title="评论">评论(2)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/173/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LaTeX 宏包小记 (2): listings</title>
		<link>http://aifreedom.com/technology/170#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=latex-%25e5%25ae%258f%25e5%258c%2585%25e5%25b0%258f%25e8%25ae%25b0%25e4%25ba%258c-listings</link>
		<comments>http://aifreedom.com/technology/170#comments</comments>
		<pubDate>Sat, 01 Jan 2011 17:28:04 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Macro Packages]]></category>

		<guid isPermaLink="false">http://aifreedom.com/?p=170</guid>
		<description><![CDATA[本文及所附代码, 文件在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 新年第一篇 post, 祝所有的读者新年快乐(只是不知道这么久都没有更新, 是否还有读者). 去年一年严格地说只写了2篇日志, 新年赶紧补上一篇吧. 这个 宏包的介绍系列我会坚持把它写下去. 很高兴地看到周围有更多的同学和老师(对, 最新见到几位听说/用过 的老师了), 这让我有更大的兴趣和信心继续介绍和普及 的知识了. 再次警告: 是一个较难上手的软件, 而且在熟悉后可能会使你成为一个完美主义者并再也不愿意使用 Microsoft Word. 言归正传, 为 实现代码高亮的宏包不可谓不多, listings 是我比较熟悉和常用的一个. 这里稍稍总结一下 listings 常用的参数, 更多的配置选项可以在它的手册里查到. Getting started listings 可以在 CTAN 下载, 如果访问 CTAN 服务器的的速度太慢, 也可以在 CTeX 提供的 CTAN 镜像下载. CTAN 和 CRAN 的镜像可以分别在这里和这里查看. texlive 的各个版本里(至少是2008之后的各个版本里)都有这个宏包. 它的中文字体配置可以参见这篇日志. 如果你使用 texlive. 你可以首先试试编译下面的代码来检验你的 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文及所附代码, 文件在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>新年第一篇 post, 祝所有的读者新年快乐(只是不知道这么久都没有更新, 是否还有读者). 去年一年严格地说只写了2篇日志, 新年赶紧补上一篇吧.</p>
<p>这个 <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_c51d7e23458ca0e7373a8ed6ab56b2b9.gif' style=' ' class='tex' alt="\LaTeX" /></span> 宏包的介绍系列我会坚持把它写下去. 很高兴地看到周围有更多的同学和老师(对, 最新见到几位听说/用过 <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_c51d7e23458ca0e7373a8ed6ab56b2b9.gif' style=' ' class='tex' alt="\LaTeX" /></span> 的老师了), 这让我有更大的兴趣和信心继续介绍和普及 <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_c51d7e23458ca0e7373a8ed6ab56b2b9.gif' style=' ' class='tex' alt="\LaTeX" /></span> 的知识了.</p>
<p>再次警告: <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_c51d7e23458ca0e7373a8ed6ab56b2b9.gif' style=' ' class='tex' alt="\LaTeX" /></span> 是一个较难上手的软件, 而且在熟悉后可能会使你成为一个完美主义者并再也不愿意使用 Microsoft Word.</p>
<p>言归正传, 为 <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_c51d7e23458ca0e7373a8ed6ab56b2b9.gif' style=' ' class='tex' alt="\LaTeX" /></span> 实现代码高亮的宏包不可谓不多, listings 是我比较熟悉和常用的一个. 这里稍稍总结一下 listings 常用的参数, 更多的配置选项可以在它的手册里查到.</p>
<h1>Getting started</h1>
<p>listings 可以在 <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/listings/">CTAN 下载</a>, 如果访问 CTAN 服务器的的速度太慢, 也可以在 CTeX 提供的 <a href="http://ftp.ctex.org/mirrors/CTAN/macros/latex/contrib/listings/">CTAN 镜像</a>下载. CTAN 和 CRAN 的镜像可以分别在<a href="http://dante.ctan.org/mirmon/#cn">这里</a>和<a href="http://ftp.ctex.org/mirrors/CRAN/">这里</a>查看. texlive 的各个版本里(至少是2008之后的各个版本里)都有这个宏包. 它的中文字体配置可以参见<a href="http://aifreedom.com/technology/158">这篇日志</a>. 如果你使用 texlive. 你可以首先试试编译下面的代码来检验你的 listings 包是否安装成功了:</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #E02020; ">\</span><span style="color: #800000;">documentclass</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">article</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">listings</span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">lstlisting</span></span><span style="color: #E02020; ">}[</span><span style="color: #C08020; font-weight: normal;">language=C, label=lst:helloworld, caption=Helloworld, numbers=left, basicstyle=\<span style="color: #800000;">ttfamily</span></span><span style="color: #E02020; ">]</span>
int main()
<span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">
    printf(&quot;Hello world!<span style="color: #800000; font-weight: normal;">\n</span>&quot;);
    return 0;
</span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">lstlisting</span></span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></pre></div></div>

<p>如果编译成功了, 那么你应该能看到如下图所示的文档.</p>
<p><img src="http://aifreedom.com/images/2011010201.png" alt="helloworld formatted by listings" /></p>
<p>第一眼看到这段代码我就觉得她有哪儿不对劲, 不过直到 yangyi 教主提醒我才发现它是用的 serif 字体排的代码, 难怪蛋疼.. 加上 basicstyle=\ttfamily 之后, <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_c51d7e23458ca0e7373a8ed6ab56b2b9.gif' style=' ' class='tex' alt="\LaTeX" /></span> 就会用等宽字体排版了. 但由于LaTeX自带的Computer Modern Typewriter等宽字体没有粗体, 会造成看不出代码高亮的效果(因为默认的代码高亮效果是粗体). 但如果使用 XeLaTeX 并调用 Consolas 或者 Courier 之类带粗体的等宽字体, 就能得到很好的效果.</p>
<h1>Options</h1>
<p>listings 包提供了 \lstset 命令, 可以用来设置排版出的代码效果的各种选项. 命令的格式是</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\lstset</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">key=value</span><span style="color: #E02020; ">}</span></pre></div></div>

<p>下面的代码是我常用的 listings 设置, 从中你可以看出来它的格式是 key = value.</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\lstset</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">numbers=none,
  numberstyle=<span style="color: #800000; font-weight: normal;">\scriptsize</span>,
  frame=none,
  flexiblecolumns=false,
  language=Python,
  basicstyle=<span style="color: #E02020; ">\</span><span style="color: #800000;">ttfamily</span><span style="color: #800000; font-weight: normal;">\small</span>,
  breaklines=true,
  extendedchars=true,
  escapechar=<span style="color: #800000; font-weight: normal;">\%</span>,
  texcl=true,
  showstringspaces=true,
  keywordstyle=<span style="color: #E02020; ">\</span><span style="color: #800000;">bfseries</span>,
  tabsize=4</span><span style="color: #E02020; ">}</span></pre></div></div>

<p>常用的设置我都在下面做了简要介绍, 更多的设置请查阅手册.</p>
<h2>Language</h2>
<p>这应该是最重要的参数了, 它决定了有哪些关键词需要高亮. listings 支持的语言有很多, C/C++, Python, Ruby, Lisp 等许多语言. 详细的支持语言及其标准名称见 <a href="http://mirrors.xmu.edu.cn/CTAN/macros/latex/contrib/listings/listings.pdf">lisitngs 文档</a> 第12页 Table 1.</p>
<p>如果想输入等宽的纯文本文件, 可以使用 "language=".</p>
<h2>Line Numbers</h2>
<p>listings 能显示代码的行号, 相关的 key 有 numbers, numberstyle, stepnumber, numbersep, firstnumber, lastnumber.</p>
<p>numbers 的值可以是 left, right, none, 分别代表了将行号放在代码的左边, 右边和不显示.</p>
<p>numberstyle 的值设置了行号的样式, 可以是 \tiny 等设置字体大小的命令或是设置字体风更的命令.</p>
<p>stepnumber 的值设置了每多少行显示一次行号.</p>
<p>其它的参数我很少用到, 就不一一介绍了. 还是 RTFM(Read The Fucking Manual) 吧.</p>
<h2>Frame</h2>
<p>这个命令能让代码周围显示边框. 它的值可以是 none|leftline|topline|bottomline|lines|single|shadowbox 中的任意一个(默认为none, 即没有边框).</p>
<h2>Escaping to LaTeX</h2>
<p>这个选项能让 listings 里的部分代码被 LaTeX 解析而不是原封不动地显示出来. 这个设置对我来说主要有两个用处, 一个是在注释里写上公式, 另一个是它能让 listings 中的中文能正确地排版.</p>
<p>texcl, 设置为 true 后能让代码中的注释按照设置的注释格式显示, 并被 LaTeX 解析后显示. 设置它之后就能在代码里正确显示中文了.</p>
<p>escapechar, 设置了代码中, 被哪个字符包围的部分由 LaTeX 解析后显示在文档里. 比如: escapechar=\% 能让被"%"包围的代码 escape.</p>
<p>escapeinside, 设置两个字符(可以是不同的字符), 被它们包围的字符会 escape, 如 escapeinside=''</p>
<p>为了避免出现错误, 在这个转义(escaping)的区域中, 不要使用任何 listings 的命令, 所有的环境(environment)都必须闭合, $符号必须成对出现.</p>
<h2>Floating</h2>
<p>这个选项能让 listing 成为浮动对象. 它的值可以是 tbph 的排列组合, 具体含义见The not so Short Introduction to LaTeX(<a href="http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf">en</a> | <a href="http://mirrors.xmu.edu.cn/CTAN/info/lshort/chinese/lshort-zh-cn.pdf">cn</a>) 2.12 Floating Bodies 章节. 它可以避免代码块被其他文字打断.</p>
<h2>Labels and Captions</h2>
<p>使用 label 可以设置标签供文档的其他部分引用, 使用 caption 可以设置 listing 的标题, 这个可以像前面的例子中那样设置. 同时, 你也可以注意到另一种设置 listings 配置的方法.</p>
<h2>lstinputlisting, 最后的命令</h2>
<p>lstinputlisting 这个命令在排版实验报告和作业文档时特别有用. 它可以将硬盘上的一个文件作为输入, 导入文档中. 这样, 当你修改了程序后, 只需重新编译 tex 文件即可更新文档. 享受过这项的功能的方便后, 我每次看到有人在写大作业报告时, 因为对代码做了细小改动而不得不重新排版报告时, 我都会不由自主地会心一笑.</p>
<a href="http://aifreedom.com/technology/170" title="链接">链接</a> | <a href="http://aifreedom.com/technology/170#comments" title="评论">评论(8)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/170/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>apt-log: 找回误删的软件包</title>
		<link>http://aifreedom.com/technology/168#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apt-log-%25e6%2589%25be%25e5%259b%259e%25e8%25af%25af%25e5%2588%25a0%25e7%259a%2584%25e8%25bd%25af%25e4%25bb%25b6%25e5%258c%2585</link>
		<comments>http://aifreedom.com/technology/168#comments</comments>
		<pubDate>Wed, 10 Nov 2010 03:35:58 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[log]]></category>

		<guid isPermaLink="false">http://aifreedom.com/?p=168</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 今天想在 Linux 里装上 PPLive 看 WDC 的比赛, 装了几个依赖的 lib 还是不能用. 嫌麻烦不折腾了, 就顺手把刚装的几个 lib 包删掉. 正删着发现不对劲了, 怎么把 gnome-do, workrave, emacs, AUCTeX 都删了?! 想也没想, 就把终端关了. 这时候才想起来关了终端也没用, apt-get 是 root 的进程. 找到 pid, 果断 kill. 但删除已经进行到一半被退出, 也不知道到底删了多少去了. 用 sudo dpkg --configure -a 恢复更新的进程. 果然满目疮痍, 连 nautilus 都没了.. 只有找 apt 的日志来恢复了. 在我的系统里, apt 的日志存在 /var/log/apt/ 目录里. 因为是刚刚删完的, cat [...]]]></description>
			<content:encoded><![CDATA[<p>本文在<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>今天想在 Linux 里装上 PPLive 看 WDC 的比赛, 装了几个依赖的 lib 还是不能用. 嫌麻烦不折腾了, 就顺手把刚装的几个 lib 包删掉. 正删着发现不对劲了, 怎么把 gnome-do, workrave, emacs, AUCTeX 都删了?! 想也没想, 就把终端关了. 这时候才想起来关了终端也没用, apt-get 是 root 的进程. 找到 pid, 果断 kill.</p>
<p>但删除已经进行到一半被退出, 也不知道到底删了多少去了. 用 <code>sudo dpkg --configure -a </code>恢复更新的进程. 果然满目疮痍, 连 nautilus 都没了.. 只有找 apt 的日志来恢复了.</p>
<p>在我的系统里, apt 的日志存在 /var/log/apt/ 目录里. 因为是刚刚删完的, <code>cat /var/log/apt/history.log </code>里最后一条就是刚删掉的包, 把它们重新装一遍就好了.</p>
<p>顺便, 我还找到了一个给 apt 的 log 提供按日期, 安装包名字等查找的脚本 "<a href="http://mavior.eu/apt-log/">apt-log</a>", 可以在它的 <a href="http://mavior.eu/apt-log/download/">Download</a> 页面下载.</p>
<p>使用方法很简单, 看一下它给出的例子就很清楚了. 比如, 按照时间来查找:</p>
<ol>
<li><code>apt-log 2010 </code>就会显示出你2010年有更新日志的月份.</li>
<li><code>apt-log 2010-11 </code>会显示有更新的天. 依次查找, 可以找到每次更新的时间, 也就可以看到每次更新的日志.</li>
</ol>
<p>apt-log还有一些参数, 比如:</p>
<ul>
<li><code>apt-log --changes 2010-11-10</code> 显示2010-11-10这一天做的所有修改.</li>
<li><code>apt-log --history kde.* </code>显示所有kde包的修改历史.</li>
<li><code>apt-log --status gnome.* </code>显示所有gnome包的状态.</li>
</ul>
<p>更多的example, 见apt-log作者给出的<a href="http://mavior.eu/apt-log/examples/">example/doc</a>.</p>
<a href="http://aifreedom.com/technology/168" title="链接">链接</a> | <a href="http://aifreedom.com/technology/168#comments" title="评论">评论(5)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/168/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>LaTeX 宏包小记 (1): 用 prosper 制作幻灯片</title>
		<link>http://aifreedom.com/technology/162#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=latex-%25e5%25ae%258f%25e5%258c%2585%25e5%25b0%258f%25e8%25ae%25b0-1-%25e7%2594%25a8-proser-%25e5%2588%25b6%25e4%25bd%259c%25e5%25b9%25bb%25e7%2581%25af%25e7%2589%2587</link>
		<comments>http://aifreedom.com/technology/162#comments</comments>
		<pubDate>Thu, 27 May 2010 18:28:45 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Macro Packages]]></category>
		<category><![CDATA[Presentation]]></category>

		<guid isPermaLink="false">http://aifreedom.com/technology/162</guid>
		<description><![CDATA[本文及所附代码, 文件在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 在这个 Blog 里, 我已经写过几篇配置 LaTeX 的文章了, 包括 CJK 宏包字体的配置和 texlive 2008 的配置. 现在计划开始写一个新的系列, 介绍 LaTeX 里林林总总的宏包(Macro Packages)们. 这个系列的文章不是为对 LaTeX 一无所知的新手写的, 因为我不擅长写入门教程. 但如果你确实需要一本 LaTeX 入门教程, 我极力推荐 "The Not So Short Introduction to LaTeX 2ε". 在 ctex.org 可以找到它的中文版, "一本不太简短的 LaTeX 2ε 介绍". 虽说这个系列不是为新手写的, 但它们也不是为那些已经能闭着眼睛就可以用 LaTeX 排出想要的任何效果的高手写的. 这些文章可以看作是我的学习笔记, 而我希望能在 Blog 里同更多和我一样正在努力成为 LaTeX 高手的朋友们分享. 在这些日志里, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文及所附代码, 文件在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>在这个 Blog 里, 我已经写过几篇配置 LaTeX 的文章了, 包括 <a href="http://aifreedom.com/technology/113">CJK 宏包字体的配置</a>和 <a href="http://aifreedom.com/technology/153">texlive 2008 的配置</a>. 现在计划开始写一个新的系列, 介绍 LaTeX 里林林总总的宏包(Macro Packages)们.</p>
<p>这个系列的文章不是为对 LaTeX 一无所知的新手写的, 因为我不擅长写入门教程. 但如果你确实需要一本 LaTeX 入门教程, 我极力推荐 "The Not So Short Introduction to LaTeX 2ε". 在 ctex.org 可以找到它的中文版, "一本不太简短的 LaTeX 2ε 介绍".</p>
<p>虽说这个系列不是为新手写的, 但它们也不是为那些已经能闭着眼睛就可以用 LaTeX 排出想要的任何效果的高手写的. 这些文章可以看作是我的学习笔记, 而我希望能在 Blog 里同更多和我一样正在努力成为 LaTeX 高手的朋友们分享. 在这些日志里, 我记录下了使用过的一些有趣和/或有用的宏包. 但实话实说, 这些文章都相当没有技术含量. 在我自己看来, 都如白开水一般平淡无味.</p>
<p>在开始正文前, 先废话几句. TeX 和 LaTeX 这两个词究竟该怎么读? Knuth 说 "TeX" 来自希腊单词 "texnologia"(technology) 的第一个音节, 发音为 "Tech", 就是英文单词 "technology" 的第一个音节. 而 "LaTeX" 的发音是 "Lay-tech" 或 "Lah-tech". TeX 的伟大不仅仅体现在 Knuth 大神那近乎完美的编码, 更体现在 Knuth 大神为它留下的强大的可扩展能力. LaTeX 就是基于 TeX 开发的一个宏包, 它的出现让 TeX 更平易近人, 使普通人也能轻松地完成高质量的排版.</p>
<p>LaTeX 最常见的用途是用来为学术论文进行排版, 因为它可以清晰地体现文章的逻辑结构, 也可以让作者方便地排版数学公式, 更可以很容易地生成像脚注, 交叉引用, 目录和引用文献这样的复杂结构. 但今天要介绍的宏包 prosper 却是用来生成幻灯片的. 使用 LaTeX 生成幻灯片的优势在于它有 METAFONT, tikz 等这样强大的绘图工具的支持, 在演示逻辑性很强的过程时(比如, 演示最短路的算法时)会相当方便. 但缺点是因为生成的文件是 pdf, 很难有丰富的动画效果.</p>
<p>但我这次使用它却只是"闲得蛋疼". 这学期的英文写作课上, 我要代表小组做一个 presentation. 在写幻灯片时, 我放弃了 WPS, 转而尝试了一下完全不熟悉的 prosper.</p>
<p>首先, 文档类型要声明为 prosper, 即 \documentclass{prosper}. 在这里可以声明一些参数, 比如是否生成黑白的幻灯片, 使用何种主题等等. 在导言部分可以用 \title, \subtitle, \author, \institution 等命令定义幻灯片的标题, 作者等信息. 然后就可以 \begin{document}, \maketitle 了. 日志的最后有我这次 presentation 的幻灯片和源文件, 不知道我这段话说了什么没关系, 可以参照那个源文件的结构.</p>
<p>每一页幻灯片都是一个 slide 环境, 就是被 \begin{slide}{title} 和 \end{slide} 包围着的一段文字. 在幻灯片里, 可以随意书写文字, 但为了体现演讲的逻辑性, 应该多使用 itemize 和 enumerate 环境.</p>
<p>为了使幻灯片里的条目可以随着演讲者的要求, 一条一条地出现在屏幕上, 在 PowerPoint 里可以使用动画. 但在这里只能让第一张幻灯片上写着第一条, 第二张第二条, 如此产生它们是一条一条出现的伪动画效果了. 当然, 不需要你自己人肉完成这项工作, 但你得告诉 LaTeX 到哪里是第一条, 到那里是第二条.</p>
<p>需要这样效果的部分要用 \overlay{n}{...} 包围起来, 参数 n 是希望分成的页数. 在内容里, 用 \FromSlide{m} 告诉 LaTeX, 我后面的内容从第 m 张幻灯片才开始显示. 比如在下面的这张幻灯片里, 我想让第一级 itemize 每一个 item 依次出现. 于是我在第一个 item 之前加上了 \FromSlide{1}, 在第二个 item 之前加上了 \FromSlide{2}. 效果就是生成的 pdf 里会出现两张幻灯片, 第一张只有第一条, 而第二张上有两条. 类似的标签还有 \UntilSlide{m} 和 \OnlySlide{m}, 它们表达的含义也很明显.</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\overlays</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">
  <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">Demerit in First Draft</span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Third Supporting Paragraph
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Mere abstract statements
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> No example supporting the statement of reliability
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> The only example is for exception
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Conclusive Paragraph
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Metaphor
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> But draw it out more
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> How is the car like comfortable old clothes?
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
  <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}}</span></pre></div></div>

<p>prosper 自带了一些幻灯片的样式, 但它们大多数都让用惯了 PowerPoint 的人不敢恭维. 我用的这个 fyma 算是里面比较清新的一种了. 样式文件可以在 prosper 的安装文件夹里找到, 那些叫做 "PPRxxxx.sty" 的文件都是样式文件了. 想使用哪种样式需要在 documentclass 的选项里声明. 想自定义样式的可以去查一下 prosper 的手册. texlive 2008 里, prosper 的安装路径是 /usr/local/texlive/2008/texmf-dist/tex/latex/prosper</p>
<p>最后, prosper 不支持 pdfLaTeX, 当然也就不支持 xeLaTeX. 所以想要用它生成 pdf 的幻灯片需要使用 "latex slide.tex &amp;&amp; dvipdf slide.dvi" 命令. 而且这带来的问题就是如果要生成带中文的幻灯片需要配置 CJK 宏包. 关于 CJK 宏包的设置和中文字体的按照, 可以参见<a href="http://aifreedom.com/technology/113">这里</a>.</p>
<p>下面是源文件和<a href="http://aifreedom.com/attachment/20100528/2010052801.pdf">编译好的 pdf</a>.</p>
<p><span id="more-162"></span></p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #E02020; ">\</span><span style="color: #800000;">documentclass</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">slideColor, pdf, fyma</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">prosper</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">title</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">The Joys of an Old Car</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">subtitle</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Cause-Effect Essay</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">author</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\textsc</span>{Xie Song</span><span style="color: #E02020; ">}</span> Presents<span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\institution</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\textsc</span>{Computer Science</span><span style="color: #E02020; ">}</span> 0813<span style="color: #E02020; ">\\</span><span style="color: #800000; font-weight: normal;">\textsc</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Group</span><span style="color: #E02020; ">}</span> 4<span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">newcommand</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\ans</span></span><span style="color: #E02020; ">}[</span><span style="color: #C08020; font-weight: normal;">1</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">\<span style="color: #800000;">textbf</span>{Key:</span><span style="color: #E02020; ">}</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">#1</span><span style="color: #E02020; ">}}</span>
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">maketitle</span>
<span style="color: #800000; font-weight: normal;">\overlays</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">3</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">
  <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">Demerit in First Draft</span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Introductory Paragraph
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Not detailed
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> How do others comment on the old car?
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> First Supporting Paragraph
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Not persuasive
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Provide specific details
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> How many major repairs?
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> How good is the gas mileage?
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">3</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Second Supporting Paragraph
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Implicit topic sentence
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Too many irrelevant contents
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Talk more about her own car
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
  <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\overlays</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">
  <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">Demerit in First Draft</span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1</span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Third Supporting Paragraph
        <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
        <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Mere abstract statements
        <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> No example supporting the statement of reliability
        <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> The only example is for exception
        <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
        <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Conclusive Paragraph
        <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
        <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Metaphor
        <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> But draw it out more
        <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> How is the car like comfortable old clothes?
        <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
  <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\overlays</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">4</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">
  <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">Outline of Final Version</span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Topic</span><span style="color: #E02020; ">}</span>: The joys of an old car
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Thesis</span><span style="color: #E02020; ">}</span>: The old car has opened my eyes to rewards
      of owning an old car
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">3</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Reason I</span><span style="color: #E02020; ">}</span>: My old Toyota is <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">economy</span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">4</span><span style="color: #E02020; ">}</span>
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Shiny red year-old leftover, for a mere <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\$</span>4,200</span><span style="color: #E02020; ">}</span>
        then, but it is <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">4 times</span><span style="color: #E02020; ">}</span> cost now
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Save money on insurance for being not worthwhile
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Only <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">three</span><span style="color: #E02020; ">}</span> major repairs in the last several years
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Good gas mileage: <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">28 miles/gal</span><span style="color: #E02020; ">}</span> in city and <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">41 miles/gal</span><span style="color: #E02020; ">}</span> on highway
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
  <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\overlays</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">
  <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">Outline of Final Version</span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Topic</span><span style="color: #E02020; ">}</span>: The joys of an old car
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Thesis</span><span style="color: #E02020; ">}</span>: The old car has opened my eyes to rewards
      of owning an old car
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Reason I</span><span style="color: #E02020; ">}</span>: My old Toyota is <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">economy</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Reason II</span><span style="color: #E02020; ">}</span>: My old Toyota is <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">dependable</span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}</span>
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> A Toyota that passes the <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">20,000-mile mark</span><span style="color: #E02020; ">}</span> with no problems
        will probably go on forever
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> When Boss got stuck with <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">brand-new BMW</span><span style="color: #E02020; ">}</span> in the <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">worst snowstorm</span><span style="color: #E02020; ">}</span>,
        I sauntered into work on time
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> The single time Toyota didn't start was a final exam day
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Body of an old car, the engine of a teenager
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
  <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\overlays</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">
  <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">Outline of Final Version</span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Topic</span><span style="color: #E02020; ">}</span>: The joys of an old car
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Thesis</span><span style="color: #E02020; ">}</span>: The old car has opened my eyes to rewards
      of owning an old car
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Reason I</span><span style="color: #E02020; ">}</span>: My old Toyota is <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">economy</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Reason II</span><span style="color: #E02020; ">}</span>: My old Toyota is <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">dependable</span><span style="color: #E02020; ">}</span>
    <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> <span style="color: #E02020; ">\</span><span style="color: #800000;">textbf</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Reason III</span><span style="color: #E02020; ">}</span>: Having the same car for many years offers the
      advantage of <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">familiarity</span><span style="color: #E02020; ">}</span>
      <span style="color: #800000; font-weight: normal;">\FromSlide</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">2</span><span style="color: #E02020; ">}</span>
      <span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Like a well-worn glove
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Know to the <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">millimeter</span><span style="color: #E02020; ">}</span> exactly how much room when turning
        a corner or back into a curbside parking space
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Gas ``empty'' means <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">1.3 gallons</span><span style="color: #E02020; ">}</span> are still in
        reserve
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> Front wheels invariably shake when going more than <span style="color: #E02020; ">\</span><span style="color: #800000;">emph</span><span style="color: #E02020; ">{</span>55<span style="color: #2C922C; font-style: italic;">%</span>
          miles/h<span style="color: #E02020; ">}</span>
      <span style="color: #E02020; ">\</span><span style="color: #800000;">item</span> The only surprises come from other drivers
      <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
    <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">itemize</span></span><span style="color: #E02020; ">}</span>
  <span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">slide</span></span><span style="color: #E02020; ">}}</span>
<span style="color: #800000; font-weight: normal;">\part</span><span style="color: #E02020; ">{</span><span style="color: #00008B; font-weight: bold;">\<span style="color: #800000;">huge</span> Thanks for your time!</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
<span style="color: #2C922C; font-style: italic;">%%% Local Variables:</span>
<span style="color: #2C922C; font-style: italic;">%%% mode: latex</span>
<span style="color: #2C922C; font-style: italic;">%%% TeX-master: t</span>
<span style="color: #2C922C; font-style: italic;">%%% End:</span></pre></div></div>

<a href="http://aifreedom.com/technology/162" title="链接">链接</a> | <a href="http://aifreedom.com/technology/162#comments" title="评论">评论(15)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/162/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>TeX Live 2008 安装 &amp; 配置中文支持 (下)</title>
		<link>http://aifreedom.com/technology/158#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tex-live-2008-%25e5%25ae%2589%25e8%25a3%2585-%25e9%2585%258d%25e7%25bd%25ae%25e4%25b8%25ad%25e6%2596%2587%25e6%2594%25af%25e6%258c%2581-%25e4%25b8%258a-2</link>
		<comments>http://aifreedom.com/technology/158#comments</comments>
		<pubDate>Wed, 30 Sep 2009 15:07:14 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://aifreedom.com/technology/158</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 居然拖了两个多月都没把这篇文章写完, 但十月份之前总算交出了它的下半篇. 上次说到把 XeLaTeX 安装好了. 但默认的设置对中英文混排支持还不够好, 不能对中文和英文分别设置字体, 也不能很好地处理中文和英文之间的空白距离. 我们可以安装孙文昌老师开发的 xeCJK 宏包来解决这个问题. xeCJK 的宏包可以在这里下载到. 这个不是最新版的 xeCJK, 因为最新版的 xeCJK 需要 xetex 0.9995.0 之后的版本(TeX Live 2009 或 MiKTeX 2.8). 而且新版的 xeCJK 已经被收入 ctex-kit 项目, 将随 TeX Live 2009 一起分发. 就是说, 等到 TeX Live 2009 Release 的时候, 它对中文的支持会比现在好很多. 把刚刚下载到的压缩包解压到 ~/.texlive2008/texmf/tex/xelatex/, 然后用mktexlsr 更新. (这里我不是很了解, 只是照葫芦画瓢, 没自己看过文档, 有什么问题还请诸位老师指正) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>居然拖了两个多月都没把这篇文章写完, 但十月份之前总算交出了它的下半篇.</p>
<p>上次说到把 XeLaTeX 安装好了. 但默认的设置对中英文混排支持还不够好, 不能对中文和英文分别设置字体, 也不能很好地处理中文和英文之间的空白距离. 我们可以安装孙文昌老师开发的 xeCJK 宏包来解决这个问题.</p>
<p>xeCJK 的宏包可以在<a href="http://ctex-kit.googlecode.com/files/xecjk-2_2_15.zip">这里</a>下载到. 这个不是最新版的 xeCJK, 因为最新版的 xeCJK 需要 xetex 0.9995.0 之后的版本(TeX Live 2009 或 MiKTeX 2.8). 而且新版的 xeCJK 已经被收入 <a href="http://code.google.com/p/ctex-kit/">ctex-kit</a> 项目, 将随 TeX Live 2009 一起分发. 就是说, 等到 TeX Live 2009 Release 的时候, 它对中文的支持会比现在好很多.</p>
<p>把刚刚下载到的压缩包解压到 ~/.texlive2008/texmf/tex/xelatex/, 然后用mktexlsr 更新. (这里我不是很了解, 只是照葫芦画瓢, 没自己看过文档, 有什么问题还请诸位老师指正)</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">unzip xecjk-2_2_15.zip -d ~/.texlive2008/texmf/tex/xelatex/
cd ~/.texlive2008/texmf
mktexlsr .</pre></div></div>

<p>在刚才下载的压缩包里的 doc 文件夹里有 xeCJK 的完整文档, 我这里给出一个我使用的 preamble 模板.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #2C922C; font-style: italic;">%# -*- coding: utf-8 -*-</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">documentclass</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">a4paper</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">article</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">slantfont, boldfont, CJKtextspaces,
CJKmathspaces</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">xeCJK</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 允许斜体和粗体</span>
<span style="color: #800000; font-weight: normal;">\setCJKmainfont</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">BoldFont={<span style="color: #2020C0; font-weight: normal;">Adobe Heiti Std</span><span style="color: #E02020; ">}</span>, ItalicFont=<span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Adobe Kaiti
  Std</span>}</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">Adobe Song Std</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 设置缺省中文字体</span>
<span style="color: #800000; font-weight: normal;">\setCJKmonofont</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Adobe Fangsong Std</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 设置等宽字体</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\setmainfont</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">Mapping=tex-text</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">Liberation
  Serif</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 英文衬线字体</span>
<span style="color: #800000; font-weight: normal;">\setsansfont</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Liberation Sans</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 英文无衬线字体</span>
<span style="color: #800000; font-weight: normal;">\setmonofont</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Bitstream Vera Sans Mono</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 英文等宽字体</span>
<span style="color: #800000; font-weight: normal;">\punctstyle</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">kaiming</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 开明式标点格式</span>
&nbsp;
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">indentfirst</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">% 首段缩进</span>
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">默认字体</span><span style="color: #E02020; ">}</span>   <span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">\<span style="color: #800000;">bfseries</span> 粗体效果</span><span style="color: #E02020; ">}</span>   <span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\itshape</span> 斜体效果</span><span style="color: #E02020; ">}</span>
&nbsp;
这是Ai.Freedom的Blog的第101篇日志。
&nbsp;
居然拖了两个多月都没把这篇文章写完，但十月份之前总算交出了它的下半篇。
&nbsp;
上次说到把 XeLaTeX 安装好了。但默认的设置对中英文混排支持还不够好，不能
对中文和英文分别设置字体，也不能很好地处理中文和英文之间的空白距离。我
们可以安装孙文昌老师开发的 xeCJK 宏包来解决这个问题。
&nbsp;
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></pre></td></tr></table></div>

<p>但这里给出的代码你很可能还无法编译, 因为你没有安装 Adobe 的字体. 这里用到的四个字体可以在<a href="http://forum.ubuntu.org.cn/viewtopic.php?f=35&#038;t=180987">这里</a>下载到. 其中 Adobe Song Std 和 Adobe Heiti Std 是随 Adobe Reader 一起分发的, 根据 Lisence 可以免费使用, 关于另外两个字体的版权我还不是很清楚.</p>
<p>把它们下载回来了之后解压到 ~/.fonts 目录中. 然后执行</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo fc-cache -fv</pre></div></div>

<p>更新字体缓存. 好了, 把刚才的代码保存到 test.tex 后用</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">xelatex test.tex</pre></div></div>

<p>编译就可以得到 test.pdf 了.</p>
<p>在下载的 xeCJK 的压缩包里, source 目录下有一个脚本用来为特定的字体生成标点符号. 按照 README 里的提示, 将 xecjksetpunct-main.tex 里用于 Windows 平台的部分注释掉, 把 Linux 里用到的语句的注释去掉, 然后把下面的字体设置成自己用的字体, 保存. 我们这里用的是 TeX Live, 所以执行</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">xelatex --shell-escape xecjksetpunct-main</pre></div></div>

<p>然后把生成的 xeCJKpunct.spa 文件移动到 .texlive2008/texmf-var/tex/xelatex/xecjk/tex/xelatex/xecjk 目录下, 覆盖默认的 xeCJKpunct.spa 文件. 最后执行</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">texhash .</pre></div></div>

<p>好了, 我们的配置总算是告一段落了. 关于 xeCJK 的更多详细的设置选项, 请查询它的文档. 学习 LaTeX 文档的排版, 有这样一本 "<a href="http://bbs.ctex.org/viewthread.php?tid=40736">The not so Short Introduction to LaTeX</a>", 这个链接是中文版的, 还有 CTeX 论坛的版主 milksea 推荐的<a href="http://bbs.ctex.org/viewthread.php?tid=48244&#038;page=1&#038;fromuid=60750#pid337079">这个列表</a>. 学习 LaTeX 的资料真的很多, 只要你愿意动手.</p>
<a href="http://aifreedom.com/technology/158" title="链接">链接</a> | <a href="http://aifreedom.com/technology/158#comments" title="评论">评论(7)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/158/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Linux Tricks (1)</title>
		<link>http://aifreedom.com/technology/155#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-tricks-1</link>
		<comments>http://aifreedom.com/technology/155#comments</comments>
		<pubDate>Sat, 25 Jul 2009 07:55:39 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://aifreedom.com/?p=155</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 之前写过一段时间的 Linux 日记, 后来没有继续更新了. 但我发现把在使用 Linux 的过程中解决某些问题的过程用文字记录下来是很有用的! 比如前些天我的同学问我 Mplayer 的 RMVB 解码器是哪个包, 我却记不起来了. 但我记得我写过一篇日志记录了我解决这个问题的过程, 于是他的问题也顺利解决了. 我一直认为学习的过程就是"不断遇到问题, 并寻求解决问题的方法"的过程. 把这个过程记录下来, 就为自己再次重温这个过程留下了线索. 这也就是笔记的重要性. 我在上课时很少做笔记, 但阅读有价值的书是一定要做笔记的. 计划等我有一大段空闲时间了就去整理我的笔记, 把他们都整理成 TeX 文件或者 Muse 文件. 现在这个 "Linux Tricks" 系列, 每一篇都不会太长, 内容比较杂乱, 但涉及的方面会很多. 很多的 Trick 都是从论坛或者 Blog 上看来的, 把它们集中在一起, 既方便了我日后查看, 又传播了 Linux 的文化. 今天的两个Tricks分别从徐宥和 TualatriX 处学到, 感谢他们的分享. 1. 史上最强 PS1 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>之前写过一段时间的 Linux 日记, 后来没有继续更新了. 但我发现把在使用 Linux 的过程中解决某些问题的过程用文字记录下来是很有用的! 比如前些天我的同学问我 <a href="http://aifreedom.com/technology/68">Mplayer 的 RMVB 解码器是哪个包</a>, 我却记不起来了. 但我记得我写过一篇日志记录了我解决这个问题的过程, 于是他的问题也顺利解决了.</p>
<p>我一直认为学习的过程就是"不断遇到问题, 并寻求解决问题的方法"的过程. 把这个过程记录下来, 就为自己再次重温这个过程留下了线索. 这也就是笔记的重要性. 我在上课时很少做笔记, 但阅读有价值的书是一定要做笔记的. 计划等我有一大段空闲时间了就去整理我的笔记, 把他们都整理成 TeX 文件或者 Muse 文件.</p>
<p>现在这个 "Linux Tricks" 系列, 每一篇都不会太长, 内容比较杂乱, 但涉及的方面会很多. 很多的 Trick 都是从论坛或者 Blog 上看来的, 把它们集中在一起, 既方便了我日后查看, 又传播了 Linux 的文化.</p>
<p>今天的两个Tricks分别从<a href="http://blog.youxu.info">徐宥</a>和 <a href="http://imtx.cn">TualatriX</a> 处学到, 感谢他们的分享.</p>
<p><strong>1. <a href="http://imtx.cn/archives/1298.html">史上最强 PS1</a></strong></p>
<p>这里说的 PS1 不是 Sony 的 Play Station I, 是 Bash Shell 的提示字符串(Prompt String). 就是下图中 "$" 字符前的那些信息.</p>
<p><img src="http://aifreedom.com/images/2009072501.png" alt="Snapshot of the shell with the PS1 above"/></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$force_color_prompt</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-x</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>tput <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> tput setaf <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null; <span style="color: #000000; font-weight: bold;">then</span>
	<span style="color: #666666; font-style: italic;"># We have color support; assume it's compliant with Ecma-48</span>
	<span style="color: #666666; font-style: italic;"># (ISO/IEC-6429). (Lack of such support is extremely rare, and such</span>
	<span style="color: #666666; font-style: italic;"># a case would tend to support setf rather than setaf.)</span>
	<span style="color: #007800;">color_prompt</span>=<span style="color: #c20cb9; font-weight: bold;">yes</span>
    <span style="color: #000000; font-weight: bold;">else</span>
	<span style="color: #007800;">color_prompt</span>=
    <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$color_prompt</span>=<span style="color: #c20cb9; font-weight: bold;">yes</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'`a=$?;if [ $a -ne 0 ]; then echo -n -e &quot;<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_aecdbca175c21c1c3f99b306ebe1356d.gif' style='' class='tex' alt="\e[01;32;41m " /></span></p>{$a}&quot;; fi`<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_d8340ebfa032015be7723cb9ea2c6c8b.gif' style='' class='tex' alt="\033[01;32m " /></span></p>\u@\h<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_07f9a517b21696c74f36bf55188f2e21.gif' style='' class='tex' alt="\033[00m " /></span></p> <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_de26f3eb6208668b60e95ac70d10e6fb.gif' style='' class='tex' alt="\033[01;34m " /></span></p>\W`[[ -d .git ]] &amp;&amp; echo -n -e &quot;<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_60a4b2b4597229c960abbcfade078520.gif' style='' class='tex' alt="\e[33;40m " /></span></p>(branch:$(git branch | sed -e &quot;/^ /d&quot; -e &quot;s/* <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_3e4bcd2f220984284cfbed6bb098c3eb.gif' style=' padding-bottom:2px;' class='tex' alt=".* " /></span>/\1/&quot;))<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_d8340ebfa032015be7723cb9ea2c6c8b.gif' style='' class='tex' alt="\033[01;32m " /></span></p><p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_553dfff5efd3370c52a2a124ae4a2357.gif' style='' class='tex' alt="\e[00m " /></span></p>&quot;`<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_de26f3eb6208668b60e95ac70d10e6fb.gif' style='' class='tex' alt="\033[01;34m " /></span></p> $ <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_553dfff5efd3370c52a2a124ae4a2357.gif' style='' class='tex' alt="\e[00m " /></span></p>'</span>
    <span style="color: #666666; font-style: italic;"># PS1='${debian_chroot:+($debian_chroot)}<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_d8340ebfa032015be7723cb9ea2c6c8b.gif' style='' class='tex' alt="\033[01;32m " /></span></p>\u@\h<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_07f9a517b21696c74f36bf55188f2e21.gif' style='' class='tex' alt="\033[00m " /></span></p>:<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_de26f3eb6208668b60e95ac70d10e6fb.gif' style='' class='tex' alt="\033[01;34m " /></span></p>\w<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_07f9a517b21696c74f36bf55188f2e21.gif' style='' class='tex' alt="\033[00m " /></span></p>\$ '</span>
<span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'`a=$?;if [ $a -ne 0 ]; then echo -n -e &quot;{$a}&quot;; fi`\u@\h \W`[[ -d .git ]] &amp;&amp; echo -n -e &quot;(branch:$(git branch | sed -e &quot;/^ /d&quot; -e &quot;s/* <span class='MathJax_Preview'><img src='http://aifreedom.com/wp-content/plugins/latex/cache/tex_3e4bcd2f220984284cfbed6bb098c3eb.gif' style=' padding-bottom:2px;' class='tex' alt=".* " /></span>/\1/&quot;))&quot;` $ '</span>
    <span style="color: #666666; font-style: italic;"># PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">unset</span> color_prompt force_color_prompt</pre></td></tr></table></div>

<p>这个 PS1 有两个功能: 一是高亮显示所有非0返回值, 如图所示; 二是在 Git 管理的目录下显示当前的 Git branch. 最近因为在做C语言课程设计, 用了 Git 来管理我的代码. 所以这个显示分支功能我太喜欢了. (虽然这个项目没有分支的必要..)</p>
<p>将上面的代码加入你的 <a href="http://aifreedom.com/technology/110">~/.bashrc 文件</a>.</p>
<p>如果你使用 Emacs 的 Shell-mode, 那么你需要把 ANSI 彩色字符支持打开.</p>
<p>将下面的代码加入你的<a href="http://aifreedom.com/technology/54">.emacs文件</a>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>ansi-color-for-comint-mode-on<span style="color: #66cc66;">&#41;</span></pre></td></tr></table></div>

<p><strong>2. <a href="http://blog.youxu.info/2008/03/20/some-handy-scripts/">一行语句的HTTP文件服务器</a></strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">python -m SimpleHTTPServer</pre></td></tr></table></div>

<p>可以将当前目录设为一个在8000端口开放的http服务器的根目录. 在互联网中临时共享文件的时候是多么地方便阿!</p>
<p>徐宥说很多哥们还不知道 "<span style="color:#00f;">wget -c</span>" 能断点续传, 是这样么?</p>
<a href="http://aifreedom.com/technology/155" title="链接">链接</a> | <a href="http://aifreedom.com/technology/155#comments" title="评论">评论(6)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/155/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>TeX Live 2008 安装 &amp; 配置中文支持 (上)</title>
		<link>http://aifreedom.com/technology/153#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tex-live-2008-%25e5%25ae%2589%25e8%25a3%2585-%25e9%2585%258d%25e7%25bd%25ae%25e4%25b8%25ad%25e6%2596%2587%25e6%2594%25af%25e6%258c%2581-%25e4%25b8%258a</link>
		<comments>http://aifreedom.com/technology/153#comments</comments>
		<pubDate>Tue, 21 Jul 2009 15:12:21 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://aifreedom.com/technology/153</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com Knuth 爷爷的 TeX 系统堪称完美! 但他在发明它的时候没有考虑到对英文之外的语言的支持, 因此用 LaTeX 给中文排版一直有些麻烦. 一年前, 我写过一篇日志介绍 TeX Live 2007 的中文支持配置. 但那个还是用 CJK 实现对中文的支持, 字体的配置比较麻烦. 而现在我要推荐的是 XeTeX, 它对中文的支持比 LaTeX + CJK 包要好很多. 这个解决方案是基于 XeLaTeX + xeCJK 实现对中文的支持. 其实 XeLaTeX 支持中文排版, 但它对中英文混排的支持不是很好. 它不能为中文英文分别设置字体, 也不能很好地控制中英文混排时的间距. 这些都是靠 xeCJK 这个宏包完成的. 去年的时候 LeafDuo 就跟我说 XeTeX 的中文支持很好, 但当时因为懒惰, 一直没有配置起来. 直到不久前写C语言实验报告, 才有了动力把 XeTeX 配置起来. 这篇日志主要记录的是我在 Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>Knuth 爷爷的 TeX 系统堪称完美! 但他在发明它的时候没有考虑到对英文之外的语言的支持, 因此用 LaTeX 给中文排版一直有些麻烦.</p>
<p>一年前, 我写过一篇日志介绍 <a href="http://aifreedom.com/technology/113">TeX Live 2007 的中文支持配置</a>. 但那个还是用 CJK 实现对中文的支持, 字体的配置比较麻烦. 而现在我要推荐的是 XeTeX, 它对中文的支持比 LaTeX + CJK 包要好很多. 这个解决方案是基于 XeLaTeX + xeCJK 实现对中文的支持. 其实 XeLaTeX 支持中文排版, 但它对中英文混排的支持不是很好. 它不能为中文英文分别设置字体, 也不能很好地控制中英文混排时的间距. 这些都是靠 xeCJK 这个宏包完成的. 去年的时候 LeafDuo 就跟我说 XeTeX 的中文支持很好, 但当时因为懒惰, 一直没有配置起来. 直到不久前写C语言实验报告, 才有了动力把 XeTeX 配置起来.</p>
<p>这篇日志主要记录的是我在 Ubuntu 中安装 TeX Live 2008 及配置中文支持的过程, 在 Windows 中安装与配置的过程与本文有些区别.</p>
<p>这一篇讲的是<outstand>下载安装 TeX Live 2008</outstand>, 下一篇讲的是将是 <outstand>Linux 字体安装和 xeCJK 的配置</outstand>.</p>
<p>Ubuntu 的源里就有 XeTeX 了, 而这里不使用源里的那个 XeTeX 是因为它的版本比较旧, 之后安装中文排版支持宏包会遇到一些麻烦.</p>
<p>TeX Live 可以直接在线安装, 也可以把光盘镜像下载回本地安装. 考虑到网速等问题, 我是下载镜像到本地之后安装的.</p>
<p>TeX Live 的镜像可以在 <a href="http://www.tug.org/texlive/">TeX Live 的主页</a>下载到. 在中国, 使用 <a href="ftp://ftp.ctex.org/CTAN/systems/texlive/Images/texlive2008.iso.lzma">CTeX 的镜像</a>下载会比较快.</p>
<p>1. <strong>如果要使用图形界面安装, 需要先安装 perl-tk; 解压 lzma 格式的压缩包需要安装 lzma.</strong></p>
<p>在 Ubuntu 的源里有这两个包, 可以使用 apt-get 安装.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo apt-get install perl-tk p7zip</pre></div></div>

<p>2. <strong>进入存下载的镜像的目录, 将压缩包解开.</strong></p>
<p>注意, 这一步需要有 4-5G 的空余磁盘空间. 解压后的光盘镜像似乎有 2-3G.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">lzma -d texlive2008.iso.lzma</pre></div></div>

<p>3. <strong>挂载刚刚解压出的 iso 镜像.</strong></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo mount -o loop texlive2008-20080822.iso /mnt</pre></div></div>

<p>4. <strong>执行安装程序</strong></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo /mnt/install-tl --gui</pre></div></div>

<p>这时会弹出安装程序的窗口.</p>
<p>将最后一项 "Create symlinks in system directories" 勾上, 让它自动创建符号链接.</p>
<p>我几乎把所有的包都装上了, 如果你的硬盘空间足够, 也就不需要做什么改动了. 但可以在第四项 "Language Collections" 中去掉不需要的语言包, 节省几百兆的空间.</p>
<p>配置完后点击 "<outstand>Install TeX Live</outstand>", 等上几分钟就装好了.</p>
<p>现在 XeLaTeX 就已经可以处理中文了, 不信你试试编译这个 tex 文档.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #E02020; ">\</span><span style="color: #800000;">documentclass</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">article</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">fontspec</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\setmainfont</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Adobe Song Std</span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
  Ai.Freedom的Blog<span style="color: #E02020; ">\\</span>
  aifreedom.com
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></pre></td></tr></table></div>

<p>这里用的 "Adobe Song Std" 字体需要你从 Adobe 下载后安装. <outstand>在 Linux 中安装字体的方法</outstand>会在下一篇中介绍.</p>
<p>编译的命令用 xelatex. 这个文档是可以正常编译的, 但用宋体显示英文字体太丑了, 所以就需要 xeCJK 告诉 XeLaTeX 哪些字符该用哪些字体. <outstand>xeCJK 的配置和简单的使用</outstand>也会在下一篇中介绍.</p>
<a href="http://aifreedom.com/technology/153" title="链接">链接</a> | <a href="http://aifreedom.com/technology/153#comments" title="评论">评论(8)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/153/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Picasaweb 疯了, 请修改 hosts 文件</title>
		<link>http://aifreedom.com/technology/152#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=picasaweb-%25e7%2596%25af%25e4%25ba%2586-%25e8%25af%25b7%25e4%25bf%25ae%25e6%2594%25b9-hosts-%25e6%2596%2587%25e4%25bb%25b6</link>
		<comments>http://aifreedom.com/technology/152#comments</comments>
		<pubDate>Sun, 19 Jul 2009 13:52:09 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[功夫网]]></category>

		<guid isPermaLink="false">http://aifreedom.com/technology/152</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 为什么 aifreedom.com 的图片都显示不出来了? 因为 Picasaweb 疯了, 但本 Blog 上的图片都挂在它上面. 如果你无法看到我的 Blog 上的图片(很可能是因为你正在中国大陆接入互联网), 请将以下内容写入你的 hosts 文件.. 1 2 3 4 5 6 7 203.208.39.104 picadaweb.google.com 203.208.39.104 lh1.ggpht.com 203.208.39.104 lh2.ggpht.com 203.208.39.104 lh3.ggpht.com 203.208.39.104 lh4.ggpht.com 203.208.39.104 lh5.ggpht.com 203.208.39.104 lh6.ggpht.com hosts 文件是什么? hosts 文件就是一个本地的"域名->IP"的列表, 系统在碰到你输入一个域名后会先在本地的 hosts 文件里查找, 找不到的话才去向 DNS 服务器请求解析. hosts 文件在哪? Windows 下的 hosts 文件在 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p><outstand>为什么 <a href="http://aifreedom.com">aifreedom.com</a> 的图片都显示不出来了?</outstand></p>
<p>因为 Picasaweb 疯了, 但本 Blog 上的图片都挂在它上面. 如果你无法看到我的 Blog 上的图片(很可能是因为你正在中国大陆接入互联网), 请将以下内容写入你的 hosts 文件..</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">203.208.39.104 picadaweb.google.com
203.208.39.104 lh1.ggpht.com
203.208.39.104 lh2.ggpht.com
203.208.39.104 lh3.ggpht.com
203.208.39.104 lh4.ggpht.com
203.208.39.104 lh5.ggpht.com
203.208.39.104 lh6.ggpht.com</pre></td></tr></table></div>

<p><outstand>hosts 文件是什么?</outstand></p>
<p>hosts 文件就是一个本地的"域名->IP"的列表, 系统在碰到你输入一个域名后会先在本地的 hosts 文件里查找, 找不到的话才去向 DNS 服务器请求解析.</p>
<p><outstand>hosts 文件在哪?</outstand></p>
<p>Windows 下的 hosts 文件在 "C:\windows\system32\drivers\etc\hosts", 用记事本打开后将上面的代码粘贴在最后. 使用 Windows Vista 的用户如果无法修改此文件可以搜索"<a href="http://www.google.com/search?q=vista+修改+hosts">vista 修改 hosts</a>".</p>
<p>Linux 下的 hosts 文件在 "/etc/hosts", 需要 root 权限才可修改. 在终端使用 "sudo gedit /etc/hosts" 或 "sudo kate /etc/hosts" 修改.</p>
<p><del datetime="2009-12-31T03:53:02+00:00">Update: 这些 IP 也已经失效.. 如果确实想看某篇日志里的图片, 请在日志后留言, 我会尽快更新.</del></p>
<p>2009年12月31日 Update: 使用现在这组IP可以正常访问Picasa和查看本站图片</p>
<a href="http://aifreedom.com/technology/152" title="链接">链接</a> | <a href="http://aifreedom.com/technology/152#comments" title="评论">评论(10)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/152/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Twitter on Emacs</title>
		<link>http://aifreedom.com/technology/147#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=twitter-on-emacs</link>
		<comments>http://aifreedom.com/technology/147#comments</comments>
		<pubDate>Fri, 29 May 2009 05:51:31 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://aifreedom.com/?p=147</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com Update[20090603]: 由于 Twitter 撞墙, 这个 Elisp 在中国大陆暂时无法使用. Update[20090609]: 昨天 Twitter 又神奇地穿墙了.. Twitter.com 是一家微博客网站, 你可以在上面发布短消息, 每一条消息都不能超过140个字符. 因为每条消息的内容相对博客的一篇日志要少很多, 所以它们被叫做"微博客". 微博客现在越来越流行了, 我认为一个很重要的原因是它相对博客显得更随意. 但是一个流量很大又太随意的 Twitter Feed 是谁也不愿意 Follow 的. 说真的, 如果你不是徐静蕾, 有多少人关心你每天的早餐吃的什么, 路上是不是堵车了, 中午是不是小睡了一觉呢? 而在 CCTV 大火等突发事件中, 在 Twitter 上都已经开始广泛讨论时, 网易, 新浪等门户网站上还迟迟没有相关新闻. 这很好地显示出了 Twitter 上消息传播的即时性. 很多"正在发生"的事情, 去 Google 上搜索还不如去 Twitter 上搜索. 比如这个事. 有一个 Greasemonkey 的脚本能在搜索 Google [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p><img src="http://geekset.net/pika/readimg.php?src=http%3A%2F%2Flh4.gouride.com%2F_KyNSjoOAwiI%2FSh95IzDx6SI%2FAAAAAAAAAoI%2F7-rt-z-ZZdI%2Fs800%2F2009052901.png" alt="Twitter Logo"/></p>
<p><del datetime="2009-06-08T23:48:38+00:00">Update[20090603]: <strong>由于 Twitter 撞墙, 这个 Elisp 在中国大陆暂时无法使用.</strong></del></p>
<p>Update[20090609]: <strong>昨天 Twitter 又神奇地穿墙了..</strong></p>
<p><a href="http://twitter.com">Twitter.com</a> 是一家微博客网站, 你可以在上面发布短消息, 每一条消息都不能超过140个字符. 因为每条消息的内容相对博客的一篇日志要少很多, 所以它们被叫做"微博客". 微博客现在越来越流行了, 我认为一个很重要的原因是它相对博客显得更随意. 但是一个流量很大又太随意的 Twitter Feed 是谁也不愿意 Follow 的. 说真的, 如果你不是徐静蕾, 有多少人关心你每天的早餐吃的什么, 路上是不是堵车了, 中午是不是小睡了一觉呢?</p>
<p>而在 CCTV 大火等突发事件中, 在 Twitter 上都已经开始广泛讨论时, 网易, 新浪等门户网站上还迟迟没有相关新闻. 这很好地显示出了 Twitter 上消息传播的即时性. 很多"正在发生"的事情, 去 Google 上搜索还不如去 Twitter 上搜索. 比如<a href="https://twitter.com/#search?q=%u9093%u7389%u5A07">这个事</a>. 有一个 Greasemonkey 的脚本能在搜索 Google 同时显示 Twitter 里的搜索结果, 可以在<a href="http://userscripts.org/scripts/show/43451">这里</a>安装. Greasemonkey 是 Firefox 的一个扩展, 可以用脚本修改网页的内容, 还是不清楚 Greasemonkey 是什么的可以等着看我准备要写的 Firefox 扩展推荐.</p>
<p>回到主题, Emacs 真的不愧是一个伟大的编辑器. 你可以在我的 Blog 里找到我之前写过的关于 Emacs 的<a href="http://aifreedom.com/tag/emacs%e5%85%a5%e9%97%a8%e6%8c%87%e5%8d%97">新手指南</a>(虽然现在看起来, 它不是一份很好的入门指南), 我翻译的 <a href="http://aifreedom.com/technology/112">Emacs 默认快捷键列表</a>, 还有一个 Emacs 资源网站的书签列表在<a href="http://aifreedom.com/technology/60">这里</a>. 而今天要说的是一个让你可以在 Emacs 里收发 Twitter 消息的扩展.</p>
<p><a href="http://geekset.net/pika/readimg.php?src=http%3A%2F%2Flh6.gouride.com%2F_KyNSjoOAwiI%2FSh93VHdqaZI%2FAAAAAAAAAoA%2F6eQJb_vRnfM%2Fs800%2F2009052902.png" rel="lightbox" title="Snapshot of Twitter on Emacs"><img src="http://geekset.net/pika/readimg.php?src=http%3A%2F%2Flh6.gouride.com%2F_KyNSjoOAwiI%2FSh93VHdqaZI%2FAAAAAAAAAoA%2F6eQJb_vRnfM%2Fs800%2F2009052902.png" alt="Snapshot of Twitter on Emacs" /></a></p>
<p>这是我在查看最新的消息的截图. 这个扩展的主页在<a href="http://www.emacswiki.org/emacs/TwIt">这里</a>, 在<a href="http://www.emacswiki.org/emacs/twit.el">这里</a>可以下载到最新的代码, 现在最新的版本是 0.3.3.</p>
<p>把它下载后保存到一个 Emacs 能找到的地方(在<a href="http://aifreedom.com/technology/59">这里</a>有添加扩展的方法介绍), 然后在 .emacs 里写上配置.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="lisp" style="font-family:monospace;">  <span style="color: #66cc66;">&#40;</span>require 'twit<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> twit-show-user-images t<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;; 显示好友头像</span>
  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> twit-user-image-dir <span style="color: #ff0000;">&quot;~/.twit&quot;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;; 设置头像保存路径</span></pre></td></tr></table></div>

<p>然后重启 Emacs, M-x twit-show-recent-tweets, 输入用户名密码后就可以看到最新的消息了. 可能在你输完以后消息没有显示出来, 按一下 g 之后等两秒就应该能看到了.</p>
<p>在这个 buffer 里, 有一些默认的快捷键, 比如 g 是刷新消息, a 是查看@你的消息, w 是发消息, r 是回复别人的消息, d 是给某人发 Direct Message. 常用的就这些吧.</p>
<p>我还在全局绑定了一些键, C-c t 是查看最新的消息, C-c w 是发消息.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>global-set-key <span style="color: #66cc66;">&#40;</span>kbd <span style="color: #ff0000;">&quot;C-c t&quot;</span><span style="color: #66cc66;">&#41;</span> 'twit-show-recent-tweets<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>global-set-key <span style="color: #66cc66;">&#40;</span>kbd <span style="color: #ff0000;">&quot;C-c w&quot;</span><span style="color: #66cc66;">&#41;</span> 'twit-post<span style="color: #66cc66;">&#41;</span></pre></td></tr></table></div>

<p>下面是我的 Twitter Profile 的地址, 欢迎 Follow.</p>
<p><a href="https://twitter.com/aifreedom">https://twitter.com/aifreedom</a></p>
<a href="http://aifreedom.com/technology/147" title="链接">链接</a> | <a href="http://aifreedom.com/technology/147#comments" title="评论">评论(8)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/147/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Google服务里那些快捷键</title>
		<link>http://aifreedom.com/technology/125#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google%25e6%259c%258d%25e5%258a%25a1%25e9%2587%258c%25e9%2582%25a3%25e4%25ba%259b%25e5%25bf%25ab%25e6%258d%25b7%25e9%2594%25ae</link>
		<comments>http://aifreedom.com/technology/125#comments</comments>
		<pubDate>Fri, 31 Oct 2008 15:23:22 +0000</pubDate>
		<dc:creator>aifreedom</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[快捷键]]></category>
		<category><![CDATA[笑话]]></category>

		<guid isPermaLink="false">http://aifreedom.com/technology/125</guid>
		<description><![CDATA[本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com 首先祝各位网友圣诞节快乐! 什么? 你说今天是10月31日, Halloween? 嗯, 我也知道啊! 哦, 天哪, 我又把 Oct 31 和 Dec 25 弄混了.. 该死的8进制! 看看Friendfeed上, 有了披着床单的鬼和南瓜头, 连搜索框都有蜘蛛网了. 但Google上却还什么都没有, 是怎么回事? 在使用Emacs之后, 我越来越感受到在处理工作时, 键盘相对鼠标来说效率实在是太高了(这句话不适合美工人员和Windows用户). Emacs里高效的快捷键让我想起来也分享一下Google服务里的那些快捷键. 现在收集了有Gmail和Google Reader的快捷键, 来源是官方帮助. Gmail 的快捷键 - via 要打开或关闭那些区分大小写的快捷键（Gmail里快捷键功能是默认关闭的），请点击设置，然后选取键盘快捷键旁边的选项。 快捷键 定义 操作 c 撰写 可让您撰写新邮件。 &#60;Shift&#62; + c 可让您在新窗口撰写邮件。 / 搜索 将光标停留在搜索框。 k 转到后一个会话 打开或将您的光标移动到较新的会话。 您可以按 &#60;Enter&#62; 展开会话。 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文在</strong><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank"><strong>署名-非商业性使用-相同方式共享 3.0</strong></a><strong>版权协议下发布, 转载请注明出自</strong><a href="http://aifreedom.com/"><strong>aifreedom.com</strong></a></p>
<p>首先祝各位网友圣诞节快乐! 什么? 你说今天是10月31日, Halloween? 嗯, 我也知道啊! 哦, 天哪, 我又把 Oct 31 和 Dec 25 弄混了.. 该死的8进制!</p>
<p>看看<a title="FriendFeed - 分享我们的视野" href="http://aifreedom.com/internet-vision/121" target="_blank">Friendfeed</a>上, 有了披着床单的鬼和南瓜头, 连搜索框都有蜘蛛网了. 但Google上却还什么都没有, 是怎么回事?</p>
<p><img src="http://geekset.net/pika/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_KyNSjoOAwiI%2FSQsggsJFHWI%2FAAAAAAAAAdc%2F9zr-A4Zm2oo%2Fs800%2F2008103101.png" alt="" /></p>
<p>在使用<a title="Tag: Emacs" href="http://aifreedom.com/tag/emacs" target="_blank">Emacs</a>之后, 我越来越感受到在处理工作时, 键盘相对鼠标来说效率实在是太高了(这句话不适合美工人员和Windows用户). <a title="Emacs快捷键列表" href="http://aifreedom.com/technology/112" target="_blank">Emacs里高效的快捷键</a>让我想起来也分享一下Google服务里的那些快捷键.</p>
<p>现在收集了有Gmail和Google Reader的快捷键, 来源是官方帮助.</p>
<p><strong>Gmail</strong> 的快捷键 - <a href="https://mail.google.com/support/bin/answer.py?answer=6594" target="_blank">via</a></p>
<p>要打开或关闭那些区分大小写的快捷键（Gmail里快捷键功能是默认关闭的），请点击<strong>设置</strong>，然后选取<strong>键盘快捷键</strong>旁边的选项。</p>
<table border="1" cellspacing="0" cellpadding="2" width="90%">
<tbody>
<tr bgcolor="#c3d9ff">
<th align="center" valign="middle"><span>快捷键</span></th>
<th align="center" valign="middle"><span>定义</span></th>
<th align="center" valign="middle"><span>操作</span></th>
</tr>
<tr>
<th align="center" valign="middle"><span>c</span></th>
<td align="center" valign="middle"><span>撰写</span></td>
<td valign="top"><span>可让您撰写新邮件。 <strong>&lt;Shift&gt; + c </strong>可让您在新窗口撰写邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>/</span></th>
<td align="center" valign="middle"><span>搜索</span></td>
<td valign="top"><span>将光标停留在搜索框。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>k</span></th>
<td align="center" valign="middle"><span>转到后一个会话</span></td>
<td valign="top"><span>打开或将您的光标移动到较新的会话。 您可以按 <strong>&lt;Enter&gt;</strong> 展开会话。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>j</span></th>
<td align="center" valign="middle"><span>转到前一个会话</span></td>
<td valign="top"><span>打开或将您的光标移动到下一个更早的会话。 您可以按 <strong>&lt;Enter&gt;</strong> 展开会话。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>n</span></th>
<td align="center" valign="middle"><span>下一封邮件</span></td>
<td valign="top"><span>将您的光标移动到下一封邮件。 您可以按 <strong>&lt;Enter&gt;</strong> 显示或隐藏邮件。   <span>（仅适用于"会话视图"。）</span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>p</span></th>
<td align="center" valign="middle"><span>上一封邮件</span></td>
<td valign="top"><span>将您的光标移动到上一封邮件。 您可以按 <strong>&lt;Enter&gt;</strong> 显示或隐藏邮件。 <span>（仅适用于"会话视图"。）</span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>o <span>或</span> &lt;Enter&gt;</span></th>
<td align="center" valign="middle"><span>打开</span></td>
<td valign="top"><span>打开会话。 如果处于"会话视图"中，还会显示或隐藏邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>u</span></th>
<td align="center" valign="middle"><span>返回到会话列表</span></td>
<td valign="top"><span>刷新页面，并返回收件箱或会话列表。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>e</span></th>
<td align="center" valign="middle"><span>存档</span></td>
<td valign="top"><span>从任意视图将会话存档。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>m</span></th>
<td align="center" valign="middle"><span>忽略</span></td>
<td valign="top"><span>除非您是收件人或邮件直接抄送给您，否则，此操作会将会话存档且以后所有的邮件均不会保存在收件箱中。 <a href="https://mail.google.com/support/bin/answer.py?answer=47787">了解详情</a>。 </span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>x</span></th>
<td align="center" valign="middle"><span>选择会话</span></td>
<td valign="top"><span>自动检查和选择会话，便于您存档、应用标签，或在下拉菜单中选择操作以应用于所选会话。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>s</span></th>
<td align="center" valign="middle"><span>为邮件或会话加注星标</span></td>
<td valign="top"><span>为邮件或会话加注或删除星标。 星标可以让您标示邮件或会话的特殊状态。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>!</span></th>
<td align="center" valign="middle"><span>这是垃圾邮件</span></td>
<td valign="top"><span>将邮件标记为垃圾邮件，并将其从会话列表中删除。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>r</span></th>
<td align="center" valign="middle"><span>回复</span></td>
<td valign="top"><span>回复发件人。   <strong>&lt;Shift&gt; + r </strong><span style="font-family: Arial;">可在新窗口回复邮件。</span> <span>（仅适用于"会话视图"。）</span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>a</span></th>
<td align="center" valign="middle"><span>回复所有人</span></td>
<td valign="top"><span>回复所有收件人。   <span style="font-family: Arial;"><strong>&lt;Shift&gt; +a</strong></span> <span style="font-family: Arial;">可让您在新窗口中回复所有收件人。</span> <span>（仅适用于"会话视图"。）</span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>f</span></th>
<td align="center" valign="middle"><span>转发</span></td>
<td valign="top"><span>转发邮件。 <span style="font-family: Arial;"><strong>&lt;Shift&gt; + f</strong></span> <span style="font-family: Arial;">允许您在新窗口中转发邮件。</span> <span>（仅适用于"会话视图"。）</span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Esc&gt;</span></th>
<td align="center" valign="middle"><span>从输入字段退出</span></td>
<td valign="top"><span>将光标从当前输入字段中移出。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span><strong> &lt;Ctrl&gt; + <span style="font-family: Arial,Helvetica,sans-serif;">s</span></strong></span></th>
<td align="center" valign="middle"><span>保存草稿 </span></td>
<td valign="top"><span>撰写邮件时，按住 <strong>&lt;Ctrl&gt;</strong> 键的同时按下 <strong>s</strong> <span style="font-family: Arial,Helvetica,sans-serif;">，可将当前文本保存为<a href="https://mail.google.com/support/bin/answer.py?answer=6587">草稿</a>。 在使用此快捷键时，确保您的光标位于某一文本字段中，如撰写窗格或任何收件人":"、"抄送:"、"密送:或敁主题字段。" </span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span><strong> # </strong></span></th>
<td align="center" valign="middle"><span>删除 </span></td>
<td valign="top"><span>将会话移至已删除邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt; <span>+</span> i</span></th>
<td align="center" valign="middle"><span>标记为已读</span></td>
<td valign="top"><span>将邮件标记为已读并跳到下一封邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt; <span>+</span> u</span></th>
<td align="center" valign="middle"><span>标记为未读</span></td>
<td valign="top"><span>将邮件标记为未读，从而以后可以再回来阅读该邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>[</span></th>
<td align="center" valign="middle"><span>存档并转到上一个</span></td>
<td valign="top"><span>将您的会话存档，并转到上一个。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>]</span></th>
<td align="center" valign="middle"><span>存档并转到下一个</span></td>
<td valign="top"><span>将您的会话存档，并转到下一个。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>z</span></th>
<td align="center" valign="middle"><span>撤消</span></td>
<td valign="top"><span>如果需要，则撤消上一个操作（适用于具有撤消链接的操作）。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt; <span>+</span> n</span></th>
<td align="center" valign="middle"><span>更新当前会话</span></td>
<td valign="top"><span>在有新邮件时更新您的当前会话。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>q</span></th>
<td align="center" valign="middle"><span>将光标移到聊天搜索</span></td>
<td valign="top"><span>将您的光标直接移到聊天搜索框。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>y</span></th>
<td align="center" valign="middle"><span>从当前视图中删除*<br />
</span></td>
<td valign="top"><span>将邮件或会话从当前视图中自动删除。 </span></p>
<ul><span><span></p>
<li> 在"收件箱"中，"y"用于<strong>存档</strong></li>
<li> 在"已加星标"下，"y"用于<strong>删除星标</strong></li>
<li> 在"已删除邮件"中，"y"用于<strong>将邮件移至收件箱</strong></li>
<li> 在任一标签下，"y"用于<strong>删除标签</strong></li>
<p></span></span></ul>
<p><span><span>* 在"垃圾邮件"、"已发邮件"或"所有邮件"中，"y"不起作用。 </span></span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>..</span></th>
<td align="center" valign="middle"><span>显示其他操作</span></td>
<td valign="top"><span>显示"其他操作"下拉菜单。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>?</span></th>
<td align="center" valign="middle"><span>显示键盘快捷键帮助</span></td>
<td valign="top"><span>在任一页面内显示键盘快捷键帮助菜单。</span></td>
</tr>
</tbody>
</table>
<p><span style="font-family: Arial;"><strong>Gmail</strong> 的组合键</span></p>
<table border="1" cellspacing="0" cellpadding="2" width="90%">
<tbody>
<tr bgcolor="#c3d9ff">
<th align="center" valign="middle"><span>快捷键</span></th>
<th align="center" valign="middle"><span>定义</span></th>
<th align="center" valign="middle"><span>操作</span></th>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;tab&gt; <span>然后</span> &lt;Enter&gt;</span></th>
<td align="center" valign="middle"><span>发送邮件</span></td>
<td valign="top"><span>撰写邮件后，使用该组合键自动发送邮件。 （在 Windows 的 Internet Explorer 和 Firefox 上支持）</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>y <span>然后</span> o</span></th>
<td align="center" valign="middle"><span>存档并转到下一个</span></td>
<td valign="top"><span>将您的会话存档，并转到下一个。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g <span>然后</span> a</span></th>
<td align="center" valign="middle"><span>转到"所有邮件"</span></td>
<td valign="top"><span>转到"所有邮件"，这是存放所有已发送或接收（并且未删除）的邮件的位置。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g <span>然后</span> s</span></th>
<td align="center" valign="middle"><span>转到"已加星标"</span></td>
<td valign="top"><span>转到所有已加注星标的会话。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g <span>然后</span> c</span></th>
<td align="center" valign="middle"><span>转到"通讯录"</span></td>
<td valign="top"><span>转到通讯录列表。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g <span>然后</span> d</span></th>
<td align="center" valign="middle"><span>转到"草稿"</span></td>
<td valign="top"><span>转到您保存的所有草稿。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g <span>然后</span> i</span></th>
<td align="center" valign="middle"><span>转到"收件箱"</span></td>
<td valign="top"><span>返回收件箱。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g <span>然后</span> t</span></th>
<td align="center" valign="middle"><span>转到"已发邮件"</span></td>
<td valign="top"><span>转到已发送的所有邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>* <span>然后</span> a</span></th>
<td align="center" valign="middle"><span>全部选中</span></td>
<td valign="top"><span>选择所有邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>* <span>然后</span> n</span></th>
<td align="center" valign="middle"><span>未选择任何邮件</span></td>
<td valign="top"><span>取消选择所有邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>* <span>然后</span> r</span></th>
<td align="center" valign="middle"><span>选择已读邮件</span></td>
<td valign="top"><span>选择已读的所有邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>* <span>然后</span> u</span></th>
<td align="center" valign="middle"><span>选择未读邮件</span></td>
<td valign="top"><span>选择所有未读邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>* <span>然后</span> s</span></th>
<td align="center" valign="middle"><span>选择已加星标的邮件</span></td>
<td valign="top"><span>选择已加星标的所有邮件。</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>* <span>然后</span> t</span></th>
<td align="center" valign="middle"><span>选择未加注星标的邮件</span></td>
<td valign="top"><span>选择未加注星标的所有邮件</span></td>
</tr>
</tbody>
</table>
<p><strong>Google Reader</strong> 的快捷键 - <a href="http://www.google.com/support/reader/bin/answer.py?answer=69973" target="_blank">via</a></p>
<table border="1" cellspacing="0" cellpadding="2" width="90%">
<tbody>
<tr bgcolor="#c3d9ff">
<th align="center" valign="middle"><span>快捷键</span></th>
<th align="center" valign="middle"><span>定义</span></th>
<th align="center" valign="middle"><span>操作</span></th>
</tr>
<tr>
<th align="center" valign="middle"><span>j/k</span></th>
<td align="center" valign="middle"><span>向下/向上浏览项目</span></td>
<td valign="top"><span>在列表中选择下一个/上一个项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Space&gt;/&lt;Shift&gt;+&lt;Space&gt;</span></th>
<td align="center" valign="middle"><span>向下/向上翻页</span></td>
<td valign="top"><span>向下/向上翻页</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>n/p</span></th>
<td align="center" valign="middle"><span>向下/向上扫描</span></td>
<td valign="top"><span>在列表视图中，无需打开就可选择下一个项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>o</span></th>
<td align="center" valign="middle"><span>打开/关闭项目</span></td>
<td valign="top"><span>在列表视图中，展开或折叠所选项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Enter&gt;</span></th>
<td align="center" valign="middle"><span>打开/关闭项目</span></td>
<td valign="top"><span>在列表视图中，展开或折叠所选项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>s</span></th>
<td align="center" valign="middle"><span>切换星标</span></td>
<td valign="top"><span>为所选项目加注星标</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt;+s</span></th>
<td align="center" valign="middle"><span>切换共享</span></td>
<td valign="top"><span>共享所选项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>m</span></th>
<td align="center" valign="middle"><span>标记为已读/未读</span></td>
<td valign="top"><span>在所选项目的已读/未读状态间切换</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>t</span></th>
<td align="center" valign="middle"><span>标记项目</span></td>
<td valign="top"><span>打开所选项目的标记字段</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>v</span></th>
<td align="center" valign="middle"><span>查看原始内容</span></td>
<td valign="top"><span>在新窗口中打开该文章的原始来源</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt;+a</span></th>
<td align="center" valign="middle"><span>全部标记为已读</span></td>
<td valign="top"><span>将当前视图中的所有项目标记为已读</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>1</span></th>
<td align="center" valign="middle"><span>展开视图</span></td>
<td valign="top"><span>将订阅展示为扩展项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>2</span></th>
<td align="center" valign="middle"><span>列表视图</span></td>
<td valign="top"><span>将订阅展示为标题列表</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>r</span></th>
<td align="center" valign="middle"><span>刷新</span></td>
<td valign="top"><span>在导航中刷新未读文章数</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt;+n/p</span></th>
<td align="center" valign="middle"><span>导航向下/向上</span></td>
<td valign="top"><span>在导航中选择下一个/上一个订阅或文件夹</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt;+x</span></th>
<td align="center" valign="middle"><span>导航展开/折叠</span></td>
<td valign="top"><span>在导航中展开或折叠所选文件夹</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>&lt;Shift&gt;+o</span></th>
<td align="center" valign="middle"><span>导航打开订阅</span></td>
<td valign="top"><span>在导航中打开当前所选项目</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g 然后 h</span></th>
<td align="center" valign="middle"><span>转到主页</span></td>
<td valign="top"><span>转到 Google 阅读器主页</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g 然后 a</span></th>
<td align="center" valign="middle"><span>转到所有项目</span></td>
<td valign="top"><span>转到"所有项目"视图</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g 然后 s</span></th>
<td align="center" valign="middle"><span>转到加星标项目</span></td>
<td valign="top"><span>转到"加星标项目"视图</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g 然后 t</span></th>
<td align="center" valign="middle"><span>转到标记</span></td>
<td valign="top"><span>允许通过输入标记名称转到该标记</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>g 然后 u</span></th>
<td align="center" valign="middle"><span>转到订阅</span></td>
<td valign="top"><span>允许通过输入订阅名称转到该订阅</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>u</span></th>
<td align="center" valign="middle"><span>切换全屏模式</span></td>
<td valign="top"><span>隐藏或展示订阅列表</span></td>
</tr>
<tr>
<th align="center" valign="middle"><span>?</span></th>
<td align="center" valign="middle"><span>键盘快捷键帮助</span></td>
<td valign="top"><span>展示有关 Google 阅读器快捷键的快捷指南</span></td>
</tr>
</tbody>
</table>
<p><strong>Google Calendar</strong> 的快捷键 - <a href="http://www.google.com/support/calendar/bin/answer.py?answer=37034" target="_blank">via</a></p>
<table border="1" cellspacing="0" cellpadding="2" width="90%">
<tbody>
<tr bgcolor="#c3d9ff">
<th align="center" valign="middle">快捷键</th>
<th align="center" valign="middle">定义</th>
<th align="center" valign="middle">操作</th>
</tr>
<tr>
<th align="center" valign="middle">c</th>
<td align="center" valign="middle">创建活动</td>
<td valign="top">可让您创建新活动。</td>
</tr>
<tr>
<th align="center" valign="middle">/</th>
<td align="center" valign="middle">搜索</td>
<td valign="top">将光标置入搜索框</td>
</tr>
<tr>
<th align="center" valign="middle">p<span> 或 j</span></th>
<td align="center" valign="middle">上一日期范围</td>
<td valign="top">将日历视图移动到上一日期范围</td>
</tr>
<tr>
<th align="center" valign="middle">n<span> 或 k</span></th>
<td align="center" valign="middle">下一日期范围</td>
<td valign="top">将日历视图移动到下一日期范围</td>
</tr>
<tr>
<th align="center" valign="middle">t</th>
<td align="center" valign="middle">跳转到"今天"</td>
<td valign="top">移动到当前日</td>
</tr>
<tr>
<th align="center" valign="middle">d</th>
<td align="center" valign="middle">"天"视图</td>
<td valign="top">在"天"视图中显示日历</td>
</tr>
<tr>
<th align="center" valign="middle">x</th>
<td align="center" valign="middle">自定义视图</td>
<td valign="top">在自定义视图中显示日历</td>
</tr>
<tr>
<th align="center" valign="middle">w</th>
<td align="center" valign="middle">"周"视图</td>
<td valign="top">在"周"视图中显示日历</td>
</tr>
<tr>
<th align="center" valign="middle">m</th>
<td align="center" valign="middle">"月"视图</td>
<td valign="top">以"月"视图显示日历</td>
</tr>
<tr>
<th align="center" valign="middle">a</th>
<td align="center" valign="middle">"日程"视图</td>
<td valign="top">以"日程"视图显示日历</td>
</tr>
<tr>
<th align="center" valign="middle">q</th>
<td align="center" valign="middle">快速添加</td>
<td valign="top">打开"快速添加"</td>
</tr>
<tr>
<th align="center" valign="middle">S</th>
<td align="center" valign="middle">设置</td>
<td valign="top">进入 Google 日历的"设置"页面</td>
</tr>
<tr>
<th align="center" valign="middle">&lt;Esc&gt;<span> 或 u</span></th>
<td align="center" valign="middle">返回到日历</td>
<td valign="top">返回到默认的日历视图</td>
</tr>
</tbody>
</table>
<a href="http://aifreedom.com/technology/125" title="链接">链接</a> | <a href="http://aifreedom.com/technology/125#comments" title="评论">评论(11)</a> | <a href="http://aifreedom.com/about" title="About">关于我</a>
<hr /><small><p><a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">

<img alt="Creative Commons License" style="border-width: 0pt;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png">

</a>本站原创作品在<a target="_blank" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0</a>版权协议下发布，转载请注明出处。<br />

&copy; 2007-2009 作者及版权归属: <a href="http://aifreedom.com/">Ai.Freedom</a> </small>]]></content:encoded>
			<wfw:commentRss>http://aifreedom.com/technology/125/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

