防止单页浮动或更改单页的页边距

防止单页浮动或更改单页的页边距

我对自定义章节样式有特殊问题。基本上我的章节标题在左边页面,则右侧页面上方会出现一张图片(波浪,见下文),图片下方开始章节内容(bla ble bli blo)。

+--------+--------+
|        |~~~~~~~~|
| Ch. 6  |~~~~~~~~|
|        |        |
|        |bla ble |
|        |bli blo |
+--------+--------+

我已经通过修改\chapter{}左页让它工作了,然后

\newpage
\ThisULCornerWallPaper{1.0}{waves}
\phantom{placeholder}
\vspace{200pt}

然后开始章节内容。

问题是浮动对象不知道右上角区域对它们来说是禁忌,所以我可能会得到:

+--------+--------+
|        |~[    ]~|
| Ch. 6  |~[Fig1]~|
|        |        |
|        |        |
|        |bla ble |
+--------+--------+

因此,{figure}首先是占位符\vspace,然后是内容。

我一直在寻找两种解决方案,但没有成功:

A) 防止第一页出现浮动。我不知道如何在不影响整个文档(即浮动)或手动将第一个浮动设置为的情况下做到这一点[b]。我还没有找到一种方法来告诉浮动只是避开某个页面或某个区域。

B)仅为此页面设置顶部边距。我研究了geometry软件包,即

\newgeometry{top=300pt}
\restoregeometry

但这不起作用。首先,\newgeometry使用\clearpage,但我不需要清除页,我只想更改一个页边距。我删除了清除页并制作了自己的\newcommands,但是...

\newsamepagegeometry{top=300pt}
\restoresamepagegeometry

...不起作用,因为它同时设置取消设置当前页的页边距,而不是设置当前页的页边距并取消设置下一页的页边距。

所以我尝试了\afterpage{...},但似乎有一个已知(或至少观察到)的问题阻止了

\newsamepagegeometry{top=300pt}
\afterpage{\restoresamepagegeometry}

无法工作,而手动放置\restoresamepagegeometry下一页文本则工作正常。上面的代码显然\restoresamepagegeometry根本没有执行,因此几何形状在top=300pt文档的其余部分保持不变。

任何解决方案或寻找方法的想法都将不胜感激。

答案1

你的章节标题可以和 article.cls 做同样的\maketitle事情

\global\@topnum\z@   % Prevents figures from going at top of page.

该设置是全局的,但仅影响当前页面。根据上下文,您可能需要使用\makeatletter ... \makeatother

相关内容