%
% ZINE style definitions. Very tight 1/2 "A" size paper,
% optional two column format.
%
\font\logohuge=homo60
\font\logolg=homo52			% the big, special font
\font\logomed=homo17			% medium special font
\font\logosm=homo12			% small special font
\font\logo=homo9			% normal logo font
\font\hl=swiss18			% headline font
\font\hlbig=swiss24			% headline font
\font\entry=cmssbx10 scaled\magstephalf
\font\bigtitle=cmbx10 scaled\magstep2

\def\circleA{{A\hskip-8.6pt$\bigcirc$}}
\def\cents{\hbox{\rlap/c}}

\hfuzz=2pt
%
% Font switching
%
\def\normal{\font\rm=cmr9 \rm 
    \font\bf=cmbx9
    \font\it=cmti9 
    \font\sans=cmss9
    \parskip=4pt plus 1pt minus 1pt
    \baselineskip=9pt plus .1pt minus .1pt}
    \lineskiplimit=-1000pt			% normal text is tight

\def\large{\font\rm=cmr12 \rm 
    \font\bf=cmbx12
    \font\it=cmti12 
    \font\sans=cmss12
    \parskip=7pt plus 2pt minus 1pt
    \baselineskip=11pt plus .1pt minus .1pt}

\def\small{\font\rm=cmr8 \rm 
    \font\bf=cmbx8
    \font\it=cmti8 
    \font\sans=cmssq8
    \parskip=3pt plus 1pt minus .5pt
    \baselineskip=7.5pt plus 0pt minus 0pt}

\normal					% set default

\newdimen\pagewidth \newdimen\pageheight
\newdimen\columnwidth \newdimen\doublepageheight
%
%%%%%%%%%%%%%%%%%%%%%%% Printer Fudging %%%%%%%%%%%%%%%%%%%%%%%%
%
% Paper is 8.5 x 11 folded in half  (8.5 high by 5.5 wide)
% The NEC P2200 printer with sheet feeder has a built-in .33 in. 
% left margin, and .34 in. top margin:
%
%     | <------------------- \hsize ---------------------->
%     | <-- \columnwidth ---> |   | <-- \columnwidth ---> |
% | L | .......column1....... | G | .......column2 ...... | R |
%
% (The following all add up to 5.5 inches)
%
\hsize=4.84in	\pagewidth=\hsize	% L = .33 in. R = .33 in.
\columnwidth=2.32in			% G = .2 in.
%
% (The following all add up to 8.5 inches)
%
\vsize=7.70in	\pageheight=\vsize	% top/bot margin .40in.
%
% These are essentially "fudge factors" to make this physically
% print right. 
%
\hoffset=-0.85in
\voffset=-0.90in

%%%%%%%%%%%%%%%%%%% End Printer Fudging %%%%%%%%%%%%%%%%%%%%%%%%

\def\lline#1{\line{#1\hfill}}

\parindent=0in

\pretolerance=1000
\tolerance=2000
\nopagenumbers

\catcode`\@=11
\widowpenalty=\@M
\interlinepenalty=5000
\doublehyphendemerits=5000
\finalhyphendemerits=\@m
\adjdemerits=5000

\def\bar{\smallskip\hrule width\hsize height2pt\smallbreak}

\def\boxit#1#2{
    \advance\hsize by -#1pt \advance\hsize by -#1pt
    \advance\hsize by -#1pt \advance\hsize by -#1pt
    \advance\hsize by -#1pt \advance\hsize by -#1pt
    \vbox{\hrule height#1pt \hbox{\vrule
      width#1pt\kern#1pt    \vbox{\kern#1pt#2\kern#1pt}
      \kern#1pt\vrule width#1pt}\hrule height#1pt}}
%
% Start of two-column macros
%
\doublepageheight=\pageheight
\multiply\doublepageheight by 2		% (used by \begindoublecolumns)
\newbox\partialpage

\def\onepageout#1{\shipout\vbox{
	\offinterlineskip
	\vbox to \pageheight{#1 \boxmaxdepth=\maxdepth}}
	\advancepageno}


\def\begindoublecolumns{
	\begingroup 
	\output={\global\setbox\partialpage=\vbox{\unvbox255}}\eject
	\output={\doublecolumnoutput} \hsize=\columnwidth \vsize=\doublepageheight}

\def\enddoublecolumns{
	\output={\balancecolumns}\eject
	\endgroup
	\pagegoal=\vsize}


\def\doublecolumnoutput{\splittopskip=\topskip \splitmaxdepth=\maxdepth
	\dimen@=44pc \advance\dimen@ by-\ht\partialpage
	\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
	\onepageout\pagesofar \unvbox255 \penalty\outputpenalty}

\def\pagesofar{\unvbox\partialpage
	\wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}

\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
	\advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
	\divide\dimen@ by2 \splittopskip=\topskip
	{\vbadness=10000 \loop \global\setbox3=\copy0
		\global\setbox1=\vsplit3 to\dimen@
		\ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
	\setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\dimen2=\dp3 \unvbox3 \kern-\dimen2 \vfil}	% was{\unvbox3}
\pagesofar}
%
% end two column macros
%
\def\chapter#1{\newpage\chapterno@=#1 \pageno=3 }
\def\section#1{\par\penalty-9000\vskip1pc 
  \leavevmode\hskip-5pc{\bigtitle\ignorespaces#1}\par\nobreak}

\newif\iftwosided@
\def\twosided{\twosided@true}
\def\plainoutput{
    %\ifodd\pageno \advance\hoffset by .5in 
    %\else\advance\hoffset by .25in \iftwosided@ \advance\hoffset by3in\fi
    %\fi
    \shipout\vbox{\makeheadline\pagebody
    \makefootline}\advancepageno\ifnum\outputpenalty>-\@MM\else
     \dosupereject\fi}

\def\smallpagebreak{\relax\ifvmode\smallbreak
      \else\nonvmodeerr@\smallpagebreak\fi}
\def\medpagebreak{\relax\ifvmode\medbreak
       \else\nonvmodeerr@\medpagebreak\fi}
\def\bigpagebreak{\relax\ifvmode\bigbreak
      \else\nonvmodeerr@\bigpagebreak\fi}

\outer\def\title{\title@true\vglue 24\p@ plus 12\p@ minus 12\p@ \bgroup\let\\=\cr\tabskip\centering�
\halign to \hsize\bgroup\tenbf\hfill\ignorespaces##\unskip\hfill\cr}
\def\endtitle{\cr\egroup\egroup\vglue 18\p@ plus 12\p@ minus 6\p@}

\outer\def\heading{\bigbreak\bgroup\let\\=\cr\tabskip\centering \halign to�
hsize\bgroup\smc\hfill\ignorespaces##\unskip\hfill\cr}
\def\endheading{\cr\egroup\egroup\nobreak\medskip}

\outer\def\subheading#1{\medbreak\noindent{\tenbf\ignorespaces#1\unskip\enspace}\ignorespaces}

\outer\def\proclaim#1{\medbreak\noindent\smc\ignorespaces
    #1\unskip\enspace\sl\ignorespaces}
\outer\def\endproclaim{\par\ifdim\lastskip<\medskipamount\removelastskip
  \penalty 55 \fi\medskip\rm}

\outer\def\demo#1{\par\ifdim\lastskip<\smallskipamount\removelastskip
   \smallskip\fi\noindent{\smc\ignorespaces#1\unskip\enspace}\rm      \ignorespaces}
\outer\def\enddemo{\par\smallskip}

\catcode`\@=\active
