特定页面上的页面边框,跟进另一个问题的答案

特定页面上的页面边框,跟进另一个问题的答案

我尝试使用在每一页上添加边框创建页面边框,并且可以工作,但我想知道是否有办法从某些页面删除页面边框?

我会在评论中问这个问题,但不幸的是我没有 50 点声誉 :(

谢谢。

答案1

以下是您引用的答案的扩展版本。

% noborderprob.tex SE 559677

% the following code mainly from SE 404749
\documentclass{article}

% PW added the folowing code
\usepackage{lipsum} 
\usepackage{ifthen}
\newboolean{borderon} 
\newcommand{\borders}{\setboolean{borderon}{true}}    % have borders
\newcommand{\noborders}{\setboolean{borderon}{false}} % no borders
\borders
% end of addition

\usepackage{calc}
\usepackage{eso-pic}

\newlength{\PageFrameTopMargin}
\newlength{\PageFrameBottomMargin}
\newlength{\PageFrameLeftMargin}
\newlength{\PageFrameRightMargin}

\setlength{\PageFrameTopMargin}{1cm}
\setlength{\PageFrameBottomMargin}{1cm}
\setlength{\PageFrameLeftMargin}{1cm}
\setlength{\PageFrameRightMargin}{1cm}

\makeatletter

\newlength{\Page@FrameHeight}
\newlength{\Page@FrameWidth}

% PW modified the \AddToShipoutPicture to output nothing for borderon=false
\AddToShipoutPicture{
  \ifthenelse{\boolean{borderon}}{%
  \thinlines
  \setlength{\Page@FrameHeight}{\paperheight-\PageFrameTopMargin-\PageFrameBottomMargin}
  \setlength{\Page@FrameWidth}{\paperwidth-\PageFrameLeftMargin-\PageFrameRightMargin}
  \put(\strip@pt\PageFrameLeftMargin,\strip@pt\PageFrameTopMargin){
    \framebox(\strip@pt\Page@FrameWidth, \strip@pt\Page@FrameHeight){}}}
{}}

\makeatother

\begin{document}

\section{Test}

% PW added the following code

\lipsum 

\lipsum 

\noborders % stop page borders

\lipsum

\borders % start page borders

\lipsum

\end{document}

首先从有边框的页面开始。要停止边框,请将 放在\noborders您想要无边框的页面上。将 放在\borders您想要重新开始边框的页面上。

相关内容