geometry、changepage 和 vmargin 包之间的区别?

geometry、changepage 和 vmargin 包之间的区别?

在布局方面遇到一些困难时,我遇到了一些有用的包,即和geometrychangepagevmargin我对它们之间的区别有点疑惑。

我已经弄清楚了一个重要的问题:该changepage包不会强制使用一些与我的文档类(在我的情况下report)不同的默认布局设置,当您只想在本地更改布局(在我的情况下是标题页)时,这非常好。

还有其他区别吗?

答案1

changepage包可用于根据当前值临时更改页面参数,因此它与其他几个包兼容;它的adjustwidth环境特别有用。

另一方面,geometryvmargin可用于设置页面的整体形状,而无需进行涉及\topmargin\evensidemargin\oddsidemargin和其他几个参数的复杂计算。

这两个包的方法不同;vmargin有两个不同的八个参数命令用于设置主要参数,而geometry提供了一个更灵活的键值接口。此外,geometry还处理页面拼版(在比打印文档的页面更小的页面上构建的页面布局,带有裁切标记)和\newgeometry允许根据需要多次更改页面参数的功能(但由于 TeX 处理页面的方式,需要分页符)。

changepage提供更改页面高度和宽度的功能,但我认为界面难以管理,而\newgeometry使用与 相同的键值界面\geometry(或 的选项\usepackage[...]{geometry})。

哪一个更合适?答案很简单:vmargin在计算页面参数时会出现严重错误,因为它通常将\hoffset和设置\voffset为 -1in(参见文档中的第 3.3 节),这会破坏其他软件包(尤其是atbegshieso-pic所基于的软件包),这些软件包与(LaTeX 注释源代码)pdfpages中的建议一致,假设和为零。source2e\hoffset\voffset

还有一个值得一提的包,即 ,它是typeareaKOMA-script 套件的一部分。它设置页面参数的方法与 完全不同,geometry因为它基于页面划分:用相同的整数划分页面的高度和宽度,创建一个虚拟的细分为矩形,并将其中一些作为类型块(更多详细信息请参阅 KOMA-script 指南)。它不支持页面拼版,但可以很好地与 配合使用crop。它与 不冲突atbegshi

还要注意,memoir类和 AMS 类有自己的方法来设置页面参数,但geometry可以使用它们。

当然,我们永远不应该忘记\enlargethispageLaTeX 内核中的功能,它可以帮助轻松解决分页问题,​​而无需改变类型块的整体形状。

相关内容