%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% seminar.bg2 --- Corrections for compatibility problems and new bugs %% found in the Seminar package, waiting Seminar 98 %% (see also the seminar.bug file in Seminar distribution) %% %% Disclaimer: this file is mine and doesn't engage TVZ! %% %% Note: insert this file after \usepackage{graphicx} if you use Graphicx %% and after \usepackage{longtable} if you use LongTable %% %% Author : Denis GIROU (CNRS/IDRIS - France) %% Created the : 1995 %% Last mod. by : Denis GIROU (CNRS/IDRIS - France) %% Last mod. the : Fri May 22 20:40:42 1998 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\fileversion{1.7} \def\filedate{May 22, 1998} \typeout{seminar.bg2: various corrections for the Seminar document class added since seminar.bug (waiting Seminar 98)^^J% (Version \fileversion\space of <\filedate> (D.G.))} \edef\TheAtCode{\the\catcode`\@} \catcode`\@=11 % 1 - To correct a bug in the note environment % (reported by Denis Girou (CNRS/IDRIS) - - 1995) \@savsf=1 % 2 - To correct several bugs to generate a list of slides with subsection % entries % (reported by Denis Girou (CNRS/IDRIS) - - Jul. 18, 1995) % - To clear the subheading when a new heading is defined % (reported by Axel Thimm - - June 5, 1997) % - To assure coherence between heading and subheading when used in header/footer, % for article mode % (reported by Axel Thimm - - June 5, 1997) % - Improvements (\refstepcounter and \@addtoreset) by Jeremy Gibbons % - 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 - Oct. 15, 1997 % \stepcounter{slidesection}% \refstepcounter{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 - To correct a bug in the \slidecontents macro % (reported by Denis Roegel (LORIA) - - 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 - To solve 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 % 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) % (reported by Karl Tombre (LORIA) - - and Denis Roegel % (LORIA) - - 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}{% %\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 - To solve incompatibily between the LongTable package and Seminar % (reported by Bhaskar Manda (UIUC) - - May 7, 1997) % - Problem in article format seen later % (reported by Axel Thimm - - 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... \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 french.sty after Seminar % (suggested by Bernard Gaulle (IDRIS) - - 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 - 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) - - 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 \catcode`\@=\TheAtCode\relax \endinput %% END seminar.bg2