summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/eso-pic/showframe.sty
blob: 04b11d60ce420fa7919e33ce997e16b01d00a649 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

% Rolf Niepraschk -- Rolf.Niepraschk@ptb.de

% Draws visible frames for the text and margin area, and lines
% for the head and foot to check layout in detail. Using the package
% option "noframe" you can draw the frames later only for a single 
% page with \AddToShipoutPicture*{\ShowFramePicture}. Another useful 
% options maybe eso-pic's "colorgrid", "grid" and "texcoord".

\ProvidesPackage{showframe}[2008/12/09 v0.1h showframe (new impl., RN)]

\newif\ifSF@frame\SF@frametrue
 
\DeclareOption{noframe}{\SF@framefalse}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{eso-pic}}
\ProcessOptions\relax

\RequirePackage{eso-pic}[2002/10/30]

\newcommand\ShowFramePicture{%
  \begingroup
    \normalcolor\thicklines
    \AtPageLowerLeft{%
      \framebox(\LenToUnit{\paperwidth},\LenToUnit{\paperheight}){}}%
    \AtTextLowerLeft{%
      \framebox(\LenToUnit{\textwidth},\LenToUnit{\textheight}){}}%
    \AtTextUpperLeft{%
      \put(0,\LenToUnit{\headsep}){%
        \framebox(\LenToUnit{\textwidth},\LenToUnit{\headheight}){}}}%
    \AtTextLowerLeft{%
      \put(0,\LenToUnit{-\footskip}){%
        \line(1,0){\LenToUnit{\textwidth}}}}%
    \AtTextLowerLeft{%
      \@tempdima=\textwidth\advance\@tempdima\marginparsep%
      \if@twoside
        \ifodd\c@page\else
          \if@mparswitch
            \@tempdima=-\marginparsep\advance\@tempdima-\marginparwidth
          \fi
        \fi
      \fi
      \put(\LenToUnit{\@tempdima},0)%
        {\framebox(\LenToUnit{\marginparwidth},\LenToUnit{\textheight}){}}%
    }%
  \endgroup
}

\ifSF@frame\AddToShipoutPicture{\ShowFramePicture}\fi

\endinput