ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/matt_papers/canidacy_talk/prosper.cls
Revision: 54
Committed: Tue Jul 30 17:25:26 2002 UTC (22 years, 1 month ago) by mmeineke
File size: 23118 byte(s)
Log Message:


added all of the pictures. And gave a practice talk based on this version. Now begins the process of cleanup and additions
of citations.

File Contents

# User Rev Content
1 mmeineke 54 %%=============================================================================
2     %% prosper.cls
3     %% Copyright 2000-2001 Frédéric Goualard and Peter Mřller Neergaard
4     %%
5     %% This program may be distributed and/or modified under the
6     %% conditions of the LaTeX Project Public License, either version 1.2
7     %% of this license or (at your option) any later version.
8     %% The latest version of this license is in
9     %% http://www.latex-project.org/lppl.txt
10     %% and version 1.2 or later is part of all distributions of LaTeX
11     %% version 1999/12/01 or later.
12     %%
13     %% This program consists of the files listed in manifest.txt
14     %%
15     %% CVSId : $Id: prosper.cls,v 1.1 2002-07-30 17:25:25 mmeineke Exp $
16     %%=============================================================================
17    
18     \def\Prosper@Version{2001/07/17, v. 1.5}
19     \NeedsTeXFormat{LaTeX2e}[1995/12/01]
20     \ProvidesClass{prosper}[\Prosper@Version]
21     \typeout{(c) 2000-2001 Frederic Goualard, EPFL, Switzerland}
22     \typeout{ and Peter Mřller Neergaard, Boston Univ., USA}
23     \typeout{CVSId: $Id: prosper.cls,v 1.1 2002-07-30 17:25:25 mmeineke Exp $}
24    
25     \newif\ifDVItoPS
26     \DeclareOption{ps}{\global\DVItoPStrue}
27     \DeclareOption{pdf}{\global\DVItoPSfalse}
28    
29     \newif\ifisDraft
30     \DeclareOption{draft}{\global\isDrafttrue%
31     \PassOptionsToClass{draft}{seminar}}
32     \DeclareOption{final}{\global\isDraftfalse%
33     \PassOptionsToClass{final}{seminar}}
34    
35     \newif\ifinColor
36     \DeclareOption{slideColor}{\global\inColortrue}
37     \DeclareOption{slideBW}{\global\inColorfalse}
38    
39     \newif\ifallPages
40     \DeclareOption{total}{\global\allPagestrue}
41     \DeclareOption{nototal}{\global\allPagesfalse}
42    
43     \newif\ifcolorBG
44     \DeclareOption{nocolorBG}{\global\colorBGfalse}
45     \DeclareOption{colorBG}{\global\colorBGtrue}
46    
47     \newif\ifAccumulate
48     \DeclareOption{accumulate}{\global\Accumulatetrue}
49     \DeclareOption{noaccumulate}{\global\Accumulatefalse}
50    
51     \newif\if@distiller
52     \@distillerfalse
53     \DeclareOption{distiller}{\global\@distillertrue}
54    
55     \DeclareOption{YandY}{\gdef\@pdf@driver{dvipsone}}
56     \DeclareOption{ps2pdf}{\gdef\@pdf@driver{ps2pdf}}
57     \DeclareOption{vtex}{\gdef\@pdf@driver{vtex}}
58    
59     %% Default style file = default
60     \def\Style@chosen{default}
61     \DeclareOption*{\global\let\Style@chosen=\CurrentOption}
62    
63     \ExecuteOptions{final,slideBW,total,nocolorBG,noaccumulate,ps,ps2pdf}
64     \ProcessOptions\relax
65    
66     \RequirePackage{graphicx} % MUST be loaded *before* seminar
67    
68     \LoadClass[portrait,semlayer,semcolor,leqno]{seminar}
69     \InputIfFileExists{seminar.bug}{}\relax
70     \InputIfFileExists{seminar.bg2}{}\relax
71     \InputIfFileExists{seminar-bg2-lepennec.fix}{}\relax
72    
73     \RequirePackage[\@pdf@driver,bookmarks,%
74     a4paper,%
75     % pdfmenubar=false,%
76     pdfhighlight=/I,%
77     % pdftoolbar=false,%
78     pdffitwindow=true,%
79     pdfcenterwindow=true,%
80     % pdfwindowui=false,%
81     menucolor=menucolor,%
82     % pdfview=Fit,%
83     pdfstartview=Fit]{hyperref}
84    
85     \rotateheaderstrue
86     \slidewidth=222mm
87     \slideheight=150mm
88     \renewcommand{\slideleftmargin}{0.01in}
89    
90     % overlays environment
91     % Parameter: # of slides in the overlay
92     % slide 0 is the one for PostScript file
93     \newbox\theoverlays
94     \newcounter{overlaysCount}
95     \newcounter{limitOverlays}
96    
97     \newcount\@tempoLimit \@tempoLimit=0
98     \newif\ifcollapsedBookmarks
99     % Default: collapsed bookmarks tree
100     \collapsedBookmarkstrue
101     % Add a bookmark for each master slide
102     \def\@addBookmarkOnSlide#1#2{%
103     \ifnum#1=0
104     \def\Hy@temp{#2}%
105     \pdfmark{pdfmark=/OUT,
106     Raw={/Page \thetrueSlideCounter
107     /View [ /XYZ null null null ]
108     /Title (\expandafter\strip@prefix\meaning\Hy@temp)}
109     }%
110     \else
111     \@tempoLimit=#1%
112     \advance \@tempoLimit by -1
113     \ifcollapsedBookmarks
114     \@tempoLimit=-\@tempoLimit
115     \fi
116     \def\Hy@temp{#2}%
117     \pdfmark{pdfmark=/OUT,
118     Raw={/Count \number\@tempoLimit /Page \thetrueSlideCounter
119     /View [ /XYZ null null null ]
120     /Title (\expandafter\strip@prefix\meaning\Hy@temp)}
121     }%
122     \fi
123     }
124    
125    
126     %% Some code to be added when creating a PDF file
127     \def\Cropping@Box{0 0 595 890} % By default: cropping to a4 paper dimensions
128     \ifDVItoPS
129     \else
130     \AtEndOfClass{%
131     \hypersetup{pdfpagescrop=\Cropping@Box}%
132     }
133     \if@distiller
134     \else
135     \AtBeginDvi{%
136     \pdfmark{pdfmark=/PAGES,
137     Raw={/Rotate 90}}
138     }%
139     \fi
140     \fi
141     \newcommand{\PDFCroppingBox}[1]{%
142     \gdef\Cropping@Box{#1}
143     }
144    
145     %% PDFtransition
146     %% Transition from one page to another.
147     %% Possible values:
148     %% (Split, Blinds, Box, Wipe, Dissolve, Glitter, R)
149     \def\Split{} \def\Blinds{} \def\Box{} \def\Wipe{} \def\Dissolve{}
150     \def\Glitter{} \def\R{} \def\Replace{}
151     \newcommand{\PDFtransition}[1]{%
152     \@ifundefined{#1}
153     {%
154     \ClassError{prosper}{Undefined transition #1}{%
155     Possible values: Split, Blinds, Box, Wipe, Dissolve, Glitter, R}}
156     {%
157     \hypersetup{pdfpagetransition={#1}}
158     }%
159     }
160    
161     %% Default transition between pages (for values, see \PDFtransition)
162     \def\@defaultTransition{R}
163     \newcommand{\DefaultTransition}[1]{\gdef\@defaultTransition{#1}}
164    
165    
166     \let\@cartouche\@empty
167     %% \slideCaption : Definition of caption to appear on every slide.
168     \newcommand{\slideCaption}[1]{\gdef\@cartouche{#1}}
169    
170     %%-----------------------------------------------------------------------------
171     %% Definitions for fonts and colors
172     %% #1: font and color if slide in color
173     %% #2: font and color if slide in BW
174     \def\@fontTitleColor{\ClassError{prosper}{%
175     no font specified for title in color}{Use macro \string\FontTitle}}
176     \def\@fontTitleBW{\ClassError{prosper}{%
177     no font specified for title in B\string&W}{Use macro \string\FontTitle}}
178     \def\@fontSubtitleColor{\@fontTitleColor\fontsize{16pt}{16pt}\selectfont\itshape}
179     \def\@fontSubtitleBW{\@fontTitleBW\fontsize{14pt}{16pt}\selectfont\itshape}
180     \def\@fontTextColor{\ClassError{prosper}{%
181     no font specified for texte in color}{Use macro \string\FontText}}
182     \def\@fontTextBW{\ClassError{prosper}{%
183     no font specified for text in B\string&W}{Use macro \string\FontText}}
184     \def\@colorFoot{\black}
185     \newcommand{\FontTitle}[2]{%
186     \gdef\@fontTitleColor{#1}%
187     \gdef\@fontTitleBW{#2}}
188     \newcommand{\FontSubtitle}[2]{%
189     \gdef\@fontSubtitleColor{#1}%
190     \gdef\@fontSubtitleBW{#2}}
191     \newcommand{\FontText}[2]{%
192     \gdef\@fontTextColor{#1}%
193     \gdef\@fontTextBW{#2}}
194     \newcommand{\ColorFoot}[1]{\gdef\@colorFoot{#1}}
195    
196     \newcommand{\fontTitle}[1]{%
197     {\ifinColor\@fontTitleColor\else\@fontTitleBW\fi #1}}
198     \newcommand{\fontText}[1]{%
199     {\ifinColor\@fontTextColor\else\@fontTextBW\fi #1}}
200     %%- End of definitions for fonts and colors -----------------------------------
201    
202     % Width of the text area
203     \newlength{\slideWidth}
204    
205     \def\@titleSpacing{\vspace*{10pt}}
206     \newcommand{\titleSpacing}[1]{\gdef\@titleSpacing{#1}}
207    
208     \def\@myendminipage{%
209     \global\let\@oldendminipage=\endminipage%
210     \global\let\endminipage=\@newendminipage%
211     }
212    
213     \def\@normalendminipage{%
214     \global\let\endminipage=\@oldendminipage%
215     }
216     \def\@newendminipage{%
217     \par
218     \unskip
219     \ifvoid\@mpfootins\else
220     \vskip\skip\@mpfootins
221     \normalcolor
222     \footnoterule
223     \unvbox\@mpfootins
224     \fi
225     \@minipagefalse %% added 24 May 89
226     \color@endgroup
227     \egroup
228     \typeout{Vertical size: \the\ht\@tempboxa}
229     \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
230    
231     %% Redefinition of the slide environment
232     \newcounter{trueSlideCounter}
233     \def\thetrueslideCounter{\arabic{trueSlideCounter}}
234     \let\slide@seminar=\slide
235     \let\endslide@seminar=\endslide
236     \let\slide=\relax
237     \let\endslide=\relax
238     \newenvironment{SlideNormal}[2][\@defaultTransition]{%
239     \stepcounter{trueSlideCounter}%
240     \PDFtransition{#1}%
241     \begin{slide@seminar}%
242     \def\@tempa{#2}%
243     \ifx\@tempa\@empty
244     \else
245     \@addBookmarkOnSlide{0}{#2}%
246     \slidetitle{#2}%
247     \fi
248     \begin{posit@Box}%
249     \begin{minipage}{\slideWidth}%
250     \begin{raggedright}%
251     \@DefMyItem
252     \ifinColor\@fontTextColor\else\@fontTextBW\fi
253     }{%
254     \par\end{raggedright}%
255     \end{minipage}
256     \end{posit@Box}\end{slide@seminar}}
257     % Slides in overlays
258     \newenvironment{SlideOverlay}[2][\@defaultTransition]{%
259     \ifDVItoPS
260     \begin{slide@seminar}%
261     \slidetitle{#2}%
262     \begin{posit@Box}%
263     \begin{minipage}{\slideWidth}%
264     \begin{raggedright}%
265     \@DefMyItem
266     \ifinColor\@fontTextColor\else\@fontTextBW\fi
267     \else %% DVI -> PDF
268     \stepcounter{trueSlideCounter}%
269     \PDFtransition{#1}%
270     \begin{slide@seminar}%
271     \@prepareResetCounters
272     \def\@tempa{#2}%
273     \ifx\@tempa\@empty
274     \else
275     \@ifundefined{@okForBookmark}{%
276     \gdef\@okForBookmark{}%
277     \@addBookmarkOnSlide{\number\c@limitOverlays}{#2}%
278     }{\@addBookmarkOnSlide{0}{#2}}%
279     \slidetitle{#2}%
280     \fi
281     \begin{posit@Box}%
282     \begin{minipage}{\slideWidth}%
283     \begin{raggedright}%
284     \@DefMyItem
285     \ifinColor\@fontTextColor\else\@fontTextBW\fi
286     {\overlay{1}}%
287     \fi
288     }{%
289     \ifDVItoPS
290     \par\end{raggedright}%
291     \end{minipage}\end{posit@Box}\end{slide@seminar}%
292     \else %% DVI -> PDF
293     \par\end{raggedright}%
294     \end{minipage}\end{posit@Box}\end{slide@seminar}%
295     \addtocounter{slide}{-1}%
296     \fi
297     }
298     \let\slide=\SlideNormal
299     \let\endslide=\endSlideNormal
300    
301     \newcommand{\NewSlideStyle}[4][11cm]{%
302     \setlength{\slideWidth}{#1}%
303     \global\pslongbox{posit@Box}{\rput[#2](#3)}%
304     \newslideframe{the#4}{\csname #4\endcsname{##1}}%
305     \slidepagestyle{GenericPageStyle}%
306     \slideframe{the#4}%
307     }
308    
309    
310     % Definition of the bullet for itemize env.
311     \def\@prosperItemi{{\scriptsize\green%
312     \raisebox{2pt}{\ensuremath{\bullet}}}}
313     \def\@prosperItemii{{\scriptsize\green%
314     \raisebox{2pt}{\ensuremath{\bullet}}}}
315     \def\@prosperItemiii{{\scriptsize\green%
316     \raisebox{2pt}{\ensuremath{\bullet}}}}
317     \newcommand{\myitem}[2]{%
318     \ifnum#1=1
319     \gdef\@prosperItemi{#2}%
320     \else
321     \ifnum#1=2
322     \gdef\@prosperItemii{#2}%
323     \else
324     \ifnum#1=3
325     \gdef\@prosperItemiii{#2}%
326     \else
327     \ClassError{prosper}{Undefined item level}{Available levels: 1,2,3}%
328     \fi
329     \fi
330     \fi
331     }
332    
333     \def\@DefMyItem{%
334     \global\let\labelitemi=\@prosperItemi
335     \global\let\labelitemii=\@prosperItemii
336     \global\let\labelitemiii=\@prosperItemiii
337     }
338    
339     %% displaying of a logo (to be defined in every style)
340     \newcommand{\LogoPosition}[1]{\gdef\@PosLogo{#1}}
341     \def\@PosLogo{\ClassError{prosper}{no default position for positioning the logo given}{Use macro \string\LogoPosition\space in the style file}}
342     \let\@thelogo\@empty
343     \newcommand{\Logo}{%
344     \@ifnextchar({\Logo@one}{\Logo@two}%
345     }
346     \def\Logo@one(#1)#2{%
347     \gdef\@PosLogo{#1}%
348     \gdef\@thelogo{#2}%
349     }
350     \def\Logo@two#1{%
351     \gdef\@thelogo{#1}%
352     }
353    
354     \newcommand{\PutLogo}{%
355     \ifx\@thelogo\@empty\else\rput[lb](\@PosLogo){\@thelogo}\fi
356     }
357    
358     \expandafter\ifx\csname realpageref\endcsname\relax%
359     \gdef\realpageref#1{\expandafter\real@setref
360     \csname r@#1\endcsname\@secondoffive{#1}}
361     \fi
362    
363     \newpagestyle{GenericPageStyle}{\hfill }{\hfill%
364     \ifisDraft
365     {\@colorFoot\tiny \textbf{\jobname.tex}~--~\@Title~--~\@Author~--~\number\day/\number\month/\number\year~--~\timenow~--~p.~\thepage\ifallPages/\realpageref{last@page}\fi}%
366     \else
367     \ifshowVersion
368     {\@colorFoot\tiny \textbf{\jobname.tex}~--~\@Title~--~\@Author~--~\number\day/\number\month/\number\year~--~\timenow~--~p.~\thepage\ifallPages/\realpageref{last@page}\fi}%
369     \else
370     {\@colorFoot\tiny \@cartouche~--~p.~\thepage\ifallPages/\realpageref{last@page}\fi}%
371     \fi\fi
372     }
373    
374     \IfFileExists{PPR\Style@chosen.sty}{%
375     \RequirePackage{PPR\Style@chosen}%
376     }{\ClassError{prosper}{unknown Prosper style file: PPR\Style@chosen.sty}{%
377     Sorry, no additional help}}
378    
379    
380     \def\nobabel{%
381     \let\labelitemi\@ltiORI%
382     \let\labelitemii\@ltiiORI%
383     \let\labelitemiii\@ltiiiORI%
384     \let\labelitemiv\@ltivORI}
385    
386     % A new itemize environment that does not attempt to justify sentences
387     \let\Itemize=\itemize
388     \let\endItemize=\enditemize
389     \let\orig@item=\item
390     \renewenvironment{itemize}{\global\let\cur@item=\item
391     \global\let\item=\orig@item%
392     \begin{Itemize}\begin{raggedright}}{%
393     \end{raggedright}\end{Itemize}\global\let\item=\cur@item}
394     \let\orig@center=\center
395     \let\orig@endcenter=\endcenter
396     \def\center{\global\let\cur@item=\item \global\let\item=\orig@item
397     \orig@center}
398     \def\endcenter{\orig@endcenter \global\let\item=\cur@item}
399    
400     % itemstep : itemize environment with step-by-step displaying
401     % Warning: no more than 4 nesting levels allowed!!
402     \newcounter{item@step}
403     \newenvironment{itemstep}[1][1]{%
404     \begin{Itemize}\begin{raggedright}%
405     \ifnum\the\@itemdepth=1%
406     \setcounter{item@step}{#1}%
407     \addtocounter{item@step}{-1}%
408     \fi%
409     \def\item{\stepcounter{item@step}%
410     \FromSlide{\theitem@step}\orig@item}%
411     }{\end{raggedright}\end{Itemize}\ifnum\the\@itemdepth=0\setcounter{item@step}{0}\fi}
412    
413     %% Displaying the version caption
414     \newif\ifshowVersion
415     \showVersionfalse
416     \newcommand{\displayVersion}{\global\showVersiontrue}
417    
418     \newcommand{\timenow}{%
419     \@tempcnta=\time \divide\@tempcnta by 60 \number\@tempcnta:\multiply
420     \@tempcnta by 60 \@tempcntb=\time \advance\@tempcntb by -\@tempcnta
421     \ifnum\@tempcntb <10 0\number\@tempcntb\else\number\@tempcntb\fi}
422    
423     \newcommand{\lastpage@putlabel}{\addtocounter{page}{-1}%
424     \immediate\write\@auxout{\string
425     \newlabel{last@page}{{}{\theslide}{\relax }{}{}}}%
426     \addtocounter{page}{1}}
427     \AtEndDocument{\ifallPages\clearpage\lastpage@putlabel\fi}
428    
429     \let\@Subtitle\@empty
430     \newcommand{\subtitle}[1]{\gdef\@Subtitle{#1}}
431     \renewcommand{\title}[1]{\gdef\@Title{#1}%
432     \ifx\@cartouche\@empty\gdef\@cartouche{#1}\fi}
433     \renewcommand{\author}[1]{\gdef\@Author{#1}}
434    
435     \let\@email\@empty
436     \newcommand{\email}[1]{\gdef\@email{#1}}
437    
438     \let\@institution\@empty
439     \newcommand{\institution}[1]{\gdef\@institution{#1}}
440    
441     \renewcommand{\maketitle}{%
442     %% Tests whether the 'french' style from B. Gaulle is loaded
443     \expandafter\ifx\csname frenchTeXmods\endcsname\relax%
444     \else
445     \PackageWarning{prosper}{This page intentionnally left blank to overcome an incompatibility bug between B. Gaulle 'french' package and the seminar class.}
446     \begin{center}
447     {\black\small
448     \textsf{prosper} class: page intentionnally left blank to overcome an incompatibility bug between B. Gaulle 'french' package and the seminar class.}%
449     \end{center}
450     \clearpage \setcounter{page}{0}%
451     \fi
452     \begin{slide}{}%
453     \ptsize{10}%
454     \begin{center}%
455     \@titleSpacing\par
456     \normalfont
457     {\ifinColor\@fontTitleColor\else\@fontTitleBW\fi\@Title\par}%
458     \ifx\@Subtitle\@empty\else
459    
460     {\ifinColor\@fontSubtitleColor\else\@fontSubtitleBW\fi\@Subtitle\par}
461     \fi
462    
463     \vskip.5em
464     \@Author
465    
466     \ifx\@email\@empty\else
467     \vskip-5pt
468     {\fontsize{7}{7}\selectfont\texttt{\@email}}
469     \fi
470     \ifx\@institution\@empty%
471     \else
472     \vskip.8em
473     \@institution
474     \fi
475     \vfill
476     \end{center}
477     \end{slide}
478     }
479    
480     %% Overlays environment
481     \newcounter{overlay@page}
482     \newenvironment{Overlays}{%
483     \global\let\slide\SlideOverlay
484     \global\let\endslide\endSlideOverlay
485     \setcounter{overlay@page}{\value{slide}}}{%
486     \global\let\slide\SlideNormal
487     \global\let\endslide\endSlideNormal
488     \global\let\@okForBookmark\relax
489     \setcounter{slide}{\value{overlay@page}}\stepcounter{slide}}
490    
491    
492     % fromSlide, onlySlide, untilSlide
493     % Masks or not the parameter.
494     % The stared version does not advance the position pointer and does not
495     % interpret its argument (to be used for graphics and commands containing
496     % PStricks links)
497    
498     % The following uses some pstricks hackery to exclude material from a
499     % slide. We use pstricks' postscript commands to place material on
500     % slide one which will never be printed.
501     \long\def\@on@overlay@one#1{%
502     \pst@Verb{(1) BOL}{\ignorespaces #1}\pst@Verb{(\curr@overlay) BOL}}
503     % [2001/07/16] PMN: The grouping and \ignorespaces around the argument
504     % is necessary for downwards compatibility.
505     % \ignorespaces is as found in \overlays from seminar and
506     % the grouping changes the spacing behavour in TeX.
507    
508     \long\def\fromSlide{%
509     \@ifstar\fromSlide@E\fromSlide@NE}
510     \long\def\fromSlide@NE#1{%
511     \let\prosper@next\@gobble%
512     \ifDVItoPS%
513     \ifAccumulate%
514     \let\prosper@next\@iden%
515     \fi%
516     \else%
517     \ifnum#1>\value{overlaysCount}%
518     \let\prosper@next\@on@overlay@one%
519     \else%
520     \let\prosper@next\@iden%
521     \fi%
522     \fi%
523     \prosper@next}
524    
525     \long\def\fromSlide@E#1{%
526     \let\prosper@next\@gobble%
527     \ifDVItoPS%
528     \ifAccumulate%
529     \let\prosper@next\@iden%
530     \fi%
531     \else%
532     \ifnum#1>\value{overlaysCount}%
533     \else%
534     \let\prosper@next\@iden%
535     \fi%
536     \fi%
537     \prosper@next}
538    
539     \long\def\untilSlide{%
540     \@ifstar\untilSlide@E\untilSlide@NE}
541     \long\def\untilSlide@NE#1{%
542     \let\prosper@next\@gobble%
543     \ifDVItoPS%
544     \ifAccumulate%
545     \let\prosper@next\@iden%
546     \fi%
547     \else%
548     \ifnum#1<\value{overlaysCount}%
549     \let\prosper@next\@on@overlay@one%
550     \else%
551     \let\prosper@next\@iden%
552     \fi%
553     \fi%
554     \prosper@next}
555    
556     \long\def\untilSlide@E#1{%
557     \let\prosper@next\@gobble%
558     \ifDVItoPS%
559     \ifAccumulate%
560     \let\prosper@next\@iden%
561     \fi%
562     \else%
563     \ifnum#1<\value{overlaysCount}%
564     \else%
565     \let\prosper@next\@iden%
566     \fi%
567     \fi%
568     \prosper@next}
569    
570     \long\def\onlySlide{%
571     \@ifstar\onlySlide@E\onlySlide@NE}
572     \long\def\onlySlide@NE#1{%
573     \let\prosper@next\@gobble%
574     \ifDVItoPS%
575     \ifAccumulate%
576     \let\prosper@next\@iden%
577     \fi%
578     \else%
579     \ifnum#1=\value{overlaysCount}%
580     \let\prosper@next\@iden%
581     \else%
582     \let\prosper@next\@on@overlay@one%
583     \fi%
584     \fi%
585     \prosper@next}
586    
587     \long\def\onlySlide@E#1{%
588     \let\prosper@next\@gobble%
589     \ifDVItoPS%
590     \ifAccumulate%
591     \let\prosper@next\@iden%
592     \fi%
593     \else%
594     \ifnum#1=\value{overlaysCount}%
595     \let\prosper@next\@iden%
596     \fi%
597     \fi%
598     \prosper@next}
599    
600     % FromSlide, OnlySlide, UntilSlide
601     % Masks or not the following material. Advances the position pointer
602     \newcommand{\FromSlide}[1]{%
603     \ifDVItoPS%
604     \else%
605     \ifnum#1>\value{overlaysCount}%
606     \overlay{1}%
607     \fi%
608     \fi}
609     \newcommand{\UntilSlide}[1]{%
610     \ifDVItoPS%
611     \else%
612     \ifnum#1<\value{overlaysCount}%
613     \overlay{1}%
614     \fi
615     \fi}
616     \newcommand{\OnlySlide}[1]{%
617     \ifDVItoPS%
618     \else%
619     \ifnum#1=\value{overlaysCount}%
620     \else%
621     \overlay{1}%
622     \fi
623     \fi}
624    
625     % Overlays. Parameter to state the number of slides composing the overlay
626     %\def\stepcounter#1{%
627     % \ifInOverlays
628     % \ifnum\value{overlayscount}<2
629     % \else
630     % \addtocounter{#1}\@ne
631     % \fi
632     % \else
633     % \addtocounter{#1}\@ne
634     % \fi
635     % \begingroup
636     % \let\@elt\@stpelt
637     % \csname cl@#1\endcsname
638     % \endgroup
639     %}
640    
641     \newif\ifInOverlays
642     \InOverlaysfalse
643     \long\def\overlays#1#2{%
644     \bgroup
645     \aftergroup\@cleanupOverlay
646     \global\InOverlaystrue
647     \setcounter{limitOverlays}{#1}%
648     \setcounter{overlaysCount}{1}%
649     \ifDVItoPS
650     #2
651     \else
652     \begin{Overlays}%
653     \bgroup
654     \loop
655     \@everyOverlay
656     #2
657     \ifnum\value{overlaysCount}<\value{limitOverlays}%
658     \stepcounter{overlaysCount}%
659     \repeat
660     \egroup
661     \end{Overlays}%
662     \fi
663     \egroup
664     }
665    
666     \def\@cleanupOverlay{%
667     \global\InOverlaysfalse
668     \setcounter{nbAffected}{0}
669     }
670    
671     \def\@listctr{}
672     \AtBeginDocument{%
673     \def\@pdfcreator{LaTeX with hyperref and prosper packages}%
674     {\begingroup \escapechar\m@ne\xdef\@gtempa{{\string\reset@color}}\endgroup
675     \expandafter\@ifundefined\@gtempa\relax{%
676     \global\let\orig@reset@color=\reset@color
677     \gdef\reset@color{\orig@reset@color\pst@endcolor}}}%
678     \let\Label=\label
679     \def\label#1{%
680     \ifInOverlays
681     \ifnum\value{overlaysCount}=1
682     \Label{#1}
683     \fi
684     \else
685     \Label{#1}
686     \fi
687     }
688    
689     % For amsmath environments
690     \let\Label@in@display=\label@in@display
691     \def\label@in@display#1{%
692     \ifInOverlays
693     \ifnum\value{overlaysCount}=1
694     \Label@in@display{#1}
695     \fi
696     \else
697     \Label@in@display{#1}%
698     \fi
699     }%
700    
701     \let\overlay@loop=\relax
702     \let\stepcounter=\stepcounter
703     % Macro \overlay taken from semlayer.sty
704     \def\overlay#1{%
705     \ifoverlays\ifx\@overlay\relax\nooverlays@err\fi\fi
706     \ifslide
707     \@tempcnta=#1
708     \@testfalse
709     \ifnum\@tempcnta>-1 \ifnum\@tempcnta<10 \@testtrue\fi\fi
710     \if@test
711     \c@overlay=\@tempcnta
712     \ifnum\c@overlay=0
713     \advance\c@slide by -1
714     \refstepcounter{slide}%
715     \else
716     \advance\c@overlay by -1
717     \refstepcounter{overlay}%
718     \ifoverlays
719     \xdef\overlay@list{\overlay@list,\the\c@overlay}%
720     \fi
721     \fi
722     \ifoverlays
723     \@overlay{\the\c@overlay}%
724     \fi
725     \else
726     \@seminarerr{\string\overlay\space argument must be
727     an integer between 0 and 9}\@eha
728     \fi
729     \else
730     \@seminarerr{\string\overlay\space can only be used
731     in slide environments}\@eha
732     \fi
733     \ignorespaces}%
734     } % AtBeginDocument
735    
736     \let\@everyOverlay\relax
737     %% Macros to be executed before each overlayed slide
738     \def\everyOverlay#1{\gdef\@everyOverlay{#1}}
739    
740     \newcounter{nbAffected}
741     \newcounter{savecountAffected}
742     \def\saveCtr#1{%
743     \stepcounter{nbAffected}
744     \expandafter\@saveCtr\the\csname c@#1\endcsname{#1}
745     }
746     \def\@saveCtr#1#2{
747     \expandafter\gdef\csname @sac\the\c@nbAffected\endcsname{\fromSlide*{2}{\setcounter{#2}{#1}}}
748     }
749    
750     \def\@prepareResetCounters{%
751     \ifnum\value{nbAffected}>0
752     \setcounter{savecountAffected}{1}
753     \loop
754     \csname @sac\the\c@savecountAffected\endcsname
755     \ifnum\value{savecountAffected}<\value{nbAffected}
756     \stepcounter{savecountAffected}
757     \repeat
758     \fi
759     }
760    
761    
762     % \part
763     \let\part=\relax
764     \newcommand{\part}[2][\@defaultTransition]{%
765     \begin{slide}[#1]{}%
766     \vspace*{1.5cm}\@addBookmarkOnSlide{0}{#2}%
767     \begin{center}%
768     \fontTitle{#2}%
769     \end{center}
770     \end{slide}}
771    
772     % Uses #1 if PDF option, otherwise #2
773     % [7/13/01] PMN: More robust implementation as it does not scan the
774     % arguments for \if.
775     \newcommand{\PDForPS}{%
776     \ifDVItoPS
777     \let\prosper@next\@secondoftwo
778     \else
779     \let\prosper@next\@firstoftwo
780     \fi
781     \prosper@next}
782     % #1 appears on the slide only on PS mode
783     \newcommand{\onlyInPS}{%
784     \ifDVItoPS
785     \let\prosper@next\@iden
786     \else
787     \let\prosper@next\@gobble
788     \fi
789     \prosper@next}
790     % #1 appears on the slide only on PDF mode
791     \newcommand{\onlyInPDF}{
792     \ifDVItoPS
793     \let\prosper@next\@gobble
794     \else
795     \let\prosper@next\@iden
796     \fi
797     \prosper@next}
798    
799     % To be used in conjunction with babel/french to allow ones own labels
800     \def\NoFrenchBabelItemize{%
801     \AtBeginDocument{%
802     \renewenvironment{itemize}%
803     {\ifnum \@itemdepth >\thr@@\@toodeep\else
804     \advance\@itemdepth\@ne
805     \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
806     \expandafter
807     \list
808     \csname\@itemitem\endcsname%
809     {\let\@trivlist\@trivlistORI
810     \settowidth{\labelwidth}{\textendash}%
811     \setlength{\leftmargin}{\labelwidth}%
812     \addtolength{\leftmargin}{\labelsep}%
813     \ifnum\@listdepth=0
814     \setlength{\itemindent}{\parindent}%
815     \else
816     \addtolength{\leftmargin}{\parindent}%
817     \fi
818     \setlength{\itemsep}{\z@}%
819     \setlength{\parsep}{\z@}%
820     \setlength{\topsep}{\z@}%
821     \setlength{\partopsep}{\z@}%
822     \addtolength{\topsep}{-\parskip}%
823     \addtolength{\partopsep}{\parskip}%
824     }%
825     \fi}%
826     {\endlist}%
827     }}
828    
829     \ptsize{14}
830    
831     \endinput
832    
833     %%% Local Variables:
834     %%% mode: latex
835     %%% TeX-master: t
836     %%% End: