Rule in textarea every n points
The following solution is independent from the output routine and uses a eso-pic
like approach:
\documentclass[11pt]{article}
\usepackage{lipsum}
% \usepackage[showframe]{geometry}
\usepackage{atbegshi,picture}
\makeatletter
\AtBeginShipout{%
\AtBeginShipoutUpperLeft{%
\put(\dimexpr
\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + 1in\relax,
-\dimexpr\topmargin + 1in + \headheight + \headsep\relax){%
\begin{picture}(0,0)%
\setlength{\unitlength}{13bp}%
\setlength{\dimen0 }{0pt}%
\@whiledim\dimen0<\dimexpr\textheight+1sp\relax\do{%
\put(0,-\dimen0){\line(1,0){\textwidth}}%
\addtolength{\dimen0 }{\unitlength}%
}%
\end{picture}%
}%
}%
}
\makeatother
\makeatletter
\setlength{\topskip}{13bp}
\renewcommand\normalsize{%
% \baselineskip to 13bp for \normalsize
\@setfontsize\normalsize\@xipt{13bp}%
% the following values are taken from size11.clo.
\abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI
}
% \parskip without glue:
% \setlength{\parskip}{0pt}
% or with positive \parskip:
\usepackage{parskip}
\setlength{\parskip}{13bp}
\makeatother
\begin{document}
\lipsum[1-3]
\end{document}
Something like this (I also changed baselineskip and parskip to the grid)
\documentclass{article}
\makeatletter
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xpt{13bp}
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\normalsize
\setlength\parskip{13bp}
\def\@oddhead{%
\setlength\unitlength{13bp}
\raisebox{-\topskip}{\begin{picture}(0,0)%
\multiput(0,0)(0,-1){40}{\line(1,0){30}}%
\end{picture}}\hfill}
\makeatother
\def\a{One two three four five. }
\def\b{\a\a Red green blue. \a\a}
\def\c{\b\b Black white. \b\a\b}
\begin{document}
\c
\c
\c
\end{document}
That are simple lines, can also be done with \rule
, package pict2e
or something similiar.
\documentclass{article}
\usepackage{pstricks,multido}
\begin{document}
\setlength\baselineskip{13bp}\noindent%
\multido{\iA=0+13}{45}{\psline[linecolor=gray](0,-\iA bp)(\linewidth,-\iA bp)}%
%
foo\\
bar\\
baz\\
foobar\\
foobarbaz
\end{document}
and the same with \rule
\documentclass{article}
\usepackage{multido}
\begin{document}
\makeatletter%
\newdimen\tempL%
\setlength\baselineskip{13bp}\noindent%
\makebox(0,0)[t]{\multido{\iA=0+13}{40}{%
\put(0,-\strip@pt\tempL){\rule{\linewidth}{0.5pt}}%
\advance\tempL by 13bp}}
\makeatother%
%
foo\\
bar\\
baz\\
foobar\\
foobarbaz
\end{document}