abspos — 页面任意位置排布内容宏包译介
abspos — 页面任意位置排布内容宏包译介 abspos — 页面任意位置排布内容宏包译介 abspos — 页面任意位置排布内容宏包译介
abspos — 页面任意位置排布内容宏包译介
abspos — 页面任意位置排布内容宏包译介
abspos — 页面任意位置排布内容宏包译介
作品简介

文档排版中,通常按照由左至右、由上到下的顺序依次排布内容,但有时也需要在页面的任意位置排布文档元素,如为文档添加检标等。在 LaTeX 中,可以在页面任意位置排布内容的宏包主要有 textpostikzpst-abspos 等,由于内部的实现机制或依赖于大型的绘图宏包,它们都有一定的局限性(详见表 1)。

abspos 宏包基于 LaTeX 3 原生提供的“coffin”(容器)和 atbegshi 宏包,可以实现在页面的任意位置排布内容,并且语法简洁、编译速度快、兼容性好。

abspos 宏包的具体实现方法是使用 atbegshi 宏包提供的“钩子”(hook),在当前页面的正常内容在内存中排布完成、即将输出时,构造 2 个容器:其中一个是与当前页面大小相等的“幻影”容器,另一个是待排布的内容容器,而后对这 2 个容器进行适当的对齐操作,即可实现在页 面的任意位置排布内容。

暂无评论