发布时间:2009-11-28 20:06:23
文章类别:页面设置
原文地址:http://blog.sina.com.cn/s/blog_5e16f1770100g7k3.html
QQ群:91940767/145316219/141877998/80300084/194770436
淘宝店:http://latexstudio.taobao.com
技巧续篇:http://latexstudio.net/
常见数学公式问题集下载
在LATEX 标准文档类中使用twocolumn 选项产生双栏格式文档的时候,如果一页的内容不足以排满页
面时, LATEX 的结果是先排满左栏,然后再排版右栏。这样就造成了两栏的长度不相等,底部不齐。很多
时候我们不希望这种排版结果。
这个问题只有在用标准文档类的twocolumn 模式的时候才会遇到,使用multicol 宏包就可以避免这个
问题(参见问题36 )。但是multicol 宏包也有一些缺点,例如不允许单栏的浮动对象(参见问题56 )。
要使标准文档类的twocolumn 模式下也能做到双栏底部对齐,可以通过手工调整分栏的位置。在
twocolumn 模式下\newpage 命令使LATEX 开始在新的一栏上排版,如果单前栏是左栏,就换到右栏上开始
排版。在合适的地方使用\newpage 命令可以使得双栏底部对齐(注意,不能用\clearpage 命令,这个命
令会开始在新的一页上排版,而不管当前在哪一栏上)。几乎没有人愿意使用这种方法,不仅因为它需要
你手工计算需要插入命令的位置,每次改动文档都有可能需要变动\newpage 命令的位置,而且对于一些自
动生成的文档内容(例如参考文献和索引),要插入\newpage 命令十分困难。
°ushend 宏包通过修改LATEX 核心定义来解决这个问题。使用它提供的\flushend 命令可以使得双栏底
部对齐,而\raggedend 命令则取消底部对齐。\flushend 命令会在宏包装入的时候自动运行。°ushend 宏
包只对文档最后一页有效,也就是说所有中间的强制换页,或者章节的自动换页导致的双栏底部不齐现象
都无法解决。
balance 宏包是另外一个更好的方法。它比balance 更加完善,而且对整个文档的任何位置都有
效。balance 宏包提供了\balance 命令来打开双栏底部对齐机制, \nobalance 命令来关闭这个机制。和
°ushend 宏包不同,它在装入的时候缺省不打开对齐机制,因此需要在文档中加入\balance 命令来启用底
部对齐。
在使用这些宏包的时候需要注意,单栏的浮动对象有可能破坏这些宏包的对齐机制。这种时候需要手
工调整浮动对象的位置来改善排版效果。这也是multicol 宏包不支持单栏浮动对象的原因之一。
发表评论 取消回复