Disclaimer: This file is my own and doesn't engage Timothy van Zandt at all. New errors and misunderstandings are mine...

Seminar bugs list (version 1.7)


1 - Bug in seminar.cls for the note environment

Reported by: Denis Girou
Date: 1995
Description: Using the note environment generate a fatal error:

! Bad space factor (0).

<recently read> \@savsf

Perhaps only since LaTeX 2e.
Test file:

\documentclass[portrait]{seminar}

\input{seminar.bug}

\begin{document}

\begin{note}
  Text of note.
\end{note}

\end{document}
Workaround: Load the file seminar.bg2, which contains the following code:
% 1 - To correct a bug in the note environment
%     (reported by Denis Girou (CNRS/IDRIS) - <Denis.Girou@idris.fr> - 1995)
\@savsf=1

2 - Bugs in slidesec.sty in the \slideheading and\slidesubheading macros

Reported by: Denis Girou
Date: July 18, 1995
Description: There are several bugs to generate a list of slides with subsection entries (defined by the \slidesubheading macro) using the \listofslides macro (related to the \theslidesubsection, \slide@heading and \slide@subheading macros). But we found problems only if we define our own format for the list of slides.
Add-ons: Other problems were reported June 5, 1997 by Axel Thimm <thimm@physik.fu-berlin.de>: when a new heading is defined, the subheading must be cleared; in article mod coherence must be assured between heading and subheading when used in header/footer.
Improvements (\refstepcounter and \@addtoreset) suggested September 30, 1997 by Jeremy Gibbons <jgibbons@brookes.ac.uk>.

  1. The macro \theslidesubsection used in \slide@subheading is undefined due to typo (\thesubslidesection is defined in place of it!)
  2. The counter for the subsections is not reset to 0 in \slide@heading when we change of section (so the numerotation obtained is something like 1, 1.1, 1.2, 1.3, 2, 2.4, etc.). So, we must add \setcounter{slidesubsection}{0} in \slide@heading.
  3. The section counter is incremented when we change of subsection, in place of the subsection counter....
  4. In \slide@subheading, \makeslideheading is called in place of \makeslidesubheading.
Test file (to compile twice):
\documentclass[portrait]{seminar}

\usepackage{slidesec}
\input{seminar.bug}

% Personalization of the format of the list of slides
\makeatletter
\def\listofslides{%
  \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 avoid Overfull messages on each line of the list...
% \def\slide@dottedcline{\@dottedtocline{1}{1.5em}{2.3em}}
\def\slide@dottedcline{\@dottedtocline{1}{0.3em}{1.5em}}
\makeatother

\begin{document}

\begin{slide*}
  \slideheading{Heading 1}
  \slidesubheading{Subheading 1.1}
  \slideheading{Heading 2}
  \slidesubheading{Subheading 2.1}
\end{slide*}

\begin{slide*}
  \listofslides
\end{slide*}

\end{document}
Workaround: After slidesec.sty, load the file seminar.bg2, which contains the following code:
% 2 - To correct several bugs to generate a list of slides with subsection
%     entries
%     (reported by Denis Girou (CNRS/IDRIS) - <Denis.Girou@idris.fr> - Jul. 18, 1995)
%   - To clear the subheading when a new heading is defined
%     (reported by Axel Thimm - <thimm@physik.fu-berlin.de> - June 5, 1997)
%   - To assure coherence between heading and subheading when used in header/footer,
%     for article mode
%     (reported by Axel Thimm - <thimm@physik.fu-berlin.de> - June 5, 1997)
%   - Improvements (\refstepcounter and \@addtoreset) by Jeremy Gibbons
%     <jgibbons@brookes.ac.uk> - Sep. 30, 1997

% Used by the \slide@subheading macro but undefined
\def\theslidesubsection{\theslidesection.\arabic{slidesubsection}}

\def\slide@heading[#1]#2{%
% Modification D.G. begin - Oct. 15, 1997
%  \stepcounter{slidesection}%
  \refstepcounter{slidesection}%
  \@addtoreset{slidesubsection}{slidesection}
% Modification D.G. end
  \addtocontents{los}{\protect\l@slide
    {\the\c@slidesection}{\ignorespaces#1}{\@SCTR}}%
% Modification D.G. begin - May 30, 1997
%  \gdef\theslideheading{#1}%
% Modification D.G. end
  \def\@tempa{#2}%
  \ifx\@tempa\@empty\else
    {\edef\@currentlabel{\csname p@slidesection\endcsname\theslidesection}%
      \makeslideheading{#2}}%
  \fi
% Modification D.G. begin - May 30, 1997
  \gdef\theslideheading{#1}%
% Modification D.G. end
% Modification D.G. begin - Aug. 1, 1997
  \gdef\theslidesubheading{}%
% Modification D.G. end
}

\def\slide@subheading[#1]#2{%
% Modification D.G. begin - Jul. 18, 1995
%  \stepcounter{slidesection}%
  \stepcounter{slidesubsection}%
% Modification D.G. end
  \addtocontents{los}{\protect\l@subslide
    {\the\c@slidesubsection}{\ignorespaces#1}{\@SCTR}}%
% Modification D.G. begin - May 30, 1997
%  \gdef\theslidesubheading{#1}%
% Modification D.G. end
  \def\@tempa{#2}%
  \ifx\@tempa\@empty\else
    {\edef\@currentlabel{\csname p@slidesubsection\endcsname
% Modification D.G. begin - Jul. 18, 1995
%      \theslidesubsection}\makeslideheading{#2}}%
      \theslidesubsection}\makeslidesubheading{#2}}%
% Modification D.G. end
  \fi
% Modification D.G. begin - May 30, 1997
  \gdef\theslidesubheading{#1}%
% Modification D.G. end
}

3 - Bug in slidesec.sty in the \slidecontents macro

Reported by: Denis Roegel
Date: September 22, 1996
Description: The table of slides produce by the \slidecontents macro is not correctly formatted.

Test file (to compile twice):

\documentclass[portrait]{seminar}

\usepackage{slidesec}
\input{seminar.bug}

\begin{document}

\begin{slide*}
  \slideheading{Heading 1}
  \slidesubheading{Subheading 1.1}
  \slideheading{Heading 2}
  \slidesubheading{Subheading 2.1}
\end{slide*}

\begin{slide*}
  \slidecontents
\end{slide*}

\end{document}
Workaround: After slidesec.sty, load the file seminar.bg2, which contains the following code:
% 3 - To correct a bug in the \slidecontents macro
%     (reported by Denis Roegel (LORIA) - <Denis.Roegel@loria.fr> - Sep. 22, 1996)

\long\def\@gobblethree #1#2#3{}

\def\slide@contents{%
  \def\l@slide##1##2##3{%
% Modification Denis Roegel begin - Sep. 22, 1996
%    \slide@cline{\slidenumberline{$\bullet$}{##2}}{##3}}%
%  \let\l@subslide\@gobbletwo
% Modification Denis Roegel end
    \slide@cline{\slidenumberline{##1}{##2}}{##3}}%
  \let\l@subslide\@gobblethree
  \@startlos}

4 - Incompatibily between the Graphicx package and Seminar

Reported by: Karl Tombre and Denis Roegel
Date: January 16, 1997
Description: The \espfslidesize Seminar macro work only with the old version of the EpsFig package, so with \includegraphics the PostScript files are always scaled without the possibility to leave them to there natural size. And also these files are not correctly scaled when we switch from normal to article mode under Seminar. So, we must redefined the \epsfslidesize macro of Seminar and modify few internal macros of Graphicx.

(Note: I consider only the GraphicX package, not the GraphicS one)

Test file:

\documentclass[portrait]{seminar}

\usepackage{graphicx}

\input{seminar.bug}

\begin{document}

\epsfslidesize

\begin{slide*}
  \centerline{\includegraphics{figure.eps}}
\end{slide*}

\end{document}
Workaround: After loading the Graphicx package, load the file seminar.bg2, which contains the following code:
% 4 - To solve an incompatibily between the Graphicx package and Seminar.
%     The \espfslidesize Seminar macro work only with the old version of the
%     EpsFig package, so with \includegraphics the PostScript files are not
%     correctly scaled when we switch from normal to article mode under
%     Seminar. So we must redefined the \epsfslidesize macro of Seminar
%     and modify few internal macros of Graphicx.
%     (Note: I consider only the GraphicX package, not the GraphicS one)
%     (reported by Karl Tombre (LORIA) - <Karl.Tombre@loria.fr> - and Denis Roegel
%                  (LORIA) - <Denis.Roegel@loria.fr> - Jan. 16, 1997)

\def\GraphicsNotScaled{%
\ifx\Gin@viewport\undefined
\else                           % Graphicx package detected
\def\Gin@i{%
 \def\Gin@req@sizes{%
% Modification Denis Girou begin - May 16, 1997
   \Gin@nat@height=\inverseslidesmag\Gin@nat@height
   \Gin@nat@width=\inverseslidesmag\Gin@nat@width
% Modification Denis Girou end
   \Gin@req@height\Gin@nat@height
   \Gin@req@width\Gin@nat@width}%
 \@ifnextchar[\Gin@ii{\Gin@ii[]}}
% Modification Denis Girou begin - Feb. 19, 1997
%\define@key{Gin}{width}{\def\Gin@ewidth{#1}}
%\define@key{Gin}{height}{\def\Gin@eheight{#1}}
%\define@key{Gin}{totalheight}{%
%\define@key{Gin}{width}{\def\Gin@ewidth{#1}}
%\define@key{Gin}{height}{\def\Gin@eheight{#1}}
%\define@key{Gin}{totalheight}{%
%\def\Gin@eresize{\totalheight}\def\Gin@eheight{#1}}
\define@key{Gin}{width}{%
\@tempdima=##1\@tempdima=\inverseslidesmag\@tempdima\def\Gin@ewidth{\@tempdima}}
\define@key{Gin}{height}{%
\@tempdima=##1\@tempdima=\inverseslidesmag\@tempdima\def\Gin@eheight{\@tempdima}}
\define@key{Gin}{totalheight}{%
\def\Gin@eresize{\totalheight}%
\@tempdima=##1\@tempdima=\inverseslidesmag\@tempdima\def\Gin@eheight{\@tempdima}}
% Modification Denis Girou end
\fi}

\def\epsfslidesize{%
\let\epsfsize\slide@epsfsize
% Modification Denis Girou begin - Feb. 19, 1997
\GraphicsNotScaled}
% Modification Denis Girou end

5 - Incompatibily between the LongTable package and Seminar

Reported by: Bhaskar Manda
Date: May 7, 1997
Description: Seminar don't work with LongTable in LaTeX 2e (Seminar can see only the last page of those of the table).
Add-ons: Problem in article format reported June 5, 1997 by Axel Thimm <thimm@physik.fu-berlin.de>

Test file:

\documentclass{seminar}

\input{seminar.bug}

\addtolength{\textheight}{6mm}  % Better here

\begin{document}

\begin{slide}
  \begin{longtable}{|c|c|}
    \hline\hline
    \multicolumn{2}{|c|}{\textbf{Test}} \\
    \hline\hline
  \endfirsthead
    \hline\hline
    \multicolumn{2}{|c|}{\textbf{Test}} \\
    \hline\hline
  \endhead
    \multicolumn{1}{|c}{} & 
      \multicolumn{1}{|r|}{\textit{See next page}}\\
    \hline\hline
  \endfoot
    \hline\hline
  \endlastfoot
%
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
    AAAA & BBBB \\ \hline
  \end{longtable}
\end{slide}

\begin{slide}
  End of test.
\end{slide}

\end{document}
Workaround: After loading the LongTable package, load the file seminar.bg2, which contains the following code:
% 5 - To solve incompatibily between the LongTable package and Seminar
%     (reported by Bhaskar Manda (UIUC) - <bhaskar@or4.me.uiuc.edu> - May 7, 1997)
%   - Problem in article format seen later
%     (reported by Axel Thimm - <thimm@physik.fu-berlin.de> - June 5, 1997)

% From seminar.cls
\def\slide@outputLT{% (from \@@slide@output)
  \@makeslide
  \@testfalse
  \ifnotesonly\else
    \iflandscape
      \ifnum\@landscapeonly>-1 \os@test\fi
    \else
      \ifnum\@landscapeonly<1 \os@test\fi
    \fi
  \fi
  \if@test
    \reset@slideoutput
% Modification Denis Girou begin - May 13, 1997
%    \@@makeslide
    \@@makeslideLT
% Modification D.G. end
    \process@slide
  \fi
  \refstepcounter{slide}}
\def\@@makeslideLT{% (from \@@makeslide)
  \overfullslide@warning
  \setbox\@slidebox\hbox{%
    \vfuzz=\slidefuzz\relax
    \vbox to\slide@vsize{%
% Modification Denis Girou begin - May 13, 1997
    \box\@outputbox
% Modification D.G. end
    \ifcenterslides\vskip\z@ plus .0001fil \fi
    \unvbox\@slidebox
    \vskip\z@ plus .0001fil}%
    \the\after@slidepage}%
  \wd\@slidebox\textwidth}

% From LongTable
\def\LT@output{%
  \ifnum\outputpenalty <-\@Mi
    \ifnum\outputpenalty > -\LT@end@pen
      \LT@err{floats and marginpars not allowed in a longtable}\@ehc
    \else
      \setbox\z@\vbox{\unvbox\@cclv}%
      \ifdim \ht\LT@lastfoot>\ht\LT@foot
        \dimen@\pagegoal
        \advance\dimen@-\ht\LT@lastfoot
        \ifdim\dimen@<\ht\z@
          \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
          \@makecol
% Modification Denis Girou begin - May 13, 1997
%          \@outputpage
          \slide@outputLT
% Modification D.G. end
          \setbox\z@\vbox{\box\LT@head}%
        \fi
      \fi
      \global\@colroom\@colht
      \global\vsize\@colht
      \vbox
        {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
    \fi
  \else
    \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
    \@makecol
% Modification Denis Girou begin - May 13, 1997
%    \@outputpage
%    \global\vsize\@colroom % Work for slides, but not for notes... (June 5, 1997)
    \slide@outputLT
% Modification D.G. end
    \copy\LT@head
  \fi}

% We must adjust \textheight. Sometimes, you must increase it a little by
% something like \addtolength{\textheight}{5mm}
% But if you use slides like \begin{slide*}[15cm,10cm]
% you must define locally \textheight=15cm
\addtolength{\textheight}{-\headheight}

6 - To allow automatic changes of language dependant labels, for instance by loading the french package after Seminar

Suggested by: Bernard Gaulle
Date: Nov. 20, 1997
Description: Seminar has some hard coded label definitions, as for List of Slides, which prevent automatic adaptations by national language packages.

Workaround: Load the file seminar.bg2, which contains the following code:

% 6 - To allow automatic changes of language dependant labels,
%     for instance by loading french.sty after Seminar
%     (suggested by Bernard Gaulle (IDRIS) - <gaulle@idris.fr> - Nov. 20, 1997)
% Modification Denis Girou begin - Nov. 20, 1997
% From seminar.cls
\def\slidename{Slide}
\def\slidelabel{\bf\slidename{} \theslide}
% From slidesec.sty
\def\listslidename{List of Slides}%
\def\listofslides{\section*{\listslidename%
\@mkboth{\expandafter\MakeUppercase\listslidename}%
        {\expandafter\MakeUppercase\listslidename}}%
  \def\l@slide##1##2##3{%
    \slide@undottedcline{\slidenumberline{##3}{##2}}{}}%
  \let\l@subslide\l@slide
  \@startlos}
% Modification Denis Girou end

7 - The `french' package is not compatible with Seminar since version 4.02

Reported by: Bernard Gaulle / Denis Girou
Date: January 1998
Description: Some internal changes in french.sty 4.02 break Seminar (and the `fancybox' package too).

Test file:

\documentclass{seminar}

\usepackage{french} % Since french.sty 4.02
% Or: \usepackage[french]{babel} % Since french.sty 4.02 and up to date french.ldf

\begin{document}
\begin{slide}
  A
\end{slide}
\end{document}
Workaround: Unfortunately for users of the `french' package, no definitive good workaround is currently known.
The three major ones are:

8 - The footer, if defined, is not exactly well positionned

Reported by: Denis Girou
Date: May 1998
Description: This is mainly visible when using the `fancyhdr' package, and specially when a footer rule line is defined using the \footrulewidth command. The discrepancy is of around 5 millimeters.

Test file:

\documentclass[a4]{seminar}

\input{seminar.bug}

\usepackage{fancyhdr}

% Headers and footers personalization using the fancyhdr package
\fancyhead{} % Clear all fields
\renewcommand{\headrulewidth}{0.2mm}
\renewcommand{\footrulewidth}{0.2mm}
\fancyhead[C]{\large\textbf{My Title}}
\fancyfoot[L]{\thedate}
\fancyfoot[C]{My organization}
\fancyfoot[R]{Page \theslide}

% 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

\pagestyle{fancy}

\begin{document}

\begin{slide}
  Text.
\end{slide}

\end{document}
Workaround: Load the file seminar.bg2, which contains the following code:
% 7 - To vertically correctly center the footer, if defined
%     (this is mainly visible when using the `fancyhdr' package, and specially
%     when a footer rule line is defined)
%     (reported by Denis Girou (CNRS/IDRIS) - <Denis.Girou@idris.fr> - April 1998)

\ifarticle\else
  \def\output@slide{%
    \begingroup
      \hoffset=-\inverseslidesmag in
      \voffset=-\inverseslidesmag in
      \setslidelength\@tempdima{%
        \ifportrait\paperwidth\else\paperheight\fi}%
      \setslidelength\@tempdimb{%
        \ifportrait\paperheight\else\paperwidth\fi}%
      \ifrotateheaders
        \@ifrotateslide{%
          \dimen@=\@tempdima
          \@tempdima=\@tempdimb
          \@tempdimb=\dimen@}%
      \fi
      % \oddsidemargin, \evensidemargin, \headheight, \footheight
      % used for scratch:
      % Some page styles like to know \textwidth:
      \setslidelength\headheight\slidetopmargin
      \setslidelength\footheight\slidebottommargin
      \ifautoslidemargins
        \textwidth=\wd\@slidebox
        \oddsidemargin=\@tempdima
        \advance\oddsidemargin-\textwidth
        \divide\oddsidemargin 2
      \else
        \setslidelength\oddsidemargin\slideleftmargin
        \setslidelength\evensidemargin\sliderightmargin
        \textwidth=\@tempdima
        \advance\textwidth-\oddsidemargin
        \advance\textwidth-\evensidemargin
      \fi
      \setbox\@slidebox=\hbox to \@tempdima{%
        \kern\oddsidemargin
        \vbox to\@tempdimb{%
          \ifnum\fancyput@flag>-1
            \hbox{\kern-\oddsidemargin\do@fancyput}%
          \fi
          \let\label\@gobble
          \let\index\@gobble
          \let\glossary\@gobble
          \vbox to\headheight{%
            \vfill
            \hbox{%
              \slideheadfont\relax\strut
              \hbox to\textwidth{\@oddhead}}%
            \kern\z@}%
          \vfill
          \hbox to\textwidth{\hss\box\@slidebox\hss}%
          \vfill
          \vbox to\footheight{%
% Modification Denis Girou begin - May 15, 1998
            \vfill
% Modification Denis Girou end
            \hbox{%
              \slidefootfont\relax\strut
              \hbox to\textwidth{\@oddfoot}}%
            \vfill}}%
        \hss}%
      \ifrotateheaders\@ifrotateslide\rotate@slide\fi
      \insert@specials
      \shipout\box\@slidebox
    \endgroup
    \let\firstmark\botmark}
  \@ifundefined{fancyput@flag}{\def\fancyput@flag{-1}}{}
\fi


Comments to (put the word Seminar in the subject, please): Denis.Girou@idris.fr