perm filename ALGOL.TEX[1,3]5 blob sn#536007 filedate 1980-09-18 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	% macros for use with Algol-like languages
C00004 ENDMK
C⊗;
% macros for use with Algol-like languages
\font t=cmtt % defines typewriter font
\def\Tb{10} % one unit of indentation (in points)
\def\Tbb{20} % two units of indentation (in points)
\def\\#1{\hbox{\it#1\/\hskip.5pt}} % italic type for identifiers
\def\.#1{\hbox{\:t#1}} % typewriter type for strings
\def\{\hbox{\bf\lowercase{#1}}} % boldface type for word delimiters
\def\_{\hskip.06em\vbox{\hrule width .4em}} % underline symbol within
	% identifiers (it's not present in the italic font)
\def\π{\penalty1000\hskip 0pt plus 1000pt}
\def\0{\π\penalty0\hskip\Tbb pt plus -1000pt
	\hbox{\hskip-\Tbb pt}\π} % optional beginning of new line (a tricky macro)
\def\1{\advcount7 by \Tb \hangindent \count7pt} % indent one more unit
\def\2{\par \hangindent \count7pt \noindent
	\hbox{\hskip\count7pt \hskip-\Tbb pt}\π} % compulsory beginning of new line
\def\3{\advcount7 by-\Tb} % indent one less unit
\def\4#1{\π\penalty#10\hskip 0pt plus -1000pt
	\hbox{}\π} % optional break with specified penalty
\def\5{\par\vskip 6pt plus 3pt minus 2pt\2} % compulsory line break after vskip
% To use these macros, start in vertical mode, then do this:
% {\ragged1000000 \jpar10000 \setcount7\Tbb\1 <your edited program> \par}