Peter Riocreux wrote on 27 Feb 2001 10:48:09 +0000: > > Underfull \vbox (badness 10000) has occurred while \output is active Yep, these over/underful vboxes are a pain ;-) I hunted down this one (it was introduced by me when fixing footnote handling for incrementally built slides), but generally, seminar's output routine is a mess (stemming from 2.09 times and since patched several times) and could do with a good rewriting... (see below). The patch will appear with the next release, but as I still won't bet when that will occur (PhD still not handed in :-| ), I'm attaching the current development version (untested). > On a separate matter - as seminar is effectively unmaintained (in that > new versions are not issued AIUI), and there are a number of fixes > required to make it play happily with other packages, why not, with > the author's permission, just reuse the seminar code (but fixed) and > make powersem a whole class rather than merely a wrapper around > seminar. Seminar.bug and .bg2 could be applied immediately and I > imagine that the problem that causes the need for fixseminar could be > solved. Backward compatability issues would be removed, because > powersem is not yet a stable package, and changes could be made before > it becomes so. Yea, this is exactly what I'm planning to do. But to be honest, currently powersem is no more than a bundle of patches I absolutely need to go along with developing TeXPower. I'll abstain from doing anything more substantial before the first beta release of TeXPower is out. This is more important to me right now. TeXPower works with all classes, so noone really needs to use powersem, it's just that I'm a seminar addict ;-) As soon as TeXPower is out of the phase of developing the absolutely neccessary functionality, I'll start earnestly with powersem. But this is a non-trivial task, because seminar has so much functionality which I don't ever use. I never use notes or articles, so both are likely already broken in powersem by some `patch' to the main slide-making parts. Probably the first step will be to make a `powersem light' which has only the functionality for making presentations. > > On yet another note, I am developing material for printing and > presenting, and it would be nice to be able to use \centerslidesfalse > as a class option, and conversely, to be able to use the display > option as a command. This latter would allow me to predicate use of > display on whether I am processing for DVI or for PDF. I guess this > may depend on integration of seminar.cls though. I'm not sure I understand what you mean. Could you post an example of what a document you desire would look like and why the same isn't possible at the moment? It shouldn't be too inconvenient to write \documentclass{powersem}\centerslidesfalse instead of \documentclass[centerslidesfalse]{powersem} regards Stephan -- Stephan Lehmke [EMAIL PROTECTED] Fachbereich Informatik, LS I Tel. +49 231 755 6434 Universitaet Dortmund FAX 6555 D-44221 Dortmund, Germany
%----------------------------------------------------------------------------------------------------------------- % File: powersem.cls % % Make seminar ready for the Third Millennium ;-) % This class loads seminar and tries to fix some problems which occur when trying to create dynamic presentations with % the texpower package. % % Some new features helpful for dynamic presentations are also added. % % This class is part of the TeXPower bundle, to be found at % % http://ls1-www.cs.uni-dortmund.de/~lehmke/texpower/ % % The TeXPower bundle also contains a package fixseminar.sty which applies some more fixes, in particular for % hyperref. These can not be applied here because they have to be made after hyperref is loaded. % %----------------------------------------------------------------------------------------------------------------- % Autor: Stephan Lehmke <[EMAIL PROTECTED]> % % v0.1 Oct 18, 1999 First version. So far it doesn't do much more than load seminar. % % v0.2 Mar 28, 2000 Force seminar to treat \paperwidth and \paperheight in a sensible manner. % % v0.3 May 10, 2000 Added option `calcdimensions'. % % v0.4 Jun 16, 2000 Now separates text from footnotes when option `display' is given. % % v0.5 Jun 26, 2000 \@colht is ignored by seminar, which is bad. Added a patch to \set@slidesize. % calcdimensions now handles slide frames. % % v0.5a Jul 03, 2000 The footnote patch with option display effectively disabled setting \centerslidestrue. Fixed. % % v0.6 Mar 01, 2001 seminar's \output@slide kernel copied (from seminar.bg2) and modified for better color handling % and to remove some overfull \vbox warnings. % There was another underfull vbox warning lurking in the footnote patch. Removed. % \def\fileversion{0.6} \def\filedate{2001/03/01} \NeedsTeXFormat{LaTeX2e} \ProvidesClass% {powersem}% [\filedate\space Create online Presentations with seminar. v\fileversion] %-------------------------------------------------------------------------------------------------------------- \RequirePackage{ifthen} %-------------------------------------------------------------------------------------------------------------- % The display option is understood by all relevant classes and packages from the TeXPower bundle. It means that % `dynamic' features are to be turned on. % There is a boolean register display (as defined in ifthen.sty) which is set by this option and can be used to % differentiate between slides for display and slides for printout. % Notes are disabled automatically. \newboolean{display} \DeclareOption{display}{\setboolean{display}{true}\PassOptionsToClass{slidesonly}{seminar}} %-------------------------------------------------------------------------------------------------------------- % The KOMA option tells powersem to load scrartcl (from the KOMA suite of document classes) instead of article. \newboolean{KOMA@PS} \DeclareOption{KOMA}{\setboolean{KOMA@PS}{true}} %-------------------------------------------------------------------------------------------------------------- % We need to redefine the a4paper option which is broken in seminar.cls \DeclareOption{a4paper}{\PassOptionsToClass{a4}{seminar}} %-------------------------------------------------------------------------------------------------------------- % The calcdimensions option tells powersem to automatically calculate slidewidth and slideheight from paper dimensions % and margins. \newboolean{calcdim@PS} \DeclareOption{calcdimensions}{\setboolean{calcdim@PS}{true}} %-------------------------------------------------------------------------------------------------------------- \DeclareOption*{\PassOptionsToClass{\CurrentOption}{seminar}} \ProcessOptions %-------------------------------------------------------------------------------------------------------------- % Now we need to hack a little to make seminar load scrartcl instead of article (if the option KOMA was given). \providecommand{\baseclass}{scrartcl} \ifthenelse{\boolean{KOMA@PS}} {% \def\article@PS{article} % Make \PassOptionsToClass and \LoadClass use scrartcl... \let\oldPOTC@PS=\PassOptionsToClass \def\PassOptionsToClass#1#2{\edef\cls@PS{#2}\ifx\article@PS\cls@PS\oldPOTC@PS{#1}{\baseclass}\else\oldPOTC@PS{#1}{#2}\fi} } {} % Furthermore, seminar redefines \paperheight and \paperwidth, saving their value in \sem@paperheight and % \sem@paperwidth. We undo this so the paper dimension calculation of typearea can be used. \let\oldLC@PS=\LoadClass \renewcommand{\LoadClass}[2][]% {% \edef\cls@PS{#2}% \ifx\article@PS\cls@PS \let\paperheight\sem@paperheight\let\paperwidth\sem@paperwidth \ifthenelse{\boolean{KOMA@PS}}{\oldLC@PS[#1]{\baseclass}}{\oldLC@PS[#2]{article}} \portraittrue \else \oldLC@PS{#2}% \fi }% %-------------------------------------------------------------------------------------------------------------- % Finally, the seminar class and some bug fixes are loaded. \LoadClass{seminar} \AtBeginDocument {% \input{seminar.bug}% \input{seminar.bg2}% } \expandafter\def\expandafter\set@slidesize\expandafter {\set@slidesize\@colht\vsize} %----------------------------------------------------------------------------------------------------------------- % Make some changes in the seminar kernel to hopefully get better handling of text colors and avoid overfull box % warnings when \slidetopmargin and \slidebottommargin are set too small. \AtBeginDocument {% \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: \setslidelength\oddsidemargin\slideleftmargin \setslidelength\evensidemargin\sliderightmargin \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{{% All double {{ around box contents added for better color handling (STL) % \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 \color@hbox \normalcolor \slideheadfont\relax%\strut Removed (STL) \hb@xt@\textwidth{\@oddhead}% \color@endbox \kern\z@}}% \vss \hbox to\textwidth{{\hss\box\@slidebox\hss}}% \vss \vbox to\footheight{{% \vfill \color@hbox \normalcolor \slidefootfont\relax%\strut Removed (STL) \hb@xt@\textwidth{\@oddfoot}% \color@endbox \vfill}}% }}\hss}}% \ifrotateheaders\@ifrotateslide\rotate@slide\fi \insert@specials \shipout\box\@slidebox \endgroup \let\firstmark\botmark \stepcounter{page}% <=== This will seriously upset notes! (STL) }% \@ifundefined{fancyput@flag}{\def\fancyput@flag{-1}}{}% \fi } %-------------------------------------------------------------------------------------------------------------- % When producing slides to be displayed interactively, we must make absolutely sure that interactive building of slides % doesn't move text which has already been set. So slides are not to be centered. \ifthenelse{\boolean{display}} {% \centerslidesfalse \def\@makeslide{% \ifcenterslides \setbox\@slidebox\vbox{{% \@begindvi % added 1997/04/15 SPQR \unvbox\@cclv \ifvoid\slide@footins\else \vskip\skip\slide@footins \footnoterule \unvbox\slide@footins \fi \vskip\z@}} \else \setbox\@slidebox\vbox to \slide@vsize{{% \@begindvi % added 1997/04/15 SPQR \unvbox\@cclv \ifvoid\slide@footins\vfill\else \vfil\vskip\skip\slide@footins \footnoterule \unvbox\slide@footins \fi \vskip\z@}}% \fi }% } {} %-------------------------------------------------------------------------------------------------------------- % If powersem is asked to calculate the slide dimensions... \def\relax@PS{\relax} \ifthenelse{\boolean{calcdim@PS}} {% \AtBeginDocument {% \setlength{\slidewidth}{\paperwidth}% \advance\slidewidth by -\slideleftmargin\relax \advance\slidewidth by -\sliderightmargin\relax \ifx\theslideframe\relax@PS \else \advance\slidewidth by -2\slideframewidth\relax \advance\slidewidth by -2\slideframesep\relax \fi \setlength{\slideheight}{\paperheight}% \advance\slideheight by -\slidetopmargin\relax \advance\slideheight by -\slidebottommargin\relax \ifx\theslideframe\relax@PS \else \advance\slideheight by -2\slideframewidth\relax \advance\slideheight by -2\slideframesep\relax \fi }% } {} % Local Variables: % fill-column: 120 % TeX-master: t % End: %% %% End of file `powersem.cls'.