... 一个文档问题 ...

... 一个文档问题 ...

... 一个文档问题 ...

问题:\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}

相关内容