给页面绘制框,基本思路就如 Sagittarius Rover 所示的方式,就是在页面叠一个背景(如tikz图)。
我猜你是要在不同的也设置不同的框,比如有的页有章节标题,要把章节名放在外面,那么可以根据章节的信息来判断绘制(大小和位置)不同的框。
比如我在nudtpaper中的NUDTproposal.cls利用了章节的计数器来做判断。
见:https://github.com/liubenyuan/nudtpaper/blob/master/proposal/NUDTproposal.cls?plain=1#L55-L70
具体为:
\RequirePackage{draftwatermark} %用其绘制框线
\numgdef\sectionpage{0}
\numgdef\pageafsecseven{10000}
\newcommand\FrameforSectionWM{%
\ifboolexpr{ test {\ifnumequal{\sectionpage}{0}}
or test {\ifnumequal{\value{section}}{5}}
or test {\ifnumequal{\value{section}}{6}}
or test {\ifnumgreater{\value{page}}{\pageafsecseven}}
}
{}{%
\ifnumequal{\value{page}}{\sectionpage}
{\tikz{\draw[line width=0.7pt] (0,0) rectangle (\textwidth+2mm,\textheight-0.6cm);}}
{\tikz{\draw[line width=0.7pt] (0,0) rectangle (\textwidth+2mm,\textheight+0.5mm);}}%
}%
}
\DraftwatermarkOptions{anchor=lb, pos={3cm,26.45cm},markcmd=\FrameforSectionWM}
其中,我使用了draftwatermark来输出背景而没有使用shipout钩子,但实际上draftwatermark可能也使用了类似钩子,具体是什么可以查一下其代码。
问 如何给页面添加边框,实现类似如图效果?