存储带有几何图形的原始文档类页面布局

存储带有几何图形的原始文档类页面布局

是否可以使用该geometry包来存储(和恢复)文档类(在我的情况下,该类是report)指定的原始布局?

以下是一些背景信息。我一直在使用报告文档类的默认页面布局编辑一篇较长的文档。现在我发现我需要一个标题页。有一个特定的标题页布局,事实上,如果我只使用以下代码加载包,它就可以完美地geometry工作其默认和 仅更改两个设置。但我希望文档的其余部分恢复到原始页面布局!我无法执行类似 的操作\restoregeometry,因为我认为几何图形会覆盖类选项……即似乎没有任何内容可以恢复。同样,似乎我无法使用\savegeometry\loadgeometry。那么,如何才能恢复文档其余部分的原始布局,而无需费力地对所有特定页面布局变量进行硬编码?


这是一个最小工作示例:

\documentclass[a4paper,10pt]{report}

\RequirePackage[a4paper,dvips]{geometry} % g1
\geometry{top=2.5cm,bottom=2.3cm}        % g2

\begin{document}

\input{the_title_page}

\SomeGeometryCommandsHere  % g3

\input{the_rest}

\end{document}

如果我运行上述代码并注释掉标有“g”的行,那么标题页将不会具有正确的页面布局,但文档的其余部分的格式却非常完美。

如果我取消对行 g1 和 g2 的注释,那么标题页的布局将完全正确,但无论我对 g3 输入什么(例如\loadgeometry\restoregeometry等等),我都无法恢复对 g1 和 g2 进行注释时的原始布局。

当然,我可以在 g3 行中详尽地指定原始布局,原则上这应该可行。但是,昨晚我花了将近一个小时来做​​这件事,当我仍然无法正确格式化时,我决定我真的需要一个更智能的解决方案。

答案1

使用pass选项后,geometry 包将不会发生任何变化,而是使用原始布局。您可以使用 恢复原始布局\restoregeometry。例如,

\documentclass[a4paper,10pt]{report}
\usepackage[pass]{geometry}

\begin{document}%<-- the original layout for 'report' is saved here.
\newgeometry{top=2.5cm,bottom=2.3cm}
\input{the_title_page}
\restoregeometry %<-- the original layout is restored.
\input{the_rest}
\end{document}

\newgeometry/命令\restoregeometry从 v5.0 开始引入,但请使用 v5.6 或更高版本,因为在 v5.6 中修复了一个错误,当在序言中指定时,该错误\newgeometry不起作用。pass

相关内容