\documentclass{article}

\usepackage{html}
\usepackage{times}
\usepackage{amsmath,amssymb}
\usepackage{graphics}
\usepackage{epsfig}
\usepackage{verbatim}

\newcommand{\matinput}[1]{\subsection*{#1.m}\verbatiminput{mfiles/#1.doc}}
\newcommand{\integers}{{\Bbb Z}}
\newcommand{\reals}{{\Bbb R}}
\newcommand{\vect}[1]{{\mathbf #1}}
\newcommand{\mat}[1]{{\mathbf #1}}
\newcommand{\matlab}{\textsc{Matlab}}
\newcommand{\firopt}{FIROpt}
\newcommand{\optseq}{\texttt{optSequence}}
\newcommand{\optvec}{\texttt{optVector}}
\newcommand{\optqvec}{\texttt{optQuadVector}}
\newcommand{\optquad}{\texttt{optQuad}}
\newcommand{\process}{\texttt{Process}}
\newcommand{\lconstr}{\texttt{LinConstr}}
\newcommand{\sconstr}{\texttt{SOCConstr}}
\newcommand{\var}[1]{\texttt{#1}}
\newcommand{\func}[1]{{\ttfamily\bfseries #1}}
\DeclareMathOperator{\atan}{atan}

\hyphenation{optVector optSequence sca-lar ele-ment let-ters NM sys-tems since en-hance-ment term col-umns}


\begin{document}

\title{Opt MATLAB Toolbox Documentation}
\author{Dan Scholnik}
\maketitle

\section{Quick Reference}

\begin{table}[htb]
  \centering
  \begin{tabular}{|c|c|}
    \hline 
    \textbf{notation} & \textbf{function} \\ \hline
    \texttt{a+b} & add  \\ \hline
    \texttt{a-b} & subtract  \\ \hline
    \texttt{a*b} & pointwise multiply \\ \hline
    \texttt{a/c} & pointwise divide  \\ \hline
    \texttt{a(n)} & extract \\ \hline
    \texttt{real(a)} & real part \\ \hline
    \texttt{imag(a)} & imaginary part \\ \hline
    \texttt{\func{conj}(a)} & complex conjugate \\ \hline
    \texttt{sum(a)} & element sum  \\ \hline
    % these return quadratics, not optVectors
%    \texttt{abs(a)} & absolute value & \small\optqvec \\ \hline
%    {\ttfamily a.\verb1^12} & square & \small\optqvec \\ \hline
  \end{tabular}
  \caption{Overloaded operators for objects of class \optvec.  
    \var{a} and \var{b} are of class \optvec, \var{c} is a constant vector,
    and \var{n} is an integer vector.}
  \label{tab:OVops}
\end{table}

\begin{table}[htb]
  \centering
  \begin{tabular}{|c|c|}
    \hline 
    \textbf{notation} & \textbf{function} \\ \hline
    \texttt{h.*g} & convolve  \\ \hline
    \texttt{h|M} & shift  \\ \hline
    \texttt{h./M} & interpolate  \\ \hline
    {\ttfamily h.\verb1\1M} & decimate  \\ \hline
    \texttt{h.'} & flip about origin \\ \hline
    \texttt{h'} & flip and conjugate  \\ \hline
  \end{tabular}
  \caption{Additional operators for objects of class \optseq. \var{g} 
    and \var{h} are of class \optseq\ and \var{M} is a positive integer.}
  \label{tab:OSops}
\end{table}


\section{optVector}

\begin{tabular}{c|cc|}
  \multicolumn{3}{r}{n $\rightarrow$} \\
  \hline
  $1$ & & \\
  \hline
  $x_1$ & & \\
  $\vdots$ & & \\
  $x_N$ & & \\
  \hline
\end{tabular}

\appendix

\section{Routines}
\matinput{InitOpt}
\matinput{newOptSpace}
\matinput{optVar}
\matinput{minimize}
\matinput{mfactor}

\section*{optVector}
\matinput{optVector/optVector}

\section*{optSequence}
\matinput{optSequence/optSequence}

\section*{optQuad}
\matinput{optQuad/optQuad}

\section*{optQuadVector}
\matinput{optQuadVector/optQuadVector}

\section*{Process}
\matinput{Process/Process}
\matinput{Process/private/BoxTime}

\section*{LinConstr}
\matinput{LinConstr/LinConstr}
%\matinput{LinConstr/get_A}  % how to handle _ in filename?
%\matinput{LinConstr/get_b}
\matinput{LinConstr/length}

\section*{SOCConstr}
\matinput{SOCConstr/SOCConstr}

\end{document}
