> > 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
|