... 一个文档问题 ...
问题:\AtBeginShipoutNext
包装中的“例外”是否atbegshi
适用于单个打印页面?或者,这甚至不适用于包装geometry
?
一个奇怪的用例:几何边距(页眉等)需要更改垂直高度,因为水印插图每隔一页会交替改变大小。(想atbegshi
在页眉中使用前景和背景框的功能……
我只是想用\newgeometry
钩子重置 Geometry,()。我一直在尝试用这些包来做这件事——但我甚至不确定它们是否支持这一点。
在此示例中,只是尝试打开或关闭 Header。
笔记:最好不要使用\thispagestyle
。我试图了解这是如何工作的,低级的。
\documentclass[10pt]{book}
\usepackage[showframe, vdivide={0.75in,*,0.75in}, includeall, nomarginpar]{geometry}
\usepackage{atbegshi}
\usepackage{everyshi}
\usepackage{blindtext}
\makeatletter
% **********************
% **********************
% **********************
\newcommand{\SetDefaultGeometry}{%
\newgeometry{%
headheight=0em,
headsep=0em,
footskip=0em
}
\savegeometry{DefaultGeometry}
}
% **********************
% **********************
% **********************
\newcommand{\SetChapterPageGeometry}{%
\newgeometry{%
headheight=3em,
headsep=3em
}
\savegeometry{ChapterPageGeometry}
}
% **********************
% **********************
% **********************
\newcommand{\SetChapterTitleGeometry}{%
\newgeometry{%
%\NewFluidGeometry{%
headheight=0em,
headsep=0em
}
\savegeometry{ChapterTitleGeometry}
}
\makeatother
\newcommand{\EveryShipoutHook}{}
\newcommand{\NextShipoutHook}{}
\newcommand{\BeginShipoutHook}{}
\newcommand{\BeginShipoutNextHook}{}
\AtBeginShipout{\BeginShipoutHook}
\AtBeginShipoutNext{\BeginShipoutNextHook}
\EveryShipout{\EveryShipoutHook}
\AtNextShipout{\NextShipoutHook}
\begin{document}
%\renewcommand{\BeginShipoutNextHook}{\SetChapterPageGeometry}
%\renewcommand{\BeginShipoutHook}{\SetChapterPageGeometry}
\SetChapterTitleGeometry
\LARGE{Testing1}
\par \blindtext
\SetChapterPageGeometry
%\renewcommand{\NextShipoutHook}{\SetPageGeometry}
\blindtext \pagebreak \blindtext \clearpage \blindtext \newpage \blindtext
\clearpage
\SetChapterTitleGeometry
\newpage
\LARGE{Testing2}
\par \blindtext
\clearpage
\SetChapterPageGeometry
\blindtext \pagebreak \blindtext \clearpage \blindtext \newpage \blindtext
\end{document}