summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/vgrid
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/vgrid
Initial commit
Diffstat (limited to 'macros/latex/contrib/vgrid')
-rw-r--r--macros/latex/contrib/vgrid/vgrid.dtx137
-rw-r--r--macros/latex/contrib/vgrid/vgrid.ins4
-rw-r--r--macros/latex/contrib/vgrid/vgrid.pdfbin0 -> 24354 bytes
3 files changed, 141 insertions, 0 deletions
diff --git a/macros/latex/contrib/vgrid/vgrid.dtx b/macros/latex/contrib/vgrid/vgrid.dtx
new file mode 100644
index 0000000000..65349cf777
--- /dev/null
+++ b/macros/latex/contrib/vgrid/vgrid.dtx
@@ -0,0 +1,137 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2013 by Scott Lawrence <bytbox@gmail.com>
+% ---------------------------------------------------------------------------
+% 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}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{vgrid}
+%<*package>
+ [2013/12/20 0.1 Overlays a vertical grid]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\usepackage{vgrid}
+\begin{document}
+ \DocInput{vgrid.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \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
+%</package>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/vgrid/vgrid.ins b/macros/latex/contrib/vgrid/vgrid.ins
new file mode 100644
index 0000000000..a35aa39b14
--- /dev/null
+++ b/macros/latex/contrib/vgrid/vgrid.ins
@@ -0,0 +1,4 @@
+\input docstrip.tex
+\keepsilent
+\generate{\file{vgrid.sty}{\from{vgrid.dtx}{package}}}
+\endbatchfile
diff --git a/macros/latex/contrib/vgrid/vgrid.pdf b/macros/latex/contrib/vgrid/vgrid.pdf
new file mode 100644
index 0000000000..180e233ce9
--- /dev/null
+++ b/macros/latex/contrib/vgrid/vgrid.pdf
Binary files differ