perm filename ALGOL.TEX[1,3]4 blob sn#498422 filedate 1980-03-26 generic text, type T, neo UTF8
% 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\0{\hskip 0pt plus 10000pt\penalty0\hskip\Tbb pt plus-10000pt
	\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{\hskip 0pt plus 10000pt\penalty#10
	\hskip 0pt plus-10000pt} % 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}