Denis GIROU - Denis.Girou@idris.fr
August 7, 1997
Disclaimer: This file is my own and doesn't engage Timothy VAN ZANDT at all. Errors and misunderstandings are mine...
Courtesy to TUG, there is a Web page devoted to Seminar on http://www.tug.org/applications/Seminar. All documentations related to Seminar can be found there. Actual maintener of this page is Denis GIROU.
By Timothy VAN ZANDT. The source of this user's guide is included in the distribution as sem-user.tex.
By Denis GIROU. This file. The PostScript version include result of examples, that are not shown in the HTML version .
LaTeX Graphics Companion by Michel GOOSSENS, Sebastian RAHTZ and Frank MITTELBACH, Addison Wesley, 1997, section 9.4, pages 338-345.
Préparer des transparents avec Seminar by Michel GOOSSENS and Sebastian RAHTZ, Cahiers GUTenberg, number 16, April 1994, pages 71-82 (in french ).
Réaliser des transparents en LaTeX avec la classe de documents Seminar by Jalel CHERGUI and Denis GIROU, Internal note of CNRS/IDRIS, 24 pages, Version 3.4, December 1996 (in french ).
Note that a lot of commands described are only local and not distributed. But this document show some examples of useful functionnalities and show some other interesting personalizations of slides.
Seminar is frozen since the end of 1993, as Timothy VAN ZANDT was required by other kind of activities. Seminar was minimally adapted to LaTeX 2e in 1994 by Sebastian RAHTZ, who transform the old style file in a document class. But the internal mechanisms of Seminar (mainly for shipout of the pages) and it documentation were not upgraded.
There are some solutions or workarounds for specific problems with LaTeX 2e and with some actual versions of other packages (`longtable' for the moment) in the Seminar bugs list and the related file seminar.bg2 Nevertheless, Seminar is heavily used in the LaTeX communauty and is actively supported. Report any problem either to the comp.text.tex newsgroup or personaly to myself or to Sebastian RAHTZ . A version of Seminar better integrated with LaTeX 2e and with known bugs corrections included (from actual seminar.bug and seminar.bg2 files) is planned for 1998.
By default (i.e. without the portrait option) the slide environment define a landscape orientation (US usage) with horizontal text and the slide* environment a landscape orientation with vertical text. Take care in this case to use a landscape option when formatting the resulting file (for instance -t landspace with dvips).
With the portrait option, the slide* environment define a portrait orientation (european usage) with horizontal text and the slide environment a portrait orientation with vertical text (for instance useful to show a table larger than the width of the slide).
Note that if you ask for vertical (rotated) text, only the material inside the frame is rotated but not the headers and footers (see section 13.8).
Example without the portrait option (landscape orientation by default):
\documentclass{seminar} \usepackage{semcolor} \input{seminar.bug} \begin{document} \begin{slide} The slide environment WITHOUT the portrait option. \end{slide} \begin{slide*} The slide* environment WITHOUT the portrait option. \end{slide*} \end{document}
with the portrait option:
\documentclass[portrait]{seminar} \usepackage{semcolor} \input{seminar.bug} \begin{document} \begin{slide} The slide environment WITH the portrait option. \end{slide} \begin{slide*} The slide* environment WITH the portrait option. \end{slide*} \end{document}
To do a global change, we must inscrease or decrease the
\slidewidth
and/or \slideheight
values.
To do a local change, we can define the dimensions of the chosen slide as parameter of the slide or slide* environment.
Example:
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \begin{document} % Default size of the frame \begin{slide*} My text. \end{slide*} % Global change of the frame size \addtolength{\slidewidth}{2cm} \addtolength{\slideheight}{2cm} \begin{slide*} My text. \end{slide*} % Local change of the frame size % [height,width] in portrait mode % [width,height] in landscape mode \begin{slide*}[15cm,10cm] My text. \end{slide*} % We return to the preceding size \begin{slide*} My text. \end{slide*} \end{document}
Using the \slideframe
macro, you can choose a single,
oval, shadow or double frame.
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \usepackage{fancybox} \begin{document} % \slideframe{plain} is the default with fancybox.sty \begin{slide*} My text. \end{slide*} \slideframe{oval} \begin{slide*} My text. \end{slide*} \slideframe{shadow} \begin{slide*} My text. \end{slide*} \slideframe{double} \begin{slide*} My text. \end{slide*} \slideframe{none} \begin{slide*} My text. \end{slide*} \end{document}
This package use itself PSTricks and is the most powerful solution. Using
the \slideframe
macro, you can choose a scplain (default),
scshadow or scdouble frame (but it offers also other
possibilities, like to change the width and the color of the lines and to
color also the background - see section 8).
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \begin{document} % \slideframe{scplain} is the default with semcolor.sty \begin{slide*} My text. \end{slide*} \slideframe{scshadow} \begin{slide*} My text. \end{slide*} \slideframe{scdouble} \begin{slide*} My text. \end{slide*} \slideframe{none} \begin{slide*} My text. \end{slide*} \end{document}
\slideheading
and \slidesubheading
macros to
define in slides something like sections and subsections for other documents.
Redefine the \makeslideheading
and \makeslidesubheading
macros to change the way they are formatted. Here is an example:
\documentclass[a4]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \usepackage{slidesec} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \definecolor{LemonChiffon}{rgb}{1.,0.98,0.8} \begin{document} \begin{slide} \slideheading{Section one} \slidesubheading{Subsection one of one} \slidesubheading{Subsection two of one} \slideheading{Section two} \end{slide} \renewcommand{\makeslideheading}[1]{% \framebox{\textbf{\theslidesection{} -- #1}}} \renewcommand{\makeslidesubheading}[1]{% \begin{flushright} \textit{#1 (\Roman{slidesection}.\roman{slidesubsection})} \end{flushright}} \begin{slide} \slideheading{Section three} \slidesubheading{Subsection one of three} \slidesubheading{Subsection two of three} \slideheading{Section four} \end{slide} \renewcommand{\makeslideheading}[1]{% \begin{center} \psshadowbox[framearc=0.4,fillstyle=solid,fillcolor=red]{% \large\textbf{\textcolor{white}{\theslidesection{} -- #1}}} \end{center}} \renewcommand{\makeslidesubheading}[1]{% \noindent\psframebox[framearc=0.4,fillstyle=solid,fillcolor=LemonChiffon]{% \large\textbf{\theslidesection{}.\theslidesubsection{} -- #1}}\par} \begin{slide} \slideheading{Section five} \slidesubheading{Subsection one of five} \slidesubheading{Subsection two of five} \slideheading{Section six} \end{slide} \end{document}
With the `fancybox' package, we can easily put any text in the background of some or all slides. We can use all LaTeX commands to build it (tabular environment, color macros, insertion of graphics, etc.).
Example (here we use the `color' package to define the color of the text and the `graphics' one to scale and rotate it):
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \usepackage[dvips]{graphics} \usepackage{fancybox} \definecolor{LightGray}{gray}{0.85} \newslideframe{BackgroundText}{% \boxput{\rotatebox{56}{\scalebox{4.5}{% \textcolor{LightGray}{CONFIDENTIAL}}}}{#1}} \slideframe*{BackgroundText} \begin{document} \begin{slide*} I have no secret for you. \end{slide*} \end{document}
Just using normally the `graphics'/`graphicx' package in conjunction with
the `fancybox' one, with the \slideframe*
macro. Nevertheless take
care that the picture will be loaded for each slide, so that the
resulting file can be very huge (look at the discussion in section
14).
\documentclass[a4]{seminar} \usepackage{semcolor} \input{seminar.bug} \usepackage[dvips]{graphicx} \usepackage{fancybox} \newslideframe{IMAGE}{% \boxput{\rput(1,0){\includegraphics[scale=0.4]{france}}}{#1}} \slideframe*{IMAGE} \begin{document} \begin{slide} My first word. \end{slide} \begin{slide} My last word. \end{slide} \end{document}
By default, Seminar used the PSTricks package to define and manage colors. However, today the standard `color' package is a better solution to support color with LaTeX. But if we want to use this package with PSTricks also or with the `semcolor' package (which load PSTricks), we must take care to some incompatibilities between `color' and PSTricks. To solve them, the `pstcol' package written by David CARLISLE must be loaded in place of both `color' and PSTricks (load it before `semcolor' if you need this one too).
Example:
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \definecolor{Blue}{rgb}{0.,0.,1.} \definecolor{Pink}{rgb}{1.,0.75,0.8} \begin{document} \begin{slide*} Written in \textcolor{Pink}{pink} and now with my own \textcolor{Blue}{blue}. \end{slide*} \end{document}
With the \slideframe
macro.
See the following example (here we also define an optional parameter to change the frame color too, and another required one for the foreground color):
\documentclass[a4]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \newcommand{\SlideColours}[3][black]{% % #1 = frame line color (optional, default=black), % #2 = foreground color, #3 = background color \slideframe[\psset{linecolor=#1,fillcolor=#3,fillstyle=solid}]{scplain} \color{#2}} \definecolor{Pink}{rgb}{1.,0.75,0.8} \begin{document} \SlideColours[red]{black}{Pink} \begin{slide} My slide with a pink background and a red frame. \end{slide} \SlideColours{white}{red} \begin{slide} My slide with a red background and a white text. \end{slide} \end{document}
Easily with the `semcolor' and `gradient' (available in the PSTricks distribution) packages. Look at the following example:
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \usepackage{pst-grad} \definecolor{Gold}{rgb}{1.,0.84,0.} \slideframe[\psset{fillstyle=gradient,gradmidpoint=0.5, gradbegin=Gold,gradend=yellow}]{scplain} \begin{document} \begin{slide*} My slide with a nice gradient background. \end{slide*} \end{document}
We can also define the beginning and ending colors according to the HSB (Hue, Saturation, Brightness ) mode, which is often easier to manage exactly the gradient:
\documentclass[a4]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \usepackage{pst-ghsb} \definecolor{RedA}{hsb}{0.9,0.3,0.7} \definecolor{RedB}{hsb}{0.9,0.3,1} \slideframe[\psset{fillstyle=gradient,gradientHSB=true,gradmidpoint=0, gradbegin=RedA,gradend=RedB}]{scplain} \begin{document} \begin{slide} My slide with a nice gradient background. \end{slide} \end{document}
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \usepackage{pst-grad} % To define headers and footers \usepackage{fancyhdr} % Definitions of the logos of IDRIS and CNRS with PSTricks \usepackage{LogosID} % Headers and footers personalization using the `fancyhdr' package \fancyhf{} % Clear all fields \fancyhead[R]{\thepage} \newcommand{\Header}[1]{% \fancyhead[C]{{\Large\textbf{\textcolor{red}{#1}}}}} \fancyfoot[L]{\raisebox{-2.8mm}{\scalebox{0.3}{\LogoIDRISName}}} \makeatletter \newcommand{\Footer}[2]{% \fancyfoot[R]{{\scriptsize\textbf{#1} \@date}\\[-1.5mm] {\tiny\textbf{#2}}}} % Redefinition of the head line separator to have a double one \def\headrule{% \if@fancyplain\headrulewidth\plainheadrulewidth\fi \vskip 0.6mm \hrule\@height\headrulewidth\@width\headwidth \vskip 0.25mm \hrule\@height\headrulewidth\@width\headwidth \vskip -1.5mm} \makeatother % We change the width of header and footer rules \renewcommand{\headrulewidth}{0.15mm} \renewcommand{\footrulewidth}{0.15mm} % To center horizontally the headers and footers (see seminar.bug) \renewcommand{\headwidth}{\textwidth} % To adjust the frame length to the header and footer ones \autoslidemarginstrue % Definition of new colors \definecolor{Beige} {rgb}{0.96,0.96,0.86} \definecolor{Gold} {rgb}{1.,0.84,0.} \definecolor{MyYellow}{rgb}{1.,0.84,0.8} \slideframe[\psset{fillstyle=gradient,gradbegin=MyYellow,gradend=Gold, gradmidpoint=1}]{scplain} \date{Juin 1997} \Footer{\textcolor{blue}{MPI} -- \textcolor{green}{Version 1.8} --} {\textcolor{red}{J.Chergui,I.Dupays,D.Girou,S.Requena}} \begin{document} \slidepagestyle{fancy} \Header{MPI} \begin{slide*} \centerline{\psframebox[fillstyle=solid,fillcolor=red,framearc=.3, framesep=2mm]{\Large\bfseries\color{yellow}% Message Passing Interface}} \vspace{2cm} \centerline{\psframebox[fillstyle=solid,fillcolor=Beige, framearc=.3]{\bfseries% \begin{tabular}{c} Jalel \textsc{Chergui}\\ Isabelle \textsc{Dupays}\\ Denis \textsc{Girou}\\ Stéphane \textsc{Requena}\\[0.8mm] {\small\texttt{<Prénom.Nom@idris.fr>}} \end{tabular}}} \end{slide*} \end{document}
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \usepackage{pst-ghsb} % To define headers and footers \usepackage{fancyhdr} % Definitions of the logos of IDRIS and CNRS with PSTricks \usepackage{LogosID} % Headers and footers personalization using the `fancyhdr' package \fancyhf{} % Clear all fields \fancyhead[R]{\thepage} \newcommand{\Header}[1]{% \fancyhead[C]{{\Large\textbf{\textcolor{red}{#1}}}}} \fancyfoot[L]{\raisebox{-2.8mm}{\scalebox{0.3}{\LogoIDRISName}}} \makeatletter \newcommand{\Footer}[2]{% \fancyfoot[R]{{\scriptsize\textbf{#1} \@date}\\[-1.5mm] {\tiny\textbf{#2}}}} % Redefinition of the head line separator to have a double one \def\headrule{% \if@fancyplain\headrulewidth\plainheadrulewidth\fi \vskip 0.6mm \hrule\@height\headrulewidth\@width\headwidth \vskip 0.25mm \hrule\@height\headrulewidth\@width\headwidth \vskip -1.5mm} \makeatother % We change the width of header and footer rules \renewcommand{\headrulewidth}{0.15mm} \renewcommand{\footrulewidth}{0.15mm} % To center horizontally the headers and footers (see seminar.bug) \renewcommand{\headwidth}{\textwidth} % To adjust the frame length to the header and footer ones \autoslidemarginstrue % Definition of new colors \definecolor{ColorA} {hsb}{0.2,0.2,1} \definecolor{ColorB} {hsb}{0.2,0.2,0.8} \definecolor{LightCyan}{rgb}{0.88,1.,1.} \slideframe[\psset{linecolor=red,fillstyle=gradient,gradientHSB=true, gradmidpoint=0,gradangle=45, gradbegin=ColorA,gradend=ColorB}]{scplain} \date{Juin 1997} \Footer{\textcolor{blue}{MPI} -- \textcolor{green}{Version 1.8} --} {\textcolor{red}{J.Chergui,I.Dupays,D.Girou,S.Requena}} \begin{document} \slidepagestyle{fancy} \Header{MPI} \begin{slide*} \centerline{\psdblframebox[fillstyle=solid,fillcolor=yellow,framearc=.3, framesep=2mm]{\Large\bfseries\color{red}% \begin{tabular}{c} MPI\\ \rule{6.5cm}{0.6mm}\\ Message Passing Interface \end{tabular}}} \vspace{2cm} \centerline{\psshadowbox[fillstyle=solid,fillcolor=LightCyan, framearc=.3]{\bfseries% \begin{tabular}{c} Jalel \textsc{Chergui}\\ Isabelle \textsc{Dupays}\\ Denis \textsc{Girou}\\ Stéphane \textsc{Requena}\\[0.8mm] {\small\texttt{<Prénom.Nom@idris.fr>}} \end{tabular}}} \end{slide*} \end{document}
\newpagestyle
command (see
the Seminar documentation, page 26).
For more sophisticate needs, you can use the
`fancyhdr'
package from Piet VAN OOSTRUM (just take care to change the page
style - using the \pagestyle
or \slidepagestyle
macro
- after the \begin{document}
).
Here is an example with `fancyhdr' (see also the examples in section 8.4):
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \usepackage{fancyhdr} % Headers and footers personalization using the `fancyhdr' package \fancyhf{} % Clear all fields \renewcommand{\headrulewidth}{0.2mm} \renewcommand{\footrulewidth}{0.2mm} \fancyhead[C]{\Large\textbf{Using Seminar and `fancyhdr'}} \fancyfoot[L]{\tiny\thedate} \fancyfoot[C]{\small My organization} \fancyfoot[R]{\tiny Page \theslide} % To avoid that the headers be too close of the top of the page \renewcommand{\slidetopmargin}{2cm} % To center horizontally the headers and footers (see seminar.bug) \renewcommand{\headwidth}{\textwidth} % To adjust the frame length to the header and footer ones \autoslidemarginstrue \begin{document} \pagestyle{fancy} \begin{slide*} My first word. \end{slide*} \begin{slide*} My last word. \end{slide*} \end{document}
To put a logo on each slide, somewhere on the header or the footer, and
expecting that you have your logo as an Encapsulated PostScript file (or at
least a PostScript one with the BoundingBox defined), with the standard
`graphicx' package loaded, do something like:
\fancyfoot[L]{\includegraphics[scale=0.3]{MyLogo}}
Nevertheless, take care that this can generate a huge file! (see the discussion in section 14).
Using the `slidesec' package (there are several bugs related to it - see
the Seminar bugs list
and the
related file seminar.bg2
), you can
use the \slideheading
and \slidesubheading
macros to
define in slides something like sections and subsections for other documents
(see section 6).
To have the name of the current section in the slide header or footer, just
use the \theslideheading
macro (\theslidesection
contain the section counter):
\documentclass[a4,portrait]{seminar} \usepackage{slidesec} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \usepackage{fancyhdr} % Headers and footers personalization using the `fancyhdr' package \fancyhf{} % Clear all fields \renewcommand{\headrulewidth}{0.2mm} \renewcommand{\footrulewidth}{0.2mm} \fancyhead[C]{\Large\textbf{\theslidesection{} -- \theslideheading}} \fancyfoot[L]{\tiny\thedate} \fancyfoot[C]{\small My organization} \fancyfoot[R]{\tiny Page \theslide} % To avoid that the headers be too close of the top of the page \renewcommand{\slidetopmargin}{2cm} % To center horizontally the headers and footers (see seminar.bug) \renewcommand{\headwidth}{\textwidth} % To adjust the frame length to the header and footer ones \autoslidemarginstrue \begin{document} \pagestyle{fancy} \begin{slide*} \slideheading{Section one} \slidesubheading{Subsection one of one} \slidesubheading{Subsection two of one} \end{slide*} \begin{slide*} \slideheading{Section two} \slidesubheading{Subsection one of two} \end{slide*} \end{document}
Some people don't like to have the header and footer outside the frame or want to have with Seminar the same layout they had previously with other software.
It is not a direct functionality of Seminar, which expect the header and
footer outside the frame, but we can have it with little work. Of course, it
is possible with `fancyhdr', redefining the position of various fields. But it
is also possible using the `fancybox' package. First, we can increase the
global width of the slide, as the reserved size for header/footer will be
unused (\slideheight
for landscape mode and \slidewidth
for portrait mode). Second, we must reduce the size of the text, because it
will contain also the header and footer, using the
\extraslideheight
macro. Then we can define the fields of our
header and footer with the \newslideframe
macro, validating them
with the \slideframe*
macro.
Here is an example:
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \usepackage{fancybox} % Increase slide height (\slidewidth in portrait mode) but reduce text height \addtolength{\slidewidth}{2.5cm} \extraslideheight{-1.8cm} % Header and footer inside the frame \newslideframe{HeaderLeft}{% \boxput(-0.92,0.93){\makebox[0cm][l]{\Large\Title}}{#1}} \newslideframe{HeaderRight}{% \boxput(0.92,0.93){\makebox[0cm][r]{\footnotesize\thedate}}{#1}} \newslideframe{HeaderRule}{\boxput(0,0.88){\rule{8.1cm}{2pt}}{#1}} \newslideframe{FooterRule}{\boxput(0,-0.88){\rule{8.1cm}{2pt}}{#1}} \newslideframe{Footer}{\boxput(0,-0.94){\Large My organization}{#1}} \slideframe*{HeaderLeft} \slideframe*{HeaderRight} \slideframe*{HeaderRule} \slideframe*{FooterRule} \slideframe*{Footer} \slidepagestyle{empty} \begin{document} \providecommand{\Title}{My Title} \begin{slide*} In fact, I have nothing to say... \end{slide*} \end{document}
It is more tricky if we want to fill these areas with colors. It cannot be done automatically, as these areas are not defined as objects . But we can do it by hand, using some PSTricks macros. Of course, values must be adjusted in each case (if we change the slide dimensions, if we use another framing mode, etc.) and it require a little patience to found the good ones. Nevertheless, it is a kind of job that is require few time and normally we use the same slide layout for all or main part of our slide documents. Do not forget too that it is typically the kind of definitions that you must not put in the files themselves, as in our examples, but in the seminar.con configuration file.
Here is an example for the previous case (we must take care of the order of
the \slideframe*
calls):
\documentclass[a4,portrait]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \input{seminar.bug} \usepackage{fancybox} % Increase slide height (\slidewidth in portrait mode) but reduce text height \addtolength{\slidewidth}{2.5cm} \extraslideheight{-1.8cm} % Header and footer inside the frame \newslideframe{HeaderLeft}{% \boxput(-0.92,0.93){% \pscustom*[linecolor=yellow]{% \psarcn(0.445,-0.18){0.765}{180}{90} \rlineto(6.28,0) \psarcn(7.13,-0.18){0.765}{90}{0}} \makebox[0cm][l]{\Large\Title}}{#1}} \newslideframe{HeaderRight}{% \boxput(0.92,0.93){\makebox[0cm][r]{\footnotesize\thedate}}{#1}} \newslideframe{HeaderRule}{\boxput(0,0.88){\rule{8.1cm}{2pt}}{#1}} \newslideframe{FooterRule}{\boxput(0,-0.88){\rule{8.1cm}{2pt}}{#1}} \newslideframe{Footer}{% \boxput(0,-0.94){ \pscustom*[linecolor=magenta]{% \moveto(-1.67,0.5) \rlineto(5.1,0) \psarcn(5.1,0.5){0.735}{0}{270} \rlineto(-5.1,0) \psarcn(-1.67,0.5){0.735}{270}{180}} \Large My organization}{#1}} \slideframe*{HeaderRight} \slideframe*{HeaderRule} \slideframe*{HeaderLeft} \slideframe*{FooterRule} \slideframe*{Footer} \slidepagestyle{empty} \begin{document} \providecommand{\Title}{My Title} \begin{slide*} In fact, I have nothing to say... \end{slide*} \end{document}
Put the notes outside the slide/slide* environments or use the note environment.
If you don't want the headers and footers for the notes, use
\slidepagestyle{fancy}
instead of \pagestyle{fancy}
.
Example (there is a bug in the note environment that we must correct
defining \@savsf
- see the
Seminar bugs list
):
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \usepackage{fancyhdr} % Headers and footers personalization using the `fancyhdr' package \fancyhf{} % Clear all fields \renewcommand{\headrulewidth}{0.2mm} \renewcommand{\footrulewidth}{0.2mm} \fancyhead[C]{\Large\textbf{Notes and Slides}} \fancyfoot[L]{\tiny\thedate} \fancyfoot[C]{\small My organization} \fancyfoot[R]{\tiny Page \theslide} % To avoid that the headers be too close of the top of the page \renewcommand{\slidetopmargin}{2cm} % To center horizontally the headers and footers (see seminar.bug) \renewcommand{\headwidth}{\textwidth} % To adjust the frame length to the header and footer ones \autoslidemarginstrue \begin{document} \pagestyle{fancy} \begin{slide*} My first word. \end{slide*} If I have time tell them my second word. \begin{slide*} My second word. \end{slide*} \begin{note} If really there is one still not sleeping, tell them my last word. \end{note} \begin{slide*} My last word. \end{slide*} \end{document}
Use the slidesonly option for the seminar class (for instance
\documentclass[a4,portrait,slidesonly]{seminar}
).
But if you want the headers and footers, replace \pagestyle{fancy}
by:
\begin{allversions*} \pagestyle{fancy} \end{allversions*}
Use the notesonly option for the Seminar class (for instance
\documentclass[a4,portrait,notesonly]{seminar}
).
But if you want the headers and footers, replace \pagestyle{fancy}
by:
\begin{allversions*} \pagestyle{fancy} \end{allversions*}
Use the `slidesec' package (there are several bugs related to it - see the Seminar bugs list and the related file seminar.bg2 ) Example (it must be compiled twice to format the list of slides):
\documentclass[a4,portrait]{seminar} \usepackage{slidesec} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \begin{document} \begin{slide*} \slideheading{Section one} \slidesubheading{Subsection one of one} \slidesubheading{Subsection two of one} \slideheading{Section two} \end{slide*} \begin{slide*} \slideheading{Section three} \slidesubheading{Subsection one of three} \end{slide*} \begin{slide*} \listofslides \end{slide*} \end{document}
Redefine the \listofslides
macro (don't forget that the
seminar.con file is the way to personalize the Seminar configuration
for yourself or for your laboratory or institution - don't insert this kind
of definitions in each of your files!)
Example (here we print the entry number of the section or subsection, we put dots between labels and slide numbers and we indent the subsection entries - the file must be compiled twice):
\documentclass[a4]{seminar} \usepackage{slidesec} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list % Personalization of the format of the list of slides \makeatletter \def\listofslides{% \centerline{\LARGE\textbf{List of Slides}}% \def\l@slide##1##2##3{% \slide@dottedcline{##1 -- ##2}{\slidenumberline{##3}}}% \def\l@subslide##1##2##3{% \slide@dottedcline{\ \ ##1 -- ##2}{\slidenumberline{##3}}}% \@startlos} % To change formatting of subslides in list of slides (whole numerotation) \def\slide@subheading[#1]#2{% \stepcounter{slidesubsection}% \addtocontents{los}{\protect\l@subslide {\the\c@slidesection.\the\c@slidesubsection}{\ignorespaces#1}{\@SCTR}}% \gdef\theslidesubheading{#1}% \def\@tempa{#2}% \ifx\@tempa\@empty\else {\edef\@currentlabel{\csname p@slidesubsection\endcsname \theslidesubsection}\makeslidesubheading{#2}}% \fi} % To avoid Overfull messages on each line of the list... \def\slide@dottedcline{\@dottedtocline{1}{0.3em}{1.5em}} \makeatother \begin{document} \begin{slide} \slideheading{Section one} \slidesubheading{Subsection one of one} \slidesubheading{Subsection two of one} \slideheading{Section two} \end{slide} \begin{slide} \slideheading{Section three} \slidesubheading{Subsection one of three} \end{slide} \begin{slide} \listofslides \end{slide} \end{document}
The macro \Slidecontents
generate a list of the slides (using the
entries defined with \slideheading
and \slidesubheading
) to show
the preceding slides and the following ones. The \slidesubheading
entries of the preceding ones are omitted. And, of course, you can generate
several lists inside the file, to show respective positions in the talk.
Example (it must be compiled twice):
\documentclass[a4,portrait]{seminar} \usepackage{slidesec} \input{seminar.bug} \input{seminar.bg2} % See the Seminar bugs list \begin{document} \begin{slide*} \slideheading{Section one} \slidesubheading{Subsection one of one} \slidesubheading{Subsection two of one} \slideheading{Section two} \end{slide*} \begin{slide*} \Slidecontents \end{slide*} \begin{slide*} \slideheading{Section three} \slidesubheading{Subsection one of three} \end{slide*} \begin{slide*} \Slidecontents \end{slide*} \end{document}
With the overlay environment defined in the `semlayer' package.
Example (we will generate here four slides):
\documentclass[a4,12pt]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \usepackage{semlayer} \input{seminar.bug} \begin{document} \begin{slide} \centerline{\psshadowbox{\shortstack[l]{% The winner is: \begin{overlay}{1}{\textcolor{red}{Caroline}}\end{overlay}\\[2cm] The second is: \begin{overlay}{2}{Jane}\end{overlay}\\[2cm] The third is: \begin{overlay}{3}{Mary}\end{overlay}}}} \end{slide} \end{document}
Traditional overlays are useful for projectors, but if you don't use physical slides and project them directly from a computer on a screen or a wall, you must be able to generate slides which add each time the material of all the preceding overlays (idea first suggested by Tomer KOL ). Solution is not difficult, modifying the way PSTricks (which manage the overlays for Seminar) work:
\documentclass[a4,12pt]{seminar} \usepackage[dvips]{pstcol} % To use the standard `color' package with Seminar \usepackage{semcolor} \usepackage{semlayer} \input{seminar.bug} % For overlays, to force to print all preceding ones \makeatletter \def\pst@initoverlay#1{% \pst@Verb{% /BeginOL {dup (all) eq exch TheOL le or {IfVisible not {Visible /IfVisible true def} if} {IfVisible {Invisible /IfVisible false def} if} ifelse} def \tx@InitOL /TheOL (#1) def}} \makeatother \begin{document} \begin{slide} \centerline{\psshadowbox{\shortstack[l]{% The winner is: \begin{overlay}{1}{\textcolor{red}{Caroline}}\end{overlay}\\[2cm] The second is: \begin{overlay}{2}{Jane}\end{overlay}\\[2cm] The third is: \begin{overlay}{3}{Mary}\end{overlay}}}} \end{slide} \end{document}
By default, they are not. Redefine \slideparindent
for that,
for instance \renewcommand{\slideparindent}{5mm}
By default, they are not. Use \raggedslides[0mm]
for that.
By default, they are. Use \centerslidesfalse
to change that.
Define the value of the slide counter (to the specific value less 1).
Example:
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \renewcommand{\slideparindent}{5mm} \raggedslides[0mm] \centerslidesfalse \begin{document} \setcounter{slide}{34} % Must be slide number 35 \begin{slide*} My text with some non default formatting options. \end{slide*} \end{document}
With the \onlyslides
macro. For instance
\onlyslides{11-16,25}
.
Just using the standard LaTeX mechanism with the \input
macro,
which allow too to input files selectively with the \includeonly
macro. Nevertheless all files to include must imperatively finish with the
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \begin{document} \input{Slides-Part1.tex} \input{Slides-Part2.tex} \end{document}
With for contents of Slides-Part1.tex and Slides-Part2.tex:
\begin{slide*} My first word. \end{slide*} \endinput
\begin{slide*} My last word. \end{slide*} \endinput
Seminar perform automatically a magnification on all material put in the slide environments. This is greatly efficient because this allow to use exactly the same things that can be used elsewhere in article or report documents, but nevertheless it can be a problem in special cases, like inclusion of external files and picture environments.
For inclusion of external files, Seminar has the \epsfslidesize
macro to keep normal size of the files. Unfortunately, this doesn't
work any more with LaTeX 2e. There is a workaround in the file
seminar.bg2
for the macro
\includegraphics
of the `graphicx' package (it is not done for the
`graphics' package). So, when seminar.bg2 is loaded, the
\epsfslidesize
macro work as specified in the Seminar documentation, if
the parameters width, height or totalheight are
used.
\documentclass[portrait]{seminar} \input{seminar.bug} \input{seminar.bg2} \begin{document} \begin{slide*} % Magnified size \centerline{\includegraphics[width=5cm]{france}} % Initial size \epsfslidesize \centerline{\includegraphics[width=5cm]{france}} \end{slide*} \end{document}
And for picture environments, as the LaTeX or the PSTricks ones, we have
just to use the (undocumented...) \inverseslidesmag
macro.
\documentclass[portrait]{seminar} \input{seminar.bug} \usepackage{pstricks} \begin{document} \begin{slide*} %%%% LaTeX example % Magnified size \setlength{\unitlength}{1cm} \framebox(6,2){LaTeX example} % Initial size \setlength{\unitlength}{\inverseslidesmag\unitlength} \framebox(6,2){LaTeX example} %%%% PSTricks example % Magnified size \begin{pspicture}(3,3) \psframe(3,3)\rput(1.5,1.5){PSTricks example} \end{pspicture} % Initial size \psset{unit=\inverseslidesmag\psunit} \begin{pspicture}(3,3) \psframe(3,3)\rput(1.5,1.5){PSTricks example} \end{pspicture} \end{slide*} \end{document}
\rotateheaderstrue
command
before.
Example:
\documentclass[a4,portrait]{seminar} \usepackage{semcolor} \input{seminar.bug} \usepackage{fancyhdr} % Headers and footers personalization using the `fancyhdr' package \fancyhf{} % Clear all fields \renewcommand{\headrulewidth}{0.2mm} \renewcommand{\footrulewidth}{0.2mm} \fancyhead[C]{\Large\textbf{Rotation of slides}} \fancyfoot[L]{\tiny\thedate} \fancyfoot[C]{\small My organization} \fancyfoot[R]{\tiny Page \theslide} % To avoid that the headers be too close of the top of the page \renewcommand{\slidetopmargin}{2cm} % To center horizontally the headers and footers (see seminar.bug) \renewcommand{\headwidth}{\textwidth} % To adjust the frame length to the header and footer ones \autoslidemarginstrue \begin{document} \pagestyle{fancy} \begin{slide*} My first word. \end{slide*} \begin{slide} My second word. \end{slide} \rotateheaderstrue \addtolength{\slideheight}{-2cm} % To adjust vertical position \begin{slide} My last word. \end{slide} \end{document}
For that, just redefine the \slidestretch
command before a
slide or slide* environment. But if you want to change it
inside a slide, you must call the macro \slidebox@restore
too.
Example:
\documentclass[a4,portrait]{seminar} \input{seminar.bug} \begin{document} \begin{slide*} Here is what I have to say. Here is what I have to say. Here is what I have to say. \end{slide*} \renewcommand{\slidestretch}{0.5} \begin{slide*} Here is what I have to say. Here is what I have to say. Here is what I have to say. \end{slide*} \renewcommand{\slidestretch}{1} \begin{slide*} Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. \renewcommand{\slidestretch}{0.5} \makeatletter\slidebox@restore\makeatother Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. \renewcommand{\slidestretch}{2} \makeatletter\slidebox@restore\makeatother Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. Here is what I have to say. \end{slide*} \end{document}
One frequent need is to be able to give a paper copy of the slides to people, or to put an electronic version on a Web server. And problem is, as the slides are by nature printed with big fonts, that there are few informations by page and numberous pages.
There are several solutions, at various stages, to automatically reduce the
size of the pages and to put 2 or 4 logical ones on each physical page. You
can act at tex level (using the article
style option or
the \twoup[n]
command of Seminar), at the dvi level (for instance
with dvips) or at the PostScript level. In this case you can use the
pstops
utility (CTAN/support/psutils) or with an easier
interface and other possibilities psnup
(CTAN/support/psutils)
or mpage
(for instance
ftp://sunsite.unc.edu/pub/Linux/system/printing/mpage24.tgz).
For that, you can look at the section 9 (Including an EPS File Multiple Times ) of the excellent document of Keith RECKDAHL Using EPS Graphics in LaTeX 2e Documents , available in CTAN/info/epslatex.ps, or you can consider to draw your logo with a TeX computational graphic package, like AlDraTeX, MetaPost, PSTricks, XY-pic, etc. (see the LaTeX Graphics Companion ).
Comments to (put the word Seminar in the subject, please):
Denis.Girou@idris.fr