not a real manual yet...
This commit is contained in:
		
							parent
							
								
									fe556d67d4
								
							
						
					
					
						commit
						e38fe00657
					
				| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
.SUFFIXES: .idx .ind .tex .dvi .ps .pdf $(.SUFFIXES)
 | 
			
		||||
 | 
			
		||||
TEX=	overview.tex
 | 
			
		||||
 | 
			
		||||
TEX2PAGE=tex2page
 | 
			
		||||
 | 
			
		||||
man.dvi: $(TEX) man.ind
 | 
			
		||||
man.ind: man.idx
 | 
			
		||||
man.pdf: $(TEX) man.ind
 | 
			
		||||
 | 
			
		||||
.dvi.ps:
 | 
			
		||||
	dvips -j0 -o $@ $<
 | 
			
		||||
 | 
			
		||||
.tex.dvi:
 | 
			
		||||
	latex $< && latex $<
 | 
			
		||||
	rm $*.log
 | 
			
		||||
 | 
			
		||||
.tex.pdf:
 | 
			
		||||
	pdflatex $< && thumbpdf $@ && pdflatex $<
 | 
			
		||||
	rm $*.log
 | 
			
		||||
 | 
			
		||||
.idx.ind:
 | 
			
		||||
	makeindex $<
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	-rm -f *.log *.png man.out man.dvi man.ps man.pdf thumb*.png
 | 
			
		||||
 | 
			
		||||
INSTALL_DATA= install -c -m 644
 | 
			
		||||
 | 
			
		||||
tar:
 | 
			
		||||
	tar cf - *.tex sty | gzip > man.tar.gz
 | 
			
		||||
 | 
			
		||||
html: $(TEX)
 | 
			
		||||
	$(TEX2PAGE) man && $(TEX2PAGE) man
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,296 @@
 | 
			
		|||
% code.sty: -*- latex -*-
 | 
			
		||||
% Latex macros for a "weak" verbatim mode.
 | 
			
		||||
% -- like verbatim, except \, {, and } have their usual meanings.
 | 
			
		||||
 | 
			
		||||
% Environments: code, tightcode,  codeaux, codebox, centercode
 | 
			
		||||
% Commands: \dcd, \cddollar, \cdmath, \cd, \codeallowbreaks, \codeskip, \^
 | 
			
		||||
% Already defined in LaTeX, but of some relevance: \#, \$, \%, \&, \_, \{, \}
 | 
			
		||||
 | 
			
		||||
% Changelog at the end of the file.
 | 
			
		||||
 | 
			
		||||
% These commands give you an environment, code, that is like verbatim
 | 
			
		||||
% except that you can still insert commands in the middle of the environment:
 | 
			
		||||
%     \begin{code}
 | 
			
		||||
%     for(x=1; x<loop_bound; x++)
 | 
			
		||||
%         y += x^3; /* {\em Add in {\tt x} cubed} */
 | 
			
		||||
%     \end{code}
 | 
			
		||||
%
 | 
			
		||||
% All characters are ordinary except \{}. To get \{} in your text, 
 | 
			
		||||
% you use the commands \\, \{, and \}.
 | 
			
		||||
 | 
			
		||||
% These macros mess with the definition of the special chars (e.g., ^_~%).
 | 
			
		||||
% The characters \{} are left alone, so you can still have embedded commands:
 | 
			
		||||
%	\begin{code} f(a,b,\ldots,y,z) \end{code}
 | 
			
		||||
% However, if your embedded commands use the formerly-special chars, as in
 | 
			
		||||
%    	\begin{code} x := x+1 /* \mbox{\em This is $y^3$} */ \end{code}
 | 
			
		||||
% then you lose. The $ and ^ chars are scanned in as non-specials,
 | 
			
		||||
% so they don't work. If the chars are scanned *outside* the code env,
 | 
			
		||||
% then you have no problem:
 | 
			
		||||
% 	\def\ycube{$y^3$}
 | 
			
		||||
% 	\begin{code} x := x+1 /* {\em This is \ycube} */ \end{code}
 | 
			
		||||
% If you must put special chars inside the code env, you do it by
 | 
			
		||||
% prefixing them with the special \dcd ("decode") command, that
 | 
			
		||||
% reverts the chars to back to special status:
 | 
			
		||||
%    	\begin{code} x := x+1 /* {\dcd\em This is $y^3$} */ \end{code}
 | 
			
		||||
% \dcd's scope is bounded by its enclosing braces. It is only defined within
 | 
			
		||||
% the code env. You can also turn on just $ with the \cddollar command;
 | 
			
		||||
% you can turn on just $^_ with the \cdmath command. See below.
 | 
			
		||||
%
 | 
			
		||||
% Alternatively, just use \(...\) for $...$, \sp for ^, and \sb for _.
 | 
			
		||||
 | 
			
		||||
% WARNING:
 | 
			
		||||
% Like \verb, you cannot put a \cd{...} inside an argument to a macro
 | 
			
		||||
% or a command. If you try, for example,
 | 
			
		||||
%     \mbox{\cd{$x^y$}}
 | 
			
		||||
% you will lose. That is because the text "\cd{$x^y$}" gets read in
 | 
			
		||||
% as \mbox's argument before the \cd executes. But the \cd has to
 | 
			
		||||
% have a chance to run before LaTeX ever reads the $x^y$ so it can
 | 
			
		||||
% turn off the specialness of $ and ^. So, \cd has to appear at
 | 
			
		||||
% top level, not inside an argument. Similarly, you can't have
 | 
			
		||||
% a \cd or a \code inside a macro (Although you could use \gdef to
 | 
			
		||||
% define a macro *inside* a \cd, which you could then use outside.
 | 
			
		||||
% Don't worry about this if you don't understand it.)
 | 
			
		||||
 | 
			
		||||
% BUG: In the codebox env, the effect of a \dcd, \cddollar, or \cdmath
 | 
			
		||||
%   command is reset at the end of each line. This can be hacked by
 | 
			
		||||
%   messing with the \halign's preamble, if you feel up to it.
 | 
			
		||||
 | 
			
		||||
% Useage note: the initial newline after the \begin{code} or 
 | 
			
		||||
%   \begin{codebox} is eaten, but the last newline is not.
 | 
			
		||||
%   So,
 | 
			
		||||
%     \begin{code}
 | 
			
		||||
%     foo
 | 
			
		||||
%     bar
 | 
			
		||||
%     \end{code}
 | 
			
		||||
%  leaves one more blank line after bar than does
 | 
			
		||||
%     \begin{code}
 | 
			
		||||
%     foo
 | 
			
		||||
%     bar\end{code}
 | 
			
		||||
%  Moral: get in the habit of terminating code envs without a newline
 | 
			
		||||
%  (as in the second example).
 | 
			
		||||
%
 | 
			
		||||
 | 
			
		||||
% All this stuff tweaks the meaning of space, tab, and newline.
 | 
			
		||||
%===============================================================================
 | 
			
		||||
% \cd@obeyspaces
 | 
			
		||||
% Turns all spaces into non-breakable spaces.
 | 
			
		||||
% Note: this is like \@vobeyspaces except without spurious space in defn.
 | 
			
		||||
% @xobeysp is basically a space; it's defined in latex.tex.
 | 
			
		||||
%
 | 
			
		||||
{\catcode`\ =\active\gdef\cd@obeyspaces{\catcode`\ =\active\let =\@xobeysp}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% \cd@obeytabs
 | 
			
		||||
% Turns all tabs into 8 non-breakable spaces (which is bogus).
 | 
			
		||||
%
 | 
			
		||||
{\catcode`\^^I=\active %
 | 
			
		||||
  \gdef\cd@obeytabs{\catcode`\^^I=\active\let^^I=\cd@tab}}
 | 
			
		||||
 | 
			
		||||
\def\cd@tab{\@xobeysp\@xobeysp\@xobeysp\@xobeysp\@xobeysp\@xobeysp\@xobeysp\@xobeysp}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% \cd@obeylines
 | 
			
		||||
% Turns all cr's into linebreaks. Pagebreaks are not permitted between lines.
 | 
			
		||||
% This is copied from lplain.tex's \obeylines, with the cr def'n changed.
 | 
			
		||||
%
 | 
			
		||||
{\catcode`\^^M=\active % these lines must end with %
 | 
			
		||||
  \gdef\cd@obeylines{\catcode`\^^M=\active\let^^M=\cd@cr}}
 | 
			
		||||
 | 
			
		||||
% What ^M turns into. This def'n keeps blank lines from being compressed out.
 | 
			
		||||
\def\cd@cr{\par\penalty10000\leavevmode} 	% TeX magicness
 | 
			
		||||
%\def\cd@cr{\par\penalty10000\mbox{}}		% LaTeX
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% \codeallowbreaks
 | 
			
		||||
% Same as \cd@obeylines, except pagebreaks are allowed.
 | 
			
		||||
% Put this command inside a code env to allow pagebreaks.
 | 
			
		||||
 | 
			
		||||
{\catcode`\^^M=\active % these lines must end with %
 | 
			
		||||
  \gdef\codeallowbreaks{\catcode`\^^M\active\let^^M\cd@crbr}}
 | 
			
		||||
 | 
			
		||||
%\def\cd@crbr{\leavevmode\endgraf} % What ^M turns into.
 | 
			
		||||
\def\cd@crbr{\par\leavevmode} % What ^M turns into.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% \cd@obeycrsp 
 | 
			
		||||
% Turns cr's into non-breakable spaces. Used by \cd.
 | 
			
		||||
 | 
			
		||||
{\catcode`\^^M=\active % these lines must end with %
 | 
			
		||||
  \gdef\cd@obeycrsp{\catcode`\^^M=\active\let^^M=\@xobeysp}}
 | 
			
		||||
 | 
			
		||||
% =============================================================================
 | 
			
		||||
 | 
			
		||||
% Set up code environment, in which most of the common special characters
 | 
			
		||||
% appearing in code are treated verbatim, namely: $&#^_~%
 | 
			
		||||
% \ { } are still enabled so that macros can be called in this
 | 
			
		||||
% environment.  Use \\, \{, and \} to use these characters verbatim
 | 
			
		||||
% in this environment.
 | 
			
		||||
% 
 | 
			
		||||
% Inside a group, you can make
 | 
			
		||||
% all the hacked chars	special with the	\dcd		command
 | 
			
		||||
% $			special with the 	\cddollar	command
 | 
			
		||||
% $^_			special with the	\cdmath		command.
 | 
			
		||||
% If you have a bunch of math $..$'s in your code env, then a global \cddollar
 | 
			
		||||
% or \cdmath at the beginning of the env can save a lot of trouble.
 | 
			
		||||
% When chars are special (e.g., after a \dcd), you can still get #$%&_{} with
 | 
			
		||||
% \#, \$, \%, \&, \_, \{, and \} -- this is standard LaTeX.
 | 
			
		||||
% Additionally, \\ gives \ inside the code env, and when \cdmath
 | 
			
		||||
% makes ^ special, it also defines \^ to give ^.
 | 
			
		||||
 | 
			
		||||
%The hacked characters can be made special again
 | 
			
		||||
% within a group by using the \dcd command.
 | 
			
		||||
 | 
			
		||||
% Note: this environment allows no breaking of lines whatsoever; not
 | 
			
		||||
% at spaces or hypens.  To arrange for a break use the standard \- command,
 | 
			
		||||
% or a \discretionary{}{}{} which breaks, but inserts nothing.  This is useful,
 | 
			
		||||
% for example for allowing hypenated identifiers to be broken, e.g.
 | 
			
		||||
% \def\={\discretionary{}{}{}} %optional break
 | 
			
		||||
% FOO-\=BAR.
 | 
			
		||||
 | 
			
		||||
\def\setupcode{\parsep=0pt\parindent=0pt%
 | 
			
		||||
  \normalfont\ttfamily\frenchspacing\catcode``=13\@noligs%
 | 
			
		||||
  \def\\{\char`\\}%
 | 
			
		||||
  \let\dcd=\cd@dcd\let\cddollar=\cd@dollarspecial\let\cdmath=\cd@mathspecial%
 | 
			
		||||
  \@makeother\$\@makeother\&\@makeother\#%
 | 
			
		||||
  \@makeother\^\@makeother\_\@makeother\~%
 | 
			
		||||
  \@makeother\%\cd@obeytabs\cd@obeyspaces}
 | 
			
		||||
% other: $&#^_~%
 | 
			
		||||
% left special: \{}
 | 
			
		||||
% unnecessary: @`'"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% codebox, centercode
 | 
			
		||||
%%=============================================================================
 | 
			
		||||
%% The codebox env makes a box exactly as wide as it needs to be
 | 
			
		||||
%% (i.e., as wide as the longest line of code is). This is useful
 | 
			
		||||
%% if you want to center a chunk of code, or flush it right, or
 | 
			
		||||
%% something like that. The optional argument to the environment,
 | 
			
		||||
%% [t], [c], or [b], specifies how to vertically align the codebox,
 | 
			
		||||
%% just as with arrays or other boxes. Default is [c].
 | 
			
		||||
 | 
			
		||||
%% Must be a newline immediately after "\begin{codebox}[t]"!
 | 
			
		||||
 | 
			
		||||
{\catcode`\^^M=\active % these lines must end with %
 | 
			
		||||
  \gdef\cd@obeycr{\catcode`\^^M=\active\let^^M=\cr}}
 | 
			
		||||
 | 
			
		||||
% If there is a [<letter>] option, then the following newline will
 | 
			
		||||
% be read *after* ^M is bound to \cr, so we're cool. If there isn't
 | 
			
		||||
% an option given (i.e., default to [c]), then the @\ifnextchar will
 | 
			
		||||
% gobble up the newline as it gobbles whitespace. So we insert the
 | 
			
		||||
% \cr explicitly. Isn't TeX fun?
 | 
			
		||||
\def\codebox{\leavevmode\@ifnextchar[{\@codebox}{\@codebox[c]\cr}} %]
 | 
			
		||||
 | 
			
		||||
\def\@codebox[#1]%
 | 
			
		||||
  {\hbox\bgroup$\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi\bgroup%
 | 
			
		||||
   \tabskip\z@\setupcode\cd@obeycr% just before cd@obey
 | 
			
		||||
   \halign\bgroup##\hfil\span}
 | 
			
		||||
 | 
			
		||||
\def\endcodebox{\crcr\egroup\egroup\m@th$\egroup}
 | 
			
		||||
 | 
			
		||||
% Center the box on the page:
 | 
			
		||||
\newenvironment{centercode}%
 | 
			
		||||
  {\begin{center}\begin{codebox}[c]}%
 | 
			
		||||
  {\end{codebox}\end{center}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% code, codeaux, tightcode
 | 
			
		||||
%%=============================================================================
 | 
			
		||||
%% Code environment as described above. Lines are kept on one page.
 | 
			
		||||
%% This actually works by setting a huge penalty for breaking
 | 
			
		||||
%% between lines of code. Code is indented same as other displayed paras.
 | 
			
		||||
%% Note: to increase left margin, use \begin{codeaux}{\leftmargin=1in}.
 | 
			
		||||
 | 
			
		||||
% To allow pagebreaks, say \codeallowbreaks immediately inside the env.
 | 
			
		||||
% You can allow breaks at specific lines with a \pagebreak form.
 | 
			
		||||
 | 
			
		||||
%% N.B.: The \global\@ignoretrue command must be performed just inside
 | 
			
		||||
%% the *last* \end{...} before the following text. If not, you will
 | 
			
		||||
%% get an extra space on the following line. Blech.
 | 
			
		||||
 | 
			
		||||
%% This environment takes two arguments. 
 | 
			
		||||
%% The second, required argument is the \list parameters to override the
 | 
			
		||||
%%     \@listi... defaults.
 | 
			
		||||
%%     - Usefully set by clients: \topsep \leftmargin
 | 
			
		||||
%%     - Possible, but less useful: \partopsep
 | 
			
		||||
%% The first, optional argument is the extra \parskip glue that you get around
 | 
			
		||||
%%     \list environments. It defaults to the value of \parskip.
 | 
			
		||||
\def\codeaux{\@ifnextchar[{\@codeaux}{\@codeaux[\parskip]}} %]
 | 
			
		||||
\def\@codeaux[#1]#2{%
 | 
			
		||||
  \bgroup\parskip#1%
 | 
			
		||||
	 \begin{list}{}%
 | 
			
		||||
	       {\parsep\z@\rightskip\z@\listparindent\z@\itemindent\z@#2}%
 | 
			
		||||
	       \item[]\setupcode\cd@obeylines}%
 | 
			
		||||
\def\endcodeaux{\end{list}\leavevmode\egroup\ignorespaces\global\@ignoretrue}
 | 
			
		||||
 | 
			
		||||
%% Code env is codeaux with the default margin and spacing \list params:
 | 
			
		||||
\def\code{\codeaux{}} \let\endcode=\endcodeaux
 | 
			
		||||
 | 
			
		||||
%% Like code, but with no extra vertical space above and below.
 | 
			
		||||
\def\tightcode{\codeaux[=0pt]{\topsep\z@}}%
 | 
			
		||||
\let\endtightcode\endcodeaux
 | 
			
		||||
%  {\vspace{-1\parskip}\begin{codeaux}{\partopsep\z@\topsep\z@}}%
 | 
			
		||||
%  {\end{codeaux}\vspace{-1\parskip}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Reasonable separation between lines of code
 | 
			
		||||
\newcommand{\codeskip}{\penalty0\vspace{2ex}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% \cd is used to build a code environment in the middle of text.
 | 
			
		||||
% Note: only difference from display code is that cr's are taken
 | 
			
		||||
% as unbreakable spaces instead of linebreaks.
 | 
			
		||||
 | 
			
		||||
\def\cd{\leavevmode\begingroup\ifmmode\let\startcode=\startmcode\else%
 | 
			
		||||
	\let\startcode\starttcode\fi%
 | 
			
		||||
	\setupcode\cd@obeycrsp\startcode}
 | 
			
		||||
 | 
			
		||||
\def\starttcode#1{#1\endgroup}
 | 
			
		||||
\def\startmcode#1{\hbox{#1}\endgroup}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Restore $&#^_~% to their normal catcodes
 | 
			
		||||
% Define \^ to give the ^ char.
 | 
			
		||||
% \dcd points to this guy inside a code env.
 | 
			
		||||
\def\cd@dcd{\catcode`\$=3\catcode`\&=4\catcode`\#=6\catcode`\^=7%
 | 
			
		||||
	   \catcode`\_=8\catcode`\~=13\catcode`\%=14\def\^{\char`\^}}
 | 
			
		||||
 | 
			
		||||
% Selectively enable $, and $^_ as special.
 | 
			
		||||
% \cd@mathspecial also defines \^ give the ^ char.
 | 
			
		||||
% \cddollar and \cdmath point to these guys inside a code env.
 | 
			
		||||
\def\cd@dollarspecial{\catcode`\$=3}
 | 
			
		||||
\def\cd@mathspecial{\catcode`\$=3\catcode`\^=7\catcode`\_=8%
 | 
			
		||||
		    \def\^{\char`\^}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Change log:
 | 
			
		||||
% Started off as some macros found in C. Rich's library.
 | 
			
		||||
% Olin 1/90:
 | 
			
		||||
% Removed \makeatletter, \makeatother's -- they shouldn't be there,
 | 
			
		||||
%   because style option files are read with makeatletter. The terminal
 | 
			
		||||
%   makeatother screwed things up for the following style options.
 | 
			
		||||
% Olin 3/91:
 | 
			
		||||
% Rewritten. 
 | 
			
		||||
% - Changed things so blank lines don't get compressed out (the \leavevmove
 | 
			
		||||
%   in \cd@cr and \cd@crwb). 
 | 
			
		||||
% - Changed names to somewhat less horrible choices. 
 | 
			
		||||
% - Added lots of doc, so casual hackers can more easily mess with all this.
 | 
			
		||||
% - Removed `'"@ from the set of hacked chars, since they are already
 | 
			
		||||
%   non-special. 
 | 
			
		||||
% - Removed the bigcode env, which effect can be had with the \codeallowbreaks
 | 
			
		||||
%   command.
 | 
			
		||||
% - Removed the \@noligs command, since it's already defined in latex.tex.
 | 
			
		||||
% - Win big with the new \dcd, \cddollar, and \cdmath commands.
 | 
			
		||||
% - Now, *only* the chars \{} are special inside the code env. If you need
 | 
			
		||||
%   more, use the \dcd command inside a group.
 | 
			
		||||
% - \cd now works inside math mode. (But if you use it in a superscript,
 | 
			
		||||
%   it still comes out full size. You must explicitly put a \scriptsize\tt
 | 
			
		||||
%   inside the \cd: $x^{\cd{\scriptsize\tt...}}$. A \leavevmode was added
 | 
			
		||||
%   so that if you begin a paragraph with a \cd{...}, TeX realises you
 | 
			
		||||
%   are starting a paragraph.
 | 
			
		||||
% - Added the codebox env. Tricky bit involving the first line hacked
 | 
			
		||||
%   with help from David Long.
 | 
			
		||||
% Olin 8/94
 | 
			
		||||
% Changed the font commands for LaTeX2e.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,114 @@
 | 
			
		|||
% css.t2p
 | 
			
		||||
% Dorai Sitaram
 | 
			
		||||
% 19 Jan 2001
 | 
			
		||||
% A basic style for HTML documents generated
 | 
			
		||||
% with tex2page.  
 | 
			
		||||
 | 
			
		||||
\ifx\shipout\UNDEFINED
 | 
			
		||||
\cssblock
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
   color: black;
 | 
			
		||||
/*   background-color: #e5e5e5;*/
 | 
			
		||||
  background-color: #ffffff;
 | 
			
		||||
/*background-color: beige;*/
 | 
			
		||||
   margin-top: 2em;
 | 
			
		||||
   margin-left: 8%;
 | 
			
		||||
   margin-right: 8%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1,h2,h3,h4,h5,h6 {
 | 
			
		||||
   margin-top: .5em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.partheading {
 | 
			
		||||
   font-size: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.chapterheading {
 | 
			
		||||
   font-size: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pre {
 | 
			
		||||
    margin-left: 2em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol {
 | 
			
		||||
   list-style-type: decimal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol ol {
 | 
			
		||||
   list-style-type: lower-alpha;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol ol ol {
 | 
			
		||||
   list-style-type: lower-roman;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol ol ol ol {
 | 
			
		||||
   list-style-type: upper-alpha;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme {
 | 
			
		||||
   color: brown;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme .keyword {
 | 
			
		||||
   color: #990000;
 | 
			
		||||
   font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme .builtin {
 | 
			
		||||
   color: #990000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme .variable {
 | 
			
		||||
   color: navy;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme .global {
 | 
			
		||||
   color: purple;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme .selfeval {
 | 
			
		||||
   color: green;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.scheme .comment {
 | 
			
		||||
   color:  teal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.schemeresponse {
 | 
			
		||||
   color: green;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.navigation {
 | 
			
		||||
   color: red;
 | 
			
		||||
   text-align: right;
 | 
			
		||||
   font-style: italic;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.disable {
 | 
			
		||||
   /* color: #e5e5e5; */
 | 
			
		||||
color: gray;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.smallcaps {
 | 
			
		||||
font-size: 75%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.smallprint {
 | 
			
		||||
   color: gray;
 | 
			
		||||
   font-size: 75%;
 | 
			
		||||
   text-align: right;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.smallprint hr {
 | 
			
		||||
   text-align: left;
 | 
			
		||||
   width: 40%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\endcssblock
 | 
			
		||||
\fi
 | 
			
		||||
 | 
			
		||||
% ex:ft=css
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
% Loads cmtt fonts in on \tt. -*- latex -*-
 | 
			
		||||
% I prefer these to the Courier fonts that latex gives you w/postscript styles.
 | 
			
		||||
% Courier is too spidery and too wide -- it's hard to get 80 chars on a line.
 | 
			
		||||
%	-Olin
 | 
			
		||||
 | 
			
		||||
\renewcommand{\ttdefault}{cmtt}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,336 @@
 | 
			
		|||
\makeatletter   
 | 
			
		||||
\def\ie{\mbox{\emph{i.e.}}}        % \mbox keeps the last period from
 | 
			
		||||
\def\Ie{\mbox{\emph{I.e.}}}        % looking like an end-of-sentence.
 | 
			
		||||
\def\eg{\mbox{\emph{e.g.}}}
 | 
			
		||||
\def\Eg{\mbox{\emph{E.g.}}}
 | 
			
		||||
\def\etc{{\em etc.}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\def\Lisp{\textsc{Lisp}}
 | 
			
		||||
\def\CommonLisp{\textsc{Common Lisp}}
 | 
			
		||||
\def\Ascii{\textsc{Ascii}}
 | 
			
		||||
\def\Ansi{\textsc{Ansi}}
 | 
			
		||||
\def\Unix{{Unix}} % Not smallcaps, according to Bart.
 | 
			
		||||
\def\Scheme{{Scheme}}
 | 
			
		||||
\def\scm{{Scheme 48}}
 | 
			
		||||
\def\RnRS{R5RS}
 | 
			
		||||
\def\Posix{\textsc{Posix}}
 | 
			
		||||
 | 
			
		||||
\def\sharpf{\textnormal{\texttt{\#f}}}
 | 
			
		||||
\def\sharpt{\textnormal{\texttt{\#t}}}
 | 
			
		||||
\newcommand{\synteq}{\textnormal{::=}}
 | 
			
		||||
 | 
			
		||||
\def\maketildeother{\catcode`\~=12}
 | 
			
		||||
\def\maketildeactive{\catcode`\~=13}
 | 
			
		||||
\def\~{\char`\~}
 | 
			
		||||
 | 
			
		||||
\newcommand{\evalsto}{\ensuremath{\Rightarrow}}
 | 
			
		||||
 | 
			
		||||
% One-line code examples
 | 
			
		||||
%\newcommand{\codex}[1]%                One line, centred. Tight spacing.
 | 
			
		||||
%  {$$\abovedisplayskip=.75ex plus 1ex minus .5ex%
 | 
			
		||||
%     \belowdisplayskip=\abovedisplayskip%
 | 
			
		||||
%     \abovedisplayshortskip=0ex plus .5ex%
 | 
			
		||||
%     \belowdisplayshortskip=\abovedisplayshortskip%
 | 
			
		||||
%     \hbox{\ttt #1}$$}
 | 
			
		||||
%\newcommand{\codex}[1]{\begin{tightinset}\ex{#1}\end{tightinset}\ignorespaces}
 | 
			
		||||
\newcommand{\codex}[1]{\begin{leftinset}\ex{#1}\end{leftinset}\ignorespaces}
 | 
			
		||||
 | 
			
		||||
\def\widecode{\codeaux{\leftmargin=0pt\topsep=0pt}}
 | 
			
		||||
\def\endwidecode{\endcodeaux}
 | 
			
		||||
 | 
			
		||||
% For multiletter vars in math mode:
 | 
			
		||||
\newcommand{\var}[1]{\mbox{\frenchspacing\it{#1}}}
 | 
			
		||||
\newcommand{\vari}[2]{\ensuremath{\mbox{\it{#1}}_{#2}}}
 | 
			
		||||
 | 
			
		||||
%% What you frequently want when you say \tt:
 | 
			
		||||
\def\ttchars{\catcode``=13\@noligs\frenchspacing}
 | 
			
		||||
\def\ttt{\normalfont\ttfamily\ttchars}
 | 
			
		||||
 | 
			
		||||
% Works in math mode; all special chars remain special; cheaper than \cd.
 | 
			
		||||
% Will not be correct size in super and subscripts, though.
 | 
			
		||||
\newcommand{\ex}[1]{{\normalfont\texttt{\ttchars #1}}}
 | 
			
		||||
 | 
			
		||||
\newenvironment{inset}
 | 
			
		||||
 {\bgroup\parskip=1ex plus 1ex\begin{list}{}%
 | 
			
		||||
        {\topsep=0pt\rightmargin\leftmargin}%
 | 
			
		||||
        \item[]}%
 | 
			
		||||
 {\end{list}\leavevmode\egroup\global\@ignoretrue}
 | 
			
		||||
 | 
			
		||||
\newenvironment{leftinset}
 | 
			
		||||
 {\bgroup\parskip=1ex plus 1ex\begin{list}{}%
 | 
			
		||||
        {\topsep=0pt}%
 | 
			
		||||
        \item[]}%
 | 
			
		||||
 {\end{list}\leavevmode\egroup\global\@ignoretrue}
 | 
			
		||||
 | 
			
		||||
\newenvironment{tightinset}
 | 
			
		||||
 {\bgroup\parskip=0pt\begin{list}{}%
 | 
			
		||||
        {\topsep=0pt\rightmargin\leftmargin}%
 | 
			
		||||
        \item[]}%
 | 
			
		||||
 {\end{list}\leavevmode\egroup\global\@ignoretrue}
 | 
			
		||||
 | 
			
		||||
\newenvironment{tightleftinset}
 | 
			
		||||
 {\bgroup\parskip=0pt\begin{list}{}%
 | 
			
		||||
        {\topsep=0pt}%
 | 
			
		||||
        \item[]}%
 | 
			
		||||
 {\end{list}\leavevmode\egroup\global\@ignoretrue}
 | 
			
		||||
 | 
			
		||||
\long\def\remark#1{\bgroup\small\begin{quote}\textsl{Remark: } #1\end{quote}\egroup}
 | 
			
		||||
\newenvironment{remarkenv}{\bgroup\small\begin{quote}\textsl{Remark: }}%
 | 
			
		||||
                          {\end{quote}\egroup}
 | 
			
		||||
\newcommand{\oops}[1]{\bgroup\small\begin{quote}\textsl{Oops: } #1\end{quote}\egroup}
 | 
			
		||||
 | 
			
		||||
\newcommand{\note}[1]{\{Note #1\}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\itum}[1]{\item{\bf #1}\\*}
 | 
			
		||||
 | 
			
		||||
% For use in code. The \llap magicness makes the lambda exactly as wide as
 | 
			
		||||
% the other chars in \tt; the \hskip shifts it right a bit so it doesn't
 | 
			
		||||
% crowd the left paren -- which is necessary if \tt is cmtt.
 | 
			
		||||
% Note that (\l{x y} (+ x y)) uses the same number of columns in TeX form
 | 
			
		||||
% as it produces when typeset. This makes it easy to line up the columns
 | 
			
		||||
% in your input. \l is bound to some useless command in LaTeX, so we have to
 | 
			
		||||
% define it w/renewcommand.
 | 
			
		||||
\let\oldl\l %Save the old \l on \oldl
 | 
			
		||||
\renewcommand{\l}[1]{\ \llap{$\lambda$\hskip-.05em}\ (#1)}
 | 
			
		||||
 | 
			
		||||
% This one is for the rare (lambda x ...) case -- it doesn't have the
 | 
			
		||||
% column-invariant property. Oh, well.
 | 
			
		||||
\newcommand{\lx}[1]{\ \llap{$\lambda$\hskip-.05em}\ {#1}}
 | 
			
		||||
 | 
			
		||||
% For subcaptions
 | 
			
		||||
\newcommand{\subcaption}[1]
 | 
			
		||||
{\unskip\vspace{-2mm}\begin{center}\unskip\em#1\end{center}}
 | 
			
		||||
 | 
			
		||||
%%% T release notes stuff
 | 
			
		||||
\newlength{\notewidth}
 | 
			
		||||
\setlength{\notewidth}{\textwidth}
 | 
			
		||||
\addtolength{\notewidth}{-1.25in}
 | 
			
		||||
 | 
			
		||||
%\newcommand{\remark} [1]
 | 
			
		||||
%  {\par\vspace{\parskip}
 | 
			
		||||
%   \parbox[t]{.75in}{\sc Remark:}
 | 
			
		||||
%   \parbox[t]{\notewidth}{\em #1}
 | 
			
		||||
%   \vspace{\parskip}
 | 
			
		||||
%   }
 | 
			
		||||
 | 
			
		||||
\newenvironment{optiontable}%
 | 
			
		||||
  {\begin{tightinset}\renewcommand{\arraystretch}{1.5}%
 | 
			
		||||
   \begin{tabular}{@{}>{\ttt}ll@{}}}%
 | 
			
		||||
  {\end{tabular}\end{tightinset}}%
 | 
			
		||||
 | 
			
		||||
\newenvironment{desctable}[1]%
 | 
			
		||||
  {\begin{inset}\renewcommand{\arraystretch}{1.5}%
 | 
			
		||||
   \begin{tabular}{lp{#1}}}%
 | 
			
		||||
  {\end{tabular}\end{inset}}
 | 
			
		||||
 | 
			
		||||
\def\*{{\ttt *}}
 | 
			
		||||
 | 
			
		||||
% Names of things
 | 
			
		||||
 | 
			
		||||
\newcommand{\keyword} [1]{\index{#1}{\normalfont\textsf{#1}}}
 | 
			
		||||
 | 
			
		||||
% \ex{#1} and also generates an index entry.
 | 
			
		||||
\newcommand{\exi}[1]{\index{#1@\texttt{#1}}\ex{#1}}
 | 
			
		||||
\newcommand{\indextt}[1]{\index{#1@\texttt{#1}}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\newcommand{\evalto}{$\Longrightarrow$\ }
 | 
			
		||||
\renewcommand{\star}{$^*$\/}
 | 
			
		||||
\newcommand{\+}{$^+$}
 | 
			
		||||
 | 
			
		||||
% Semantic domains,  used to indicate the type of a value
 | 
			
		||||
 | 
			
		||||
\newcommand{\sem}{\normalfont\itshape}   %semantic font
 | 
			
		||||
\newcommand{\semvar}[1]{\textit{#1}}     %semantic font
 | 
			
		||||
\newcommand{\synvar}[1]{\textrm{\textit{$\left<\right.$#1$\left.\right>$}}}  %syntactic font
 | 
			
		||||
\newcommand{\type}{\sem}
 | 
			
		||||
\newcommand{\zeroormore}[1]{{\sem #1$_1$ \ldots  #1$_n$}}
 | 
			
		||||
\newcommand{\oneormore}[1]{{\sem #1$_1$ #1$_2$ \ldots #1$_n$}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\proc}        {{\sem procedure}}
 | 
			
		||||
\newcommand{\boolean}     {{\sem boolean}}
 | 
			
		||||
\newcommand{\true}        {{\sem true}}
 | 
			
		||||
\newcommand{\false}       {{\sem false}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\num}         {{\sem number}}
 | 
			
		||||
\newcommand{\fixnum}      {{\sem fixnum}}
 | 
			
		||||
\newcommand{\integer}     {{\sem integer}}
 | 
			
		||||
\newcommand{\real}        {{\sem real}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\character}   {{\sem character}}
 | 
			
		||||
\newcommand{\str}         {{\sem string}}
 | 
			
		||||
\newcommand{\sym}         {{\sem symbol}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\location}    {{\sem location}}
 | 
			
		||||
\newcommand{\object}      {{\sem object}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\error}       {{\sem error}}
 | 
			
		||||
\newcommand{\syntaxerror} {{\sem syntax error}}
 | 
			
		||||
\newcommand{\readerror}   {{\sem read error}}
 | 
			
		||||
\newcommand{\undefined}   {{\sem undefined}}
 | 
			
		||||
\newcommand{\noreturn}    {{\sem no return value}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\port}        {{\sem port}}
 | 
			
		||||
 | 
			
		||||
% semantic variables
 | 
			
		||||
 | 
			
		||||
\newcommand{\identifier}  {{\sem identifier}}
 | 
			
		||||
\newcommand{\identifiers} {\zeroormore{\<ident>}}
 | 
			
		||||
\newcommand{\expr}        {{\sem expression}}
 | 
			
		||||
\newcommand{\body}        {{\sem body}}
 | 
			
		||||
\newcommand{\valueofbody} {{\sem value~of~body}}
 | 
			
		||||
\newcommand{\emptylist}   {{\sem empty~list}}
 | 
			
		||||
\newcommand{\car}         {\keyword{car}}
 | 
			
		||||
\newcommand{\cdr}         {\keyword{cdr}}
 | 
			
		||||
\newcommand{\TMPDIR}{\texttt{\$TMPDIR}}
 | 
			
		||||
 | 
			
		||||
% generally useful things
 | 
			
		||||
 | 
			
		||||
% For line-breaking \tt stuff.
 | 
			
		||||
\renewcommand{\=}{\discretionary{-}{}{-}}
 | 
			
		||||
\newcommand{\ob}{\discretionary{}{}{}} % Optional break.
 | 
			
		||||
 | 
			
		||||
\newcommand{\indx}[1]{#1 \index{ #1 }}
 | 
			
		||||
%\newcommand{\gloss}[1]{#1 \glossary{ #1 }}
 | 
			
		||||
 | 
			
		||||
% This lossage produces #2 if #1 is zero length, otw #3.
 | 
			
		||||
% We use it to conditionally add a space between the procedure and
 | 
			
		||||
% the args in procedure prototypes, but only if there are any args--
 | 
			
		||||
% we want to produce "(read)", not "(read )".
 | 
			
		||||
\newlength{\voidlen}
 | 
			
		||||
\newcommand{\testvoid}[3]{\settowidth\voidlen{#1}\ifdim\voidlen>0in{#3}\else{#2}\fi}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Typeset a definition prototype line, e.g.:
 | 
			
		||||
% (cons <arg1> <arg2>) -> pair                    procedure
 | 
			
		||||
%
 | 
			
		||||
% Five args are: proc-name args ret-value(s) type index-entry
 | 
			
		||||
\newcommand{\dfnix}[5]
 | 
			
		||||
  {\hbox to \linewidth{\ttchars%
 | 
			
		||||
     {\ttt(#1\testvoid{#2}{}{\ }{\sem{#2}}\testvoid{#2}{}{\/})\hskip 1em minus
 | 
			
		||||
0.5em$\longrightarrow$\hskip 1em minus 0.5em{\sem{#3}}\hfill\quad\textnormal{#4}}}\index{#5}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\dfnx}[4] {\dfnix{#1}{#2}{#3}{#4}{#1@\texttt{#1}}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\dfn}  {\par\medskip\dfnx}  % Takes 4 args, actually.
 | 
			
		||||
\newcommand{\dfni} {\par\medskip\dfnix} % Takes 5 args, actually.
 | 
			
		||||
 | 
			
		||||
\newcommand{\defvar}     {\par\medskip\defvarx} % Takes 4 args, actually.
 | 
			
		||||
\newcommand{\defvarx}[2]%
 | 
			
		||||
  {\index{#1}
 | 
			
		||||
   \hbox to \linewidth{\ttchars{{\ttt{#1}} \hfill #2}}}%
 | 
			
		||||
 | 
			
		||||
\newcommand{\defsyn}{\par\medskip\defsynx} % Takes 2 arguments, actually.
 | 
			
		||||
\newcommand{\defsynx}[2]%
 | 
			
		||||
  {\index{#1}
 | 
			
		||||
   \hbox to \linewidth{\ttchars{{(#1 \ttt{#2})} \hfill syntax}}}%
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Typeset the protocol line, then do the following descriptive text indented.
 | 
			
		||||
% If you want to group two procs together, do the first one with a \dfn, 
 | 
			
		||||
% then the second one, and the documentation, with a \defndescx.
 | 
			
		||||
 | 
			
		||||
% This one doesn't put whitespace above. Use it immediately after a \dfn
 | 
			
		||||
% to group two prototype lines together.
 | 
			
		||||
\newenvironment{dfndescx}[4]%           
 | 
			
		||||
    {\dfnx{#1}{#2}{#3}{#4}\begin{desc}}{\end{desc}}
 | 
			
		||||
 | 
			
		||||
\newenvironment{dfndesc}[4]             % This one puts whitespace above.
 | 
			
		||||
  {\par\medskip\begin{dfndescx}{#1}{#2}{#3}{#4}}
 | 
			
		||||
  {\end{dfndescx}}    
 | 
			
		||||
 | 
			
		||||
\newenvironment{desc}%
 | 
			
		||||
    {\nopagebreak[2]%
 | 
			
		||||
     \smallskip
 | 
			
		||||
     \bgroup\begin{list}{}{\topsep=0pt\parskip=0pt}\item[]}
 | 
			
		||||
    {\end{list}\leavevmode\egroup\global\@ignoretrue}
 | 
			
		||||
 | 
			
		||||
\def\defun#1#2#3{\dfn{#1}{#2}{#3}{procedure}}  % preskip
 | 
			
		||||
\newcommand{\defunx}[3]{\dfnx{#1}{#2}{#3}{procedure}} % no skip
 | 
			
		||||
 | 
			
		||||
\newenvironment{defundescx}[3]%
 | 
			
		||||
    {\begin{dfndescx}{#1}{#2}{#3}{procedure}}
 | 
			
		||||
    {\end{dfndescx}}
 | 
			
		||||
 | 
			
		||||
\newenvironment{defundesc}[3]%
 | 
			
		||||
    {\begin{dfndesc}{#1}{#2}{#3}{procedure}}
 | 
			
		||||
    {\end{dfndesc}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\newenvironment{column}{\begin{tabular}[t]{@{}l@{}}}{\end{tabular}}
 | 
			
		||||
 | 
			
		||||
\newenvironment{exampletable}%
 | 
			
		||||
    {\begin{leftinset}%
 | 
			
		||||
       \newcommand{\header}[1]{\multicolumn{2}{@{}l@{}}{##1}\\}%
 | 
			
		||||
       \newcommand{\splitline}[2]%
 | 
			
		||||
                {\multicolumn{2}{@{}l@{}}{##1}\\\multicolumn{2}{@{}l@{}}{\qquad\evalto\quad{##2}}}
 | 
			
		||||
       \begin{tabular}{@{}l@{\quad\evalto\quad}l@{}}}%
 | 
			
		||||
    {\end{tabular}\end{leftinset}}
 | 
			
		||||
 | 
			
		||||
% Put on blank lines in a code env to allow a pagebreak.
 | 
			
		||||
\newcommand{\cb}{\pagebreak[0]}
 | 
			
		||||
 | 
			
		||||
\newenvironment{boxedcode}
 | 
			
		||||
        {\begin{inset}\tabular{|l|}\hline}
 | 
			
		||||
        {\\ \hline \end{tabular}\end{inset}}
 | 
			
		||||
 | 
			
		||||
% A ragged-right decl that doesn't redefine \\ -- for use in tables.
 | 
			
		||||
\newcommand{\raggedrightparbox}{\let\temp=\\\raggedright\let\\=\temp}
 | 
			
		||||
 | 
			
		||||
\newenvironment{boxedfigure}[1]%
 | 
			
		||||
        {\begin{figure}[#1]\begin{boxedminipage}{\linewidth}\vskip 1.5ex}
 | 
			
		||||
        {\end{boxedminipage}\end{figure}}
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
%for surflet howto
 | 
			
		||||
\def\surflet{SUrflet\xspace}
 | 
			
		||||
\def\surflets{SUrflets\xspace}
 | 
			
		||||
\def\scsh{scsh\xspace}
 | 
			
		||||
\def\sunet{SUnet\xspace}
 | 
			
		||||
 | 
			
		||||
%From surflet/decls.tex
 | 
			
		||||
%{\theoremstyle{break} 
 | 
			
		||||
%\theoremheaderfont{\normalfont\bfseries\em}
 | 
			
		||||
% \newtheorem{proglist}{Listing}[section]}
 | 
			
		||||
%\setlength{\theorempreskipamount}{1.5ex plus0.2ex minus0.2ex}
 | 
			
		||||
%\setlength{\theorempostskipamount}{2ex plus0.5ex minus0.2ex}
 | 
			
		||||
 | 
			
		||||
% These environments differ from the other definition by the
 | 
			
		||||
% positioning of \normalem
 | 
			
		||||
\newenvironment{listing}
 | 
			
		||||
 {\ULforem\begin{alltt}\small\normalem}
 | 
			
		||||
 {\end{alltt}}
 | 
			
		||||
 | 
			
		||||
\newenvironment{reflisting}[1]
 | 
			
		||||
 {\ULforem[\refinlisting{#1}]\begin{alltt}\small\normalem}
 | 
			
		||||
 {\end{alltt}}
 | 
			
		||||
 | 
			
		||||
\newcommand{\contatlisting}[1]{%
 | 
			
		||||
{\normalfont\textit{$<$continued in listing~\ref{#1}\/$>$}}}
 | 
			
		||||
\newcommand{\contfromlisting}[1]{%
 | 
			
		||||
{\normalfont\textit{$<$continued from listing~\ref{#1}\/$>$}}}
 | 
			
		||||
\newcommand{\refinlisting}[1]{%
 | 
			
		||||
{\normalfont\textit{referenced in listing~\ref{#1}}}}
 | 
			
		||||
\newcommand{\seelisting}[1]{%
 | 
			
		||||
{\normalfont{\textit{$<$see listing~\ref{#1}\/$>$}}}}
 | 
			
		||||
 | 
			
		||||
% Use url-package to get function names line-breaked at - / +
 | 
			
		||||
% by infos in /usr/share/texmf/tex/latex/misc/url.sty
 | 
			
		||||
%%\newcommand\breakfuntt{\begingroup \urlstyle{tt}%
 | 
			
		||||
%%\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}%
 | 
			
		||||
%%\def\UrlBreaks{\do\-\do\/\do\+}\def\UrlNoBreaks{\do\!}\Url
 | 
			
		||||
%%}
 | 
			
		||||
 | 
			
		||||
\newcommand{\name}[1]{\texttt{#1}}
 | 
			
		||||
%\newcommand{\object}[1]{\breakfuntt{#1}}
 | 
			
		||||
\newcommand{\file}[1]{\textttt{#1}}
 | 
			
		||||
\newcommand{\codemph}[1]{\emph{#1}}
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\makeatother
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
% headings.tex -*- latex -*-
 | 
			
		||||
% Quieter headings that the ones used in article.sty.
 | 
			
		||||
% This is not a style option. Don't say [headings].
 | 
			
		||||
% Instead, say \input{headings} after the \documentstyle.
 | 
			
		||||
%	-Olin 7/91
 | 
			
		||||
 | 
			
		||||
\makeatletter
 | 
			
		||||
 | 
			
		||||
\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus 
 | 
			
		||||
 -.2ex}{2.3ex plus .2ex}{\large\normalfont\bfseries}}
 | 
			
		||||
\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus 
 | 
			
		||||
 -.2ex}{1.5ex plus .2ex}{\normalsize\normalfont\bfseries}}
 | 
			
		||||
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus 
 | 
			
		||||
-1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\normalfont\bfseries}}
 | 
			
		||||
 | 
			
		||||
\makeatother
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
../html
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,64 @@
 | 
			
		|||
% -*- latex -*-
 | 
			
		||||
 | 
			
		||||
% This is the reference manual for the Scheme Untergrund Networking Package.
 | 
			
		||||
 | 
			
		||||
\documentclass[twoside]{report}
 | 
			
		||||
\usepackage{code,boxedminipage,makeidx,palatino,ct,
 | 
			
		||||
            headings,mantitle,array,matter,mysize10,tex2page}
 | 
			
		||||
 | 
			
		||||
\usepackage[latin1]{inputenc}
 | 
			
		||||
\usepackage{alltt}
 | 
			
		||||
\usepackage{xspace}
 | 
			
		||||
\usepackage{tabularx,theorem,ulem,float,afterpage} % need url
 | 
			
		||||
\normalem                       % usually, don't use ulem
 | 
			
		||||
 | 
			
		||||
\texonly
 | 
			
		||||
% tex2page defines \url and hyperref loads the package url
 | 
			
		||||
% but setting \url to \relax satisfies \newcommand
 | 
			
		||||
\let\url\relax
 | 
			
		||||
\input{pdfcond}
 | 
			
		||||
\ifpdf
 | 
			
		||||
\usepackage[pdftex,hyperindex,
 | 
			
		||||
     pdftitle={commander s manual, release 0.1},
 | 
			
		||||
     pdfauthor={Martin Gasbichler and Eric Knauel}
 | 
			
		||||
     colorlinks=true,linkcolor=blue,pagecolor=blue,urlcolor=blue,
 | 
			
		||||
     pdfstartview=FitH,pdfview=FitH]{hyperref}
 | 
			
		||||
\usepackage{thumbpdf}
 | 
			
		||||
\usepackage{tocbibind}
 | 
			
		||||
\else
 | 
			
		||||
\usepackage[dvipdfm,hyperindex,hypertex,
 | 
			
		||||
     pdftitle={commander s manual, release 0.1},
 | 
			
		||||
     pdfauthor={Martin Gasbichler and Eric Knauel}
 | 
			
		||||
     colorlinks=true,linkcolor=blue,pagecolor=blue,urlcolor=blue,
 | 
			
		||||
     pdfstartview=FitH,pdfview=FitH]{hyperref}
 | 
			
		||||
\fi
 | 
			
		||||
\endtexonly
 | 
			
		||||
 | 
			
		||||
% Style issues
 | 
			
		||||
\parskip = 3pt plus 3pt  
 | 
			
		||||
\sloppy  
 | 
			
		||||
 | 
			
		||||
\input{decls}
 | 
			
		||||
\makeindex
 | 
			
		||||
%%% End preamble
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\begin{document}
 | 
			
		||||
 | 
			
		||||
\frontmatter 
 | 
			
		||||
\title{Commander S Manual}
 | 
			
		||||
\subtitle{For Commander S release 0.1}
 | 
			
		||||
\author{Martin Gasbichler, Eric Knauel}
 | 
			
		||||
\date{October 2005}
 | 
			
		||||
 | 
			
		||||
\mainmatter
 | 
			
		||||
\maketitle
 | 
			
		||||
 | 
			
		||||
\tableofcontents
 | 
			
		||||
 | 
			
		||||
\include{overview}
 | 
			
		||||
 | 
			
		||||
\backmatter
 | 
			
		||||
\printindex
 | 
			
		||||
 | 
			
		||||
\end{document}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
%&latex -*- latex -*-
 | 
			
		||||
% Implement the \frontmatter, \mainmatter, and \backmatter macros,
 | 
			
		||||
% so I can use them in reports, not just books.
 | 
			
		||||
 | 
			
		||||
\newif\if@mainmatter \@mainmattertrue
 | 
			
		||||
 | 
			
		||||
\newcommand\frontmatter{%
 | 
			
		||||
	\cleardoublepage\@mainmatterfalse\pagenumbering{roman}}
 | 
			
		||||
 | 
			
		||||
\newcommand\mainmatter{%
 | 
			
		||||
	\cleardoublepage\@mainmattertrue%
 | 
			
		||||
	\pagenumbering{arabic}\setcounter{page}{1}}
 | 
			
		||||
 | 
			
		||||
\newcommand\backmatter{%
 | 
			
		||||
	\if@openright\cleardoublepage\else\clearpage\fi%
 | 
			
		||||
	\@mainmatterfalse}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
%&latex -*- latex -*-
 | 
			
		||||
\if@twoside
 | 
			
		||||
   \oddsidemargin 44pt
 | 
			
		||||
   \evensidemargin 82pt
 | 
			
		||||
   \marginparwidth 107pt
 | 
			
		||||
\else
 | 
			
		||||
   \oddsidemargin 63pt
 | 
			
		||||
   \evensidemargin 63pt
 | 
			
		||||
   \marginparwidth 90pt
 | 
			
		||||
\fi
 | 
			
		||||
\marginparsep 11pt
 | 
			
		||||
 | 
			
		||||
\topmargin 27pt
 | 
			
		||||
\headheight 12pt
 | 
			
		||||
\headsep 25pt
 | 
			
		||||
\topskip = 10pt
 | 
			
		||||
\footskip 30pt
 | 
			
		||||
 | 
			
		||||
\textheight = 43\baselineskip
 | 
			
		||||
\advance\textheight by \topskip
 | 
			
		||||
\textwidth 345pt
 | 
			
		||||
\endinput
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,79 @@
 | 
			
		|||
 | 
			
		||||
\chapter{Overview}
 | 
			
		||||
\label{cha:overview}
 | 
			
		||||
 | 
			
		||||
Commander S is a visual shell written in Scheme.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\section{Key bindings}
 | 
			
		||||
\label{sec:key-bindings}
 | 
			
		||||
 | 
			
		||||
Most of the key bindings are not configurable yet.
 | 
			
		||||
 | 
			
		||||
\subsection{General keybindings}
 | 
			
		||||
\label{sec:general-keybindings}
 | 
			
		||||
 | 
			
		||||
\begin{description}
 | 
			
		||||
\item[Switch the command mode] \texttt{[F7]}, \texttt{(main . switch-command-buffer-mode-key)}
 | 
			
		||||
\item[Switch the command mode and convert command line]
 | 
			
		||||
  \texttt{[Ctrl-x F7]}
 | 
			
		||||
\item[Repaint] \texttt{[F2]}
 | 
			
		||||
\item[Switch between command buffer and result buffer]
 | 
			
		||||
  \texttt{[Ctrl-x o]}
 | 
			
		||||
\item[Paste the selection] \texttt{[Ctrl-x p]}
 | 
			
		||||
\item[Paste the selection as focus object] \texttt{[Ctrl-x P]}
 | 
			
		||||
\item[Next item of result histroy] \texttt{[page up]}
 | 
			
		||||
\item[Previous item of result histroy] \texttt{[page down]}
 | 
			
		||||
\item[Complete command or argument] \texttt{[TAB]}
 | 
			
		||||
\end{description}
 | 
			
		||||
 | 
			
		||||
Line editing facilities:
 | 
			
		||||
\begin{description}
 | 
			
		||||
\item[Moving to the start of the line] \texttt{[Ctrl-a]}
 | 
			
		||||
\item[Moving to the end of the line] \texttt{[Ctrl-e]}
 | 
			
		||||
\item[Moving the cursor to the left] \texttt{[Left arrow]}
 | 
			
		||||
\end{description}
 | 
			
		||||
 | 
			
		||||
Select list facilities:
 | 
			
		||||
\begin{description}
 | 
			
		||||
\item[Mark/unmark item] \texttt{[m]}
 | 
			
		||||
\item[Enter item] \texttt{[RET]}
 | 
			
		||||
\end{description}
 | 
			
		||||
 | 
			
		||||
\subsection{Key bindings for process object viewer}
 | 
			
		||||
\label{sec:key-bindings-process}
 | 
			
		||||
 | 
			
		||||
\begin{description}
 | 
			
		||||
\item[Filter processes] \texttt{[f]}, \texttt{(ps . filter-key)}
 | 
			
		||||
\item[Sort processes in increasing order] \texttt{[S]}, \texttt{(ps . sort-up-key)}
 | 
			
		||||
\item[Sort processes in decreasing order] \texttt{[s]}, \texttt{(ps
 | 
			
		||||
    . sort-down-key)}
 | 
			
		||||
\item[Select columns] \texttt{[c]}, \texttt{(ps . columns-key)}
 | 
			
		||||
\item[Kill process] \texttt{[k]}, \texttt{(ps . kill-key)}
 | 
			
		||||
\item[Re-run \texttt{ps}] \texttt{[g]}, \texttt{(ps . refresh-key)}
 | 
			
		||||
\end{description}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\subsection{Key bindings for file system object viewer}
 | 
			
		||||
\label{sec:key-bindings-file}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\subsection{Key bindings for Scheme value inspector}
 | 
			
		||||
\label{sec:key-bindings-scheme}
 | 
			
		||||
 | 
			
		||||
Very similar to the Scheme~48 standard bindings.
 | 
			
		||||
 | 
			
		||||
\section{Customizing Commander S}
 | 
			
		||||
\label{sec:cust-comm-s}
 | 
			
		||||
 | 
			
		||||
On startup, Commander S reads the file \verb|~/.cmdrsrc|. The file
 | 
			
		||||
should contain an alist mapping configuration options to values. For
 | 
			
		||||
example:
 | 
			
		||||
%
 | 
			
		||||
\begin{verbatim}
 | 
			
		||||
(((main . switch-command-buffer-mode-key) . 262))
 | 
			
		||||
\end{verbatim}
 | 
			
		||||
 | 
			
		||||
% Local Variables: 
 | 
			
		||||
% TeX-master: "man"
 | 
			
		||||
% End: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
\newif\ifpdf
 | 
			
		||||
\ifx\pdfoutput\undefined
 | 
			
		||||
\pdffalse    % we are not running PDFLaTeX
 | 
			
		||||
\else
 | 
			
		||||
\pdfoutput=1    % we are running PDFLaTeX
 | 
			
		||||
\pdftrue
 | 
			
		||||
\fi
 | 
			
		||||
% Then use your new variable \ifpdf
 | 
			
		||||
% \ifpdf
 | 
			
		||||
% \usepackage[pdftex]{graphicx}
 | 
			
		||||
% \pdfcompresslevel=9
 | 
			
		||||
% \else
 | 
			
		||||
% \usepackage{graphicx}
 | 
			
		||||
% \fi
 | 
			
		||||
		Loading…
	
		Reference in New Issue