%% \begin{identation}{}{} ... \end{indentation} \newenvironment{indentation}[2]% {%\par% \setlength{\leftmargin}{#1}% \setlength{\rightmargin}{#2}% \advance\linewidth -\leftmargin% \advance\linewidth -\rightmargin% \advance\@totalleftmargin\leftmargin% \@setpar{{\@@par}}% \parshape 1 \@totalleftmargin \linewidth% \ignorespaces}% {\par} \newdimen\df@bx \def\df@sig #1 #2 #3{\vbox{% \setbox0=\hbox{{{\sl \ignorespaces #3}}}% \setbox1=\hbox{{{\tt \ignorespaces #1}~~}}% % \df@bx=\textwidth% \advance\df@bx by -\wd0% \advance\df@bx by -\wd1% \noindent\begin{tabular}{@{}p{\wd1}@{}p{\df@bx}@{}p{\wd0}@{}}% {{\tt \ignorespaces #1}~~}&% \begin{minipage}[t]{\df@bx}{\sl\begin{tabbing}#2\end{tabbing}}\end{minipage}&% {{\sl \ignorespaces #3}}% \end{tabular}\nopagebreak% }} %% \begin{defun}{foo}{x y}{Function} ... \end{defun} \newenvironment{defun}[3]{% \pagebreak[1]\vbox{\vskip 1em plus 4em{} \noindent\rule{\linewidth}{0.5pt}\vskip 3pt\nopagebreak[4]{} \df@sig {#1} {#2} {#3}\nopagebreak[4]}% \begin{indentation}{2em}{0em}\nopagebreak\noindent\ignorespaces\vskip-\parskip\vskip-\parskip\noindent\nopagebreak[4]\par\nopagebreak[4]% }{\end{indentation}} \def\key{{\tt\&key} } \def\allow{{\tt\&allow-other-keys} } \def\rest{{\tt\&rest} } \def\optional{{\tt\&optional} } \def\body{{\tt\&body} } \def\arg#1{{\it #1}} \def\cl#1{{\tt #1}} \def\yields{\setbox0=\hbox{$\rightarrow$~~}\hskip-\wd0\box0}