奇数页和偶数页的页脚高度不同

奇数页和偶数页的页脚高度不同

我想使用 LaTeX 排版一份多页合同;在这种合同中,双方通常会签署所有页面,但最后一页除外,因为最后一页有“主要”签名。

但是,签署长合同的每一页(例如,详细描述协议下工作技术细节的合同)很困难;可以双面打印合同,让双方签署每一张纸床单反而。

所以,问题本身是:我如何为奇数页和偶数页设置不同的页脚高度?我希望我的偶数页有更多的自由空间用于签名和印章。此外,如果主签名的页面恰好是奇数,则其页脚应该较窄,而不是较宽。

有没有办法实现这种布局?

答案1

您可以使用包everyshi。在下一个示例中,每个偶数页的文本高度减少 1cm。

\documentclass[twoside]{article}

\usepackage{everyshi}
\makeatletter
\if@twoside
  \EveryShipout{\ifodd\c@page\enlargethispage{-1cm}\fi}
\fi
\makeatother

\pagestyle{empty}

\begin{document}

...

\end{document}

答案2

本质上与@user94293的答案相同,但稍微“轻松”一些,因为它没有重新定义\shipout原语(通过everyshi包),而只是在末尾添加了必要的代码\@outputpage

\documentclass[a4paper,twoside]{article}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
% \usepackage{showframe}

\makeatletter

\if@twoside
  \g@addto@macro\@outputpage{%
    \ifodd\c@page \else % now \c@page has already been incremented
      \enlargethispage{-5\baselineskip}% adjust value as needed
    \fi
  }
\fi

% % Uncomment the following lines to see what actually happens:
% \newtoks\my@OutPut
% \my@OutPut = \output
% \output = {%
%   \the\my@OutPut
%   \showboxbreadth = \@m
%   \showboxdepth = \sixt@@n
%   \showlists
% }

\makeatother



\begin{document}

\lipsum[1-64]

\end{document}

答案3

我设法通过使用更改页面包。我的解决方案如下:

\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage[strict]{changepage}
\usepackage{fancyhdr}

\fancypagestyle{pagesnormal}{%
    \changepage{3cm}{}{}{}{}{}{}{}{3cm}%
}
\fancypagestyle{signaturepage}{%
    \changepage{1cm}{}{}{}{}{}{}{}{1cm}%
}

\fancypagestyle{plain}{%
\checkoddpage
\ifoddpage
    \thispagestyle{pagesnormal}
\else
    \thispagestyle{signaturepage}
\fi%
}

\begin{document}
\pagestyle{plain}

\lipsum
\newpage
\pagestyle{plain}
\lipsum

\end{document}

我的解决方案唯一的问题是你必须\pagestyle{plain}每隔一页执行一次,因为我的奇偶页检查似乎需要改进。如果你想让最后一页成为签名页,你可以发出命令\thispagestyle{signaturepage}

我希望这将指导您找到最终的解决方案。

相关内容