%%
%% This is file `HAP-ppr-prv.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ppr-prv.dtx  (with options: `HAPdef')
%% ========================================================================
%%  ppr-prv class: "Prosper Preview", a class to produce a printable
%%                 version of prosper slides
%%  Copyright (C) 2003-2004 Mathieu Goutelle (INRIA, France)
%%  mgoutell[at]users[dot]sourceforge[dot]net
%% 
%%  This program may be distributed and/or modified under the
%%  conditions of the LaTeX Project Public License, either version 1.2
%%  of this license or (at your option) any later version.
%%  The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%%  and version 1.2 or later is part of all distributions of LaTeX
%%  version 1999/12/01 or later.
%% ========================================================================
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}

%% Support for the HA-prosper package: redefinition of the
%% functionnalities added by this patch.
\@ifpackageloaded{HA-prosper}{%
  \global\@HAprospertrue

  \renewenvironment{itemstep}[1][]{\old@itemize}{\old@enditemize}%
  \renewenvironment{enumstep}[1][]{\old@enumerate}{\old@endenumerate}%

  \define@key{PRV@keys@slide}{toc}{\def\@tockey{#1}}
  \define@key{PRV@keys@slide}{bm}{}
  \define@key{PRV@keys@slide}{trans}{}
  \define@key{PRV@keys@slide}{sound}{}
  \define@key{PRV@keys@slide}{template}{}
  \def\xitem{\@ifnextchar<{\PRV@xitem}{\PRV@xitem<>}}
  \def\PRV@xitem<#1>{\item}
  \def\email#1{#1}
  \def\institution#1{#1}

  \renewcommand{\NewSlideStyle}[4][]{}
  \renewenvironment{slide}[2][]{%
    \refstepcounter{slidei}\stepcounter{slideii}%
    \setcounter{trueSlideCounter}{\theslidei}%
    \let\@tockey\@undefined
    \setkeys{PRV@keys@slide}{#1}%
    \def\@tempa{#2}%
    \ifx\@tempa\@empty
      \ifx\@tockey\@undefined\else
        \ifx\@tockey\@empty\else
          \HAP@contentsline{0}{\@tockey}{\theslidei}{}%
        \fi
      \fi
    \else
      \ifx\@tockey\@undefined
        \HAP@contentsline{0}{#2}{\theslidei}{}%
      \else
        \ifx\@tockey\@empty\else
          \HAP@contentsline{0}{\@tockey}{\theslidei}{}%
        \fi
      \fi
    \fi
    \ifx\itemize\old@itemize\else
      \global\let\itemize\old@itemize
      \global\let\enditemize\old@enditemize
      \global\let\enumerate\old@enumerate
      \global\let\endenumerate\old@endenumerate
    \fi
    \begin{prv@slide}{#2}%
  }
  {%
    \end{prv@slide}%
  }

  \renewenvironment{wideslide}[2][]{\begin{slide}[#1]{#2}}{\end{slide}}
  \newsavebox{\@slide@left}%
  \newsavebox{\@slide@right}%
  \newlength{\ht@slide}%

  \def\dualslide{\@ifnextchar[\@dualslide{\@@@dualslide[][][]}}%
  \def\@dualslide[#1]{%
    \@ifnextchar[{\@@dualslide[#1]}{\@@@dualslide[#1][#1][#1]}}%
  \def\@@dualslide[#1][#2]{%
    \@ifnextchar[{\@@@dualslide[#1][#2]}{\@@@dualslide[#1][#2][#1]}}%
  \long\def\@@@dualslide[#1][#2][#3]#4#5#6{%
    \setlength{\HAP@colsep}{.04\linewidth}%
    \setlength{\HAP@lcolwidth}{.47\linewidth}%
    \setlength{\HAP@rcolwidth}{.47\linewidth}%
    \setlength{\HAP@topsep}{0cm}%
    \setlength{\HAP@bottomsep}{.3cm}%
    \setlength{\HAP@indent}{0cm}%
    \setkeys{HAP@keys@dual}{#4}%

    \sbox{\@slide@left}{\begin{minipage}[t]{\HAP@lcolwidth}#5\end{minipage}}%
    \sbox{\@slide@right}{\begin{minipage}[t]{\HAP@rcolwidth}#6\end{minipage}}%

    \setlength{\ht@slide}{\the\ht\@slide@left}%
    \addtolength{\ht@slide}{-0.5\baselineskip}%
    \addtolength{\ht@slide}{\HAP@topsep}%
    \leavevmode\null\kern\the\HAP@indent
    \raisebox{-\ht@slide}{\usebox{\@slide@left}}%
    \kern\the\HAP@colsep
    \setlength{\ht@slide}{\the\ht\@slide@right}%
    \addtolength{\ht@slide}{-0.5\baselineskip}%
    \addtolength{\ht@slide}{\HAP@topsep}%
    \raisebox{-\ht@slide}{\usebox{\@slide@right}}%
    \par\vspace*{\HAP@bottomsep}%
  }
  \renewcommand{\overlays}[2]{#2} % We ignore overlays (again...)
  \renewcommand{\maketitle}[1][]{%
    \refstepcounter{slidei}%
    \setcounter{trueSlideCounter}{\theslidei}%
    \let\@tockey\@undefined
    \setkeys{PRV@keys@slide}{#1}%
    \ifx\@tockey\@undefined
    \else
      \ifx\@tockey\@empty\else
        \HAP@contentsline{0}{\@tockey}{\theslidei}{}%
      \fi
    \fi
    \thispagestyle{empty}\setcounter{page}{0}%
    \mbox{}\vfill
    \begin{center}%
      {\LARGE \@title \par}%
      \ifx\@Subtitle\@empty\else\vskip 2em{\large\@Subtitle\par}\fi
      \vskip 6em%
      {\large\begin{tabular}[t]{c}\@author\end{tabular}\par}%
    \end{center}%
    \vfill\HAP@toc
    \vfill\mbox{}\clearpage
    \global\@needsnewpagefalse
  }
  \renewcommand{\fontToc}{}
  \newlength{\PRV@indenttoc}
  \setlength{\PRV@indenttoc}{0pt}
  \renewcommand{\pcontentsline}[5]{%
    \if1#1%
      \setlength{\PRV@indenttoc}{0pt}%
    \fi
    \hspace*{\PRV@indenttoc}#2%
    \if1#5\else\leaders\hbox{\hss.\ \hss}\hfill\slidename~\no#3\fi\\
    \if1#1%
      \setlength{\PRV@indenttoc}{10pt}%
    \fi
  }%
  % Redefinition of tsection command to remove what is not needed
  \newcounter{MG@tempTrueSlideCounter}
  \renewcommand{\tsection}{%
    \@ifstar
      {\@ifnextchar[{\@tsection{0}{2}}{\@tsection{0}{2}[]}}%
      {\@ifnextchar[{\@tsection{0}{1}}{\@tsection{0}{1}[]}}%
  }%
  \def\@tsection#1#2[#3]#4{%
    \setcounter{MG@tempTrueSlideCounter}{\thetrueSlideCounter}%
    \stepcounter{MG@tempTrueSlideCounter}%
    \HAP@contentsline{1}{#4}{\theMG@tempTrueSlideCounter}{1}%
  }%

  % Redefinition of the part command to deal with the toc key
  \renewcommand{\part}[2][]{%
    \if@needsnewpage
      \if@nopagebreak\else\ifodd\theslideii\else\mbox{}\clearpage\fi\fi
      \global\@needsnewpagefalse
    \fi
    \refstepcounter{slidei}%
    \setcounter{trueSlideCounter}{\theslidei}%
    \let\@tockey\@undefined
    \setkeys{PRV@keys@slide}{#1}%
    \ifx\@tockey\@undefined
      \HAP@contentsline{0}{#2}{\theslidei}{}%
    \else
      \ifx\@tockey\@empty\else
        \HAP@contentsline{0}{\@tockey}{\theslidei}{}%
      \fi
    \fi
    \old@section*{#2}%
  }%
  \renewcommand{\tsectionandpart}{\@ifstar{\tsectionandpart@E}{\tsectionandpart@NE}}
  \newcommand{\tsectionandpart@E}[2][]{%
    \let\@tockey\@undefined
    \setkeys{PRV@keys@slide}{#1}%
    \ifcase
      \ifx\@tockey\@undefined\@ne\fi
      \ifx\@tockey\@empty\@ne\fi
      \z@
      \tsection*{\@tockey}%
    \else
      \tsection*{#2}%
    \fi
    \part[toc={}]{#2}%
  }
  \newcommand{\tsectionandpart@NE}[2][]{%
    \let\@tockey\@undefined
    \setkeys{PRV@keys@slide}{#1}%
    \ifcase
      \ifx\@tockey\@undefined\@ne\fi
      \ifx\@tockey\@empty\@ne\fi
      \z@
      \tsection{\@tockey}%
    \else
      \tsection{#2}%
    \fi
    \part[toc={}]{#2}%
  }
  \let\l@foot\@empty
  \let\r@foot\@empty
  \@ifundefined{HAP@leftfoot}{}{\gdef\l@foot{\HAP@leftfoot}}
  \@ifundefined{HAP@rightfoot}{}{\gdef\r@foot{\HAP@rightfoot}}
  \gdef\@cartouche{\l@foot\hfill\r@foot}
  \renewcommand{\LeftFoot}[1]{%
    \gdef\l@foot{#1}%
    \gdef\@cartouche{\l@foot\hfill\r@foot}%
  }%
  \renewcommand{\RightFoot}[1]{%
    \gdef\r@foot{#1}%
    \gdef\@cartouche{\l@foot\hfill\r@foot}%
  }%
  \ifHAP@slidesonly\else
    \renewenvironment{notes}[1]{%
      \old@subsection*{#1}\bgroup\quote\footnotesize\sffamily
    }{%
      \endquote\egroup
      \ifHAP@notesonly\else
        \par
        \if@nopagebreak
          \bigskip
        \else
          \vfill
          \ifodd\theslideii\else\mbox{}\clearpage\fi
        \fi
      \fi
      \global\@needsnewpagefalse
    }%
  \fi
  \def\OnSlide#1{\relax}
  \long\def\onSlide@NE#1#2{#2}
  \long\def\onSlide@E#1#2{%
    \sbox\PRV@tempbox{\begin{minipage}{\linewidth}#2\end{minipage}}%
    \setlength{\@size@tmp}{\the\ht\PRV@tempbox}%
    \addtolength{\@size@tmp}{\the\dp\PRV@tempbox}%
    \ifdim\@size@tmp>\@size@overlay\global\@size@overlay\@size@tmp\fi
    \vbox to 0pt\bgroup\usebox{\PRV@tempbox}\egroup
    \vskip -\baselineskip\ignorespaces
  }
  \def\onSlide{\@ifstar\onSlide@E\onSlide@NE}
}%
{%
  \global\@HAprosperfalse%
}
\endinput
%%
%% End of file `HAP-ppr-prv.def'.
