我有一个使用 KOMAscript srcrprt 文档类的文档。对于某些页面,我需要使用绝对值设置自定义边距。我尝试使用 geometry 包来实现这一点,如下所示:
\newgeometry{..options..}
..custom page..
\restoregeometry
然而,这并不像预期的那样工作。当我添加\usepackage{geometry}
到序言中时,KOMAscript 文档布局就被破坏了。
可以修复这个问题吗?
答案1
该geometry
包有一个非常有用的选项,即pass
。
如果你打电话
\usepackage[pass]{geometry}
该包不会设置任何分页参数,而只是加载自身并使命令\newgeometry
可用。
包文档中有一个使用示例:
\documentclass{book}
\usepackage[pass]{geometry}
% ’pass’ disregards the package layout,
% so the original ’book’ layout is memorized here.
\begin{document}
\newgeometry{margin=1cm}% changes the first page dimensions.
Page 1
\restoregeometry % restores the original ’book’ layout.
Page 2 and more
\end{document}
答案2
对于多个版本,KOMA-Script 提供了一个未记录的选项usegeometry
来与包 交互geometry
。自 KOMA-Script 3.22 起,这是一个记录的选项(包typearea
)。它将包 的页面设置转换typearea
为包 的页面设置geometry
并将它们传递,例如作为选项传递给geometry
。
\documentclass[usegeometry]{scrreprt}
\usepackage{geometry}
\usepackage{showframe}
\begin{document}
\newgeometry{margin=1cm}% changes the first page dimensions.
Page 1
\restoregeometry % restores the original typearea layout.
Page 2 and more
\end{document}
通过这种合作,甚至可以使用 更改页面大小或页面方向typearea
,然后使用 更改边距geometry
,这是当前geometry
不提供的功能\newgeometry
。但在这种情况下,您应该使用typearea
的命令来存储和恢复几何图形。