perm filename ALGOL.TEX[1,3]1 blob sn#424179 filedate 1979-03-10 generic text, type T, neo UTF8
% macros for use with Algol-like languages
{\: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#1}} % boldface type for word delimiters
\def\_{$_$} % underline symbol within identifiers (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}