% \iffalse meta-comment % % Copyright (C) 2013 by Scott Lawrence % --------------------------------------------------------------------------- % 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 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Scott Lawrence. % % This work consists of the files vgrid.dtx and vgrid.ins % and the derived filebase vgrid.sty. % % \fi % % \iffalse %<*driver> \ProvidesFile{vgrid.dtx} % %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{vgrid} %<*package> [2013/12/20 0.1 Overlays a vertical grid] % % %<*driver> \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \RecordChanges \usepackage{vgrid} \begin{document} \DocInput{vgrid.dtx} \PrintChanges \PrintIndex \end{document} % % \fi % % \CheckSum{72} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \changes{1}{2013/12/20}{Converted to DTX file} % % \DoNotIndex{\newcommand,\newenvironment} % % \GetFileInfo{vgrid.dtx} % \title{The \textsf{vgrid} package} % \author{Scott Lawrence\\ \texttt{bytbox@gmail.com}} % \date{\fileversion~from \filedate} % % \maketitle % % \section{Introduction} % % The \texttt{vgrid} package overlays a grid intended to help the author % enforce vertical rhythm on each page. The spacing of the grid is taken from % \verb|\baselineskip|, with the first line at the top of the text area. % % Note that \texttt{vgrid} itself does not change any spacing -- other packages % (or careful font settings) must be used to achieve vertical rhythm. This document, for example, can be clearly seen to not have vertical rhythm. % % \section{Usage} % % To add a grid to each page, just place \verb|\usepackage{vgrid}| in your % document's preamble. As of this version, there is no fine-grained control to % allow grids to be excluded from certain pages. The grid will use % \verb|\baselineskip| as the line height. % % % \StopEventually{} % % \section{Implementation} % % \iffalse %<*package> % \fi % % \begin{macrocode} \RequirePackage{everypage} \RequirePackage{tikz} \RequirePackage{ifoddpage} \newlength\vgrid@l \setlength\vgrid@l{\baselineskip} \newlength\vgrid@y \AddEverypageHook{ % \end{macrocode} % For every page, we need to re-calculate the coordinates of the grid. % \begin{macrocode} \def\@csm{\ifoddpageoroneside\oddsidemargin\else\evensidemargin\fi} \def\@left{\hoffset+\@csm} \def\@right{\@left+\textwidth} \def\@top{-\voffset-\topmargin-\headheight-\headsep} \def\@gridline{\draw [thin, gray]} \begin{tikzpicture}[overlay] \def\y{\@top-\vgrid@y} \@gridline (\@left, \@top) -- (\@left, \@top-\textheight); \@gridline (\@right, \@top) -- (\@right, \@top-\textheight); \setlength\vgrid@y{0pt} \@whiledim\vgrid@y<\textheight\do{ \@gridline (\@left, \y) -- (\@right, \y); \addtolength{\vgrid@y}{\vgrid@l} } \@gridline (\@left, \y) -- (\@right, \y); \end{tikzpicture} } % \end{macrocode} % % \iffalse % % \fi % % \Finale \endinput