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 (21 years, 11 months 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

# Content
1 %%=============================================================================
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: