% Created by Stephen Haptonstahl % May be used freely. If something happens using this, it's not my fault. \ProvidesPackage{hapgraph}[2003/11/17 Stephen Haptonstahl's graph paper macros] \RequirePackage{calc} % used to do arithmetic within LaTeX code. \RequirePackage{ifthen} \newboolean{pdftrue} \setboolean{pdftrue}{false} \DeclareOption{pdf}{\setboolean{pdftrue}{true}} \ProcessOptions \ifthenelse{\boolean{pdftrue}} {\RequirePackage[usenames,dvipsnames,pdftex]{color}} {\RequirePackage[usenames,dvipsnames]{color}} % Various graph paper macros % Create the ngrid environment % ngrid is a grid from -n to n with axes in black and a grid in gray. % Then the user can add commands within the picture environment to % create a graph on the grid. % % The first parameter is the size of the grid in mm. The second parameter % is n, the number +/- from the origin. \newcounter{ngridleftborder} \newcounter{ngridrightborder} \newcounter{ngridspan} \newcounter{ngridlines} \newcounter{ngridtwon} \newenvironment{ngrid}[2]{ \setcounter{ngridleftborder}{-1-#2} \setcounter{ngridrightborder}{1+#2} \setcounter{ngridspan}{2*\value{ngridrightborder}} \setcounter{ngridlines}{\value{ngridspan}-1} \setcounter{ngridtwon}{2*#2} \setlength{\unitlength}{#1mm}\begin{picture}(\value{ngridspan},\value{ngridspan})(\value{ngridleftborder},\value{ngridleftborder}) \textcolor{Gray}{ \multiput(-#2,-#2)(1,0){\value{ngridlines}}{\line(0,1){\value{ngridtwon}}} \multiput(-#2,-#2)(0,1){\value{ngridlines}}{\line(1,0){\value{ngridtwon}}} } \linethickness{.75pt} \put(0,0){\vector(0,1){\value{ngridrightborder}}} \put(0,0){\vector(0,-1){\value{ngridrightborder}}} \put(0,0){\vector(1,0){\value{ngridrightborder}}} \put(0,0){\vector(-1,0){\value{ngridrightborder}}} } {\end{picture}} % These commands \fivegrid and \tengrid create blank grids from -5 to 5 or % -10 to 10 using the ngrid environment. \newcommand{\fivegrid}[1]{ \begin{ngrid}{#1}{5} \end{ngrid} } \newcommand{\tengrid}[1]{ \begin{ngrid}{#1}{10} \end{ngrid} }