% Rolf Niepraschk -- Rolf.Niepraschk@gmx.de
% showframe.sty
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "author-maintained".
% 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".
%
% \ShowFrameColor and \ShowFrameLinethickness can be used to change
% the frames.
\ProvidesPackage{showframe}[2011/02/24 v0.1i 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*\ShowFrameColor{\normalcolor}
\newcommand*\ShowFrameLinethickness{.8pt}
\newcommand\ShowFramePicture{%
\begingroup
\ShowFrameColor\linethickness{\ShowFrameLinethickness}%
\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\AddToShipoutPictureFG{\ShowFramePicture}\fi
\endinput