%%% File: mfpdoc.sty
%%% A part of mfpic 0.7a beta 2004/04/16
%%%
\ProvidesPackage{mfpdoc}[2003/11/14 v0.5 macros for mfpic documentation]

\RequirePackage{ifpdf}

\newcommand\mfpversion{0.7a beta}
\newcommand\mfpdate   {2004/04/16}

% Text size:

\textwidth      5.4167 in
\textheight     7.4166 in

% Equal LR margins
\oddsidemargin  0.5\paperwidth
  \advance\oddsidemargin-.5\textwidth
  \advance\oddsidemargin-1truein
\evensidemargin\oddsidemargin

% "Equal" TB margins (if headings are ignored).
\topmargin      0.5\paperheight
  \advance\topmargin-0.5\textheight
  \advance\topmargin-\headheight
  \advance\topmargin-\headsep
  \advance\topmargin-1truein

\ifpdf
  \pdfpageheight\paperheight
  \pdfpagewidth\paperwidth
\else
  \ifx\mfpdvipdfm\UndEfInEd
    \special{papersize=\the\paperwidth,\the\paperheight}
  \else
    \special{pdf: pagesize width \the\paperwidth\space height \the\paperheight}
  \fi
\fi

\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-2.4ex \@plus -.5ex \@minus -.1ex}%
                                   {1.0ex \@plus.1ex}%
                                   {\normalfont\large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-1.8ex\@plus -.4ex \@minus -.1ex}%
                                     {.75ex \@plus .1ex}%
                                     {\normalfont\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-1.2ex\@plus -.3ex \@minus -.1ex}%
                                     {.5ex \@plus .1ex}%
                                     {\normalfont\scshape\raggedright}}

\def\mfpicversiontext{\prog{Mfpic} version:  \mfpversion.}

\def\@maketitle{%
  \newpage\vspace*{-2\baselineskip}
  \ifx\mfpicversiontext\relax
  \else
    {\let\p@footnote\relax\let\@thempfn\relax
    \footnotetext{\mfpicversiontext}}%
  \fi
  {\centering%
    {\Large \@title \par}%
    \vskip 1em%
    {\large \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
    \vskip .7em%
    {\normalsize \@date}%
    \par
  }%
  \vskip 1em\relax}

\def\mfpindexheading{}
\def\mfpindexpagemarks{}

\renewenvironment{theindex}
               {%
                \@restonecoltrue
                \columnseprule \z@
                \columnsep 35\p@
                \twocolumn[\mfpindexheading%
                \vspace{1ex}]%
                \mfpindexpagemarks
                \parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \let\item\@idxitem
                }
               {\clearpage}

% command descriptions:
\newenvironment{cd}
  {\def\ {\leavevmode\null\quad}% small space at beginning of line
   \par\addvspace{1.75ex plus .3ex minus .1ex}
   \vbox\bgroup\parindent0pt\ignorespaces}
  {\unskip\strut\egroup\nobreak\vspace{.75ex plus .3ex minus .1ex}%
   \@ignoretrue}

% examples:
\newenvironment{ex}
  {\par\def\ {\leavevmode\null\quad}%
   \addvspace{1ex plus.2ex minus.1ex}\leftskip2\parindent\relax
   \vbox\bgroup\parindent0pt\ignorespaces}
  {\unskip\egroup\vskip 1ex plus.2ex minus.1ex \@ignoretrue\@endpetrue}

\def\pdfTeX{pdf\kern.04em\TeX}
\def\pdfLaTeX{pdf\kern.06em\LaTeX}
\def\ConTeXt{Con\kern-.16em \TeX \kern-0.06em t}
\def\eTeX{e\kern-.10em \TeX}
\def\AmSTeX{$\cal A$\kern-.1667em\lower.5ex
    \hbox{$\cal M$}\kern-.125em$\cal S$-\TeX}
\def\PiCTeX{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\kern-.11em\TeX}

\hyphenation{meta-font meta-post Post-Script Ghost-script}

\def\MF{\prog{metafont}}
\def\CMF{\prog{Metafont}}
\def\MP{\prog{metapost}}
\def\CMP{\prog{Metapost}}
\def\PS{\prog{PostScript}}
\def\GS{\prog{Ghostscript}}
\def\EPS{\prog{EPS}\null}
\def\mfp{\prog{mfpic}}
\def\Mfp{\prog{Mfpic}}
\def\grafbase{\prog{grafbase}}
\def\Grafbase{\prog{Grafbase}}

\def\mytt#1{\relax
    \ifmmode \mathtt{#1}
    \else {\upshape\mdseries\ttfamily#1}\fi}
\def\mfc{\begingroup\mdseries\ttfamily\catcode`\_=12 \grabit}
\def\grabit#1{#1\endgroup}
\def\_{{\tt\char`\_}}
\def\prog#1{{\mdseries\scshape#1}}      % programs, packages
\let\file\mytt                          % filenames
\def\opt#1{{\upshape\sffamily#1}}       % LaTeX option names
\let\gbc  \mfc                          % grafbase code
\let\env  \file                         % LaTeX environment names
\let\email\file
\let\mail \file
\let\dim  \file                         % TeX and Metafont dimensions

\edef\otherbackslash{\expandafter\@gobble\string\\}
\DeclareRobustCommand\cs[1]{\mytt{\char`\\#1}}
\def\bbsl{\cs{}\cs{}}% prints "\\"
\DeclareRobustCommand\meta[1]{%
     \ensuremath{\langle\mbox{\rmfamily\itshape#1\/}\rangle}}
\providecommand\marg[1]{\mytt{\char`\{#1\char`\}}}
\providecommand\oarg[1]{\mytt{[#1]}}
\providecommand\parg[1]{\mytt{(#1)}}

\def\ps@mfpdoc{%
      \let\@oddfoot\@empty\let\@evenfoot\@empty
      \def\@oddhead{\small{\scshape\rightmark}\hfil\thepage}%
      \let\@evenhead\@oddhead
      \let\@mkboth\markboth
    \def\sectionmark##1{\thispagestyle{plain}}
    \def\subsectionmark##1{%
      \markright {\thesubsection\quad##1}}%
    \def\subsubsectionmark##1{}}

\renewcommand\tableofcontents{\pagenumbering{roman}%
    \section*{\contentsname
        \@mkboth{\scshape\contentsname}{\scshape\contentsname}}%
    \@starttoc{toc}\clearpage\pagenumbering{arabic}}

% figures at top of float pages:
\@fptop=-\@fpsep

\frenchspacing
\endinput
