> > I do not want to have the code in a package. This would > > result in a patch. A hook wouldn't blow the kernel up, the begin > > document hook is only a few lines of code. > > even if it was 1 line of code (which actually it is as there is a begin > page hook, but it disables itself after the first time, so it can be > advertised as \AtBeginDvi) you would want it as a package. Code like this has been lying around here for a while. Find below my bophook.sty and a test file that marks the boundaries in DIN letters. \def\filedate{2000/03/07} \def\fileversion{0.01} \def\filename{bophook} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{\filename}[\filedate\space v\fileversion\space bop-hook, K. Tinnefeld] % PageLayout should contain margin- and textdimen. settings, % e. g. changed in the ps@xxx commands. \newcommand*{\PageLayout}[1]{\gdef\@pagelayout{#1}} \newcommand*{\AtBeginPage}[1]{\gdef\@originpic{#1}} \let \@pagelayout \relax \let \@originpic \relax \CheckCommand*\@begindvi{% \unvbox \@begindvibox \global\let \@begindvi \@empty} \renewcommand*\@begindvi{% \unvbox \@begindvibox \@originprint \global\let \@begindvi \@originprint} \newcommand*{\@originprint}{% \setbox\@tempboxa\vbox to\z@{% \vskip-1in \moveleft1in \vbox{% \hb@xt@\z@{% \@originpic\hss}}\vss} \dp\@tempboxa\z@ \box\@tempboxa \@pagelayout} \endinput \documentclass[a4paper, oneside]{letter} \usepackage{bophook} \PageLayout{% \newlength{\topdist} \setlength{\topdist}{\topmargin} \addtolength{\topdist}{\headheight} \newlength{\sidedist} \setlength{\sidedist}{\oddsidemargin}} \newcommand*{\color}[1]{} \AtBeginPage{% \unitlength1mm \begin{picture}(0,0) \put(105,-22.5){\makebox(0,0){\Large Brief nach DIN 676 B--A4 (1995--05)}} \put(0,-45){\line(1,0){210}} \put(20,-50){\line(1,0){85}} \put(20,-90){\line(1,0){85}} \put(20,-45){\line(0,-1){45}} \put(105,-45){\line(0,-1){45}} \put(0,-98.5){\line(1,0){210}} \put(24,-98.5){\line(0,-1){173.1}} \put(74.8,-98.5){\line(0,-1){20}} \put(125.6,-98.5){\line(0,-1){20}} \put(176.4,-98.5){\line(0,-1){20}} %%% Faltmarken \put(0,-105){\line(1,0){10}} \put(0,-210){\line(1,0){10}} %%% Lochermarke \put(10,-148.5){\line(1,0){10}} \end{picture}} \newenvironment{brief}{% \ignorespacesafterend}{} \begin{document} \begin{brief} \makebox{} \end{brief} \end{document} -- Karsten Tinnefeld [log in to unmask] Fachbereich Informatik, Lehrstuhl 2 T +49 231 755-4737 Universität Dortmund, D-44221 Dortmund, Deutschland F +49 231 755-2047