\newread\inputstream \newlinechar=`\@
\font\jojo=cstt12
\def\listing#1{\begingroup \def\par{\endline\begline}%
  \frenchspacing \raggedbottom \setverb \obeylines \jojo
  \begline \input#1 \egroup \endgroup}
\def\begline{\setbox0=\hbox\bgroup}
\def\endline{\egroup
  \ifdim\wd0=0pt \vskip3\baselineskip \penalty-200 \vskip-2\baselineskip
  \else \box0 \fi}
\def\setverb{\def\do##1{\catcode`##1=12}\dospecials\obeyspaces}

\def\readfilename{\message{Napiçte n zev souboru pro tisk: }
  \catcode`\\=12 \read-1 to\file \catcode`\\=0
  \immediate\openin\inputstream=\file
  \ifeof\inputstream \message{Soubor \file\space neexistuje !!@}\let\next=\readfilename
  \else \immediate\closein\inputstream \let\next=\relax \fi
  \next}
%\pageno=34
\pageno=46
\readfilename \listing\file
\end
