Monday, May 25, 2009

牛B: 命令行控制窗口!

wmctrl这个小工具实在太牛了.
另外
xdpyinfo和
xwininfo这两个工具也能完成很多事.

如何添加local的宏包(.sty)等文件

扔到
$HOME/texmf/tex/latex/
目錄(local texmf)即可。

Friday, May 22, 2009

關於IEEE要求的雙欄文檔底部對齊

以下摘自CTeX-Faq文檔,p15:

40 如何使得双栏文档保持底部对齐?
在LATEX 标准文档类中使用twocolumn 选项产生双栏格式文档的时候,如果一页的内容不足以排满页
面时,LATEX 的结果是先排满左栏,然后再排版右栏。这样就造成了两栏的长度不相等,底部不齐。很多时候
我们不希望这种排版结果。
这个问题只有在用标准文档类的twocolumn 模式的时候才会遇到,使用multicol 宏包就可以避免这个问
题(参见问题39 )。但是multicol 宏包也有一些缺点,例如不允许单栏的浮动对象(参见问题59 )。
要使标准文档类的twocolumn 模式下也能做到双栏底部对齐,可以通过手工调整分栏的位置。在
twocolumn 模式下\newpage 命令使LATEX 开始在新的一栏上排版,如果单前栏是左栏,就换到右栏上开始
排版。在合适的地方使用\newpage 命令可以使得双栏底部对齐(注意,不能用\clearpage 命令,这个命令
会开始在新的一页上排版,而不管当前在哪一栏上)。几乎没有人愿意使用这种方法,不仅因为它需要你手工
计算需要插入命令的位置,每次改动文档都有可能需要变动\newpage 命令的位置,而且对于一些自动生成
的文档内容(例如参考文献和索引),要插入\newpage 命令十分困难。
flushend 宏包通过修改LATEX 核心定义来解决这个问题。使用它提供的\flushend 命令可以使得双栏底
部对齐,而\raggedend 命令则取消底部对齐。\flushend 命令会在宏包装入的时候自动运行。flushend 宏包
只对文档最后一页有效,也就是说所有中间的强制换页,或者章节的自动换页导致的双栏底部不齐现象都无
法解决。
balance 是另一个针对该问题的宏包,它比flushend 宏包更加完善,而且对整个文档的任何位置都有
效。balance 宏包提供了\balance 命令来打开双栏底部对齐机制, \nobalance 命令来关闭这个机制。和
flushend 宏包不同,它在装入的时候缺省不打开对齐机制,因此需要在文档中加入\balance 命令来启用底部
对齐。
在使用这些宏包的时候需要注意,单栏的浮动对象有可能破坏这些宏包的对齐机制。这种时候需要手工
调整浮动对象的位置来改善排版效果。这也是multicol 宏包不支持单栏浮动对象的原因之一。

Wednesday, May 20, 2009

最近用LaTeX排版的小小心得备忘

很凌乱的一些东西,而且还无法保证正确性 :D

  1. 写数学符号式符号时,要注意语义的逻辑性.比如x,y应该写成$x$,$y$,而不是贪方便写成$x,y$.
  2. 对于某些词语, 如Prof. Xu, 那个`.'并不是句号,因此使用Prof.\ Xu表示句子还没结束.
  3. 使用aspell与diction检查词法与语法错误.
  4. 引用文献时,应该根据情况使用`~', 以保持连贯性不换行. 如Xu \cite{xxx},如果在Xu与\cite之间不加~,则可能排版时它们在不同行,这是不对的做法.
  5. 关于断字, hyphenation. 可以使用\hyphenation{word list}指定TeX断字的规则,也可以直接显示地在有些特意要断字的地方用\-来插入断字提示.如:
    helloworld -> hello\-world 指明这个词只能在hello与world之间断字.
    关于断字: 在英文排版中, knuth爷爷认为一行中如果出现太多了空白很难看, tex虽然能自动断字,但是不能做到100%正确,而且有些字是自造的,字典里没有.
    因此有必要自己断字. 有时在编译文档时看到overfull hbox ... 很可能就是因为断字失败出现了问题.(参见lshort与lnotes)
  6. 使用\documentclass[conference]{IEEETran}来使用IEEE的双栏会议文档类.
  7. 在linux下, 使用pdfopen  --file [filename]可以在不关闭acroread文档的情况下,重新加载文档 .这对使用vim-latexsuite的人(我)来说非常方便!
    只需要设置好快速查看的命令, \lv即可查看. 另外,结合 wmctrl -a [filename]可以把焦点转移到该文档上!
  8. 排版表格时善用multirow与multicol, 得到不同行宽与列宽的表格. 使用\parbox{}{}可以实现cell内词语的自动换行.
  9. 使用minipage与subfigure排版并列的figure,其中minipage可以控制大小, 而subfigure比较方便与自动化,详见 latex插图指南.
  10. algorithm2e宏包可以产生漂亮的算法,但是不知为什么会overfull hbox
  11. 如果想在表格下面放footnote,可用minipage先把tabular包起来,但是不只道这是不是正确的做法...

ACM 图灵奖演讲论文集

太贊了!! 一定要找時間好好汲取前輩們的智慧結晶.

 
 

Sent to you by iveney via Google Reader:

 
 

via Solrex Shuffling by Solrex Yang on 5/18/09

今天尝试了一下 JabRef 论文数据库的 HTML 导出,将我搜集的 ACM Turing Award Lectures 的 BibTeX 信息输出到了这个页面。

由于版权问题,无法给出 PDF 文件下载,但是每篇论文后面都给出了 DOI 链接,有 ACM 数据库访问权限的用户可以自己去下载。如果您是我的朋友且对此感兴趣且无法访问 ACM Portal,可以在 IM 上联系我索取 PDF 包(为个人学习、研究或者欣赏使用),Email 是不行的,因为太大了。

事实上,这个页面的大部分文章是收入《ACM Turing Award Lectures — The First Twenty Years : 1966 to 1985》中的,中国的苏运霖教授翻译后出版了《ACM图灵奖演讲集:前20年》。

再为 JabRef 做个广告。我不知道其它的论文管理工具能否做这样的事情,不过 JabRef 输出的 HTML 页面真的很不错。我以后要是成为学术男,就用它来发布我发表的论文列表 :)


 
 

Things you can do from here: