diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
commit | b4fc5f639874db951177ec539299d20908adb654 (patch) | |
tree | 52f08823ca58fffe3db6a9b075635038c567626c /Master/texmf-dist/doc/latex/texpower | |
parent | dec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (diff) |
doc 4
git-svn-id: svn://tug.org/texlive/trunk@80 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/texpower')
42 files changed, 14926 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/texpower/00readme.txt b/Master/texmf-dist/doc/latex/texpower/00readme.txt new file mode 100644 index 00000000000..8c8b03bc1bb --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/00readme.txt @@ -0,0 +1,215 @@ +====================================================================== + + TeXPower bundle + Creating dynamic online presentations with LaTeX + + alpha version (v0.1) + This readme file last changed on July 26, 2004 + +Developers: Stephan Lehmke <mailto:Stephan.Lehmke@cs.uni-dortmund.de> + Lehrstuhl Informatik I + Universität Dortmund + Dortmund, Germany + + Hans Fr. Nordhaug <mailto:hans@nordhaug.priv.no> + Molde, Norway + +====================================================================== + + TeXPower is a bundle of packages intended to provide + an `all-inclusive' environment for designing pdf + `screen presentations' to be viewed with Adobe Acrobat[tm] + reader in full-screen mode, especially for projecting + `online' with a video beamer. + + The features provided include: + + * `dynamic' features like incremental building of pages, + animated diagrams and such. + + * support for `navigation panels' + + * support for page backgrounds + + * advanced color management (`logical markup' for colors supplying + `color sets' for different background colors, `dimming' and inverting + of colors etc.) and color highlighting. + + * advanced font configuration. + +====================================================================== + +The TeXPower project homepage is located at SourceForge: + + <http://texpower.sourceforge.net/> + +The mailing list is also located at SourceForge: + + <http://lists.sourceforge.net/lists/listinfo/texpower-users> + +====================================================================== + +Contents: +========= + +So far, the bundle contains the following files and directories: + + +00readme.txt + This file. + +01install.txt + Installation instructions. + +Makefile + Builds documentation and unpacks dtx-files. + (Only useful on Unix-like systems.) + +texpower.dtx + Documented TeX source for the texpower package. + +powersem.dtx + Documented TeX source for the powersem class. + +texpower-cfg.dtx + Configuration files for the texpower package. + +texpower-addons.dtx + Documented TeX source for auxilliary packages and classes which use or + augment the TeXPower bundle. + +texpower-doc.dtx + TeX source for documentation, examples and demos for the TeXPower + bundle. Compiled examples can be downloaded from + <http://texpower.sourceforge.net/doc/> + +tpbundle.ins + Docstrip batchfile that generates all the files described below from the + texpower dtx-files (described above). + +tpslifonts (directory) + Contains the tpslifonts package and an example. + +contrib (directory) + Contains some additions to the TeXPower bundle contributed by other people. + +Generated files: +================ + +texpower.sty (from texpower.dtx) + + Implements commands for presentation effects. This includes + * color management and highlighting; + * incremental displaying of pages; + * navigation helpers; + * setting page backgrounds and `panels'. + + The code should work with all ways of PDF creation. + +tpcolors.cfg (from texpower-cfg.dtx) +tpoptions.cfg (from texpower-cfg.dtx) +tpsettings.cfg (from texpower-cfg.dtx) + + Configuration files for texpower.sty. + +powersem.cls (from powersem.dtx) + + A wrapper for seminar which sets up everything for dynamic + presentations. For this alpha version, it doesn't do much + more than load seminar.cls and do some bug fixes. + + \documentclass{powersem} should be used as a replacement for + \documentclass{seminar}. powersem loads seminar and passes all + options to seminar. + +automata.sty (from texpower-addons.sty) + + Experimental package for drawing automata in the sense of + theoretical computer science (using PSTricks) and animating + them with TeXPower. + Only DFA and Mealy automata are supported so far. + + +fixseminar.sty (from texpower-addons.sty) + + A small fix to seminar in conjunction with pdf generation + (respect magnification in page dimensions setting). + + +tplists.sty (from texpower-addons.sty) + + This package provides dynamic lists. Read the start of the file + for documentation and an example. + + +tppstcol.sty (from texpower-addons.sty) + + A replacement for ``pstcol.sty'' with some quirks corrected. + + +tpsem-a4.sty (from texpower-addons.sty) + + An LaTeX2e-fied sem-a4.sty (part of seminar). + +FAQ-display.tex / FAQ-printout.tex (from texpower-doc.dtx) + + Frequently asked questions (FAQ) for the TeXPower bundle. + +manual.tex (from texpower-doc.dtx) + + Manual for the TeXPower bundle. + +fulldemo.tex (from texpower-doc.dtx) + + Most examples in one file together with the manual. + +*example.tex (from texpower-doc.dtx) + + Misc. examples for the TeXPower bundle. + +*demo.tex (from texpower-doc.dtx) + + Misc. demos using the TeXPower bundle. + +__TPpreamble.tex (from texpower-doc.dtx) + + Generic preamble used by most of the examples. + +__TPcfg.tex (from texpower-doc.dtx) + + Configuration used in __TPpreamble.tex and the FAQ/manual. + +__TPindexing.tex (from texpower-doc.dtx) + + Indexing support for the manual/fulldemo. + +fig-#.mps (from texpower-doc.dtx) + + Figures (in Metapost postscript format) used in the examples/demos + + + + +====================================================================== + +Disclaimer: +=========== + +Beware. This is work in progress. Use only if you know what you're +doing. During the subsequent error correction and extension of the +functionality, the syntax and implementation of the macros are liable +to change. + +So far, the files themselves contain only scarce inline documentation, +as the code is too much of a moving target to make rigorous +documentation a sensible endeavour. As soon as this bundle is ready +for beta release, I will make fully documented dtx files. + +====================================================================== + +License: +======== + +The TeXPower bundle is distributed under the GNU General Public license +<http://www.gnu.org/copyleft/gpl.html>. + diff --git a/Master/texmf-dist/doc/latex/texpower/01install.txt b/Master/texmf-dist/doc/latex/texpower/01install.txt new file mode 100644 index 00000000000..c42691cdbc6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/01install.txt @@ -0,0 +1,50 @@ +====================================================================== + + TeXPower bundle + Installation instructions. + + This file last changed on July 26, 2004 + +====================================================================== + +This instruction assumes that your TeX distribution follows TDS [1]. +Popular distributions known to follow TDS are: + - teTeX: Unix, Linux and releated OS. + - fpTeX: Windows + - MiKTeX: Windows +The TeXLive CD also follows TDS of course. + +Installing the TeXPower bundle is very easy: + +1) Run "latex tpbundle.ins" to generate all the files. + +2) Move all files anding with .cls, .sty and .cfg to + + <path to a texmf tree>/tex/latex/texpower/ + +3) Produce documentation by compiling "manual.tex". Produce the implementation + documentation by running + latex <package>.dtx + makeindex -s gglo.ist -o <package>.gls <package>.glo + makeindex -s gind.ist -o <package>.ind <package>.idx + latex <package>.dtx + where <package> is "texpower" and "powersem". + +4) The rest of the files - documentation, examples and demos - can be + moved to + + <path to a texmf tree>/tex/doc/latex/texpower/ + +5) Refresh the filename database - run "mktexlsr" for teTeX/fpTeX + and "initexmf -u" for MiKTeX [2]. + +6) If you also intend to use the tpslifonts package, please go into the + tpslifonts subdirectory and read 01install.txt + +On a Unix-like system 1) and 3) can be done easily using "make". + +Read 00readme.txt for a short the description of the bundle. + +-- +[1] TDS - TeX Directory Structure - http://www.tug.org/tds/ +[2] You can also update the filename database from MiKTeX Options. diff --git a/Master/texmf-dist/doc/latex/texpower/FAQ-display.tex b/Master/texmf-dist/doc/latex/texpower/FAQ-display.tex new file mode 100644 index 00000000000..e5b983fd433 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/FAQ-display.tex @@ -0,0 +1,708 @@ +%% +%% This is file `FAQ-display.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `faq-disp,faq,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{FAQ-display.tex}% + [2004/07/27 TeXPower FAQ] +%----------------------------------------------------------------------------------------------------------------- +% File: FAQ-display.tex +% +% Frequently Asked Questions list for the TeXPower bundle (screen version). +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 FAQ-display +% +% afterwards processing the resulting ps file with +% +% distill FAQ-display.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 31, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Jun 14, 2000: Changed slidesmag to 4 so slides look less `squeezed'. The `display' version is for demonstrating +% effects, not a template for `real' presentations. +% + +%----------------------------------------------------------------------------------------------------------------- +% Enable all color emphasis and highlighting options; use a light background and slifonts. + +\PassOptionsToPackage{coloremph,colormath,colorhighlight,lightbackground}{texpower} +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={TeXPower Frequently Asked Questions list}} + +\slidesmag{4} + +% The package soul is needed for \highlighttext to work. + +\usepackage{soul} + + +% The following package makes code look a little nicer, but it may not be present on all systems. + +\IfFileExists{cmtt.sty}{\usepackage[override]{cmtt}}{} + +\usepackage{fancyvrb} + +\usepackage{array} + +\usepackage{longtable} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 31, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Jun 9, 2000: Some additions in the `problems' and `how to' section. +% +% v0.0.3 Jun 15, 2000: Additions in the `usage', `how to', and `problems' sections. +% +% v0.0.4 Jun 22, 2000: Additions in the `usage' and `problems' section. +% +% v0.0.5 May 15, 2003: Update related to move to SourceForge.net. +% +\def\docversion{v0.0.5 of May 15, 2003} +\def\tpversion{v0.0.9d of May 15, 2003} + +\providecommand{\vanishcolor}{} + +\DefineVerbatimEnvironment{LaTeXCode}{Verbatim} +{gobble=2,formatcom=\codeswitch,frame=single,numbers=left,xleftmargin=1em,numbersep=.5em} + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle +{% + Frequently asked questions list% + \thanks{FAQ \docversion\ for \TeX Power \tpversion\ (alpha).}% + }% + +\setcounter{firststep}{0} + +\tableofcontents + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{General} +\subsection{Where can I get the newest version of the \TeX Power FAQ\,?} +You can download the latest version of the \TeX Power FAQ from the following URLs: + +\begin{center} +Screen version:\\ +\url{http://texpower.sourceforge.net/doc/FAQ-display.pdf} + +Printout version:\\ +\url{http://texpower.sourceforge.net/doc/FAQ-printout.pdf} +\end{center} + + +\newslide + +\subsection{What is \TeX Power\,?} +The \TeX Power bundle contains style and class files for creating dynamic online presentations with \LaTeX. + +The heart of the bundle is the package \code{texpower.sty} which implements some commands for presentation effects. This +includes setting page transitions, color highlighting and displaying pages incrementally. + +The document class \code{powersem.cls} is a wrapper for seminar which sets up everything for dynamic presentations. + + +\newslide + +\subsection{Where can I obtain \TeX Power\,?} +The complete bundle, together with its documentation, can be found under the URL +\begin{center} + \url{http://texpower.sourceforge.net/} +\end{center} + +\newslide + +\subsection{Where can I discuss \TeX Power or ask for help\,?} +Bug and problem reports should go to +\href{http://sourceforge.net/tracker/?group_id=60743&atid=495145}{the bug tracker}. + +Discussions about \TeX Power should take place on +\href{http://lists.sourceforge.net/lists/listinfo/texpower-users/}{the mailing list} +or in +\href{http://sourceforge.net/forum/forum.php?forum_id=204738}{the discussion forum}. + + +\newslide + +\subsection{What alternatives are there to using \TeX Power\,?} +The most prominent alternative to \TeX Power is the \concept{Pdf Presentation Post Processor} PPower4, the homepage of +which is +\begin{quote} + \url{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/} +\end{quote} + +Another alternative is the \concept{Utopia PDF Presentations Bundle}, which provides a complete presentation design +environment. Its home page is +\begin{quote} + \url{http://www.utopiatype.com.au/products/ubundle.html} +\end{quote} + +Comparisons of different presentation packages can be found on the home page of \name{Prof.\,D.\,P.\,Story}: +\begin{quote} + \url{http://www.math.uakron.edu/~dpstory/pdf_demos.html} +\end{quote} +and in the talk held by \name{Ross Moore} at the \name{California Institute of Technology} on 8th May 2000: +\begin{quote} + \url{http://www.cds.caltech.edu/caltex/2000/} +\end{quote} + + + + + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{Usage} + +\subsection{How do I design a presentation with \TeX Power\,?} +It should be stressed that \TeX Power is \underl{not} (currently) a complete presentation package. It just adds dynamic +presentation effects (and some other gimmicks specifically interesting for dynamic presentations) and should always be +combined with a document class dedicated to designing presentations (or a package like +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfslide.html}{\code{pdfslide}}). + +There are demos in the \href{http://texpower.sourceforge.net/doc/}{\code{doc}} directory for most +popular presentation-making document classes and packages. + + +\newslide + +\subsection{I find \TeX Power very complicated. How can I learn how to realize dynamic effects\,?} + +As always with \TeX, you should first make up your mind what kind of effect you desire, and what \LaTeX{} structures +will be involved. + +Then you should check the examples in the \href{http://texpower.sourceforge.net/doc/}{\code{doc}} +directory for anything similar to what you want. If you find anything suitable, read the corresponding code. There are +some inline comments to explain what's going on. Print out the +\href{http://texpower.sourceforge.net/doc/manual.pdf}{\code{manual}} for documentation of the \TeX +Power commands. + +Further `recepies' can be found in section \ref{Sec:HowTo}. + +If you don't find anything suitable you can modify to your needs, and can't figure out from the documentation how to +achieve your aims, please ask on +\href{http://lists.sourceforge.net/lists/listinfo/texpower-users/}{the mailing list}. If +you've found an application for \TeX Power not covered by the examples, a new example should be created. + + +\newslide + +\subsection{Can I combine \TeX Power with PPower4\,?} +There is no problem postprocessing documents in which \TeX Power is used. This can be useful, for instance, for +realising structured backgrounds with the \code{background} package from the +\href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4 bundle}. + +If there are presentation effects for which you'd like to use PPower4's implementation of the \macroname{pause} command, +then just load PPower4's \code{pause} package. PPower4's definition of \macroname{pause} will override +\code{texpower}'s. Then you can combine PPower4's \macroname{pause} functionality with \TeX Power's \macroname{stepwise} +functionality, for maximum expressive power. + +\newslide + +\subsection{I'm missing some of the classes and packages used in the demo and example files.} + +First of all, it has to be said that \TeX Power makes use of some `modern' features which have been introduced into the +\TeX{} System quite recently and are evolving swiftly. The core of the \code{texpower} package, namely the commands +\macroname{pause} and \macroname{stepwise} is implemented in `pure' \LaTeX{} and should be largely independent of any +fancy extensions, but to get most out of \TeX Power's presentation features and process the more advanced examples, it +is recommended to have a moderately new \TeX{} distribution installed (rule of thumb: not older than one year). + +But even if your distribution is quite new, it might not contain some of the classes and packages used by the demos and +examples. Here's a list of (hopefully all of) the packages and classes used (which are not part of core \LaTeX) and +their availability: + + +\newlength{\twidth}% +{% + \makeatletter + \ifthenelse{\boolean{display}}{\def\@outputpage{\setbox\@cclv\box\@outputbox\slide@output}}{}% + \makeatother + \setlength{\twidth}{\linewidth-\widthof{\code{pdfscreen}}-2cm-6\tabcolsep}% +\begin{longtable}{lp{2cm}>{\raggedright\footnotesize}p{\twidth}} + Package&used in&\normalsize available from\tabularnewline\hline\endhead + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/hyperref} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/url.html}{\code{url}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/other/misc} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}}&many + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/soul} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pstricks.html}{\code{pstricks}} + &\small\code{fulldemo}, \code{picexample} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ \url{ftp://ftp.dante.de/tex-archive/graphics/pstricks} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/xr.html}{\code{xr-hyper}} + &\small\code{manual} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/hyperref} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/fancyvrb.html}{\code{fancyvrb}} + &\small\code{FAQ} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/fancyvrb} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}{\code{pdfscreen}} + &\small\code{pdfscrdemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/pdfscreen} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfslide.html}{\code{pdfslide}} + &\small\code{pdfslidemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/pdfslide} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/ppower4.html}{\code{pp4slide}} + &\small\code{pp4sldemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/support/ppower4/pp4sty.zip} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/ifmslide.html}{\code{ifmslide}} + &\small\code{ifmslidemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/ifmslide} + \tabularnewline +\end{longtable} +} + +{% + \makeatletter + \ifthenelse{\boolean{display}}{\def\@outputpage{\setbox\@cclv\box\@outputbox\slide@output}}{}% + \makeatother + \setlength{\twidth}{\linewidth-\widthof{\code{scrartcl}}-2cm-6\tabcolsep}% +\begin{longtable}{lp{2cm}>{\raggedright\footnotesize}p{\twidth}} + Class&used in&\normalsize available from\tabularnewline\hline\endhead + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/seminar.html}{\code{seminar}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/other/seminar} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/koma-script.html}{\code{scrartcl}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/koma-script} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/slides.html}{\code{slides}} + &\small\code{slidesdemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/base/} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/foiltex.html}{\code{foils}} + &\small\code{foilsdemo}, \code{pp4sldemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/nonfree/macros/latex/contrib/supported/foiltex} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/prosper.html}{\code{prosper}} + &\small\code{prosperdemo} + &\url{http://prosper.sourceforge.net/} + \tabularnewline +\end{longtable} +} + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{How do I\dots}\label{Sec:HowTo} + +\subsection{How can I incrementally display a paragraph of text\,?}\label{Q:Par} + +The easiest solution is to use \macroname{parstepwise}, but if the arguments of \macroname{step} are long, you'll get +problems with line breaks, as \macroname{parstepwise} forces \macroname{step} to put its argument in a box. + +You can use \macroname{hidetext} like this: + +\begin{LaTeXCode} + \stepwise[\let\hidestepcontents=\hidetext] + {\step{Line breaks} \step{work in here.}} +\end{LaTeXCode} + + +\stepwise[\let\hidestepcontents=\hidetext] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{7em} + \step{Line breaks} \step{work in here.} + \end{minipage}% + } + } + {} + + But note that \macroname{hidetext}, being implemented using the \code{soul} package, is quite fragile (compare + \ref{Sec:hidetext}). + + } + +\newslide + +If you're not using structured backgrounds, \macroname{hidevanish} is another alternative which can be used exactly like +\macroname{hidetext}, but is much more robust (note that this will fail whenever your text should appear in front of +different background colors, for any reason). + +In the argument of \macroname{hidevanish}, which uses \macroname{textcolor}, paragraph breaks are not allowed. Using +\macroname{vstep} is a little less restrictive: + + +\begin{LaTeXCode} + \stepwise + {% + {\vstep Line and paragraph breaks + \vstep work in here.\par Yeah!}% + } +\end{LaTeXCode} + +\stepwise[\renewcommand{\vanishcolor}{presentcolor}] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{13em} + \vstep Line and paragraph breaks \vstep work in here.\par Yeah! + \end{minipage}% + } + } + {} +} + +\newslide + +To facilitate the decision, here's a side-by-side comparison of the pros and cons: + +\macroname{parstepwise}: +\begin{itemize} +\item[\origmath{+}] robust +\item[\origmath{+}] works with structured backgrounds +\item[\origmath{-}] no automatic line breaks in \macroname{step}'s argument +\item[\origmath{-}] no paragraph breaks in \macroname{step}'s argument +\end{itemize} + +\macroname{hidetext}: +\begin{itemize} +\item[\origmath{-}] very fragile +\item[\origmath{+}] works with structured backgrounds +\item[\origmath{+}] allows automatic line breaks in \macroname{step}'s argument +\item[\origmath{-}] no paragraph breaks in \macroname{step}'s argument +\end{itemize} + +\newslide + +\macroname{hidevanish}: +\begin{itemize} +\item[\origmath{+}] robust +\item[\origmath{-}] fails with structured backgrounds +\item[\origmath{+}] allows automatic line breaks in \macroname{step}'s argument +\item[\origmath{-}] no paragraph breaks in \macroname{step}'s argument +\end{itemize} + +\macroname{vstep}: +\begin{itemize} +\item[\origmath{+}] very robust +\item[\origmath{-}] fails with structured backgrounds +\item[\origmath{+}] allows automatic line breaks +\item[\origmath{+}] allows paragraph breaks +\end{itemize} + +\newslide + + +\subsection{Instead of making text appear `out of nowhere', I'd rather just change colors from `dimmed' to normal.} + +There are some analogies between this item and \ref{Q:Par}. + +If you're using \code{texpower}'s standard colors, probably \macroname{hidedimmed} does what you want: + +\begin{LaTeXCode} + \stepwise[\let\hidestepcontents=\hidedimmed] + {% + \step{This works with} \step{\emph{all}} + \step{\highlighttext{highlighting} commands.}% + } +\end{LaTeXCode} + +\stepwise[\let\hidestepcontents=\hidedimmed] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{10em} + \step{This works with} \step{\emph{all}} \step{\highlighttext{highlighting} commands.} + \end{minipage}% + } + } + {} + } + +\newslide + +In the argument of \macroname{hidedimmed}, which uses \macroname{textcolor}, paragraph breaks are not allowed. Using +\macroname{dstep} is a little less restrictive. The following achieves the same result as above: + +\begin{LaTeXCode} + \stepwise + {% + \dstep This works with \dstep \emph{all} + \dstep \highlighttext{highlighting} commands.% + } +\end{LaTeXCode} + +\newslide + +If the dimmed colors look too fancy to you, you can also use \macroname{vstep} for this purpose, setting +\macroname{vanishcolor} to some `dimmed' color: + +\begin{LaTeXCode} + \stepwise[\renewcommand{\vanishcolor}{inactivecolor}] + {% + \vstep This works with \vstep \emph{all} + \vstep \highlighttext{highlighting} commands.% + } +\end{LaTeXCode} + +\stepwise[\renewcommand{\vanishcolor}{inactivecolor}] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{10em} + \vstep This works with \vstep \emph{all} \vstep \highlighttext{highlighting} commands. + \end{minipage}% + } + } + {} + } + +Achieving the same with \macroname{hidevanish} is left as an exercise to the reader. + +\newslide + +\subsection{\macroname{dstep} and \macroname{hidedimmed} work only with \code{texpower}'s standard colors. How can I dim + my own colors\,?} + +\code{texpower} maintains a list of colors which will be affected by \macroname{dimcolors} (which is behind +\macroname{dstep} and \macroname{hidedimmed}). + +You can add your own colors to this list by issuing \commandapp{addTPcolor}{mycolor}. Then you only have to define +another color \code{dmycolor} which will be replaced for \code{mycolor} automatically when \macroname{dimcolors} is +executed. + +\newslide + +For instance: +{\small +\begin{LaTeXCode} + \definecolor{mycolor}{rgb}{1,0.5,0}% + \definecolor{dmycolor}{rgb}{0.9,0.8,0.6}% + \addTPcolor{mycolor} + \stepwise + {\dstep My \emph{own} \dstep \textcolor{mycolor}{color}.} +\end{LaTeXCode} +}% + +\ifthenelse{\boolean{display}} +{% + \definecolor{mycolor}{rgb}{1,0.5,0}% + \definecolor{dmycolor}{rgb}{0.9,0.8,0.6}% + \addTPcolor{mycolor}% + \liststepwise + {% + yields + \present + {% + \dstep My \emph{own} \dstep \textcolor{mycolor}{color}. + } + } + } +{} + +Note that if you ever wish to use \macroname{enhancecolors} or \macroname{highlightenhanced}, you'll also need an +\emph{enhanced} version of your new color named \code{emycolor}. + +If you wish to use one of the commands \macroname{whitebackground}, \macroname{lightbackground}, +\macroname{darkbackground}, or \macroname{blackbackground}, you'll need even more variants of your new color. In this +case, you'll better define it in the file \code{tpsettings.cfg} (which contains an example). + + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{Problems} + +\subsection{I'm loading the \code{texpower} package, but dynamic features don't seem to work.} + +Remember that you have to turn on dynamic features explicitly by giving the \code{display} option either to +\code{texpower} or as a global option. Otherwise, a printout version of your document is produced. + +\newslide + +\subsection{When I use the \code{colormath} option, my displayed formulae are not colored.} + +Don't use the \TeX{} environment \code{\$\$}\dots\code{\$\$} for displayed formulae if you want to profit from math +coloring. + +\code{texpower} supports \LaTeX's environments \macroname{[}\dots\macroname{]}, \code{displaymath}, \code{equation}, +\code{eqnarray}, and \code{eqnarray*}. It also works with the diverse displayed math environments from the +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/amsmath.html}{\code{amsmath}} package. + +Replacing \code{\$\$}\dots\code{\$\$} everywhere by \macroname{[}\dots\macroname{]} should solve this problem. + +\newslide + +\subsection{It seems I can't use \macroname{vfill} in combination with \macroname{pause}.} + +This is a problem indeed, as \LaTeX{} never gets to see anything after \macroname{pause} when the first part of the +sequence is produced. You can use \macroname{vfill} with \macroname{stepwise} if you +\begin{enumerate} +\item use a configuration where \macroname{step} leaves blank space (to ensure proper vertical spacing); +\item put \emph{all} \macroname{vfill}s into the argument of \macroname{stepwise}, \emph{outside} the argument of any + \macroname{step}. +\end{enumerate} + +For instance: + +\begin{LaTeXCode} + \parstepwise + {\step{One.}\vfill\step{Two.}\vfill\step{Three.}} +\end{LaTeXCode} + +\parstepwise +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}[c][10ex][s]{10em} + \step{One.}\vfill\step{Two.}\vfill\step{Three.} + \end{minipage} + } + } + {} + } + + +\newslide + +\subsection{When I use \LaTeX+\code{dvips}+\code{distiller}, the result looks strange and `hyper' features don't work.} + +Check the \code{log} file of your document. If it contains the line +{\codeswitch% +\begin{verbatim} +*hyperref using default driver hypertex* +\end{verbatim}% +}% +then the default hyperref driver for your system is not suited for processing by \code{dvips}+\code{distiller}. + +Either you set another default driver (for instance, in the file \code{hyperref.cfg}), or you use the option +\code{dvips} in your document as a global option or an option to \commandapp{usepackage}{hyperref}. See the +documentation of the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}} package +for details. + +\newslide + +\subsection{When using \macroname{highlighttext} or \macroname{hidetext}, I'm getting strange error messages.} +\label{Sec:hidetext} + +Note that both these commands are implemented using the +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package. \code{soul} has some rather +severe restrictions concerning what is allowed to appear in the argument of commands using it. Consult the documentation +of \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} for a detailed description of +these restrictions. + +The most prominent one is that almost no \LaTeX{} command is allowed in the argument of a command implemented using +\code{soul}. For instance, to use an emphasis or highlighting command like \macroname{emph}, you have to use a sequence +of \macroname{highlighttext} commands, putting \macroname{emph} `outside'. Expect glitches in display quality though. + +\code{\small\commandapp{highlighttext}{This~}\discretionary{\%}{}{}\commandapp{emph}{\commandapp{highlighttext}{annoying~}}\discretionary{\%}{}{}\commandapp{highlighttext}{behaviour}} +yields \highlighttext{This }\emph{\highlighttext{annoying }}\highlighttext{behaviour}. + +\newslide + +Another restriction is that accents are separated from the characters they belong to and break. You have to enclose the +complete accented character with braces or use an appropriate input encoding, typing accented characters `as one'. +\begin{center} + \begin{tabular}{l@{ yields }l} + \commandapp{highlighttext}{S\{\macroname{"}u\}\macroname{ss} es}&\highlighttext{S{\"u}\ss es}\\ + \commandapp{highlighttext}{Süßes}&\highlighttext{Süßes}\\ + \end{tabular} +\end{center} + +\newslide + +\subsection{Inside the argument of \macroname{stepwise}, all counters seem to be freezed on all pages of the sequence + generated. How can I use a self-defined counter which does not freeze\,?} + +Freezing counters is a desirable behaviour in general, for instance to stop equation numbers from going astray. + +But \code{texpower} maintains a list of counters which are \emph{not} freezed, containing for instance the counter +\code{step}. + +If you need a counter for special effects while the incremental sequence is generated (for instance: generating a +sequence of MetaPost figures with the \code{emp} and \code{feynmp} packages), use +\begin{LaTeXCode} + \releasecounter{mycounter} +\end{LaTeXCode} +to release the counter \code{mycounter}. +\end{slide} +\end{document} +\endinput +%% +%% End of file `FAQ-display.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/FAQ-printout.tex b/Master/texmf-dist/doc/latex/texpower/FAQ-printout.tex new file mode 100644 index 00000000000..87134a5f0a0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/FAQ-printout.tex @@ -0,0 +1,732 @@ +%% +%% This is file `FAQ-printout.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `faq-print,faq,enddoc') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{FAQ-printout.tex}% + [2004/07/27 TeXPower FAQ] +%----------------------------------------------------------------------------------------------------------------- +% File: FAQ-printout.tex +% +% Frequently Asked Questions list for the TeXPower bundle (printout version). +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 31, 2000: First version for the pre-alpha release of TeXPower. +% + +\documentclass[12pt]{scrartcl} + +%----------------------------------------------------------------------------------------------------------------- +% We need some more packages... +% + +\usepackage{url} + +\usepackage[latin1]{inputenc} + +% The following package makes code look a little nicer, but it may not be present on all systems. + +\IfFileExists{cmtt.sty}{\usepackage[override]{cmtt}}{} + +% Loading the soul package enables the \highlighttext command. + +\usepackage{soul} + +% One more Text emphasis command... + +\let\name=\textsc + + +\usepackage{fancyvrb} + +\usepackage{array} + +\usepackage{longtable} + + +%----------------------------------------------------------------------------------------------------------------- +% Load hyperref. +% +\usepackage[bookmarksopen,colorlinks]{hyperref} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, the texpower package is loaded. +% +\usepackage{texpower} + +%----------------------------------------------------------------------------------------------------------------- +% The configuration file allows user-specific settings. + +\input{__TPcfg} + +%----------------------------------------------------------------------------------------------------------------- +% The code in the file __TPFAQ is meant for the document class seminar. Thus, it contains some seminar-specific commands +% which are replaced by dummies here. + +\let\newslide=\relax + +%----------------------------------------------------------------------------------------------------------------- +% The following command produces the title for this document. + +\newcommand{\makeslidetitle}[1] +{% + \hypersetup{pdftitle={#1}} + \title{The \TeX Power bundle\\{\normalfont #1}} + \author{Stephan Lehmke\\\url{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} + \maketitle +} + + \tolerance 1414 + \hbadness 1414 + \emergencystretch 1.5em + \hfuzz 0.3pt + \vfuzz \hfuzz + \relax + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% + +\begin{document} +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 31, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Jun 9, 2000: Some additions in the `problems' and `how to' section. +% +% v0.0.3 Jun 15, 2000: Additions in the `usage', `how to', and `problems' sections. +% +% v0.0.4 Jun 22, 2000: Additions in the `usage' and `problems' section. +% +% v0.0.5 May 15, 2003: Update related to move to SourceForge.net. +% +\def\docversion{v0.0.5 of May 15, 2003} +\def\tpversion{v0.0.9d of May 15, 2003} + +\providecommand{\vanishcolor}{} + +\DefineVerbatimEnvironment{LaTeXCode}{Verbatim} +{gobble=2,formatcom=\codeswitch,frame=single,numbers=left,xleftmargin=1em,numbersep=.5em} + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle +{% + Frequently asked questions list% + \thanks{FAQ \docversion\ for \TeX Power \tpversion\ (alpha).}% + }% + +\setcounter{firststep}{0} + +\tableofcontents + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{General} +\subsection{Where can I get the newest version of the \TeX Power FAQ\,?} +You can download the latest version of the \TeX Power FAQ from the following URLs: + +\begin{center} +Screen version:\\ +\url{http://texpower.sourceforge.net/doc/FAQ-display.pdf} + +Printout version:\\ +\url{http://texpower.sourceforge.net/doc/FAQ-printout.pdf} +\end{center} + + +\newslide + +\subsection{What is \TeX Power\,?} +The \TeX Power bundle contains style and class files for creating dynamic online presentations with \LaTeX. + +The heart of the bundle is the package \code{texpower.sty} which implements some commands for presentation effects. This +includes setting page transitions, color highlighting and displaying pages incrementally. + +The document class \code{powersem.cls} is a wrapper for seminar which sets up everything for dynamic presentations. + + +\newslide + +\subsection{Where can I obtain \TeX Power\,?} +The complete bundle, together with its documentation, can be found under the URL +\begin{center} + \url{http://texpower.sourceforge.net/} +\end{center} + +\newslide + +\subsection{Where can I discuss \TeX Power or ask for help\,?} +Bug and problem reports should go to +\href{http://sourceforge.net/tracker/?group_id=60743&atid=495145}{the bug tracker}. + +Discussions about \TeX Power should take place on +\href{http://lists.sourceforge.net/lists/listinfo/texpower-users/}{the mailing list} +or in +\href{http://sourceforge.net/forum/forum.php?forum_id=204738}{the discussion forum}. + + +\newslide + +\subsection{What alternatives are there to using \TeX Power\,?} +The most prominent alternative to \TeX Power is the \concept{Pdf Presentation Post Processor} PPower4, the homepage of +which is +\begin{quote} + \url{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/} +\end{quote} + +Another alternative is the \concept{Utopia PDF Presentations Bundle}, which provides a complete presentation design +environment. Its home page is +\begin{quote} + \url{http://www.utopiatype.com.au/products/ubundle.html} +\end{quote} + +Comparisons of different presentation packages can be found on the home page of \name{Prof.\,D.\,P.\,Story}: +\begin{quote} + \url{http://www.math.uakron.edu/~dpstory/pdf_demos.html} +\end{quote} +and in the talk held by \name{Ross Moore} at the \name{California Institute of Technology} on 8th May 2000: +\begin{quote} + \url{http://www.cds.caltech.edu/caltex/2000/} +\end{quote} + + + + + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{Usage} + +\subsection{How do I design a presentation with \TeX Power\,?} +It should be stressed that \TeX Power is \underl{not} (currently) a complete presentation package. It just adds dynamic +presentation effects (and some other gimmicks specifically interesting for dynamic presentations) and should always be +combined with a document class dedicated to designing presentations (or a package like +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfslide.html}{\code{pdfslide}}). + +There are demos in the \href{http://texpower.sourceforge.net/doc/}{\code{doc}} directory for most +popular presentation-making document classes and packages. + + +\newslide + +\subsection{I find \TeX Power very complicated. How can I learn how to realize dynamic effects\,?} + +As always with \TeX, you should first make up your mind what kind of effect you desire, and what \LaTeX{} structures +will be involved. + +Then you should check the examples in the \href{http://texpower.sourceforge.net/doc/}{\code{doc}} +directory for anything similar to what you want. If you find anything suitable, read the corresponding code. There are +some inline comments to explain what's going on. Print out the +\href{http://texpower.sourceforge.net/doc/manual.pdf}{\code{manual}} for documentation of the \TeX +Power commands. + +Further `recepies' can be found in section \ref{Sec:HowTo}. + +If you don't find anything suitable you can modify to your needs, and can't figure out from the documentation how to +achieve your aims, please ask on +\href{http://lists.sourceforge.net/lists/listinfo/texpower-users/}{the mailing list}. If +you've found an application for \TeX Power not covered by the examples, a new example should be created. + + +\newslide + +\subsection{Can I combine \TeX Power with PPower4\,?} +There is no problem postprocessing documents in which \TeX Power is used. This can be useful, for instance, for +realising structured backgrounds with the \code{background} package from the +\href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4 bundle}. + +If there are presentation effects for which you'd like to use PPower4's implementation of the \macroname{pause} command, +then just load PPower4's \code{pause} package. PPower4's definition of \macroname{pause} will override +\code{texpower}'s. Then you can combine PPower4's \macroname{pause} functionality with \TeX Power's \macroname{stepwise} +functionality, for maximum expressive power. + +\newslide + +\subsection{I'm missing some of the classes and packages used in the demo and example files.} + +First of all, it has to be said that \TeX Power makes use of some `modern' features which have been introduced into the +\TeX{} System quite recently and are evolving swiftly. The core of the \code{texpower} package, namely the commands +\macroname{pause} and \macroname{stepwise} is implemented in `pure' \LaTeX{} and should be largely independent of any +fancy extensions, but to get most out of \TeX Power's presentation features and process the more advanced examples, it +is recommended to have a moderately new \TeX{} distribution installed (rule of thumb: not older than one year). + +But even if your distribution is quite new, it might not contain some of the classes and packages used by the demos and +examples. Here's a list of (hopefully all of) the packages and classes used (which are not part of core \LaTeX) and +their availability: + + +\newlength{\twidth}% +{% + \makeatletter + \ifthenelse{\boolean{display}}{\def\@outputpage{\setbox\@cclv\box\@outputbox\slide@output}}{}% + \makeatother + \setlength{\twidth}{\linewidth-\widthof{\code{pdfscreen}}-2cm-6\tabcolsep}% +\begin{longtable}{lp{2cm}>{\raggedright\footnotesize}p{\twidth}} + Package&used in&\normalsize available from\tabularnewline\hline\endhead + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/hyperref} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/url.html}{\code{url}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/other/misc} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}}&many + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/soul} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pstricks.html}{\code{pstricks}} + &\small\code{fulldemo}, \code{picexample} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ \url{ftp://ftp.dante.de/tex-archive/graphics/pstricks} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/xr.html}{\code{xr-hyper}} + &\small\code{manual} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/hyperref} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/fancyvrb.html}{\code{fancyvrb}} + &\small\code{FAQ} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/fancyvrb} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}{\code{pdfscreen}} + &\small\code{pdfscrdemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/pdfscreen} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfslide.html}{\code{pdfslide}} + &\small\code{pdfslidemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/pdfslide} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/ppower4.html}{\code{pp4slide}} + &\small\code{pp4sldemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/support/ppower4/pp4sty.zip} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/ifmslide.html}{\code{ifmslide}} + &\small\code{ifmslidemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/ifmslide} + \tabularnewline +\end{longtable} +} + +{% + \makeatletter + \ifthenelse{\boolean{display}}{\def\@outputpage{\setbox\@cclv\box\@outputbox\slide@output}}{}% + \makeatother + \setlength{\twidth}{\linewidth-\widthof{\code{scrartcl}}-2cm-6\tabcolsep}% +\begin{longtable}{lp{2cm}>{\raggedright\footnotesize}p{\twidth}} + Class&used in&\normalsize available from\tabularnewline\hline\endhead + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/seminar.html}{\code{seminar}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/other/seminar} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/koma-script.html}{\code{scrartcl}}&most + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/koma-script} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/slides.html}{\code{slides}} + &\small\code{slidesdemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/macros/latex/base/} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/foiltex.html}{\code{foils}} + &\small\code{foilsdemo}, \code{pp4sldemo} + &\href{http://www.ctan.org/}{CTAN}, e.\,g.\ + \url{ftp://ftp.dante.de/tex-archive/nonfree/macros/latex/contrib/supported/foiltex} + \tabularnewline + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/prosper.html}{\code{prosper}} + &\small\code{prosperdemo} + &\url{http://prosper.sourceforge.net/} + \tabularnewline +\end{longtable} +} + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{How do I\dots}\label{Sec:HowTo} + +\subsection{How can I incrementally display a paragraph of text\,?}\label{Q:Par} + +The easiest solution is to use \macroname{parstepwise}, but if the arguments of \macroname{step} are long, you'll get +problems with line breaks, as \macroname{parstepwise} forces \macroname{step} to put its argument in a box. + +You can use \macroname{hidetext} like this: + +\begin{LaTeXCode} + \stepwise[\let\hidestepcontents=\hidetext] + {\step{Line breaks} \step{work in here.}} +\end{LaTeXCode} + + +\stepwise[\let\hidestepcontents=\hidetext] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{7em} + \step{Line breaks} \step{work in here.} + \end{minipage}% + } + } + {} + + But note that \macroname{hidetext}, being implemented using the \code{soul} package, is quite fragile (compare + \ref{Sec:hidetext}). + + } + +\newslide + +If you're not using structured backgrounds, \macroname{hidevanish} is another alternative which can be used exactly like +\macroname{hidetext}, but is much more robust (note that this will fail whenever your text should appear in front of +different background colors, for any reason). + +In the argument of \macroname{hidevanish}, which uses \macroname{textcolor}, paragraph breaks are not allowed. Using +\macroname{vstep} is a little less restrictive: + + +\begin{LaTeXCode} + \stepwise + {% + {\vstep Line and paragraph breaks + \vstep work in here.\par Yeah!}% + } +\end{LaTeXCode} + +\stepwise[\renewcommand{\vanishcolor}{presentcolor}] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{13em} + \vstep Line and paragraph breaks \vstep work in here.\par Yeah! + \end{minipage}% + } + } + {} +} + +\newslide + +To facilitate the decision, here's a side-by-side comparison of the pros and cons: + +\macroname{parstepwise}: +\begin{itemize} +\item[\origmath{+}] robust +\item[\origmath{+}] works with structured backgrounds +\item[\origmath{-}] no automatic line breaks in \macroname{step}'s argument +\item[\origmath{-}] no paragraph breaks in \macroname{step}'s argument +\end{itemize} + +\macroname{hidetext}: +\begin{itemize} +\item[\origmath{-}] very fragile +\item[\origmath{+}] works with structured backgrounds +\item[\origmath{+}] allows automatic line breaks in \macroname{step}'s argument +\item[\origmath{-}] no paragraph breaks in \macroname{step}'s argument +\end{itemize} + +\newslide + +\macroname{hidevanish}: +\begin{itemize} +\item[\origmath{+}] robust +\item[\origmath{-}] fails with structured backgrounds +\item[\origmath{+}] allows automatic line breaks in \macroname{step}'s argument +\item[\origmath{-}] no paragraph breaks in \macroname{step}'s argument +\end{itemize} + +\macroname{vstep}: +\begin{itemize} +\item[\origmath{+}] very robust +\item[\origmath{-}] fails with structured backgrounds +\item[\origmath{+}] allows automatic line breaks +\item[\origmath{+}] allows paragraph breaks +\end{itemize} + +\newslide + + +\subsection{Instead of making text appear `out of nowhere', I'd rather just change colors from `dimmed' to normal.} + +There are some analogies between this item and \ref{Q:Par}. + +If you're using \code{texpower}'s standard colors, probably \macroname{hidedimmed} does what you want: + +\begin{LaTeXCode} + \stepwise[\let\hidestepcontents=\hidedimmed] + {% + \step{This works with} \step{\emph{all}} + \step{\highlighttext{highlighting} commands.}% + } +\end{LaTeXCode} + +\stepwise[\let\hidestepcontents=\hidedimmed] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{10em} + \step{This works with} \step{\emph{all}} \step{\highlighttext{highlighting} commands.} + \end{minipage}% + } + } + {} + } + +\newslide + +In the argument of \macroname{hidedimmed}, which uses \macroname{textcolor}, paragraph breaks are not allowed. Using +\macroname{dstep} is a little less restrictive. The following achieves the same result as above: + +\begin{LaTeXCode} + \stepwise + {% + \dstep This works with \dstep \emph{all} + \dstep \highlighttext{highlighting} commands.% + } +\end{LaTeXCode} + +\newslide + +If the dimmed colors look too fancy to you, you can also use \macroname{vstep} for this purpose, setting +\macroname{vanishcolor} to some `dimmed' color: + +\begin{LaTeXCode} + \stepwise[\renewcommand{\vanishcolor}{inactivecolor}] + {% + \vstep This works with \vstep \emph{all} + \vstep \highlighttext{highlighting} commands.% + } +\end{LaTeXCode} + +\stepwise[\renewcommand{\vanishcolor}{inactivecolor}] +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}{10em} + \vstep This works with \vstep \emph{all} \vstep \highlighttext{highlighting} commands. + \end{minipage}% + } + } + {} + } + +Achieving the same with \macroname{hidevanish} is left as an exercise to the reader. + +\newslide + +\subsection{\macroname{dstep} and \macroname{hidedimmed} work only with \code{texpower}'s standard colors. How can I dim + my own colors\,?} + +\code{texpower} maintains a list of colors which will be affected by \macroname{dimcolors} (which is behind +\macroname{dstep} and \macroname{hidedimmed}). + +You can add your own colors to this list by issuing \commandapp{addTPcolor}{mycolor}. Then you only have to define +another color \code{dmycolor} which will be replaced for \code{mycolor} automatically when \macroname{dimcolors} is +executed. + +\newslide + +For instance: +{\small +\begin{LaTeXCode} + \definecolor{mycolor}{rgb}{1,0.5,0}% + \definecolor{dmycolor}{rgb}{0.9,0.8,0.6}% + \addTPcolor{mycolor} + \stepwise + {\dstep My \emph{own} \dstep \textcolor{mycolor}{color}.} +\end{LaTeXCode} +}% + +\ifthenelse{\boolean{display}} +{% + \definecolor{mycolor}{rgb}{1,0.5,0}% + \definecolor{dmycolor}{rgb}{0.9,0.8,0.6}% + \addTPcolor{mycolor}% + \liststepwise + {% + yields + \present + {% + \dstep My \emph{own} \dstep \textcolor{mycolor}{color}. + } + } + } +{} + +Note that if you ever wish to use \macroname{enhancecolors} or \macroname{highlightenhanced}, you'll also need an +\emph{enhanced} version of your new color named \code{emycolor}. + +If you wish to use one of the commands \macroname{whitebackground}, \macroname{lightbackground}, +\macroname{darkbackground}, or \macroname{blackbackground}, you'll need even more variants of your new color. In this +case, you'll better define it in the file \code{tpsettings.cfg} (which contains an example). + + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{Problems} + +\subsection{I'm loading the \code{texpower} package, but dynamic features don't seem to work.} + +Remember that you have to turn on dynamic features explicitly by giving the \code{display} option either to +\code{texpower} or as a global option. Otherwise, a printout version of your document is produced. + +\newslide + +\subsection{When I use the \code{colormath} option, my displayed formulae are not colored.} + +Don't use the \TeX{} environment \code{\$\$}\dots\code{\$\$} for displayed formulae if you want to profit from math +coloring. + +\code{texpower} supports \LaTeX's environments \macroname{[}\dots\macroname{]}, \code{displaymath}, \code{equation}, +\code{eqnarray}, and \code{eqnarray*}. It also works with the diverse displayed math environments from the +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/amsmath.html}{\code{amsmath}} package. + +Replacing \code{\$\$}\dots\code{\$\$} everywhere by \macroname{[}\dots\macroname{]} should solve this problem. + +\newslide + +\subsection{It seems I can't use \macroname{vfill} in combination with \macroname{pause}.} + +This is a problem indeed, as \LaTeX{} never gets to see anything after \macroname{pause} when the first part of the +sequence is produced. You can use \macroname{vfill} with \macroname{stepwise} if you +\begin{enumerate} +\item use a configuration where \macroname{step} leaves blank space (to ensure proper vertical spacing); +\item put \emph{all} \macroname{vfill}s into the argument of \macroname{stepwise}, \emph{outside} the argument of any + \macroname{step}. +\end{enumerate} + +For instance: + +\begin{LaTeXCode} + \parstepwise + {\step{One.}\vfill\step{Two.}\vfill\step{Three.}} +\end{LaTeXCode} + +\parstepwise +{% + \ifthenelse{\boolean{display}} + {% + yields + \present + {% + \begin{minipage}[c][10ex][s]{10em} + \step{One.}\vfill\step{Two.}\vfill\step{Three.} + \end{minipage} + } + } + {} + } + + +\newslide + +\subsection{When I use \LaTeX+\code{dvips}+\code{distiller}, the result looks strange and `hyper' features don't work.} + +Check the \code{log} file of your document. If it contains the line +{\codeswitch% +\begin{verbatim} +*hyperref using default driver hypertex* +\end{verbatim}% +}% +then the default hyperref driver for your system is not suited for processing by \code{dvips}+\code{distiller}. + +Either you set another default driver (for instance, in the file \code{hyperref.cfg}), or you use the option +\code{dvips} in your document as a global option or an option to \commandapp{usepackage}{hyperref}. See the +documentation of the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}} package +for details. + +\newslide + +\subsection{When using \macroname{highlighttext} or \macroname{hidetext}, I'm getting strange error messages.} +\label{Sec:hidetext} + +Note that both these commands are implemented using the +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package. \code{soul} has some rather +severe restrictions concerning what is allowed to appear in the argument of commands using it. Consult the documentation +of \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} for a detailed description of +these restrictions. + +The most prominent one is that almost no \LaTeX{} command is allowed in the argument of a command implemented using +\code{soul}. For instance, to use an emphasis or highlighting command like \macroname{emph}, you have to use a sequence +of \macroname{highlighttext} commands, putting \macroname{emph} `outside'. Expect glitches in display quality though. + +\code{\small\commandapp{highlighttext}{This~}\discretionary{\%}{}{}\commandapp{emph}{\commandapp{highlighttext}{annoying~}}\discretionary{\%}{}{}\commandapp{highlighttext}{behaviour}} +yields \highlighttext{This }\emph{\highlighttext{annoying }}\highlighttext{behaviour}. + +\newslide + +Another restriction is that accents are separated from the characters they belong to and break. You have to enclose the +complete accented character with braces or use an appropriate input encoding, typing accented characters `as one'. +\begin{center} + \begin{tabular}{l@{ yields }l} + \commandapp{highlighttext}{S\{\macroname{"}u\}\macroname{ss} es}&\highlighttext{S{\"u}\ss es}\\ + \commandapp{highlighttext}{Süßes}&\highlighttext{Süßes}\\ + \end{tabular} +\end{center} + +\newslide + +\subsection{Inside the argument of \macroname{stepwise}, all counters seem to be freezed on all pages of the sequence + generated. How can I use a self-defined counter which does not freeze\,?} + +Freezing counters is a desirable behaviour in general, for instance to stop equation numbers from going astray. + +But \code{texpower} maintains a list of counters which are \emph{not} freezed, containing for instance the counter +\code{step}. + +If you need a counter for special effects while the incremental sequence is generated (for instance: generating a +sequence of MetaPost figures with the \code{emp} and \code{feynmp} packages), use +\begin{LaTeXCode} + \releasecounter{mycounter} +\end{LaTeXCode} +to release the counter \code{mycounter}. +\end{document} +\endinput +%% +%% End of file `FAQ-printout.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/__TPcfg.tex b/Master/texmf-dist/doc/latex/texpower/__TPcfg.tex new file mode 100644 index 00000000000..6f0849b455c --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/__TPcfg.tex @@ -0,0 +1,44 @@ +%% +%% This is file `__TPcfg.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `config') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +%----------------------------------------------------------------------------------------------------------------- +% File: __TPcfg.tex +% +% Code for user-specific configuration of TeXPower documentation files. +% +% This file is input by others. Don't compile it separately. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 22, 2000: First version for the pre-alpha release of TeXPower. +% +\hypersetup{baseurl={http://texpower.sourceforge.net/doc/}} +\hypersetup{pdfsubject={Documentation and Examples for the texpower package}} +\hypersetup{pdfauthor={Stephan Lehmke}} +\endinput +%% +%% End of file `__TPcfg.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/__TPindexing.tex b/Master/texmf-dist/doc/latex/texpower/__TPindexing.tex new file mode 100644 index 00000000000..a4ffed15c34 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/__TPindexing.tex @@ -0,0 +1,52 @@ +%% +%% This is file `__TPindexing.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `indexing') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +% +% Setting up indexing for the TeXPower fulldemo and manual. +% +%----------------------------------------------------------------------------------------------------------------- + +\usepackage{makeidx} +\makeindex +\newcommand{\indexcode}[1]{\index{#1@\code{#1}}} +\newcommand{\indexmacro}[1]{\index{#1@\macroname{#1}}} +\newcommand{\indexmacroopt}[2]{% + \index{#1 macro options@\macroname{#1} macro options!#2@\code{#2}}% + \index{#2@\code{#2}|see{\macroname{#1} macro options}}} +\newcommand{\indexfile}[2]{\index{#1@\code{#1} #2}} +\newcommand{\indexpckopt}[2]{% + \index{#1 package options@\code{#1} package options!#2@\code{#2}}% + \index{#2@\code{#2}|see{\code{#1} package options}}} +\newcommand{\indexpckswitch}[2]{% + \index{#1 package switches@\code{#1} package switches!#2@\code{#2}}% + \index{#2@\code{#2}|see{\code{#1} package switches}}} +\newcommand{\indexstepwise}[2]{% + \index{stepwise@\macroname{stepwise}!#1@\code{#1} (#2)}% + \index{#1@\code{#1}|see{\macroname{stepwise}}}} + +\endinput +%% +%% End of file `__TPindexing.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/__TPpreamble.tex b/Master/texmf-dist/doc/latex/texpower/__TPpreamble.tex new file mode 100644 index 00000000000..bc45308322b --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/__TPpreamble.tex @@ -0,0 +1,183 @@ +%% +%% This is file `__TPpreamble.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `preamble') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +% +\documentclass +[% +%----------------------------------------------------------------------------------------------------------------- +% Document class options: +% ----------------------- +% +% Landscape slides formatted for letter paper fit most screen resolutions (more or less). +% + letterpaper,% + landscape,% +% +% The KOMA option makes powersem load scrartcl.cls instead of article.cls. +% + KOMA,% +% KOMA document class options are accepted. + smallheadings,% +% +% The calcdimensions option makes powersem calculate the slide dimensions automatically from paper size and margins. + calcdimensions,% +% +% The display option sets everything up for producing slides to be displayed interactively. +% This option is also recognized by the texpower package. +% + display% +%----------------------------------------------------------------------------------------------------------------- +] +%----------------------------------------------------------------------------------------------------------------- +% Document class powersem, based on seminar.cls for simulating ppower via latex+distiller (instead of pdflatex). +% +{powersem} +%----------------------------------------------------------------------------------------------------------------- +% +% First part of the preamble of TeXPower demos. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% v0.0.2 Mar 21, 2000: Remedying an incompatibility between LaTeX releases concerning the implementation of +% \@iiiparbox (Apr 11: this code is now part of texpower.sty). +% v0.0.3 Apr 11, 2000: Color emphasis code moved into texpower. +% + +%----------------------------------------------------------------------------------------------------------------- +% Set slide margins rather small for maximum use of space. This is a demo, remember. +% +\renewcommand{\slidetopmargin}{5mm} +\renewcommand{\slidebottommargin}{5mm} + +\renewcommand{\slideleftmargin}{5mm} +\renewcommand{\sliderightmargin}{5mm} + + +%----------------------------------------------------------------------------------------------------------------- +% Some setup for more reasonable spacing. +% + +\makeatletter + +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-1.5ex\@plus -1ex \@minus -.5ex}% + {.5ex \@plus .2ex}% + {\raggedsection\normalfont\size@section\sectfont}} + +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-1.25ex\@plus -1ex \@minus -.2ex}% + {.5ex \@plus .2ex}% + {\raggedsection\normalfont\size@subsection\sectfont}} + +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-1.25ex\@plus -1ex \@minus -.2ex}% + {.5ex \@plus .2ex}% + {\raggedsection\normalfont\size@subsubsection\sectfont}} + +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {1.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\raggedsection\normalfont\size@paragraph\sectfont}} + +\def\slideitemsep{.5ex plus .3ex minus .2ex} + +\makeatother + +%----------------------------------------------------------------------------------------------------------------- +% We need some more packages... +% + +\usepackage{url} + +\usepackage[latin1]{inputenc} + +% One more Text emphasis command... + +\let\name=\textsc + +% Second part of the preamble of TeXPower demos. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% v0.0.2 Mar 22, 2000: Now loading the config file. +% v0.0.3 Mar 29, 2000: texpower doesn't load hyperref any more; there's now a package fixseminar. +% v0.0.4 Apr 19, 2000: Added \slidetitle command. +% v0.0.5 Sep 11, 2000: Added plainpages=false to the hyperref options to get correct page anchors. +% v0.0.5 Sep 11, 2002: Slight changes to title page. +% + + +%----------------------------------------------------------------------------------------------------------------- +% We load hyperref and fixseminar which fixes some problems with seminar. +% +\usepackage[plainpages=false,bookmarksopen,colorlinks,urlcolor=red,pdfpagemode=FullScreen]{hyperref} +\usepackage{fixseminar} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, the texpower package is loaded. +% +\usepackage{texpower} + +%% The configuration file allows user-specific settings. + +\input{__TPcfg} + +%----------------------------------------------------------------------------------------------------------------- +% Some more parameters... +% +\slidesmag{5} +\slideframe{none} +\pagestyle{empty} +\setcounter{tocdepth}{2} +\renewcommand{\currentpagevalue}{\value{slide}} + +%----------------------------------------------------------------------------------------------------------------- +% The following command produces a title page for every example and documentation file. + +\newcommand{\makeslidetitle}[1] +{% + \title{The \TeX Power bundle\\[2ex]{\normalfont #1}} + \author + {% + Stephan Lehmke\\ + \mdseries + University of Dortmund\\ + \mdseries + Department of Computer Science I\\ + \url{mailto:Stephan.Lehmke@udo.edu}% + } + {\centerslidestrue + \maketitle + \newslide} + \setcounter{firststep}{1}% This way, the first step of all examples is displayed. +} +\endinput +%% +%% End of file `__TPpreamble.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/bckwrdexample.tex b/Master/texmf-dist/doc/latex/texpower/bckwrdexample.tex new file mode 100644 index 00000000000..09153a30d7f --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/bckwrdexample.tex @@ -0,0 +1,149 @@ +%% +%% This is file `bckwrdexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `bckwrdexample,bckwrdexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{bckwrdexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: bckwrdexample.tex +% +% Backwards writing example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 bckwrdexample +% +% afterwards processing the resulting ps file with +% +% distill bckwrdexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 26, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% +% v0.0.3 May 18, 2000: New file name to avoid confusion with ``background''. +% +%----------------------------------------------------------------------------------------------------------------- +% Set background color to black and use slifonts. + +\PassOptionsToPackage{blackbackground}{texpower} +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower backwards writing example}} + +% Define \includegraphics for including an mps (metapost postscript) image. +\usepackage{graphicx} +% The mps extension isn't supported out-of-the-box for latex+dvips +\ifthenelse{\boolean{psspecialsallowed}}{% +\DeclareGraphicsExtensions{.mps}}{} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} + + %----------------------------------------------------------------------------------------------------------------- + % + \makeslidetitle{\macroname{stepwise} Example: Writing Backwards}\label{Sec:ExBackwards} + % + % The following example doesn't really demonstrate a useful application. Its purpose is twofold: + % a) Show how the functionality of \stepwise can be extended by the user by referring to the macros provided by the + % package. + % b) Show that \steps can appear in any order, and can be made to appear simultaneously in several places (and mention + % the problems this raises). + + % We define a new macro \backstep which will call \step, but the steps will be executed in _reverse_ order. + % This is achieved as follows: + % * We refer to the counter totalsteps, which gives the total number of steps occurring in this argument of + % \stepwise. + % * From this, we subtract the value of the counter stepcommand, which gives the number of this \step command (in the + % order of appearance). + % * The result is compared with the counter step, which gives the number of the current step. + % (the default for `triggering' a \step is the condition \value{step}=\value{stepcommand}) + % + % Note that if the ifthen Package would support this syntax, we could use the bracketed optional argument of \step (as + % in the previous example), defining \backstep like this: + % + % \newcommand{\backstep}{\step[\value{totalsteps}-\value{stepcommand}+1=\value{step}]} + % + % As \ifthenelse doesn't offer this syntax, we have to calculate \value{totalsteps}-\value{stepcommand}+1 in a separate + % counter. This doesn't fit the intended use of \step's optional argument. But hey, there is another syntax ;-) + % If the optional argument is specified with braces (...), then it can contain an arbitrary test which takes two + % arguments and selects the first if it succeeds and the second if it fails. We use this variant here. + % + \newcounter{reversestepno}% + \newcommand{\backstep}{\step(\setcounter{reversestepno}{\value{totalsteps}-\value{stepcommand}+1}\ifthenelse{\value{step}=\value{reversestepno}})}% + % + % We use the custom command \parstepwise which not only wraps the whole argument of \stepwise into a minipage (because + % otherwise vertical spacing goes haywire, don't ask me why), but also gives substance to steps. + % + % If the following \stepwise command would only contain the calls to \backstep, everything would be fine. + % But we _had_ to add something else.... + % In the second part of this application of \stepwise, several steps are executed simultaneously with those executed + % backwards in the first part. This means the value of the counter totalsteps is 14, i.e. the calls to \backstep + % correspond to steps 8...14. To remedy this, we decree that the first step performed shall be number 7, by setting + % the counter firststep accordingly in the optional argument of \stepwise. + % + \parstepwise[\setcounter{firststep}{\value{totalsteps}/2+\value{firststep}}] + {% + \begin{quote} + \Huge + \backstep{Is} \backstep{now} \backstep{it} + \backstep{backwards} \backstep{write} \backstep{to} + \backstep{possible\,!} + + \bigskip + + % By determining explicitly the times at which the following steps are executed, we make them appear + % simultaneously with the preceding flock of \backsteps. As we have set the counter firststep to 7, we start + % counting with 8. + % + \step[\value{step}=8]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=9]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=10]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=11]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=12]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=13]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=14]{\includegraphics[width=2cm]{fig-1}}% + \end{quote} + }% + \newslide +\end{slide} +\end{document} +\endinput +%% +%% End of file `bckwrdexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/bgndexample.tex b/Master/texmf-dist/doc/latex/texpower/bgndexample.tex new file mode 100644 index 00000000000..f5f6a0e3e1d --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/bgndexample.tex @@ -0,0 +1,433 @@ +%% +%% This is file `bgndexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `bgndexample,bgndexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{bgndexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: bgndexample.tex +% +% Background style example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be converted to pdf afterwards (using dvips+distill/ps2pdf or dvipdf, for instance). +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Aug 10, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 29, 2003: Adapted to TeXPower v0.0.9c. +% +%COMMENT +%----------------------------------------------------------------------------------------------------------------- +% Use slifonts and a dark background. + +\PassOptionsToPackage{darkbackground,colorhighlight,verbose}{texpower} + +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower background style example}} + +\newcommand{\skipTo}[1]{\hyperlink{#1}{\present{\textsf{\textbf{Skip animation}}}}} + +\makeatletter +\newcommand{\histogram}[1] +{{% + \renewcommand{\vstripe@TP}[4] + {\rule{##2-2pt}{(##3)*\real{##1}}\hspace*{2pt}##4}% + #1% + }} +\makeatother + +\newcommand{\totalbarwidth}{2cm} + +\newcommand{\mkbar}[2][100] +{% + \ifthenelse{#1<#2}{\def\percentval{#1}}{\def\percentval{#2}}% + \mkfactor{\intensity}{\percentval/100}% + \colorbetween[\intensity]{ecolor}{green}{red}% + \hgradrule[\percentval]{red}{ecolor}{\totalbarwidth*\real{\intensity}}{1ex} + \textbf{\boldmath$\mathsf{\ifthenelse{\percentval<10}{\phantom{0}}{}\percentval\%}$}% + } + +\renewcommand{\bgndstripes}{100} + +\setlength{\fboxrule}{1pt} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Aug 12, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 29, 2003: Adapted to TeXPower v0.0.9c. +% +%----------------------------------------------------------------------------------------------------------------- +% + + +\centerslidestrue +\title{The \TeX Power bundle\\[2ex]{\normalfont Structured + rules, box and page backgrounds}} +\author{Stephan Lehmke\\\url{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + +\begin{small} + This example demonstrates \TeX Power's support for structured rules, + box and page backgrounds. The usage and parameterization of the + corresponding commands is documented in the manual. Here, we only + demonstrate the effects achievable with the parameters. +\end{small} + +\pageDuration{0.01} + +\parstepwise*% +{% + \multistep + {50} + {% + \mkfactor{\intensity}{(\value{substep}-1)/49}% + \colorbetween[\intensity]{stcolor}{pagecolor}{white}% + \backgroundstyle[startcolor=stcolor,endcolor=white]{vgradient}% + }% + \multistep + {3} + {% + \afterstep{\pageDuration{1}}% + \backgroundstyle[startcolor=pagecolor,endcolor=white,firstgradprogression=\value{substep}]{vgradient}% + }% + \multistep + {10} + {% + \afterstep{\pageDuration{0.01}}% + \mkfactor{\intensity}{(\value{substep}-1)/40}% + \colorbetween[\intensity]{ecolor}{pagecolor}{white}% + \backgroundstyle[startcolor=pagecolor,endcolor=ecolor,firstgradprogression=3]{vgradient}% + }% + \skipTo{eotitle} +} + +\hypertarget{eotitle}{} + +\stopAdvancing + +\newslide + +\renewcommand{\rulestripes}{100} + +\newcounter{mstep} + +\section{Color Gradients} +\liststepwise[\let\hidestepcontents=\hidesmartignore] +{% + \concept{Horizontal} \step{or \concept{vertical}; \concept{single}} \step{or \concept{double}.} + + \step + {% + Parameters: + \begin{itemize} + \item Gradient \concept{start} {\bstep[\value{step}=13]{(and + \concept{middle})}} and \concept{end} color. + + \step[\value{step}=23]{\item Number of \concept{stripes}.} + + \step[\value{step}=33]{\item \concept{Midpoint} of a double + gradient.} + + \step[\value{step}=43]{\item Gradient \concept{Progression}} + \step[\value{step}=56]{\par(independent for double gradients).} + \end{itemize} + } + \vfill + \steponce[\value{step}=0]{\hgradrule{red}{green}{\linewidth}{5ex}}% + \steponce[\value{step}=1]{\vgradrule{red}{green}{\linewidth}{5ex}}% + \steponce[\value{step}=2]{\dblvgradrule{red}{yellow}{green}{\linewidth}{5ex}}% + \steponce[\value{step}>2\and\value{step}<13] + {% + \skipTo{eostartend}\\ + \multistep(\setcounter{mstep}{\value{substep}+2}\ifthenelse{\value{step}=\value{mstep}}){10} + {% + \mkfactor{\intensity}{(\value{substep}-1)/9}% + \colorbetween[\intensity]{scolor}{blue}{red}% + \colorbetween[\intensity]{ecolor}{yellow}{green}% + \hgradrule{scolor}{ecolor}{\linewidth}{5ex}% + \ifthenelse{\value{substep}=10} + {\hypertarget{eostartend}{}\afterstep{\stopAdvancing}} + {\afterstep{\pageDuration{0.01}}}% + }% + }% + \steponce[\value{step}>12\and\value{step}<23] + {% + \skipTo{eomidcolor}\\ + \multistep(\setcounter{mstep}{\value{substep}+12}\ifthenelse{\value{step}=\value{mstep}}){10} + {% + \colorbetween{scolor}{blue}{yellow}% + \mkfactor{\intensity}{(\value{substep}-1)/9}% + \colorbetween[\intensity]{ecolor}{red}{scolor}% + \dblhgradrule{blue}{ecolor}{yellow}{\linewidth}{5ex}% + \ifthenelse{\value{substep}=10} + {\hypertarget{eomidcolor}{}\afterstep{\stopAdvancing}} + {\afterstep{\pageDuration{0.01}}}% + }% + }% + \steponce[\value{step}>22\and\value{step}<33] + {% + \skipTo{eostripes}\\ + \multistep(\setcounter{mstep}{\value{substep}+22}\ifthenelse{\value{step}=\value{mstep}}){10} + {% + \histogram{\dblhgradrule[][10*\value{substep}]{red}{yellow}{green}{\linewidth}{2.5ex}}\\% + \dblhgradrule[][10*\value{substep}]{red}{yellow}{green}{\linewidth}{2.5ex}% + \ifthenelse{\value{substep}=10} + {\hypertarget{eostripes}{}\afterstep{\stopAdvancing}} + {\afterstep{\pageDuration{0.5}}}% + }% + }% + \steponce[\value{step}>32\and\value{step}<43] + {% + \skipTo{eomidpoint}\\ + \multistep(\setcounter{mstep}{\value{substep}+32}\ifthenelse{\value{step}=\value{mstep}}){10} + {% + \mkfactor{\midpoint}{(\value{substep}-1)/9}% + \histogram{\dblhgradrule[\midpoint]{blue}{red}{yellow}{\linewidth}{2.5ex}}\\% + \dblhgradrule[\midpoint]{red}{yellow}{green}{\linewidth}{2.5ex}% + \ifthenelse{\value{substep}=10} + {\hypertarget{eomidpoint}{}\afterstep{\stopAdvancing}} + {\afterstep{\pageDuration{0.5}}}% + }% + }% + \steponce[\value{step}>42\and\value{step}<56] + {% + \skipTo{eofirstprog}\\ + \multistep(\setcounter{mstep}{\value{substep}+42}\ifthenelse{\value{step}=\value{mstep}}){13} + {% + \renewcommand{\rulefirstgradprogression}{\value{substep}-7}% + \histogram{\hgradrule{red}{green}{\linewidth}{2.5ex}}\\% + \hgradrule{red}{green}{\linewidth}{2.5ex}% + \ifthenelse{\value{substep}=13} + {\hypertarget{eofirstprog}{}\afterstep{\stopAdvancing}} + {\afterstep{\pageDuration{0.5}}}% + }% + }% + \steponce[\value{step}>55\and\value{step}<69] + {% + \skipTo{eosecondprog}\\ + \multistep(\setcounter{mstep}{\value{substep}+55}\ifthenelse{\value{step}=\value{mstep}}){13} + {% + \renewcommand{\rulefirstgradprogression}{\value{substep}-7}% + \renewcommand{\rulesecondgradprogression}{7-\value{substep}}% + \histogram{\dblhgradrule{red}{green}{red}{\linewidth}{2.5ex}}\\% + \dblhgradrule{red}{green}{red}{\linewidth}{2.5ex}% + \ifthenelse{\value{substep}=13} + {\hypertarget{eosecondprog}{}\afterstep{\stopAdvancing}} + {\afterstep{\pageDuration{0.5}}}% + }% + }% +} + +\newslide + +Applications of gradients: +\centerslidesfalse +\liststepwise* +{% + \begin{itemize} + \item + \begin{tabular}[t]{@{}l@{}} + As rules:\\ + \skipTo{eoruledemo} + \end{tabular} + \multistep{72} + {% + \present + {% + \small\renewcommand{\arraystretch}{.9}% + \begin{tabular}{rp{\totalbarwidth+2em}} + \multicolumn{2}{c}{\textbf{Compression rates}}\\[2ex] + \code{compress} & \mkbar[\thesubstep]{51}\\ + \code{gzip -1} & \mkbar[\thesubstep]{62}\\ + \code{gzip -9} & \mkbar[\thesubstep]{66}\\ + \code{bzip2 -1} & \mkbar[\thesubstep]{65}\\ + \code{bzip2 -9} & \mkbar[\thesubstep]{73} + \end{tabular}% + }% + \afterstep{\pageDuration{0.01}}% + }% + \step + {% + \present + {% + \small\renewcommand{\arraystretch}{.9}% + \begin{tabular}{rp{\totalbarwidth+2em}} + \multicolumn{2}{c}{\textbf{Compression rates}}\\[2ex] + \code{compress} & \mkbar{51}\\ + \code{gzip -1} & \mkbar{62}\\ + \code{gzip -9} & \mkbar{66}\\ + \code{bzip2 -1} & \mkbar{65}\\ + \code{bzip2 -9} & \mkbar{73} + \end{tabular}% + }% + \ifthenelse{\boolean{firstactivation}}{\AtShipout{\hypertarget{eoruledemo}{}}\afterstep{\stopAdvancing}}{}% + }% + + \step + {% + \item + \begin{tabular}[t]{@{}l@{}} + As box backgrounds:\\ + \skipTo{eoboxdemo} + \end{tabular} + \afterstep{\pageDuration{0.01}}% + \multistep{10} + {% + \mkfactor{\intensity}{(\value{substep}-1)/9}% + \colorbetween[\intensity]{ecolor}{green}{blue}% + \colorbetween[\intensity]{scolor}{yellow}{green}% + \colorbetween{mcolor}{scolor}{ecolor}% + \complementcolor{tcolor}{mcolor}% + \raisebox{-.5\height}{\hgradbox{scolor}{ecolor}{\Huge\textsf{\textbf{\mbox{{\textcolor{tcolor}{Groovy!}}}}}}}% + }% + \multistep{10} + {% + \mkfactor{\intensity}{(\value{substep}-1)/9}% + \colorbetween[\intensity]{ecolor}{yellow}{green}% + \colorbetween[\intensity]{scolor}{red}{yellow}% + \colorbetween{mcolor}{scolor}{ecolor}% + \complementcolor{tcolor}{mcolor}% + \raisebox{-.5\height}{\hgradbox{scolor}{ecolor}{\Huge\textsf{\textbf{\textcolor{tcolor}{Groovy!}}}}}% + }% + \multistep{10} + {% + \mkfactor{\intensity}{(\value{substep}-1)/9}% + \colorbetween[\intensity]{ecolor}{red}{yellow}% + \colorbetween[\intensity]{scolor}{blue}{red}% + \colorbetween{mcolor}{scolor}{ecolor}% + \complementcolor{tcolor}{mcolor}% + \raisebox{-.5\height}{\hgradbox{scolor}{ecolor}{\Huge\textsf{\textbf{\textcolor{tcolor}{Groovy!}}}}}% + }% + \multistep{10} + {% + \mkfactor{\intensity}{(\value{substep}-1)/9}% + \colorbetween[\intensity]{ecolor}{blue}{red}% + \colorbetween[\intensity]{scolor}{green}{blue}% + \colorbetween{mcolor}{scolor}{ecolor}% + \complementcolor{tcolor}{mcolor}% + \raisebox{-.5\height}{\hgradbox{scolor}{ecolor}{\Huge\textsf{\textbf{\textcolor{tcolor}{Groovy!}}}}}% + }% + \step + {% + \colorbetween{mcolor}{green}{blue}% + \complementcolor{tcolor}{mcolor}% + \raisebox{-.5\height}{\hgradbox{green}{blue}{\Huge\textsf{\textbf{\textcolor{tcolor}{Groovy!}}}}}% + \ifthenelse{\boolean{firstactivation}}{\AtShipout{\hypertarget{eoboxdemo}{}}\afterstep{\stopAdvancing}}{}% + }% + } + + \step + {% + \item As page backgrounds. \skipTo{eobgnddemo} + \colorbetween[.22]{ecolor}{pagecolor}{white}% + \afterstep{\pageDuration{0.01}}% + \multistep{20} + {% + \backgroundstyle + [% + startcolor=pagecolor,endcolor=ecolor,firstgradprogression=3, + rightpanelwidth=\TPpagewidth*\real{.025}*\value{substep},rightpanelcolor=pagecolor, + leftpanelwidth=\TPpagewidth*\real{.025}*\value{substep},leftpanelcolor=pagecolor, + toppanelheight=\TPpageheight*\real{.025}*\value{substep},toppanelcolor=pagecolor, + bottompanelheight=\TPpageheight*\real{.025}*\value{substep},bottompanelcolor=pagecolor% + ]{vgradient}% + }% + \multistep{20} + {% + \backgroundstyle + [% + startcolordef={rgb}{0.4,0,0},endcolordef={rgb}{0,0.4,0},firstgradprogression=3, + rightpanelwidth=\TPpagewidth*\real{.025}*(20-\value{substep}),rightpanelcolor=pagecolor, + leftpanelwidth=\TPpagewidth*\real{.025}*(20-\value{substep}),leftpanelcolor=pagecolor, + toppanelheight=\TPpageheight*\real{.025}*(20-\value{substep}),toppanelcolor=pagecolor, + bottompanelheight=\TPpageheight*\real{.025}*(20-\value{substep}),bottompanelcolor=pagecolor% + ]{vgradient}% + }% + } + \end{itemize} + } +\hypertarget{eobgnddemo}{} +\end{slide} + + + +\begin{slide}[\slidewidth-40mm,\slideheight-40mm] +\renewcommand{\sliderightmargin}{45mm}% +\renewcommand{\slidetopmargin}{25mm}% +\renewcommand{\slidebottommargin}{25mm}% +\colorbetween[.22]{ecolor}{pagecolor}{white}% +\backgroundstyle[startcolor=pagecolor,endcolor=ecolor,firstgradprogression=3]{vgradient}% + +\liststepwise +{% + Special parameters for page backgrounds: + \begin{itemize} + \item Leave space for panels, headers and footers.\\ + \skipTo{eopaneldemo} + \afterstep{\pageDuration{0.01}}% + \multistep{20} + {% + \backgroundstyle + [% + startcolor=pagecolor,endcolor=ecolor,firstgradprogression=3, + toppanelheight=.1\semcm*\value{substep},toppanelcolor=black, + bottompanelheight=.1\semcm*\value{substep}% + ]{vgradient}% + }% + \multistep{20} + {% + \backgroundstyle + [% + startcolor=pagecolor,endcolor=ecolor,firstgradprogression=3, + rightpanelwidth=.2\semcm*\value{substep},rightpanelcolordef={rgb}{0,0.4,0.6}, + toppanelheight=2\semcm,toppanelcolor=black, + bottompanelheight=2\semcm% + ]{vgradient}% + }% + \end{itemize} +} + +\hypertarget{eopaneldemo}{} +\end{slide} +\end{document} +\endinput +%% +%% End of file `bgndexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/contrib/00readme.txt b/Master/texmf-dist/doc/latex/texpower/contrib/00readme.txt new file mode 100644 index 00000000000..869378168e6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/contrib/00readme.txt @@ -0,0 +1,56 @@ +====================================================================== + + TeXPower bundle + Directory: contrib + + This readme file last changed on Mar 15, 2002 + + Author: Stephan Lehmke <mailto:Stephan.Lehmke@cs.uni-dortmund.de> + Lehrstuhl Informatik I + Universität Dortmund + Dortmund, Germany + +====================================================================== + + +This directory contains some additions to the TeXPower bundle +contributed by other people. + + +====================================================================== + +Contents: +========= + +This directory contains the following files: + +config.landscapeplus + +dvips configuration file which provides new paper sizes letterl and +a4l for landscape documents in the respective sizes. Use by passing +the option + +-Plandscapeplus + +to dvips (you can have as many -P options as you like). + +Using this will avoid turned and cropped pages with ghostscript's +ps2pdf. + +Contributed by Berthold Crysmann <crysmann@dfki.de>. + + +tpmultiinc.tar + +Archive containing a package for including a sequence of graphics +files which represents an `incremental diagram'. There is a patch to +xfig available from + +http://www-sp.iti.informatik.tu-darmstadt.de/software/xfig/ + +which allows to generate such a sequence of files in MetaPost format. + +There are some inline comments in tpmultiinc.sty which explain +usage. Furthermore, the archive contains some examples. + +Contributed by Holger Wenzel <H.Wenzel@itm.rwth-aachen.de>. diff --git a/Master/texmf-dist/doc/latex/texpower/contrib/config.landscapeplus b/Master/texmf-dist/doc/latex/texpower/contrib/config.landscapeplus new file mode 100644 index 00000000000..e86d9a3cc81 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/contrib/config.landscapeplus @@ -0,0 +1,13 @@ +@ a4l 297mm 210mm +@+ %%PaperSize: a4l +@+ ! %%DocumentPaperSizes: a4l +@+ %%BeginPaperSize: a4l +@+ <</PageSize [842 595]>>setpagedevice +@+ %%EndPaperSize + +@ letterl 11in 8.5in +@+ %%PaperSize: letterl +@+ ! %%DocumentPaperSizes: letterl +@+ %%BeginPaperSize: letterl +@+ <</PageSize [792 612]>>setpagedevice +@+ %%EndPaperSize diff --git a/Master/texmf-dist/doc/latex/texpower/contrib/tpmultiinc.tar b/Master/texmf-dist/doc/latex/texpower/contrib/tpmultiinc.tar Binary files differnew file mode 100644 index 00000000000..5910f9dc9b2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/contrib/tpmultiinc.tar diff --git a/Master/texmf-dist/doc/latex/texpower/divexample.tex b/Master/texmf-dist/doc/latex/texpower/divexample.tex new file mode 100644 index 00000000000..42a4f15783d --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/divexample.tex @@ -0,0 +1,130 @@ +%% +%% This is file `divexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `divexample,divexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{divexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: divexample.tex +% +% Divisibility example (demonstrating \step's optional arguments) for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 divexample +% +% afterwards processing the resulting ps file with +% +% distill divexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 26, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% +% v0.0.3 May 18, 2000: New file name. +% + +%----------------------------------------------------------------------------------------------------------------- +% We input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower divisibility example}} + + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} + % As the sectioning in the example files starts with \subsection, we `grade down' the sectioning commands. + \let\subsubsection\subsection + \let\subsection\section +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: Fooling Around}\label{Sec:ExFooling} +% The following example is just to show that a lot of fancy things are possible by appropriately defining the diverse +% `hooks' offererd by \stepwise. +`Tweaking' the hooks a little allows some truly bizarre applications\dots + +% In the following \stepwise command, \activatestep will be set to \textbf. This means the `first' occurrence of a number +% is wider (because bf is an extended font) than all other occurrences of it. To avoid glitches in line breaks, all +% other occurrences of numbers (visible and invisible) need to be of the same width. Hence we define new versions of +% \displaystepcontents and \hidestepcontents. +\def\mydisplay#1{\makebox[\widthof{\textbf{#1}}]{#1}} +\def\myhide#1{\phantom{\makebox[\widthof{\textbf{#1}}]{#1}}} + +\newcounter{modulo} +\newcounter{i} + +% Finally, we define a custom \step command which sets the optional arguments of \step. +% We already have introduced the first optional argument, which determines when a \step is activated for the first +% time. Here, this one is left at its default value (\value{step}=\value{stepcommand}). +% Here, we also use the second optional argument, which has the same syntax as the first one (i.e. it can be surrounded +% either by square brackets or braces), but determines when a \step is active _at all_ (i.e. whether +% \displaystepcontents or \hidestepcontents is used). The default is the internal check \if@first@TP@true, which determines +% whether step number \value{stepcommand} has already been activated for the first time (this is saved internally for +% every step). Now, we redefine this condition to be fulfilled whenever the value of the counter step is divisible by +% the value of the counter stepcommand. +\def\mystep{\step[](\setcounter{modulo}{\value{step}/\value{stepcommand}*\value{stepcommand}}\ifthenelse{\value{step}=\value{modulo}})}% + + +% By setting the page duration to 0.5 seconds, we make the following sequence of slides appear automatically one by one, +% one every half second. + +\pageDuration{0.5} + +% +% We use the custom command \parstepwise which not only wraps the whole argument of \stepwise into a minipage (because +% otherwise vertical spacing goes haywire, don't ask me why), but also gives substance to steps. We use the starred +% version of this command so that the number 1 appears on the first slide generated by \parstepwise. +% +% \activatestep is set to \textbf to emphasize the number the divisors of which are displayed. +\parstepwise*[\let\activatestep=\textbf\let\displaystepcontents=\mydisplay\let\hidestepcontents=\myhide] +{% + \huge + \setcounter{i}{0}% + Divisibility demo: + + % We just have to generate the appropriate number of \mystep commands which display `their' numbers. + \whiledo{\value{i}<40}{\stepcounter{i}\mystep{\arabic{i}} }% + + } + +% Stop automatic advancing of pages. + +\stopAdvancing +\end{slide} +\end{document} +\endinput +%% +%% End of file `divexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/fancystep.tex b/Master/texmf-dist/doc/latex/texpower/fancystep.tex new file mode 100644 index 00000000000..0ae938cae30 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/fancystep.tex @@ -0,0 +1,29 @@ +%% +%% This is file `fancystep.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `fancystep') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\endinput +%% +%% End of file `fancystep.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/foilsdemo.tex b/Master/texmf-dist/doc/latex/texpower/foilsdemo.tex new file mode 100644 index 00000000000..fc2ff715a31 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/foilsdemo.tex @@ -0,0 +1,227 @@ +%% +%% This is file `foilsdemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `foilsdemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{foilsdemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: foilsdemo.tex +% +% Simple examples the for combining the foils class with the dynamic features provided by the package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 25, 2000: First version for the pre-alpha release of TeXPower. +% + +\documentclass[landscape]{foils} + +% foils understands the landscape option, but to get it through to pdflatex, we need to set \pdfpageheight etc. The +% package fixseminar does this. + +\usepackage{fixseminar} + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% +\usepackage[display]{texpower} + + +\begin{document} + +\title{The \code{texpower} Package\\{\normalfont \texttt{foils} Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + + +\foilhead{A list environment} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + + + +\foilhead{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + + + + +\foilhead{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + + + + +\foilhead{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.6cm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{document} +\endinput +%% +%% End of file `foilsdemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/fulldemo.tex b/Master/texmf-dist/doc/latex/texpower/fulldemo.tex new file mode 100644 index 00000000000..fac601aa535 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/fulldemo.tex @@ -0,0 +1,2908 @@ +%% +%% This is file `fulldemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `fulldemo') +%% texpower-doc.dtx (with options: `picexample-src') +%% texpower-doc.dtx (with options: `tabexample-src') +%% texpower-doc.dtx (with options: `mathexample-src') +%% texpower-doc.dtx (with options: `parexample-src') +%% texpower-doc.dtx (with options: `bckwrdexample-src') +%% texpower-doc.dtx (with options: `hilitexample-src') +%% texpower-doc.dtx (with options: `divexample-src') +%% texpower-doc.dtx (with options: `fulldemo-middle,docu,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{fulldemo.tex}% + [2004/07/27 TeXPower full demo and manual] +%----------------------------------------------------------------------------------------------------------------- +% File: fulldemo.tex +% +% Demo & Manual for the package texpower.sty (pre-alpha release). +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf fulldemo +% +% afterwards processing the resulting ps file with +% +% distill fulldemo.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Oct 26, 1999: seven examples completed; parts of inline documentation +% +% v0.0.2 Feb 18, 2000: inline documentation of examples completed +% +% v0.0.3 Mar 1, 2000: added examples for \pause and page transitions; Documentation section started +% +% v0.0.4 Mar 10, 2000: Documentation for the first pre-alpha release completed +% +% v0.0.5 Mar 20, 2000: Documentation split into several files to reduce compilation problems; tested with pdflatex +% +% v0.0.6 May 2, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% +% v0.0.7 May 24, 2000: Some small changes in preparation of the update to TeXpower v0.0.8. +% +% v0.0.8 Aug 29, 2000: Added backgroundstyle command for the update to TeXpower v0.0.9. +% + + +%----------------------------------------------------------------------------------------------------------------- + +% Version info +\def\tpversion{v0.0.9d of May 15, 2003 (alpha)} + +% Enable all color emphasis and highlighting options; use a light background and slifonts. + +\PassOptionsToPackage{coloremph,colormath,colorhighlight,lightbackground}{texpower} +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower full demo and documentation}} + +% To get correct links in the index (and remove annoying warnings) +\pausesafecounter{slide} + +% Setting up indexing and custom indexing commands +\input{__TPindexing} + +\backgroundstyle{vgradient} + +\setlength{\unitlength}{5mm} + +\ifthenelse{\boolean{psspecialsallowed}}% Can we use PSTricks? +{% Yes. + % PsTricks is used for creating the picture example. + + \usepackage{pstcol} + \usepackage{pst-node} + + \psset{unit=\unitlength} + } +{% No. We'll make do without. + } + + +% We also include an mps (metapost postscript) image... +\usepackage{graphicx} +% The mps extension isn't supported out-of-the-box for latex+dvips +\ifthenelse{\boolean{psspecialsallowed}}{% +\DeclareGraphicsExtensions{.mps}}{} + +% ... and write some aligned equations. +\usepackage{amsmath} +% Make nested braces grow. +\delimitershortfall-1sp + + +% The package soul is needed for \highlighttext to work. + +\usepackage{soul} + + +% The following package makes code look a little nicer, but it may not be present on all systems. + +\IfFileExists{cmtt.sty}{\usepackage[override]{cmtt}}{} + +% Hack to override seminar's definition of twocolumn needed by theindex +\makeatletter +\let\slidebox@restore@orig=\slidebox@restore% +\def\slidebox@restore{% + \slidebox@restore@orig% + \long\def\twocolumn[##1]{\section{Index}}% +} +\makeatother + + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +% +% First, some words of explanation. +% + \title + {% + The \TeX Power bundle\\ + {% + \normalfont + Creating dynamic online presentations with \LaTeX\\ + Full demo and documentation for \TeX Power \tpversion% + }% + } + + \author{Stephan Lehmke\\\url{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} + + \maketitle + + \newslide + + This document is a demonstration and manual for the \TeX Power bundle which allows to create dynamic + presentations in a very flexible way. + + The heart of the bundle is the package \code{texpower} which implements some commands for presentation effects. This + includes setting page transitions, color highlighting and displaying pages incrementally. + + All features of \code{texpower} are implemented entirely using \TeX{} and \LaTeX; they are meant for `online' + presentation with \concept{Adobe Acrobat\textsuperscript{\textregistered} Reader} and work with all ways of \code{pdf} + creation. The combination of \LaTeX{} + \code{dvips} + Acrobat Distiller / + \code{ps2pdf} is possible as well as pdf\LaTeX{} and other \code{pdf} creation + methods. + + \newslide + + \minisec{Disclaimer} + This is a \emph{alpha} release of the \TeX Power bundle. + + During the subsequent error correction and extension of the functionality, the syntax and implementation of the macros + described here are liable to change. + + The transformation to the dtx format is also not completed. + + \newslide + + \minisec{Credits}% + I am indepted to \href{mailto:guntermann@iti.informatik.tu-darmstadt.de}{\name{Klaus Guntermann}}. His package + \href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/pp4sty.zip}{\code{texpause}} from the \concept{Pdf + Presentation Post Processor} \href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4} bundle + is the basis for the code of \code{texpower}. + + Further thanks go to \href{mailto:dongen@cs.ucc.ie}{\name{Marc van Dongen}} for allowing me to include his code for + page transitions and to \href{mailto:Martin.Schroeder@ACM.org}{\name{Martin Schr\"oder}} for permission to use his + \concept{everyshi} code. + + Useful hints for error corrections and improvements of code have been provided by \name{Marc van Dongen}, + \name{Friedrich Eisenbrand}, \name{Thomas Emmel}, \name{Ross Moore}, \name{Heiko Oberdiek}, \name{Heiner Richter}, and + \name{Robert J.\ Vanderbei}. + + \newslide + + \tableofcontents +\end{slide} +\begin{slide} + %----------------------------------------------------------------------------------------------------------------- + % + \section{Examples}\label{Sec:Ex} + First, two simple examples for the \macroname{pause} command. + + All other examples are meant to illustrate the expressive power of the \macroname{stepwise} command. + + Looking at the code for the examples will probably be the best way of understanding how certain effects can be + achieved. + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \subsection{Some examples for \macroname{pause}} + % It doesn't hurt to put \pause inside a paragraph, but a new paragraph is forced at each occurrence of \pause. + \begin{center} + a\pause b\pause c + \end{center} + + \pause + + % We set Page Transitions to Dissolve for the rest of this slide. + \pageTransitionDissolve + \begin{itemize} + \item foo\pause + \item bar\pause + \item baz + \end{itemize} + + \newslide + % Page Transitions are set back to Replace. + \pageTransitionReplace + +%----------------------------------------------------------------------------------------------------------------- +% The `titles' for the examples are simply subsection headings. + +\renewcommand{\makeslidetitle}[1] +{% + \subsection{#1}% +} + + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: A Picture}\label{Sec:ExPic} + +\ifthenelse{\boolean{psspecialsallowed}}% Can we use PSTricks? +{\input{picpsexample}}{\input{picltxexample}} +\newslide +\pageTransitionReplace + + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: A Tabular} + +% In the following, a tabular object is built incrementally. +% Observe how & and \\ are placed inside the following step to avoid `opening' empty cells. +% The macro \tabend is redefined to `replace' the final \hline by \cline's when a line is not yet complete. +% + \newcommand{\tabend}{\\\hline}% + + \stepwise + {% + \hrule height 0pt\relax% This is neccessary to avoid a glitch in vertical spacing. Don't ask me why. I'll try to get + % this right until the first alpha version. + \begin{center} + \step + {% + \begin{tabular}{|l|l|l|} + \hline + They can & be built & line by line% + \step{\\\hline or cell\renewcommand{\tabend}{\\\cline{1-1}}}% + \step{& by\renewcommand{\tabend}{\\\cline{1-2}}}% + \step{& cell\renewcommand{\tabend}{\\\hline}}% + \step + {% + \\\hline + % + % Again, \step's are nested inside each other... + % + \step{or}&\step{like}&\step{this.}% + }% + \step{\\\hline But\renewcommand{\tabend}{\\\cline{1-1}}}% + \step{& beware\renewcommand{\tabend}{\\\cline{1-2}}}% + \step{& of cells growing horizontally!\renewcommand{\tabend}{\\\hline}}% + \tabend + \end{tabular}% + }% + \end{center}% + }% + \newslide +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: An Aligned Equation}\label{Sec:ExEq} +% In the following, an aligned system of equations is built incrementally. We use the custom command \liststepwise to +% avoid glitches in vertical spacing. +% +\liststepwise% +{% + % + % This is just for compressing the equations so they can be squeezed on one slide. + % + \fontsize{7.8pt}{9pt}\selectfont + \renewcommand{\arraystretch}{0}% + \setlength{\arraycolsep}{0pt}% + \setlength{\abovedisplayskip}{0pt}% + \setlength{\belowdisplayskip}{0pt}% + % + % \highlightboxed will be used for underlaying some formulas with color. To minimize overlap, the width of the outer + % frame is reduced. + \setlength{\highlightboxsep}{1pt}% + % + \begin{align} + \lefteqn + {% + \min + \left( + % The nested braces are filled `from outer to inner'. This means nesting a lot of steps inside each other... + % The outermost brace is displayed from the outset. + % The first step (which follows right here) displays the next inner brace (the first argument of \min), filled + % with an almost `empty' array (apart from one comma and some dots). + % \bstep is used to get appropriate white space when the step is not yet active. + \bstep + {\max + \left( + \begin{array}{l} + % The next two steps fill in the lines of the array. + \bstep{\min\left(F'(x),\min\left(F_1(x),G_1(y)\right)\right)},\\[-2ex] + \vdots\\ + \bstep{\min\left(F'(x),\min\left(F_n(x),G_n(y)\right)\right)} + \end{array} + \right) + }, + % After the first brace is filled, the next step provides the second argument of \min. + \bstep{\min\left(G_i(y),H_i(z)\right)} + \right) + } + & + % The next couple of steps will create the remaining lines of the aligned equations. These need to be + % insubstantial (as is the default for \liststepwise), because & can't go in a box. + % As a consequence, the horizontal alignment cannot kick in until the last step is performed. This would make the + % alignment `flicker' sidewise. + % So we have to bite the bullet and duplicate the widest entry here (invisibly), so that the horizontal alignment + % is constant during all steps. *sigh* + \phantom + {% + {}= + \min + \left( + F'(x), + \min + \left( + \max + \left( + \begin{array}{l} + \min\left(F_1(x),\min\left(G_1(y),G_i(y)\right)\right),\\[-1.5ex] + \vdots\\[-.5ex] + \min\left(F_n(x),\min\left(G_n(y),G_i(y)\right)\right) + \end{array} + \right), + H_i(z) + \right) + \right) + } + % The next step displays two lines at a time, but incompletely, i.e. some parts are missing (which are inside + % nested calls of \bstep). + % This way, it is demonstrated how the arguments of the nested \min's are reordered. + \step + {% + \\ + &= + \max + \left( + % The macro \activatestep is used by \stepwise to `wrap' the argument of a \bstep command at the _first_ time + % it appears. + % Usually, it does nothing. Now, we redefine it to highlight its background, so it is easier to spot the + % places where the additional arguments were inserted. + \let\activatestep\highlightboxed + \begin{array}{l} + \min + \left( + % The inner \bstep's display the missing arguments, which are completely identical in both lines. + % It is intended that all the missing arguments appear at the same time, so \rebstep is used for the + % remaining arguments which have been left out. + \min\left(\bstep{F'(x)},\min\left(\rebstep{F_1(x),G_1(y)}\right)\right),\min\left(G_i(y),H_i(z)\right) + \right),\\[-2ex] + \vdots\\[-1ex] + \min + \left( + \min\left(\rebstep{F'(x)},\min\left(\rebstep{F_n(x),G_n(y)}\right)\right),\min\left(G_i(y),H_i(z)\right) + \right) + \end{array} + \right) + \\ + &= + \max + \left( + \let\activatestep\highlightboxed + \begin{array}{l} + \min + \left( + \min\left( + % Here are the remaining arguments of \min which are all to be displayed in one step (together with + % those from the previous line). + \rebstep{F'(x)},\min\left(\rebstep{F_1(x)},\min\left(\rebstep{G_1(y)},G_i(y)\right)\right) + \right), + H_i(z) + \right),\\[-2.5ex] + \vdots\\[-1.5ex] + \min + \left( + \min\left( + \rebstep{F'(x)},\min\left(\rebstep{F_n(x)},\min\left(\rebstep{G_n(y)},G_i(y)\right)\right) + \right), + H_i(z) + \right) + \end{array} + \right) + } + \step + {% + \\ + &= + \min + \left( + F'(x), + \min + \left( + \max + \left( + \begin{array}{l} + \min\left(F_1(x),\min\left(G_1(y),G_i(y)\right)\right),\\[-1.5ex] + \vdots\\[-.5ex] + \min\left(F_n(x),\min\left(G_n(y),G_i(y)\right)\right) + \end{array} + \right), + H_i(z) + \right) + \right) + } + \end{align} + }% + \newslide +% +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: Inside A Paragraph}\label{Sec:ExPar} + +% +% We show that \stepwise can be used for highlighting words within a paragraph. +% Furthermore, it is demonstrated how the order in which \step's are executed can be changed. +% +% We define a `placeholder' which will mark the place of missing words (instead of \displayphantom). +% +\newcommand{\placeholder}[1]{\leavevmode\phantom{#1}\llap{\rule{\widthof{\phantom{#1}}}{\fboxrule}}}% + % + % We use the custom command \parstepwise which not only wraps the whole argument of \stepwise into a minipage (because + % otherwise vertical spacing goes haywire, don't ask me why), but also gives substance to steps. + % + % All variants of \stepwise take an optional argument the contents of which are executed inside a group before the + % inner loop of starts. It can be used to set parameters locally. + % Here, we redefine \activatestep (which has been explained in the equation example) to highlight the first + % appearance of any word. + % \hidestepcontents is used as a `wrapper' for those arguments of \step which should not appear yet. It either + % displays nothing (this is the default for \stepwise and \liststepwise) or puts its argument into a \phantom + % (the default for \parstepwise); this behaviour is also toggled by \boxedsteps and \nonboxedsteps. + % Here, we redefine it to use our selfdefined \placeholder to mark `missing' words. + % + \parstepwise[\let\hidestepcontents=\placeholder\let\activatestep=\highlightboxed]% + {% + \begin{quote} + \Huge We can \step{create} a \step{fill-in-the-blanks} + % + % \step takes an optional argument with which it can be specified _when_ its argument is to appear. This is + % expressed in \ifthenelse syntax (see the documentation of the ifthen package). + % Here, we refer to the counter step which is advanced by \stepwise and contains the number of the current step. + % This way, steps can be made to appear in any order. + \step[\value{step}=5]{text} which is then + \step[\value{step}=4]{filled} in in + \step[\value{step}=3]{\textbf{any}} order! + \end{quote} + }% + + \newslide + + % The \hidetext command hides its argument while respecting automatic line breaks and such. The command needs the soul + % package to work. Read the documentation of soul for restrictions as to what can go in the argument of \hidetext. + + \stepwise[\let\hidestepcontents=\hidetext\let\activatestep=\highlighttext] + {% + \vspace*{\fill} + \begin{minipage}{\linewidth} + \begin{quote} + \Huge We can step through a \step{paragraph} of \step{free text} + \step{without disturbing} line breaks! + \end{quote} + \end{minipage} + \vspace*{\fill}\vspace*{\fill} + } + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \makeslidetitle{\macroname{stepwise} Example: Writing Backwards}\label{Sec:ExBackwards} + % + % The following example doesn't really demonstrate a useful application. Its purpose is twofold: + % a) Show how the functionality of \stepwise can be extended by the user by referring to the macros provided by the + % package. + % b) Show that \steps can appear in any order, and can be made to appear simultaneously in several places (and mention + % the problems this raises). + + % We define a new macro \backstep which will call \step, but the steps will be executed in _reverse_ order. + % This is achieved as follows: + % * We refer to the counter totalsteps, which gives the total number of steps occurring in this argument of + % \stepwise. + % * From this, we subtract the value of the counter stepcommand, which gives the number of this \step command (in the + % order of appearance). + % * The result is compared with the counter step, which gives the number of the current step. + % (the default for `triggering' a \step is the condition \value{step}=\value{stepcommand}) + % + % Note that if the ifthen Package would support this syntax, we could use the bracketed optional argument of \step (as + % in the previous example), defining \backstep like this: + % + % \newcommand{\backstep}{\step[\value{totalsteps}-\value{stepcommand}+1=\value{step}]} + % + % As \ifthenelse doesn't offer this syntax, we have to calculate \value{totalsteps}-\value{stepcommand}+1 in a separate + % counter. This doesn't fit the intended use of \step's optional argument. But hey, there is another syntax ;-) + % If the optional argument is specified with braces (...), then it can contain an arbitrary test which takes two + % arguments and selects the first if it succeeds and the second if it fails. We use this variant here. + % + \newcounter{reversestepno}% + \newcommand{\backstep}{\step(\setcounter{reversestepno}{\value{totalsteps}-\value{stepcommand}+1}\ifthenelse{\value{step}=\value{reversestepno}})}% + % + % We use the custom command \parstepwise which not only wraps the whole argument of \stepwise into a minipage (because + % otherwise vertical spacing goes haywire, don't ask me why), but also gives substance to steps. + % + % If the following \stepwise command would only contain the calls to \backstep, everything would be fine. + % But we _had_ to add something else.... + % In the second part of this application of \stepwise, several steps are executed simultaneously with those executed + % backwards in the first part. This means the value of the counter totalsteps is 14, i.e. the calls to \backstep + % correspond to steps 8...14. To remedy this, we decree that the first step performed shall be number 7, by setting + % the counter firststep accordingly in the optional argument of \stepwise. + % + \parstepwise[\setcounter{firststep}{\value{totalsteps}/2+\value{firststep}}] + {% + \begin{quote} + \Huge + \backstep{Is} \backstep{now} \backstep{it} + \backstep{backwards} \backstep{write} \backstep{to} + \backstep{possible\,!} + + \bigskip + + % By determining explicitly the times at which the following steps are executed, we make them appear + % simultaneously with the preceding flock of \backsteps. As we have set the counter firststep to 7, we start + % counting with 8. + % + \step[\value{step}=8]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=9]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=10]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=11]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=12]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=13]{\includegraphics[width=2cm]{fig-1}} + \step[\value{step}=14]{\includegraphics[width=2cm]{fig-1}}% + \end{quote} + }% + \newslide +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: Highlighting Text}\label{Sec:Exhl} +% The default for \step's which are not yet `active' is to be `invisible'. In preceding examples, we have redefined +% internal macros like \hidestepcontents or \activatestep to achieve special `highlighting' effects. +% Here, we demonstrate how make text `stand out' from the background incrementally without having it appear from thin +% air. + +% The first example demonstrates how to make \step its argument `stand out' instead of making it appear `out of +% nowhere'. + +\makeatletter +\ifthenelse{\boolean{TPcolor}}% Can we use colors? +{% Yes. In this case \step should change colors from `dimmed' to `active'. + + % The command \hidedimmed switches colors to `dimmed', the command \highlightenhanced switches colors to `enhanced'. + \liststepwise[\let\hidestepcontents=\hidedimmed\let\activatestep=\highlightenhanced] + {% + \vspace*{\fill} + \begin{quote} + \Large% + \step{Instead of making things appear out of `thin air',} \step{we can also make them appear `out of the + background'} \step{by incrementally changing color from \concept{inactive}} \step{to \concept{active}.} + \step{This also works with \emph{color emphasis}} \step{and \concept{math coloring}: $a=b^2$.} + \end{quote} + \vspace*{\fill}\vspace*{\fill} + }% + } +{% No. In this case we have to `handwave' using the soul package. + % Instead of hiding its argument, the new command \myhide just changes the font size (maintaining the overall text + % length though). + \def\myhide + {% + \leavevmode% + \SOUL@setup + \def\SOUL@everytoken{\makebox[\widthof{\the\SOUL@token}][s]{\rule[\depthof{\the\SOUL@token}*-1]{0pt}{\depthof{\the\SOUL@token}+\heightof{\the\SOUL@token}}\hrulefill\tiny\the\SOUL@token\hrulefill}\SOUL@setkern\SOUL@charkern}% + \SOUL@% + } + + \liststepwise[\let\hidestepcontents=\myhide\setcounter{firststep}{0}] + {% + \vspace*{\fill} + \begin{quote} + \LARGE% + \step{Instead of making things appear out of `thin air',} \step{we can also make them appear `out of the + background'} \step{incrementally.} + \end{quote} + \vspace*{\fill}\vspace*{\fill} + }% + } +\makeatother + +\newslide + +% Next, it is demonstrated how we can `flip through' an itemize environment by just highlighting the items in turn +% instead of making them appear one by one. +% +% Define a macro \mystep which implements the highlighting effect. +\ifthenelse{\boolean{TPcolor}}% Can we use colors? +{% Yes. In this case highlighting is implemented by switching color. + \def\mystep% Note that \mystep takes no argument. It just changes the way the next item is displayed. + {% + \usecolorset{stwcolors}% Restore the undimmed colors valid at the beginning of \stepwise. + \dstep[][\boolean{firstactivation}]% \dstep switches colors. The optional argument makes it appear only once. + }% +} +{% No. In this case highlighting is implemented by redefining \labelitemi. + \def\mystep + {% + \switch[][\boolean{firstactivation}]% The optional arguments make \switch act only once. + {\def\labelitemi{\origmath{\gg}}}{\def\labelitemi{\origmath{\cdot}}}% + }% + } + +% We define a custom itemize environment which automatically adds calls to \mystep: +\newenvironment{stepitemize} +{% + \huge + \begin{itemize} + \let\origitem=\item + % Here, the \mystep command is hidden inside \item + \renewcommand{\item}{\mystep\origitem}% + } + {% + \end{itemize} + } + +Instead of displaying incrementally, we can just `flip through' some items by highlighting them: + +% Note that we use the starred version of \liststepwise so that the first item is highlighted on the first slide +% produced by \liststepwise. +% +\liststepwise* +{% + \begin{stepitemize} + \item Item 1 + \item Item 2 + \item Item 3 + \end{stepitemize} + } + +\pause + +% The following example demonstrates highlighting inside a paragraph using \highlighttext. By redefining \activatestep +% to \highlighttext, the argument of every \step will be highlighted when the \step is activated for the first +% time. Note that highlighting doesn't influence line breaks because \highlighttext is implemented using the soul +% package. +% +% Again, we define \hidestepcontents to display its argument, so that the complete text is visible from the outset. + +\stepwise[\let\activatestep=\highlighttext\let\hidestepcontents=\displayidentical] +{% + \vspace*{\fill} + \begin{minipage}{\linewidth} + \LARGE + \step{Inside} a paragraph, we can \step{highlight} text \step{without influencing} \step{line breaks}. + \end{minipage} + \vspace*{\fill} + } +\newslide +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: Fooling Around}\label{Sec:ExFooling} +% The following example is just to show that a lot of fancy things are possible by appropriately defining the diverse +% `hooks' offererd by \stepwise. +`Tweaking' the hooks a little allows some truly bizarre applications\dots + +% In the following \stepwise command, \activatestep will be set to \textbf. This means the `first' occurrence of a number +% is wider (because bf is an extended font) than all other occurrences of it. To avoid glitches in line breaks, all +% other occurrences of numbers (visible and invisible) need to be of the same width. Hence we define new versions of +% \displaystepcontents and \hidestepcontents. +\def\mydisplay#1{\makebox[\widthof{\textbf{#1}}]{#1}} +\def\myhide#1{\phantom{\makebox[\widthof{\textbf{#1}}]{#1}}} + +\newcounter{modulo} +\newcounter{i} + +% Finally, we define a custom \step command which sets the optional arguments of \step. +% We already have introduced the first optional argument, which determines when a \step is activated for the first +% time. Here, this one is left at its default value (\value{step}=\value{stepcommand}). +% Here, we also use the second optional argument, which has the same syntax as the first one (i.e. it can be surrounded +% either by square brackets or braces), but determines when a \step is active _at all_ (i.e. whether +% \displaystepcontents or \hidestepcontents is used). The default is the internal check \if@first@TP@true, which determines +% whether step number \value{stepcommand} has already been activated for the first time (this is saved internally for +% every step). Now, we redefine this condition to be fulfilled whenever the value of the counter step is divisible by +% the value of the counter stepcommand. +\def\mystep{\step[](\setcounter{modulo}{\value{step}/\value{stepcommand}*\value{stepcommand}}\ifthenelse{\value{step}=\value{modulo}})}% + + +% By setting the page duration to 0.5 seconds, we make the following sequence of slides appear automatically one by one, +% one every half second. + +\pageDuration{0.5} + +% +% We use the custom command \parstepwise which not only wraps the whole argument of \stepwise into a minipage (because +% otherwise vertical spacing goes haywire, don't ask me why), but also gives substance to steps. We use the starred +% version of this command so that the number 1 appears on the first slide generated by \parstepwise. +% +% \activatestep is set to \textbf to emphasize the number the divisors of which are displayed. +\parstepwise*[\let\activatestep=\textbf\let\displaystepcontents=\mydisplay\let\hidestepcontents=\myhide] +{% + \huge + \setcounter{i}{0}% + Divisibility demo: + + % We just have to generate the appropriate number of \mystep commands which display `their' numbers. + \whiledo{\value{i}<40}{\stepcounter{i}\mystep{\arabic{i}} }% + + } + +% Stop automatic advancing of pages. + +\stopAdvancing +\end{slide} + +\begin{slide}\relax + +%----------------------------------------------------------------------------------------------------------------- +% The `title' for the documentation is a section heading. As sectioning in the manual (doc-tag) file starts with +% \section, we have to `downgrade' sectioning commands. + +\let\origsection=\section + +\renewcommand{\makeslidetitle}[1] +{% + \let\section\subsection + \let\subsection\subsubsection + \def\thanks##1{}% + \origsection{#1} +} + + \addtocontents{toc}{\protect\clearpage} + +% +%----------------------------------------------------------------------------------------------------------------- +% +% Documentation of the TeXPower bundle. +% +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Mar 29, 2000: Added `usage and basic options' section. +% +% v0.0.3 Apr 04, 2000: Added `Color Emphasis and Highlighting' section. +% +% v0.0.4 Apr 12, 2000: A lot of small additions in preparation of the update to TeXpower v0.0.7. +% +% v0.0.5 May 31, 2000: Updated for TeXpower v0.0.8. +% +% v0.0.6 Jun 09, 2000: Some updates for TeXpower v0.0.8b. +% +% v0.0.6a Jun 13, 2000: Some updates for TeXpower v0.0.8c. +% +% v0.0.6b Jun 23, 2000: Some updates for TeXpower v0.0.8e. +% +% v0.0.6c Jul 25, 2000: Some updates for TeXpower v0.0.8g. Colors section rewritten for new color management kernel. +% +% v0.0.7 May 15, 2003: Added index and updates for TeXpower v0.0.9d. +% +% v0.0.8 July 27, 2004: Added the "Miscellaneous commands" section. Moved the tpslifonts doc into tpslifonts.dtx. +% +%----------------------------------------------------------------------------------------------------------------- +% +\def\docversion{v0.0.8 of July 27, 2004} +\def\tpversion{v0.1b of July 27, 2004} + +\makeslidetitle +{% + Documentation% + \thanks{Documentation \docversion\ for \TeX Power \tpversion\ (alpha).}% + }% + +The \TeX Power bundle contains style and class files for creating dynamic online presentations with \LaTeX. + +The heart of the bundle is the package \code{texpower.sty} which implements some commands for presentation effects. This +includes setting page transitions, color highlighting and displaying pages incrementally. + +For finding out how to achieve special effects (as shown in the \nameref{Sec:Ex}), +please look at the comments inside the files ending with \code{example.tex} and \code{demo.tex} +and read this manual to find out what's going on. + +\newslide + +For your own first steps with \TeX Power, the simple demo file \code{simpledemo.tex} is the best starting +place. There, some basic applications of the dynamic features provided by the \code{texpower} package are +demonstrated. You can make your own dynamic presentations by modifying that demo to your convenience. + +\code{simpledemo.tex} uses the \code{article} document class for maximum +compatibility. There are other simple demos named +\code{slidesdemo.tex}, \code{foilsdemo.tex}, \code{seminardemo.tex}, +\code{pp4sldemo.tex}, \code{pdfslidemo.tex}, \code{pdfscrdemo.tex}, +\code{prosperdemo.tex}, and \code{ifmslidemo.tex} +which demonstrate how to combine \TeX Power with the +most popular presentation-making document classes and packages. + +\newslide + +The other, more sophisticated examples demonstrate the expressive power of the +\code{texpower} package. Look at the commented code of these examples to find out how to achieve special effects and +create your own presentation effects with \TeX Power. + +For the first \emph{alpha} release, this documentation will be completed. For the first \emph{beta} release, when the +code is a little more stable, the \code{texpower} package will be made into a properly documented \code{.dtx} file. + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{Usage and general options} +The \code{texpower} package is loaded by putting +\begin{center} + \present{\commandapp{usepackage}{texpower}} +\end{center} +into the preamble of a document. + +There are no specific restrictions as to which document classes can be used. + +It should be stressed that \TeX Power is \underl{not} (currently) a complete presentation package. It just adds dynamic +presentation effects (and some other gimmicks specifically interesting for dynamic presentations) and should always be +combined with a document class dedicated to designing presentations (or a package like +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfslide.html}{\code{pdfslide}}). + +Some of the presentation effects created by \code{texpower} require special capabilities of the viewer which is used for +presenting the resulting document. The target for the development of \code{texpower} has so far been +\href{http://www.adobe.com/products/acrobat/readermain.html}% +{\concept{Adobe Acrobat\textsuperscript{\textregistered} Reader}}, which means the +document should (finally) be produced in \code{pdf} format. The produced +\code{pdf} documents should display well in +\href{http://www.cs.wisc.edu/~ghost/gsview/}{\concept{GSview}} also, but that +viewer doesn't support page transitions and duration. + +There are no specific restrictions as to which way the \code{pdf} format is produced. All demos and examples +have been tested with pdf\LaTeX{} and standard \LaTeX, using +\code{dvips} and \href{http://www.adobe.com/products/acrobat/}% +{\concept{Adobe Acrobat\textsuperscript{\textregistered} Distiller}} +or \code{dvips} and \code{ps2pdf} (from the \href{http://www.ghostscript.com/}% +{\concept{Ghostscript suite}}) for generating \code{pdf}. + +\newslide + +\subsection{General options}\label{Sec:GenOpt} +\begin{description} +\item[\present{option: \code{display}}.]\indexpckopt{texpower}{display} Enable `dynamic' features. If not set, it is assumed that the document is to be + printed, and all commands for dynamic presentations, like \macroname{pause} or \macroname{stepwise} have no effect. + +\item[\present{option: \code{printout} (default)}.]\indexpckopt{texpower}{printout} Disable `dynamic' features. As this is the default behaviour, + setting this option explicitly is useful only if the option \code{display} is set by default for instance in the + \code{tpoptions.cfg} file (see section \ref{Sec:Config}). + +\item[\present{option: \code{verbose}}.]\indexpckopt{texpower}{verbose} Output some administrative info. +\end{description} +Some font options are listed in section \ref{Sec:BaseFont}. + +\newslide + +\subsection{Side effects of page contents duplication}\label{Sec:Dupl} +In the implementation of the \macroname{pause} and \macroname{stepwise} commands, it is neccessary to duplicate some +material on the page. + +This way, not only `visible' page contents will be duplicated, but also some `invisible' control code stored in +\concept{whatsits} (see the \TeX book for an explanation of this concept). Duplicating whatsits can lead to undesirable +side effects. + +For instance, a \macroname{section} command creates a whatsit for writing the table of contents entry. Duplicating this +whatsit will also duplicate the toc entry. + +\newslide + +So, whatsit items effecting file access are inhibited when duplicating page material. + +A second type of whatsits is created by \TeX's \macroname{special} command which is used for instance for color +management. Some drivers, like \code{dvips} and \code{textures}, use a color stack which is controlled by +\macroname{special} items included in the dvi file. When page contents are duplicated, then these \macroname{special}s +are also duplicated, which can seriously mess up the color stack. + +\newslide + +\code{texpower} implements a `color stack correction' method by maintaining a stack of color corrections, which should +counteract this effect. Owing to potential performance problems, this method is turned off by default. +\begin{description} +\item[\present{option: \code{fixcolorstack}}]\indexpckopt{texpower}{fixcolorstack} switches on color stack correction. Use it if you experience strange color + switches in your document. +\end{description} + +\newslide + +\subsection{Setting the base font}\label{Sec:BaseFont} +\code{texpower} offers no options for setting the base font of the document. +Use the \code{tpslifonts} package in stead. Read more in section \ref{Sec:TPslifonts}. + +Further, there are packages like \code{cmbright} or \code{beton} which change the whole set of fonts to something less +fragile than cmr. + +\newslide + +\subsection{Switches} +There are some boolean registers provided and set automatically by \code{texpower}. + +\begin{description} +\item[\present{boolean: \code{psspecialsallowed}}]\indexpckswitch{texpower}{psspecialsallowed} True if PostScript\textsuperscript{\textregistered} specials may be + used. + + \code{texpower} tries to find out whether or not PostScript\textsuperscript{\textregistered} specials may be used in + the current document. For instance, pdf\LaTeX{} can't interpret arbitrary specials. This switch is set automatically + and can be used inside a document to enable/disable parts which need PostScript\textsuperscript{\textregistered} + specials. + +\newslide + +\item[\present{boolean: \code{display}}]\indexpckswitch{texpower}{display} True if \code{display} option was given. + + This switch indicates whether `dynamic' features of \code{texpower} are enabled. Use it inside your document + to distinguish between the `presented' and the printed version of your document. + +\item[\present{boolean: \code{TPcolor}}]\indexpckswitch{texpower}{TPcolor} True if any of the color highlighting options (see section + \ref{Sec:ColorEmphasis}) were given. + + This switch indicates whether `color' features of \code{texpower} are enabled (compare section + \ref{Sec:ColorEmphasis}). You can use it inside your document to distinguish between a `colored' and a `monochrome' + version of your document. +\end{description} + +\newslide + +\subsection{Configuration files}\label{Sec:Config} +\code{texpower} loads three configuration files (if present): +\begin{description} +\item[\present{file: \code{tpoptions.cfg}}]\indexcode{tpoptions.cfg} + is loaded before options are processed. Can be used to set default options + in a system-specific way. See the comments inside the file + \code{tpoptions.cfg} which is part of the \TeX Power bundle + for instructions. + +\item[\present{file: \code{tpsettings.cfg}}]\indexcode{tpsettings.cfg} + is loaded at the end of \code{texpower}. Here, you can do some + system-specific settings. See the comments inside the + file \code{tpsettings.cfg} which is part of the + \TeX Power bundle for instructions. + +\item[\present{file: \code{tpcolors.cfg}}]\indexcode{tpcolors.cfg} + is loaded if \code{TPcolor} is true. The file defines the standard + colors/colorsets (see section \ref{Sec:ColorEmphasis}). See the + comments inside the file \code{tpcolors.cfg} which is part of the + \TeX Power bundle for instructions. +\end{description} + +\newslide + +\subsection{Miscellaneous commands}\label{Sec:MiscCmd} +Some important commands that don't fit in the latter sections: +\begin{description} +\item[\present{\commandapp{currentpagevalue}{\carg{value}}}]\indexmacro{currentpagevalue} + sets how to find the number of the current page, \commandapp{value}{page} is default. + Used to name the hyper target on the first subpage of every page. Also used in the + TeXPower navigation buttons. +\item[\present{\commandapp{pausesafecounter}{\carg{counter}}}]\indexmacro{pausesafecounter} + is used to add counters that are to be restored to their original value after \macroname{pause}. The \code{page} + counter is always restored. In addition the \code{slide} counter is restored if the \code{seminar} class is used. If + you need more counters to be restored after \macroname{pause}, use \macroname{pausesafecounter}. +\end{description} + +\newslide + +\subsection{Dependencies on other packages} +\code{textpower} always loads the packages \code{ifthen} and \code{calc}, as the extended command syntax provided by +these is indispensable for the macros to work. They are in the \code{base} and \code{tools} area of the \LaTeX{} +distribution, respectively, so I hope they are available on all systems. + +Furthermore, \code{texpower} loads the package \code{color} if any color-specific options are set (see section +\ref{Sec:ColorEmphasis}). + +Further packages are \emph{not} loaded automatically by \code{texpower} to avoid incompatibilities, although some +features of \code{texpower} are enabled \emph{only} if a certain package is loaded. If you wish to use these features, +you are responsible for loading the respective package yourself. + +If some necessary package is \emph{not} loaded, \code{texpower} will issue a warning and disable the respective +features. + +The following packages are neccessary for certain features of \code{texpower}: +\begin{description} +\item[\present{package: \code{hyperref}}]\indexfile{hyperref}{package} + is neccessary for page transition effects to work (see section + \ref{Sec:PageTrans}). + + In particular, the \macroname{pageDuration} (see section \ref{Sec:PageDuration}) command only works if the version of + hyperref loaded is at least v6.70a (where the \code{pdfpageduration} key was introduced). + + Commands which work only when \code{hyperref} is loaded are marked with \textbf{\textsf{h}} in the description. + +\newslide + +\item[\present{package: \code{soul}}]\indexfile{soul}{package} + is neccessary for the implementation of the commands \macroname{hidetext} and + \macroname{highlighttext} (see section \ref{Sec:displaycustom}). + + Commands which work only when \code{soul} is loaded are marked with \textbf{\textsf{s}} in the description. +\end{description} + +\newslide + +\subsection{What else is part of the \TeX Power bundle?} +Besides the package \code{texpower} (which is described here), there are four +more packages, \code{tpslifonts}, \code{fixseminar}, \code{automata} and +\code{tplists}, and one document class, +\code{powersem}, in the \TeX Power bundle which so far have no documentation +of their own. They will be described in this section until they are turned +into \code{dtx} files producing their own documentation. + +See the file \code{00readme.txt} which is part of the \TeX Power bundle for a short description of all files. + +\newslide + +\minisec{The document class \code{powersem}}\indexfile{powersem}{class} +This is planned to provide a more `modern' version of \code{seminar} which can be used for creating dynamic +presentations. + +Currently, this document class doesn't do much more than load \code{seminar} and apply some fixes, but it is planned to +add some presentation-specific features (like navigation panels). + +\newslide + +There are three new options which are specific for \code{powersem}, all other options are passed to \code{seminar}: +\begin{description} +\item[\present{option: \code{display}}]\indexpckopt{powersem}{display} + Turns off all features of \code{seminar} (notes, vertical centering of slides) + which can disturb dynamic presentations. + +\item[\present{option: \code{calcdimensions}}]\indexpckopt{powersem}{calcdimensions} + \code{seminar} automatically calculates the slide dimensions + \macroname{slidewidth} and \macroname{slideheight} only for the default \code{letter} and for its own option + \code{a4}. For all the other paper sizes which are possible with the \code{KOMA} option, the slide dimensions are not + calculated automatically. + + The \code{calcdimensions} option makes \code{powersem} calculate the slide dimensions automatically from paper size + and margins. + +\newslide + +\item[\present{option: \code{truepagenumbers}}]\indexpckopt{powersem}{truepagenumbers} + The truepagenumbers option makes powersem count pages with the counter page, independently of the counter slide. This + enables proper working of TeXPowers navigation buttons (some of which calculate relative page numbers) even when the + counter slide is reset frequently (for slide numberings of the type \verb|<l>.<n>.<m>|). + +\item[\present{option: \code{KOMA}}]\indexpckopt{powersem}{KOMA} Makes + \code{seminar} load \code{scrartcl} (from the KOMA-Script bundle) instead of + \code{article} as its base class. All new features of \code{scrartcl} are then available also for slides. + +\item[\present{option: \code{UseBaseClass}}]\indexpckopt{powersem}{UseBaseClass} + Makes \code{seminar} load the class \macroname{baseclass} (initially \code{article}) instead of + \code{article} as its base class. + +\item[\present{option: \code{reportclass}}]\indexpckopt{powersem}{reportclass} + Makes \code{seminar} load the class \macroname{baseclass} (initially \code{report}) instead of + \code{article}. + +\item[\present{option: \code{bookclass}}]\indexpckopt{powersem}{bookclass} + Makes \code{seminar} load the class \macroname{baseclass} (initially \code{book}) instead of + \code{article}. + +\end{description} + +There is one change in \code{powersem} which will lead to incompatibilities with \code{seminar}. \code{seminar} has the +unfortunate custom of \emph{not} exchanging \macroname{paperwidth} and \macroname{paperheight} when making landscape +slides, as for instance \code{typearea} and \code{geometry} do. + +This leads to problems with setting the paper size for \code{pdf} files, as done for instance by the \code{hyperref} +package. + +\code{powersem} effectively turns off \code{seminar}'s papersize management and leaves this to the base class (with the +pleasant side effect that you can use e.\,g.\ \commandapp[KOMA,a0paper]{documentclass}{powersem} for making posters). + +In consequence, the \code{portrait} option of \code{seminar} is turned on by \code{powersem} to avoid confusing +\code{seminar}. You have to explicitly use the \code{landscape} option (and a base class or package which understands +this option) to get landscape slides with powersem. + +\newslide + +\minisec{The package \code{fixseminar}}\indexfile{fixseminar}{package} +Unfortunately, there are some fixes to seminar which can \emph{not} be applied in \code{powersem} because they have to +be applied after \code{hyperref} is loaded (if this package should be loaded). + +The package \code{fixseminar} applies these fixes, so this package should be loaded after \code{hyperref} (if +\code{hyperref} is loaded at all, otherwise \code{fixseminar} can be loaded anywhere in the preamble). + +\newslide + +It applies two fixes: +\begin{itemize} +\item In case \code{pdflatex} is being run, the lengths \macroname{pdfpageheight} and \macroname{pdfpagewidth} have to + be set in a `magnification-sensitive' way. + +\item \code{hyperref} introduces some code at the beginning of every page which can produce spurious vertical space, + which in turn disturbs building dynamic pages. This code is `fixed' so it cannot produce vertical space. +\end{itemize} + +\newslide + +\minisec{The package \code{tpslifonts}} +\indexfile{tpslifonts}{package}\label{Sec:TPslifonts} +Presentations to be displayed `online' with a video beamer have special needs concerning font configuration owing to low +`screen' resolution and bad contrast caused by possibly bad light conditions combined with color highlighting. + +This package tries to cater to these needs by offering a holistic configuration of all document fonts, including text, +typewriter, and math fonts. Special features are `smooth scaling' of Type1 fonts and careful design size selection for +optimal readability. + +\newslide + +For more information on package options and used fonts (and on implementation) read the documentation coming with the +package - check the \code{tpslifonts} directory. + +\minisec{The package \code{automata}}\indexfile{automata}{package} +Experimental package for drawing automata in the sense of theoretical computer +science (using PSTricks) and animating them with TeXPower. Only DFA and Mealy +automata are supported so far. + +\newslide + +\minisec{The package \code{tplists}}\indexfile{tplists}{package} +Experimental package providing easy dynamic lists. Currently there are stepped, flipped and dimmed versions of itemize +and enumerate (and corresponding lists from the \code{eqlist} and \code{paralist} package). For more information +and an example read the start of the file \code{tplists.sty}. + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{The \macroname{pause} command}\label{Sec:pause} +\present{\macroname{pause}}\indexmacro{pause} is derived from the \macroname{pause} command from the package +\href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/pp4sty.zip}{\code{texpause}} which is part of the +\href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4 suite} by +\href{mailto:guntermann@iti.informatik.tu-darmstadt.de}{Klaus Guntermann}. + + It will ship out the current page, start a new page and copy whatever was on the current page onto the new page, where + typesetting is resumed. + + \ifthenelse{\boolean{display}}{Here, let's do a little demo\pause}{} + + This will create the effect of a \concept{pause} in the presentation, i.\,e.\ the presentation stops because the + current page ends at the point where the \macroname{pause} command occurred and is resumed at this point when the + presenter switches to the next page. + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item \macroname{pause} should appear in \concept{vertical mode} only, i.\,e.\ between paragraphs or at places where + ending the current paragraph doesn't hurt. + + \item This means \macroname{pause} is forbidden in all \concept{boxed} material (including \code{tabular}), + \concept{headers/footers}, and \concept{floats}. + + \item \macroname{pause} shouldn't appear either in environments which have to be \emph{closed} to work properly, like + \code{picture}, \code{tabbing}, and (unfortunately) environments for \concept{aligned math formulas}. + + \item \macroname{pause} does work in all environments which mainly influence paragraph formatting, like \code{center}, + \code{quote} or all \concept{list} environments. + + \newslide + + \item \macroname{pause} doesn't really have problems with automatic page breaking, but beware of \emph{overfull} + pages/slides. In this case, it may occur that only the last page(s)/slide(s) of a sequence are overfull, which + changes vertical spacing, making lines `wobble' when switching to the last page/slide of a sequence. + + \newslide + + \item The duplication of page material done by \macroname{pause} can lead to unwanted side effects. See section + \ref{Sec:Dupl} for further explanations. In particular, if you should experience strange color switches when using + \macroname{pause} (and you are \underl{not} using \code{pdftex}), turn on color stack correction with the option + \code{fixcolorstack}. In addition you should be aware of \macroname{pausesafecounter}, see section + \ref{Sec:MiscCmd}. + + \end{enumerate} + + A lot of the restrictions for the use of pause can be avoided by using \macroname{stepwise} (see next section). + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \section{The \macroname{stepwise} command} + \present{\commandapp{stepwise}{\carg{contents}}}\indexmacro{stepwise} is a command for displaying some part of a \LaTeX{} document (which + is contained in \carg{contents}) `step by step'. As of itself, \macroname{stepwise} doesn't do very much. If + \carg{contents} contains one or more constructs of the form \present{\commandapp{step}{\carg{stepcontents}}}\indexmacro{step}, the + following happens: + \begin{enumerate} + \item The current contents of the page are saved (as with \macroname{pause}). + + \item As many pages as there are \macroname{step} commands in \carg{contents} are produced. + + Every page starts with what was on the current page when \macroname{stepwise} started. + + \newslide + + The first page also contains everything in \carg{contents} which is \emph{not} in \carg{stepcontents} for any + \macroname{step} command. + + The second page additionally contains the \carg{stepcontents} for the \emph{first} \macroname{step} command, and so + on, until all \carg{stepcontents} are displayed. + + \item When all \carg{stepcontents} are displayed, \macroname{stepwise} ends and typesetting is resumed (still on the + current page). + \end{enumerate} + + \parstepwise{This will create the effect that the \macroname{step} commands are executed `\step{step} \step{by} + \step{step}'.} + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item \macroname{stepwise} should appear in \concept{vertical mode} only, i.\,e.\ between paragraphs, just like + \macroname{pause}. + + \item Don't put \macroname{pause} or nested occurrences of \macroname{stepwise} into \carg{contents}. + + \item Structures where \macroname{pause} does not work (like \code{tabular} or aligned equations) can go + \emph{completely} into \carg{contents}, where \macroname{step} can be used freely (see \nameref{Sec:Ex}). + + \item As \carg{contents} is read as a macro argument, constructs involving \concept{catcode} changes (like + \macroname{verb} or language switches) won't work in \carg{contents}. Using a suggestion by \name{Ross + Moore}, I hope to remedy this until the \emph{alpha} release. + +\newslide + + \item Several instances of \macroname{stepwise} may occur on one page, also combined with \macroname{pause} (outside + of \carg{contents}). + + But beware of page breaks in \carg{contents}. This will really mess things up. + + Overfull pages/slides are also a problem, just like with \macroname{pause}. See the description of \macroname{pause} + (section \ref{Sec:pause}) concerning this and also concerning side effects of duplicating page material. + + \item \macroname{step} can go in \carg{stepcontents}. The order of execution of \macroname{step} commands is just the + order in which they appear in \carg{contents}, independent of nesting within each other. + + \newslide + + \item As \carg{contents} is executed several times, \LaTeX{} constructs changing \concept{global counters}, accessing + \concept{files} etc.\ are problematic. This concerns sections, numbered equations, labels, hyperlinks and the like. + + Counters are taken care of explicitly by \macroname{stepwise}, so equation numbers are no problem. + + Commands accessing toc files and such (like \macroname{section}) are taken care of by the whatsit suppression + mechanism (compare section \ref{Sec:Dupl}). + + Labels and hyperlinks work sort of (giving a lot of warnings though). + + I will try to remedy remaining problems until the first \emph{alpha} release. + \end{enumerate} + + \newslide + + \subsection{\macroname{boxedsteps} and \macroname{nonboxedsteps}}\label{Sec:boxedsteps}% + By default, \carg{stepcontents} belonging to a \macroname{step} which is not yet `active' are ignored altogether. This + makes it possible to include e.\,g.\ tabulators \code{\&} or line breaks into \carg{stepcontents} without breaking + anything. + + Sometimes, however, this behaviour is undesirable, for instance when stepping through an equation `from outer to + inner', or when filling in blanks in a paragraph. Then, the desired behaviour of a \macroname{step} which is not yet + `active' is to create an appropriate amount of \emph{blank space} where \carg{stepcontents} can go as soon as it is + activated. + + \newslide + + The simplest and most robust way of doing this is to create an empty box (aka \macroname{phantom}) with the same + dimensions as the text to be hidden. + + This behaviour is toggled by the following commands. See section \ref{Sec:displaycustom} for more sophisticated + (albeit more fragile) variants. + \begin{description} + \item[\present{\macroname{boxedsteps}}]\indexmacro{boxedsteps} makes \macroname{step} create a blank box the size of \carg{stepcontents} when + inactive and put \carg{stepcontents} into a box when active. + \item[\present{\macroname{nonboxedsteps}}]\indexmacro{nonboxedsteps} makes \macroname{step} ignore \carg{stepcontents} when inactive and leave + \carg{stepcontents} alone when active (default). + \end{description} + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item The settings effected by \macroname{boxedsteps} and \macroname{nonboxedsteps} are \emph{local}, i.\,e.\ whenever + a group closes, the setting is restored to its previous value. + + \item Putting stuff into boxes can break things like tabulators (\code{\&}). It can also mess up math spacing, which + then has to be corrected manually. Compare the following examples: + + \parstepwise{% + \begin{displaymath} + \left(\frac{a+b}{c}\right)\qquad\left(\frac{a\step{+b}}{c}\right)\qquad\left(\frac{a\restep{{}+b}}{c}\right) + \end{displaymath}% + }% + \end{enumerate} + + \newslide + + \subsection{Custom versions of \macroname{stepwise}}% + Sometimes, it might happen that vertical spacing is different on every page of a sequence generated by + \macroname{stepwise}, making lines `wobble'. + + This is caused by interactions between different ways vertical spacing is added to the page. Hopefully, problems + caused this way can be reduced until the first \emph{alpha} release. + + \newslide + + There are two custom versions of \macroname{stepwise} which should produce better vertical spacing. + \begin{description} + \item[\present{\commandapp{liststepwise}{\carg{contents}}}] + \indexmacro{liststepwise} works exactly like \macroname{stepwise}, but adds + an `invisible rule' before \carg{contents}. Use for list environments and + aligned equations. + \item[\present{\commandapp{parstepwise}{\carg{contents}}}] + \indexmacro{parstepwise} works like \macroname{liststepwise}, but + \macroname{boxedsteps} is turned on by default. Use for texts where + \macroname{step}s are to be filled into blank spaces. + \end{description} + + \newslide + + \subsection{Starred versions of \macroname{stepwise} commands}\label{Sec:StarredStepwise}% + Usually, the first page of a sequence produced contains \emph{only} material which is \emph{not} part of any + \carg{stepcontents}. The first \carg{stepcontents} are displayed on the second page of the sequence. + + For special effects (see example \ref{Sec:Exhl}), it might be desirable to have the first \carg{stepcontents} active + even on the first page of the sequence. + + All variants of \macroname{stepwise} have a starred version (e.\,g.\ \macroname{stepwise*}) which does exactly that. + + \newslide + + \subsection{The optional argument of \macroname{stepwise}}% + Every variant of \macroname{stepwise} takes an optional argument, like this + \begin{center} + \present{\commandapp[\carg{settings}]{stepwise}{\carg{contents}}}. + \end{center} + \carg{settings} will be placed right before the internal loop which produces the sequence of pages. It can + contain settings of parameters which modify the behaviour of \macroname{stepwise} or \macroname{step}. \carg{settings} + is placed inside a group so all changes are local to this call of \macroname{stepwise}. + + Some internal macros and counters which can be adjusted are explained in the following. + + \newslide + + \subsection{Customizing the way \carg{stepcontents} is diplayed}\label{Sec:displaycustom}% + Internally, there are three macros (taking one argument each) which control how \carg{stepcontents} is displayed: + \macroname{displaystepcontents}\indexmacro{displaystepcontents}, + \macroname{hidestepcontents}\indexmacro{hidestepcontents}, and + \macroname{activatestep}\indexmacro{activatestep}. Virtually, every + \commandapp{step}{\carg{stepcontents}} is replaced by + \begin{description} + \item[\present{\commandapp{hidestepcontents}{\carg{stepcontents}}}]\mbox{}\\ when this step is not yet active. + \item[\present{\commandapp{displaystepcontents}{\commandapp{activatestep}{\carg{stepcontents}}}}] when this step is + activated \emph{for the first time}. + \item[\present{\commandapp{displaystepcontents}{\carg{stepcontents}}}]\mbox{}\\ + when this step has been activated before. + \end{description} + + By redefining these macros, the behaviour of \macroname{step} is changed accordingly. You can redefine them inside + \carg{contents} to provide a change affecting one \macroname{step} only, or in the optional argument of + \macroname{stepwise} to provide a change for all \macroname{step}s inside \carg{contents}. + + In the \nameref{Sec:Ex}, it is demonstrated how special effects can be achieved by redefining these macros. + + \macroname{activatestep} is set to \macroname{displayidentical} by default, the default settings of + \macroname{hidestepcontents} and \macroname{displaystepcontents} depend on whether \macroname{boxedsteps} or + \macroname{nonboxedsteps} (default) is used. + + \newslide + + \code{texpower} offers nine standard definitions. + + For interpreting \macroname{displaystepcontents}: + \begin{description} + \item[\present{\macroname{displayidentical}}]\indexmacro{displayidentical} + Simply expands to its argument. The same as \LaTeX s + \macroname{@ident}. Used by \macroname{nonboxedsteps} (default). + + \item[\present{\macroname{displayboxed}}]\indexmacro{displayboxed} + Expands to an \macroname{mbox} containing its argument. Used by + \macroname{boxedsteps}. + \end{description} + + \newslide + + For interpreting \macroname{hidestepcontents}: + \begin{description} + \item[\present{\macroname{hideignore}}]\indexmacro{hideignore} + Expands to nothing. The same as \LaTeX s \macroname{@gobble}. Used by + \macroname{nonboxedsteps} (default). + + \item[\present{\macroname{hidephantom}}]\indexmacro{hidephantom} + Expands to a \macroname{phantom} containing its argument. Used by + \macroname{boxedsteps}. + + \item[\present{\macroname{hidevanish}}]\indexmacro{hidevanish} + In a colored document, makes its argument `vanish' by setting all colors to + \macroname{vanishcolor} (defaults to \code{pagecolor}; compare section + \ref{Sec:Colorcommands}). Note that this will give weird results with + structures backgrounds. + + For monochrome documents, there is no useful interpretation for this command, so it is disabled. + + \newslide + + \item[{\present[s]{\macroname{hidetext}}}]\indexmacro{hidetext} + Produces blank space of the same dimensions as the space that would be + occupied if its argument would be typeset in the current paragraph. Respects automatic hyphenation and line breaks. + + This command needs the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package + to work, which is not loaded by \code{texpower} itself. Consult the documentation of + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} concerning restrictions on + commands implemented using \code{soul}. If you don't load the \code{soul} package yourself, there is no useful + definition for this command, so it defaults to \macroname{hidephantom}. + + \newslide + + \item[\present{\macroname{hidedimmed}}]\indexmacro{hidedimmed} + In a colored document, displays its argument with dimmed colors (compare + section \ref{Sec:Colors}). Note that this doesn't make the argument completely invisible. + + For monochrome documents, there is no useful interpretation for this command, so it is disabled. + \end{description} + + \newslide + + For interpreting \macroname{activatestep}: + \begin{description} + \item[\present{\macroname{highlightboxed}}]\indexmacro{highlightboxed} + If the \code{colorhighlight} option (see section \ref{Sec:ColorEmphasis}) + is set, expands to a \highlightboxed{box with colored background} containing its argument. Otherwise, expands to an + \macroname{fbox} containing its argument. It is made sure that the resulting box has the same dimensions as the + argument (the outer frame may overlap surrounding text). + + There is a new length register \present{\macroname{highlightboxsep}} + \indexmacro{highlightboxsep} which acts like \macroname{fboxsep} for the + resulting box and defaults to \code{0.5\macroname{fboxsep}}. + + \newslide + + \item[{\present[s]{\macroname{highlighttext}}}]\indexmacro{highlighttext} + If the \code{colorhighlight} option (see section \ref{Sec:ColorEmphasis}) + is set, puts its argument \highlighttext{on colored background}. Otherwise, underlines its + argument. It is made sure that the resulting text has the same dimensions as the argument (the outer frame may + overlap surrounding text). + + \present{\macroname{highlightboxsep}} is used to determine the extent of the coloured box(es) used as background. + + This command needs the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package + to work (compare the description of \macroname{hidetext}). If you don't load the \code{soul} package yourself, there + is no useful definition for this command, so it is disabled. + + \newslide + + \item[\present{\macroname{highlightenhanced}}]\indexmacro{highlightenhanced} + In a colored document, displays its argument \highlightenhanced{with + enhanced colors} (compare section \ref{Sec:Colors}). + + For monochrome documents, there is no useful interpretation for this command, so it is disabled. + \end{description} + + \newslide + + \subsection{Variants of \macroname{step}} + There are a couple of custom versions of \macroname{step} which make it easier to achieve special effects needed + frequently. + \begin{description} + \item[\present{\macroname{bstep}}]\indexmacro{bstep} + Like \macroname{step}, but is \emph{always} boxed (see section + \ref{Sec:boxedsteps}). \commandapp{bstep}{\carg{stepcontents}} is + implemented in principle as + \code{\{\macroname{boxedsteps}\commandapp{step}{\carg{stepcontents}}\}}. + + In aligned equations where \macroname{stepwise} is used for being able to put tabulators into \carg{stepcontents}, + but where nested occurrences of \macroname{step} should be boxed to assure correct sizes of growing braces or such, + this variant of \macroname{step} is more convenient than using \macroname{boxedsteps} for every nested occurrence + of \macroname{step}. + + \item[\present{\commandapp{switch}{\carg{ifinactive}\}\{\carg{ifactive}}}] + \indexmacro{switch} is a variant of \macroname{step} which, + instead of making its argument appear, switches between \carg{ifinactive} + and \carg{ifactive} when activated. + + In fact, \commandapp{step}{\carg{stepcontents}} is in principle implemented by + \begin{tabbing} + \macroname{switch}\=\code{\{\commandapp{hidestepcontents}{\carg{stepcontents}}\}}\\ + \>\code{\{\commandapp{displaystepcontents}{\carg{stepcontents}}\}} + \end{tabbing} + + This command can be used, for instance, to add an \macroname{underbrace} to a formula, which is difficult using + \macroname{step}. + + Beware of problems when \carg{ifinactive} and \carg{ifactive} have different dimensions. + + \newslide + + \item[\present{\macroname{dstep}}]\indexmacro{dstep} + A variant of \macroname{step} which takes \underl{no} argument, but simply + switches colors to `dimmed' (compare section \ref{Sec:Colors}) if not + active. Not that the scope of this color change will + last until the next outer group closes. This command does nothing in a monochrome document. + + \item[\present{\macroname{vstep}}]\indexmacro{vstep} + A variant of \macroname{step} which takes \underl{no} argument, but simply + switches all colors to \macroname{vanishcolor} (defaults to + \code{pagecolor}; compare section \ref{Sec:Colorcommands}) if not + active. Not that the scope of this color change will last until the next outer group closes. This command does + nothing in a monochrome document. + + \item[\present{\macroname{steponce}}]\indexmacro{steponce} + % \steponce[<activatefirst>]{<stepcontents>} + Like \macroname{step}, but goes inactive again in the subsequent step. + + \item[\present{\macroname{multistep}}]\indexmacro{multistep} + is a shorthand macro for executing several steps successively. In + fact, it would better be called \macroname{multiswitch}, because it's + functionality is based on \macroname{switch}, it only acts like a + (simplified) \macroname{step} command which is executed `several times'. + The syntax is + \begin{center} + \commandapp[\carg{activatefirst}]{multistep}{\carg{n}\}\{\carg{stepcontents}} + \end{center} + where \carg{n} is the number of steps. Only one instance of + \carg{stepcontents} is displayed at a time. Inside \carg{stepcontents}, a + counter \code{substep} can be evaluated which tells the number of the + current instance. In the starred form the last instance of + \carg{stepcontents} stays visible. + + \item[\present{\macroname{movie}}]\indexmacro{movie} + works like \macroname{multistep}, but between \macroname{steps}, pages are + advanced automatically every \carg{dur} seconds. The syntax is + \begin{center} + \commandapp{movie}{\carg{n}\}\{\carg{dur}\}[\carg{stop}]\{\carg{stepcontents}} + \end{center} + where \carg{n} is the number of steps. The additional optional argument + \carg{stop} gives the code (default: \macroname{stopAdvancing}) + \indexmacro{stopAdvancing} which stops the animation. + (\macroname{movie} accepts the same first optional argument as + \macroname{multistep} but it was left out above.) + + + \item[\present{\macroname{overlays}}]\indexmacro{overlays} + is another shorthand macro for executing several steps successively. In + contrast to \macroname{multistep}, it doesn't print things \emph{after} + each other, but \emph{over} each other. The syntax is + \begin{center} + \commandapp[\carg{activatefirst}]{overlays}{\carg{n}\}\{\carg{stepcontents}} + \end{center} + where \carg{n} is the number of steps. Inside \carg{stepcontents}, a + counter \code{substep} can be evaluated which tells the number of the + current instance. + \newslide + + \item[\small% + \present{\macroname{restep}}\indexmacro{restep}, + \present{\macroname{rebstep}}\indexmacro{rebstep}, + \present{\macroname{reswitch}}\indexmacro{reswitch}, + \present{\macroname{redstep}}\indexmacro{redstep}, + \present{\macroname{revstep}}\indexmacro{revstep}.]\mbox{}\\ + Frequently, it is desirable for two or more steps to appear at the same + time, for instance to fill in arguments at + several places in a formula at once (see example \ref{Sec:ExEq}). + + \present{\commandapp{restep}{\carg{stepcontents}}} is identical with \commandapp{step}{\carg{stepcontents}}, but is + activated at the same time as the previous occurrence of \macroname{step}. + + \present{\macroname{rebstep}}, \present{\macroname{reswitch}}, \present{\macroname{redstep}}, and + \present{\macroname{revstep}} do the same for \macroname{bstep}, \macroname{switch}, \macroname{dstep}, and + \macroname{vstep}. + \end{description} + + \newslide + + \subsection{Optional arguments of \macroname{step}}% + Sometimes, letting two \macroname{step}s appear at the same time (with \macroname{restep}) is not the only desirable + modification of the order in which \macroname{step}s appear. \macroname{step}, \macroname{bstep} and + \macroname{switch} take two optional arguments for influencing the mode of activation, like this: + \begin{center} + \present{\commandapp[{\carg{activatefirst}][\carg{whenactive}}]{step}{\carg{stepcontents}}}. + \end{center} + Both \carg{activatefirst} and \carg{whenactive} should be conditions in the syntax of the \macroname{ifthenelse} + command (see the documentation of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/ifthen.html}{\code{ifthen}} package for details). + + \newslide + + \present{\carg{activatefirst}} checks whether this \macroname{step} is to be activated \emph{for the first time}. The + default value is \present{\commandapp{value}{step}=\commandapp{value}{stepcommand}} (see section \ref{Sec:Internals} + for a list of internal values). By using \commandapp{value}{step}=\carg{$n$}, this \macroname{step} can be forced to + appear as the $n$th one. See example \ref{Sec:ExPar} for a demonstration of how this can be used to make + \macroname{step}s appear in arbitrary order. + + \present{\carg{whenactive}} checks whether this \macroname{step} is to be considered active \emph{at all}. The default + behaviour is to check whether this \macroname{step} has been activated before (this is saved internally for every + step). See example \ref{Sec:ExFooling} for a demonstration of how this can be used to make \macroname{step}s appear + and disappear after a defined fashion. + + \minisec{If you know what you're doing\dots} + Both optional arguments allow two syntctical forms: + \begin{enumerate} + \item enclosed in square brackets \code{[]} like explained above. + \item enclosed in braces \code{()}. In this case, \carg{activatefirst} and \carg{whenactive} are \emph{not} treated as + conditions in the sense of \macroname{ifthenelse}, but as conditionals like those used internally by \LaTeX. That + means, \carg{activatefirst} (when enclosed in braces) can contain arbitrary \TeX{} code which then takes two + arguments and expands to one of them, depending on whether the condition is fulfilled or not fulfilled. For + instance, \commandapp[{\carg{activatefirst}}]{step}{\carg{stepcontents}} could be replaced by + \macroname{step}\code{(\commandapp{ifthenelse}{\carg{activatefirst}})\{\carg{stepcontents}\}}. + + See example \ref{Sec:ExBackwards} for a simple application of this syntax. + \end{enumerate} + + Internally, the default for the treatment of \carg{whenactive} is \code{(\macroname{if@first@TP@true})}, where + \macroname{if@first@TP@true} is an internal condition checking whether this \macroname{step} has been activated before. + + \newslide + + \subsection{Finding out what's going on}\label{Sec:Internals}% + Inside \carg{settings} and \carg{contents}, you can refer to the following internal state variables which provide + information about the current state of the process executed by \macroname{stepwise}: + \begin{description} + \item[\present{counter: \code{firststep}}] + \indexstepwise{firststep}{counter} + The number from which to start counting steps (see counter \code{step} + below). Is $0$ by default and $1$ for starred versions (section \ref{Sec:StarredStepwise}) of \macroname{stepwise}. + You can set this in \carg{settings} for special effects (see example \ref{Sec:ExBackwards}). + + \item[\present{counter: \code{totalsteps}}] + \indexstepwise{totalsteps}{counter} + The total number of \macroname{step} commands occurring in \carg{contents}. + + \newslide + + \item[\present{counter: \code{step}}] + \indexstepwise{step}{counter} + The number of the current iteration, i.\,e.\ the number of the current page in + the sequence of pages produced by \macroname{stepwise}. Runs from \commandapp{value}{firststep} to + \commandapp{value}{totalsteps}. + + \item[\present{counter: \code{stepcommand}}] + \indexstepwise{stepcommand}{counter} + The number of the \macroname{step} command currently being executed. + + \item[\present{boolean: \code{firstactivation}}] + \indexstepwise{firstactivation}{boolean} + \code{true} if this \macroname{step} is active for the first time, + \code{false} otherwise. + + \item[\present{boolean: \code{active}}]\indexstepwise{active}{boolean} + \code{true} if this \macroname{step} is currently active, \code{false} + otherwise. + \end{description} + \code{stepcommand}, \code{firstactivation}, and \code{active} are useful only inside \carg{stepcontents}. + + + \newslide + + \subsection{\macroname{afterstep}}\indexmacro{afterstep}% + It might be neccessary to set some parameters which affect the appearance of the \emph{page} (like page transitions) + inside \carg{stepcontents}. However, the \macroname{step} commands are usually placed deeply inside some structure, so + that all \emph{local} settings are likely to be undone by groups closing before the page is completed. + + \present{\commandapp{afterstep}{\carg{settings}}} puts \carg{settings} right before the end of the page, after the + current step is performed. + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item There can be only one effective value for \carg{settings}. Every occurrence of \macroname{afterstep} overwrites + this value globally. + + \item \macroname{afterstep} will \emph{not} be executed in \carg{stepcontents} if the corresponding \macroname{step} + is not active, even if \carg{stepcontents} is displayed owing to a redefinition of \macroname{hidestepcontents}, + like in example \ref{Sec:Exhl}. + + \item As \carg{settings} is put immediately before the page break, there is no means of restoring the original value + of whatever has been set. So if you set something via \macroname{afterstep} and want it to be reset in some later + step, you have to reset it explicitly with another call of \macroname{afterstep}. + \end{enumerate} + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \section{Page transitions and automatic advancing}\label{Sec:PageTrans} + \subsection{Page transitions} + I am indepted to \href{mailto:dongen@cs.ucc.ie}{\name{Marc van Dongen}} for allowing me to include a suite of commands + written by him and posted to the \href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4} + mailing list which set page transitions (using + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}s} \macroname{hypersetup}). + + These commands work only if the \code{hyperref} package is loaded. + + \newslide + + The following page transition commands are defined:\pause + \begin{description} + \item[{\present[h]{\macroname{pageTransitionSplitHO}}}] + \indexmacro{pageTransitionSplitHO} + Split Horizontally to the outside. \pageTransitionSplitHO\pause + + \item[{\present[h]{\macroname{pageTransitionSplitHI}}}] + \indexmacro{pageTransitionSplitHI} + Split Horizontally to the inside. \pageTransitionSplitHI\pause + + \item[{\present[h]{\macroname{pageTransitionSplitVO}}}] + \indexmacro{pageTransitionSplitVO} + Split Vertically to the outside. \pageTransitionSplitVO\pause + + \item[{\present[h]{\macroname{pageTransitionSplitVI}}}] + \indexmacro{pageTransitionSplitVI} + Split Vertically to the inside. \pageTransitionSplitVI\pause + + \item[{\present[h]{\macroname{pageTransitionBlindsH}}}] + \indexmacro{pageTransitionBlindsH} + Horizontal Blinds. \pageTransitionBlindsH\pause + + \item[{\present[h]{\macroname{pageTransitionBlindsV}}}] + \indexmacro{pageTransitionBlindsV} + Vertical Blinds. \pageTransitionBlindsV + + \newslide + + \item[{\present[h]{\macroname{pageTransitionBoxO}}}] + \indexmacro{pageTransitionBoxO} + Growing Box. \pageTransitionBoxO\pause + + \item[{\present[h]{\macroname{pageTransitionBoxI}}}] + \indexmacro{pageTransitionBoxI} + Shrinking Box. \pageTransitionBoxI\pause + + \item[{\present[h]{\commandapp{pageTransitionWipe}{\carg{angle}}}}] + \indexmacro{pageTransitionWipe}\mbox{}\\ + Wipe from one edge of the page to the facing edge. + + \stepwise + {% + \carg{angle} is a number between $0$ and $360$ which specifies the direction (in degrees) in which to wipe. + + Apparently, only the values \afterstep{\pageTransitionWipe{0}}$0$, \step{\afterstep{\pageTransitionWipe{90}}$90$,} + \step{\afterstep{\pageTransitionWipe{180}}$180$,} \step{$270$ are supported.}% + }% + \pageTransitionWipe{270}\pause + + \item[{\present[h]{\macroname{pageTransitionDissolve}}}] + \indexmacro{pageTransitionDissolve} + Dissolve. \pageTransitionDissolve + + \newslide + + \item[{\present[h]{\commandapp{pageTransitionGlitter}{\carg{angle}}}}] + \indexmacro{pageTransitionGlitter}\mbox{}\\ + Glitter from one edge of the page to the facing edge. + + \stepwise + {% + \carg{angle} is a number between $0$ and $360$ which specifies the direction (in degrees) in which to glitter. + + Apparently, only the values \afterstep{\pageTransitionGlitter{0}}$0$, + \step{\afterstep{\pageTransitionGlitter{270}}$270$,} \step{$315$ are supported.}% + }% + \pageTransitionGlitter{315}\pause + + \item[{\present[h]{\macroname{pageTransitionReplace}}}] + \indexmacro{pageTransitionReplace} + Simple Replace (the default). + \end{description} + + \pageTransitionReplace + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item The setting of the page transition is a property of the \emph{page}, i.~e.\ whatever page transition is in + effect when a page break occurs, will be assigned to the corresponding pdf page. + + \item The setting of the page transition is undone when a group ends. + + Make sure no \LaTeX{} environment is ended between a \macroname{pageTransition} setting and the next page break. In + particular, in \carg{stepcontents}, \macroname{afterstep} should be used (see example \ref{Sec:ExPic}). + + \newslide + + \item Setting page transitions works well with \macroname{pause}. Here, \macroname{pause} acts as a page break, + i.\,e.\ a different page transition can be set before every occurrence of \macroname{pause}. + \end{enumerate} + + \newslide + + \subsection{Automatic advancing of pages}\label{Sec:PageDuration} + If you have loaded a sufficiently new version of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}} package (which allows to + set \code{pdfpageduration}), then the following command is defined which enables automatic advancing of \code{pdf} + pages. + + \present[h]{\commandapp{pageDuration}{\carg{dur}}}\indexmacro{pageDuration} + causes pages to be advanced automatically every \carg{dur} + seconds. \carg{dur} should be a non-negative fixed-point number. + + \pageDuration{2}\pause + + Depending on the \code{pdf} viewer, this will happen only in full-screen mode. + + See example \ref{Sec:ExFooling} for a demonstration of this effect. + + \stopAdvancing + + \newslide + + The same restrictions as for \concept{page transitions} apply. In particular, the page duration setting is undone by + the end of a group, i.\,e.\ it is useless to set the page duration if a \LaTeX{} environment ends before the next page + break. + + There is no `neutral' value for \carg{dur} ($0$ means advance as fast as possible). You can make automatic advancing + stop by calling \commandapp{pageDuration}{}. \code{texpower} offers the custom command + \begin{center} + \present[h]{\macroname{stopAdvancing}}\indexmacro{stopAdvancing} + \end{center} + to do this. + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \section{Color management, color emphasis and highlighting}\label{Sec:ColorEmphasis} + \TeX Power tries to find out whether you are making a colored document. This is assumed if + \begin{itemize} + \item the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package has been + loaded before the \code{texpower} package or + \item a color-related option (see sections \ref{Sec:ColBgdOpt} and \ref{Sec:ColorOptions}) is given to the + \code{texpower} package (in this case, the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package is loaded + automatically). + \end{itemize} + If this is the case, \TeX Power installs an extensive color management scheme on top of the kernel of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package. + + In the following, some new concepts established by this management scheme are explained. Sections \ref{Sec:ColBgdOpt} + and \ref{Sec:ColorOptions} list options for color activation, section \ref{Sec:Colorcommands} lists some new + highlighting commands, and section \ref{Sec:Colors} gives the names and meaning of \TeX Power's predefined colors. + + Note that parts of the kernel of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package are overloaded for + special purposes (getting driver-independent representations of defined colors to be used by \macroname{colorbetween} + (\ref{Sec:MiscColorCommands}), for instance), so it is recommended to execute color definition commands like + \macroname{definecolor} \emph{after} the \code{texpower} package has been loaded (see also the next section on + \macroname{defineTPcolor}). + + \newslide + + \subsection{Standard colors}\label{Sec:StdCols} + \TeX Power maintains a list of \concept{standard colors} which are recognized and handled by \TeX Power's color + management. Some commands like \macroname{dimcolors} (see section \ref{Sec:ColorVariants}) affect \emph{all} standard + colors. There are some predefined colors which are in this list from the outset (see section \ref{Sec:Colors}). + + If colors defined by the user are to be recognized by \TeX Power, they have to be included in this list. The easiest + way is to use the following command for defining them. + + \newslide + + \present{\commandapp{defineTPcolor}{\carg{name}\}\{\carg{model}\}\{\carg{def}}} + \indexmacro{defineTPcolor} acts like \macroname{definecolor} + \indexmacro{defineTPcolor} from the \code{color} package, but the color + \carg{name} is also added to the list of standard colors. + + If you want to make a color a standard color which is defined elsewhere (by a document class, say), you can simply add + it to the list of standard colors with the command + \present{\commandapp{addTPcolor}{\carg{name}}}\indexmacro{addTPcolor}. + + \newslide + + \subsection{Color sets} + Every standard color may be defined in one or several \concept{color sets}. There are two fundamentally different + types of color set: + \begin{description} + \item[The current color set.] This contains the current definition of every standard color which is actually used at + the moment. Every standard color should be defined at least in the current color set. The current color set is not + distinguished by a special name. + + \newslide + + \item[Named color sets.] These are `containers' for a full set of color definitions (for the standard colors) which + can be activated by respective commands (see below). The color sets are distinguished by their names. Color + definitions in a named color set are not currently available, they have to be made available by activating the named + color set. + + There are four predefined color sets named \code{whitebg}\indexcode{whitebg}, + \code{lightbg}\indexcode{lightbg}, \code{darkbg}\indexcode{darkbg}, + \code{blackbg}\indexcode{blackbg}, each of which contains a full set of (predefined) + standard colors customized for a white, light, dark, black background + color, respectively. + \end{description} + + \newslide + + There are the following commands for manipulating color sets: + \begin{description} + \item[\present{\commandapp{usecolorset}{\carg{name}}}]\indexmacro{usecolorset} + Make the color set named \carg{name} the current color set. + \emph{All standard colors in the current color set which are also in color set \carg{name} are overwritten.} + + The standard color \code{textcolor} is set automatically after activating color set \carg{name}. + + \item[\present{\commandapp{dumpcolorset}{\carg{name}}}]\indexmacro{dumpcolorset} + Copy the definitions of \emph{all} standard colors in the + current color set into color set named \carg{name}. All standard colors in color set \carg{name} will be + overwritten. + \end{description} + + \newslide + + Using \commandapp{defineTPcolor}{\carg{name}} or \commandapp{definecolor}{\carg{name}} will define the color + \carg{name} in the \emph{current} color set. To define a color in color set \carg{cset}, use + \present{\commandapp[\carg{cset}]{defineTPcolor}{\carg{name}}}. + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item Color sets are not really `\TeX{} objects', but are distinguished by color name suffixes. This means, a color + named \code{foo} is automatically in the current color set. Executing \commandapp[\carg{cset}]{defineTPcolor}{foo} + means executing \macroname{definecolor} for a specific color the name of which is a combination of \code{foo} and + \carg{cset}. + + Consequently, \macroname{usecolorset} and \macroname{dumpcolorset} do not copy color sets as composite objects, but + simply all colors the names of which are generated from the list of standard colors. + + \newslide + + \item The command \commandapp{usecolorset}{\carg{name}} overwrites only those colors which have been defined in color + set \carg{name}. If a standard color is defined in the current color set, but not in color set \carg{name}, it is + preserved (but if \commandapp{dumpcolorset}{\carg{name}} is executed later, then it will also be copied back into + the color set \carg{name}). + \end{enumerate} + + \newslide + + \subsection{Color Background Options}\label{Sec:ColBgdOpt} + For activating the predefined color sets, there are shorthands + \macroname{whitebackground}\indexmacro{whitebackground}, + \macroname{lightbackground}\indexmacro{lightbackground}, + \macroname{darkbackground}\indexmacro{darkbackground}, + \macroname{blackbackground}\indexmacro{blackbackground} which execute + \macroname{usecolorset} and additionally set the background color to its current value. + + \newslide + + When one of the following options is given, the respective command is executed automatically at the beginning of the + document. + \begin{description} + \item[\present{option: \code{whitebackground} (default)}] + \indexpckopt{texpower}{whitebackground} + Set standard colors to match a white background color. + + \item[\present{option: \code{lightbackground}}] + \indexpckopt{texpower}{lightbackground} + Set standard colors to match a light (but not white) background color. + + \item[\present{option: \code{darkbackground}}] + \indexpckopt{texpower}{darkbackground} + Set standard colors to match a dark (but not black) background color. + + \item[\present{option: \code{blackbackground}}] + \indexpckopt{texpower}{blackbackground} + Set standard colors to match a black background color. + \end{description} + + \newslide + + \subsection{Color variants}\label{Sec:ColorVariants} + In addition to color sets, \TeX Power implements a concept of \concept{color variant}. Currently, every color has three + variants: \concept{normal}, \concept{dimmed}, and \concept{enhanced}. The normal variant is what is usually seen, text + written in the dimmed variant appears ``faded into the background'' and text written in the enhanced variant appears + to ``stick out''. + + \newslide + + When switching variants, for every color one of two cases can occur: + \begin{enumerate} + \item A \concept{designated color} for this variant has been defined. + + For color \carg{color} the designated name of the \concept{dimmed} + \indexcode{dimmed color variant} variant is \code{d\carg{color}}, the designated + name of the \concept{enhanced}\indexcode{enhanced color variant} variant is + \code{e\carg{color}}. + + If a color by that name exists at the time the variant is switched to, then variant switching is executed by + replacing color \carg{color} with the designated color. + + \newslide + + \item A \concept{designated color} for this variant has not been defined. + + If a color by the designated name does not exist at the time a color variant is switched to, then variant switching + is executed by \concept{automatically} calculating the color variant from the original color. + + The method for calculation depends on the variant: + + \newslide + + \begin{description} + \item[dimmed.] The dimmed variant is calculated by \concept{interpolating} between \code{pagecolor} and the color to + be dimmed, using the \macroname{colorbetween} command (see \ref{Sec:MiscColorCommands}). + + There is a command \present{\macroname{dimlevel}}\indexmacro{dimlevel} + which contains the parameter \carg{weight} given to \macroname{colorbetween} + (default: \code{0.7}). This default can be overridden by either redefining + \macroname{dimlevel} or giving an alternative \carg{weight} as an optional + argument to the color dimming command (see below). + + \newslide + + \item[enhanced.] The enhanced variant is calculated by \concept{extrapolating} the color to be enhanced (relative to + \code{pagecolor}). + + There is a command \present{\macroname{enhancelevel}}\indexmacro{enhancelevel} + which gives the \concept{extent} of the extrapolation (default: \code{0.5}). + The same holds for overriding this default as for \macroname{dimlevel}. + \end{description} + \end{enumerate} + + \newslide + + The following commands switch color variants: + \begin{description} + \item[\present{\commandapp[\carg{level}]{dimcolor}{\carg{color}}}] + \indexmacro{dimcolor} switches color \carg{color} to the \concept{dimmed} + variant. If given, \carg{level} replaces the value of \macroname{dimlevel} in automatic calculation of the dimmed + variant (see above). + + \item[\present{\code{\macroname{dimcolors}[\carg{level}]}}] + \indexmacro{dimcolors} switches \emph{all} standard colors to the \concept{dimmed} + variant. The optional argument \carg{level} acts as for \macroname{dimcolor}. + + \newslide + + \item[\present{\commandapp[\carg{level}]{enhancecolor}{\carg{color}}}] + \indexmacro{enhancecolor} switches color \carg{color} to the + \concept{enhanced} variant. If given, \carg{level} replaces the value of \macroname{enhancelevel} in automatic + calculation of the enhanced variant (see above). + + \item[\present{\code{\macroname{enhancecolors}[\carg{level}]}}] + \indexmacro{enhancecolors} switches \emph{all} standard colors to the + \concept{enhanceed} variant. The optional argument \carg{level} acts as for \macroname{enhancecolor}. + \end{description} + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item While automatic calculation of a \concept{dimmed} color will almost always yield the desired result + (interpolating between colors by calculating a weighted average is trivial), automatic calculation of an + \concept{enhanced} color by `extrapolating' is tricky at best and will often lead to unsatisfactory results. This is + because the idea of making a color `stronger' is very hard to formulate numerically. + + \newslide + + The following effects of the current algorithm should be kept in mind: + \begin{itemize} + \item if the background color is light, enhancing a color will make it darker; + \item if the background color is dark, enhancing a color will make it lighter; + \item sometimes, the numerical values describing an enhanced color have to be \concept{bounded} to avoid exceeding + the allowed range, diminishing the enhancing effect. For instance, if the background color is black and the color + to be enhanced is a `full-powered' yellow, there is no way of enhancing it by simple numeric calculation. + \end{itemize} + + \newslide + + As a conclusion, for best results it is recommended to provide custom \code{e} variants of colors to be enhanced. By + default, \TeX Power does not provide dedicated enhanced colors, but the file \code{tpsettings.cfg} contains complete + sets of enhanced variants for the standard colors in the different color sets, which you can uncomment and + experiment with as convenient. + + \newslide + + \item Currently, switching to a different color variant is done by simply overwriting the current definitions of all + standard colors. This means + \begin{itemize} + \item there is no way of `undimming' a color once it has been dimmed, + \item a dimmed color can not be enhanced and vice versa. + \end{itemize} + Maybe this will be solved in a slightly more clever way in subsequent releases of \TeX Power. + + \newslide + + Hence, it is recommended to + \begin{itemize} + \item restrict the \concept{scope} of a global variant switching command like \macroname{dimcolors}, + \macroname{enhancecolors} or \macroname{dstep} by enlcosing it into a \LaTeX{} group (like \code{\{\dots\}}) or + \item use \macroname{dumpcolorset} before the command to save the current definitions of all colors, to be restored + with \macroname{usecolorset}. + + At the very beginning of a \macroname{stepwise} command, \TeX Power executes \commandapp{dumpcolorset}{stwcolors}, + so you can restore the colors anywhere in the argument of \macroname{stepwise} by saying + \commandapp{usecolorset}{stwcolors}. + \end{itemize} + + \newslide + + \item Some rudimentary attempts are made to keep track of which color is in what variant, to the effect that + \begin{itemize} + \item a color which is not in the normal variant will neither be dimmed nor enhanced; + \item when \macroname{usecolorset} overwrites a color with its normal variant, this is registered. + \end{itemize} + Still, it is easy to get in trouble by mixing variant changes with color set changes (say, if not all standard + colors are defined in a color set, or if a color set is dumped when not all colors are in normal variant), so it is + recommended not to use or dump color sets when outside the normal variant (unless for special applications like + undoing a variant change by \commandapp{usecolorset}{stwcolors}). + \end{enumerate} + + + \newslide + + \subsection{Miscellaneous color management commands}\label{Sec:MiscColorCommands} + \begin{description} + \item[\present{\commandapp[\carg{tset}]{replacecolor}{\carg{tcolor}\}[\carg{sset}]\{\carg{scolor}}}] + \indexmacro{} makes + \carg{tcolor} have the same definition as \carg{scolor} (if \carg{scolor} is defined at all), where \carg{tcolor} + and \carg{scolor} are color names as given in the first argument of \macroname{definecolor}. If (one of) + \carg{tset} and \carg{sset} are given, the respective color is taken from the respective color set, otherwise from + the current color set. + + If \carg{scolor} is not defined (in color set \carg{sset}), \carg{tcolor} is left alone. + + \newslide + + \item[\present{\commandapp[\carg{weight}]{colorbetween}{\carg{src1}\}\{\carg{src2}\}\{\carg{target}}}] + \indexmacro{colorbetween} calculates a + `weighted average' between two colors. \carg{src1} and \carg{src2} are the names of the two colors. \carg{weight} + (default: $0.5$) is a fixed-point number between $0$ and $1$ giving the `weight' for the interpolation between + \carg{src1} and \carg{src2}. \carg{target} is the name to be given to the resulting mixed color. + + If \carg{weight} is $1$, then \carg{target} will be identical to \carg{src1} (up to color model conversions, see + below), if \carg{weight} is $0$, then \carg{target} will be identical to \carg{src2}, if \carg{weight} is $0.5$ + (default), then \carg{target} will be exactly in the middle between \carg{src1} and \carg{src2}. + + \macroname{colorbetween} supports the following color models: \code{rgb}, \code{RGB}, \code{gray}, \code{cmyk}, + \code{hsb}. If both colors are of the same model, the resulting color is also of the respective model. If + \carg{src1} and \carg{src2} are from \emph{different} models, then \carg{target} will \emph{always} be an \code{rgb} + color. The only exception is the \code{hsb} color model: As I don't know how to convert \code{hsb} to \code{rgb}, + mixing \code{hsb} with another color model will always raise an error. + + \newslide + + \item[\present{\commandapp{mkfactor}{\carg{expr}\}\{\carg{macroname}}}] + \indexmacro{mkfactor} is a helper command for automatically + generating the fixed point numbers between $0$ and $1$ which are employed by the color calculation commands. + \carg{expr} can be any expression which can stand behind \code{*} in expressions allowed by the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/calc.html}{\code{calc}} package (for instance: + \code{\commandapp{value}{counter}/\commandapp{value}{maxcounter}} or \macroname{ratio} or whatever). + \carg{macroname} should be a valid macro name. \carg{expr} is converted into a fixed-point representation which is + then assigned to \carg{macroname}. + + \newslide + + \item[\present{\code{\macroname{vanishcolors}[\carg{color}]}}] + \indexmacro{vanishcolors} is similar to the color variant command + \macroname{dimcolors}, but instead of dimming colors, all standard colors are replaced by a single color given by + the new command \present{\macroname{vanishcolor}} (default: \code{pagecolor}). Hence, the result of calling + \macroname{vanishcolors} should be that all text vanishes, as it is written in the background color (this doesn't + work with structured backgrounds, of course). + + For getting a color different from the default \code{pagecolor}, you can either redefinine \macroname{vanishcolor} + or give an alternative \carg{color} as an optional argument to \macroname{vanishcolors}. + + There is no dedicated command for making a single color vanish. To achieve this, use + \commandapp{replacecolor}{\carg{color}\}\{\macroname{vanishcolor}}. + \end{description} + + + \subsection{Color Emphasis and Highlighting}\label{Sec:ColorOptions} + \code{texpower} offers some support for text emphasis and highlighting with colors (instead of, say, font + changes). These features are enabled by the following options: + \begin{description} + \item[\present{option: \code{coloremph}}]\indexpckopt{texpower}{coloremph} + Make \macroname{em} and \macroname{emph} switch colors instead of fonts. + + \item[\present{option: \code{colormath}}]\indexpckopt{texpower}{colormath} + Color all mathematical formulae. + + \item[\present{option: \code{colorhighlight}}]\indexpckopt{texpower}{colorhighlight} + Make new highlighting and emphasis commands defined by \code{texpower} + use colors. + \end{description} + + \minisec{Things to pay attention to} + \begin{enumerate} + \item You need the \code{color} package to use any of the color features. + + \item To implement the options \code{coloremph} and \code{colormath}, it is neccessary to redefine some \LaTeX{} + internals. This can lead to problems and incompatibilities with other packages. Use with caution. + + \item If the \code{colorhighlight} option is \emph{not} given, new highlighting and emphasis commands defined by + \code{texpower} are realized otherwise. Sometimes, however, there is no good alternative to colors, so different + emphasis commands can become disabled or indistinguishable. + + \newslide + + \item Because of font changes, emphasized or highlighted text can have different dimensions whether or not the options + \code{coloremph}, \code{colormath}, and \code{colorhighlight} are set. Prepare for different line and page breaks + when changing one of these options. + + \item Color emphasis and highlighting makes use of the predefined standard colors described in section + \ref{Sec:Colors}. See sections \ref{Sec:StdCols} to \ref{Sec:ColBgdOpt} for further information on standard colors, + color sets, and customization. + \end{enumerate} + + \newslide + + \subsection{New commands for emphasis and highlighting elements}\label{Sec:Colorcommands} + Some things like setting the page or text color, making emphasised text or math colored are done automatically when + the respective options are set. There are some additional new commands for creating emphasis and highlighting + elements. + + \minisec{Concerning math:} + \begin{description} + \item[\present{\macroname{origmath}}]\indexmacro{origmath} + When the \code{colormath} option is given, \emph{everything} which appears in + math mode is colored accordingly. Sometimes, however, math mode is used for something besides mathematical formulae. + Some \LaTeX{} commands which internally use math mode (like \code{tabular} or \macroname{textsuperscript}) are + redefined accordingly when the \code{colormath} option is given (this is a potential source of trouble; beware of + problems\dots). + + If you need to use math mode for something which is not to be colored (like a symbol for \code{itemize}), you can + use the \macroname{origmath} command which works exactly like \macroname{ensuremath} but doesn't color its argument. + If a nested use of math mode should occur in the argument of \macroname{origmath}, it will again be colored. + \end{description} + + \newslide + + \minisec{Documenting \TeX{} code:} + \begin{description} + \item[\present{\macroname{code}}]\indexmacro{code} + Simple command for typesetting \code{code} (like shell commands). + + \item[\present{\macroname{macroname}}]\indexmacro{macroname} + For \macroname{macro names}. Like \macroname{code}, but with a \macroname{} in + front. + + \item[\present{\commandapp[\carg{opt arg}]{commandapp}{\carg{command}\}\{\carg{arg}}}] + \indexmacro{commandapp} For \TeX{} commands. \carg{arg} + stands for the command argument, \carg{opt arg} for an optional argument. + + \item[\present{\macroname{carg}}]\indexmacro{carg} + For \carg{macro arguments}. + \end{description} + + \newslide + + \minisec{Additional emphasis commands:} + \begin{description} + \item[\present{\macroname{underl}}]\indexmacro{underl} + Additional \underl{emphasis} command. Can be used like \macroname{emph}. Defaults + to \textbf{bold face} if the \code{colorhighlight} option is not given. + + \item[\present{\macroname{concept}}]\indexmacro{concept} + Additional \concept{emphasis} command, especially for new concepts. Can be + augmented by things like automatic index entry creation. Also defaults to \textbf{bold face} if the + \code{colorhighlight} option is not given. + + \item[\present{\macroname{inactive}}]\indexmacro{inactive} + Additional \inactive{emphasis} command, this time for `de-emphasising'. There is + no sensible default if the \code{colorhighlight} option is not given, as base \LaTeX{} doesn't offer an appropriate + font. In this case, \macroname{inactive} defaults to \macroname{monochromeinactive}, which does nothing. + + You can (re-)define \macroname{monochromeinactive} to provide some sensible behaviour in the absence of colors, for + instance striking out if you're using the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package. + \end{description} + + + \minisec{Color Highlighting:} + \begin{description} + \item[\present{\macroname{present}}]\indexmacro{present} + Highlighting command which puts its argument into a \present{box with colored + background}. Defaults to an \fbox{\macroname{fbox}} if the \code{colorhighlight} option is not given. + + See section \ref{Sec:displaycustom} for some further highlighting commands. + \end{description} + + \newslide + + \subsection{Predefined standard colors}\label{Sec:Colors} + In previous subsections, it has been mentioned that \TeX Power predefines some standard colors which have appropriate + values in the predefined color sets \code{whitebg}, \code{lightbg}, \code{darkbg}, and \code{blackbg} (see sections + \ref{Sec:StdCols} to \ref{Sec:ColBgdOpt} for further information on standard colors, color sets, and customization). + \begin{description} + \item[\present{color: \code{pagecolor}}]\indexcode{pagecolor} + Background color of the page. Is set automatically at the beginning of the + document if color management is active. + + \item[\present{color: \code{textcolor}}]\indexcode{textcolor} + Color of normal text. Is set automatically at the beginning of the + document if color management is active. + + \item[\present{color: \code{emcolor}}]\indexcode{emcolor} + Color used for \emph{emphasis} if the \code{coloremph} option is set. + + \item[\present{color: \code{altemcolor}}]\indexcode{altemcolor} + Color used \emph{for \emph{double} emphasis} if the \code{coloremph} option + is set. + + \item[\present{color: \code{mathcolor}}]\indexcode{mathcolor} + Color used for math $a^2+b^2=c^2$ if the \code{colormath} option is set. + + \item[\present{color: \code{codecolor}}]\indexcode{codecolor} + Color used by the \macroname{code} command if the \code{colorhighlight} + option is set. + + \item[\present{color: \code{underlcolor}}]\indexcode{underlcolor} + Color used by the \underl{\macroname{underl} command} if the + \code{colorhighlight} option is set. + + \item[\present{color: \code{conceptcolor}}]\indexcode{conceptcolor} + Color used by the \concept{\macroname{concept} command} if the + \code{colorhighlight} option is set. + + \newslide + + \item[\present{color: \code{inactivecolor}}]\indexcode{inactivecolor} + Color used by the \inactive{\macroname{inactive} command} if the + \code{colorhighlight} option is set. + + \item[\present{color: \code{presentcolor}}]\indexcode{presentcolor} + Color used as background color by the \present{\macroname{present}} + command if the \code{colorhighlight} option is set. + + \item[\present{color: \code{highlightcolor}}]\indexcode{highlightcolor} + Color used as background color by the + \highlightboxed{\macroname{highlightboxed}} and \macroname{highlighttext} commands (see section + \ref{Sec:displaycustom}) if the \code{colorhighlight} option is set. + \end{description} + +\ifthenelse{\boolean{TPcolor}} +{% + \newslide + + \whitebackground + + \minisec{Color tables} + + \newlength{\widthfirstcol} + \settowidth{\widthfirstcol}{\textbf{\footnotesize white background}} + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize white background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} + + \newslide + + \lightbackground + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize light background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} + + \newslide + + \darkbackground + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize dark background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} + + \newslide + + \blackbackground + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize black background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} +}{} + + \newslide + + \ifthenelse{\boolean{TPcolor}}{\lightbackground}{} + + %----------------------------------------------------------------------------- + % + \section{Structured page backgrounds and panels}\label{Sec:PageBackPanel} + \subsection{Structured page backgrounds} + + \present{\commandapp[\carg{options}]{backgroundstyle}{\carg{style}}} + \indexmacro{backgroundstyle} + is the central command for structured page backgrounds. It works like + \macroname{pagestyle} and other commands of this type. This means + \carg{style} is a symbolic name specifying the general method by which the + page background is constructed. + + The detailed construction is influenced by parameters which can be set in + \carg{options}. If given, the optional parameter \carg{options} should + contain a list of settings in ``keyval'' manner. The keyval method + % (which is used by the \includegraphics command from the graphicx package, + %for instance) + is based on associating a symbolic name with every parameter. \carg{options} + is then a comma-separated list of parameter settings of the form + \carg{name}=\carg{value}, where \carg{name} is the symbolic name of the + parameter to be set and \carg{value} is the value it is to be set to. + + Not every \carg{style} evaluates every parameter. In the following, a + description of all styles, together with lists of the parameters employed, is + given. It is followed by a list of all parameters. Note that some parameter + names internally access the same parameter. For instance, parameters + \code{startcolor} and \code{startcolordef} both set the start color of a color + gradient. In case of conflict, the last setting in the list \carg{options} + will prevail. It is noted in the list of parameters which other parameters + are overwritten. + + \newslide + + \carg{style} may have one of the following values: + \begin{description} + \item[\present{Style: \code{none}}] + \indexmacroopt{backgroundstyle}{none}% + No background. This means the page background is whatever it would be if + \macroname{backgroundstyle} wasn't used at all (for instance, a plain area + of color pagecolor if one of the color options has been given). + + Parameters used: none. + + \item[\present{Style: \code{plain}}] + \indexmacroopt{backgroundstyle}{plain}% + Plain background. This means the page background is whatever it would be if + \macroname{backgroundstyle} wasn't used at all (as for no background). In + addition to background style \code{none}, the background style \code{plain} + does produce panel backgrounds. The colors and dimensions of a \code{top + panel}, \code{bottom panel}, \code{left panel}, and \code{right panel} can + be specified. + + \begin{flushleft} + Parameters used: \code{hpanels}, \code{autopanels}, \code{toppanelcolor}, + \code{bottompanelcolor}, \code{leftpanelcolor}, \code{rightpanelcolor}, + \code{toppanelcolordef}, \code{bottompanelcolordef}, \code{leftpanelcolordef}, + \code{rightpanelcolordef}, \code{toppanelheight}, \code{bottompanelheight}, + \code{leftpanelwidth}, \code{rightpanelwidth}. + \end{flushleft} + + \item[\present{Style: \code{vgradient}}] + \indexmacroopt{backgroundstyle}{vgradient}% + Vertical gradient. The page background is constructed using the + \macroname{vgradrule}\indexmacro{vgradrule} command. In addition to the + usual parameters of gradient rules, the vgradient background style allows + to leave space for headers, footers, or panels. The colors and dimensions + of a \code{top panel}, \code{bottom panel}, \code{left panel}, and + \code{right panel} can be specified. The gradient rule fills the + rectangular space left between the specified panels. + + \begin{flushleft} + Parameters used: \code{stripes}, \code{firstgradprogression}, + \code{startcolor}, \code{startcolordef}, \code{endcolor}, \code{endcolordef} + in addition to the parameters used for style \code{plain}. + \end{flushleft} + + \item[\present{Style: \code{hgradient}}] + \indexmacroopt{backgroundstyle}{hgradient}% + Horizontal gradient. The page background is constructed using the + \macroname{hgradrule}\indexmacro{hgradrule} command. See the description of + \macroname{vgradient} concerning panels. + + Parameters used: See list for style \code{vgradient}. + + \item[\present{Style: \code{doublevgradient}}] + \indexmacroopt{backgroundstyle}{doublevgradient}% + Double vertical gradient. The page background is constructed using the + \macroname{dblvgradrule}\indexmacro{dblvgradrule} command. See the + description of \macroname{vgradient} concerning panels. + + \begin{flushleft} + Parameters used: \code{gradmidpoint}, \code{secondgradprogression}, + \code{midcolor}, \code{midcolordef} in addition to the parameters used for + style \code{vgradient} (and \code{plain}). + \end{flushleft} + + \item[\present{Style: \code{doublehgradient}}] + \indexmacroopt{backgroundstyle}{doublehgradient}% + Double horizontal gradient. The page background is constructed using the + \macroname{dblhgradrule}\indexmacro{dblhgradrule} command. See the description of + \macroname{vgradient} concerning panels. + + Parameters used: See list for \code{doublevgradient}. + + \end{description} + Now, a list of all parameters and their meaning. In the following, + \begin{itemize}\setlength{\itemsep}{0cm} + \item[\carg{n}] denotes a (calc expression for a) nonnegative integer + \item[\carg{i}] denotes a (calc expression for an) integer + \item[\carg{r}] denotes a fixed-point number + \item[\carg{l}] denotes a (calc expression for a) length + \item[\carg{c}] denotes the name of a defined color + \item[\carg{cm}] denotes a valid color model name (in the sense of the color + package) + \item[\carg{cd}] denotes a valid color definition (in the sense of the color + package) wrt a given \carg{cm} parameter + \item[\carg{t}] denotes a `truth value' in the sense of the ifthen package: + either true or false. As usual for keyval, if =\carg{t} is omitted, the + default true is assumed. + \end{itemize} + \begin{description} + \item[\present{Option: \code{stripes=}\carg{n}}] Set the \carg{stripes} + parameter of gradient rules to \carg{n}.\\ + Default: \macroname{bgndstripes}. \\ + Used by: \code{vgradient}, \code{hgradient}, \code{doublevgradient}, + \code{doublehgradient}. + + \item[\present{Option: \code{gradmidpoint=}\carg{r}}] Set the \carg{midpoint} + parameter of double gradient rules to \carg{r}.\\ + Default: \macroname{bgndgradmidpoint}\\ + Used by: doublevgradient, doublehgradient + + \item[\present{Option: \code{firstgradprogression=}\carg{i}}] + Set the first gradient progression of gradient rules to \carg{i}.\\ + Default: \macroname{bgndfirstgradprogression}\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{secondgradprogression=}\carg{i}}] + Set the second gradient progression of double gradient rules to \carg{i}.\\ + Default: \macroname{bgndsecondgradprogression}\\ + Used by: doublevgradient, doublehgradient + + \item[\present{Option: \code{startcolor=}\carg{c}}] + Set the \carg{startcolor} parameter of gradient rules to \carg{c}.\\ + Default: If neither startcolor nor startcolordef is given, the color + bgndstartcolor is used as startcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: startcolordef + + \item[\present{Option: \code{startcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the \carg{startcolor} parameter of gradient rules to color foo, which + is obtained by \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory.\\ + Default: If neither startcolor nor startcolordef is given, the color + bgndstartcolor is used as startcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: startcolor + + \item[\present{Option: \code{endcolor=}\carg{c}}] + Set the \carg{endcolor} parameter of gradient rules to \carg{c}.\\ + Default: If neither endcolor nor endcolordef is given, the color + bgndendcolor is used as endcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: endcolordef + + \item[\present{Option: \code{endcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the \carg{endcolor} parameter of gradient rules to color foo, which + is obtained by \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory.\\ + Default: If neither endcolor nor endcolordef is given, the color + bgndendcolor is used as endcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: endcolor + + \item[\present{Option: \code{midcolor=}\carg{c}}] + Set the \carg{midcolor} parameter of double gradient rules to \carg{c}.\\ + Default: If neither midcolor nor midcolordef is given, the color + bgndmidcolor is used as midcolor.\\ + Used by: doublevgradient, doublehgradient\\ + Overwrites: midcolordef + + \item[\present{Option: \code{midcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the \carg{midcolor} parameter of double gradient rules to color foo, + which is obtained by \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory.\\ + Default: If neither midcolor nor midcolordef is given, the color + bgndmidcolor is used as midcolor.\\ + Used by: doublevgradient, doublehgradient\\ + Overwrites: midcolor + + \item[\present{Option: \code{hpanels=}\carg{t}}] + Specifies the `direction' of panels produced. hpanels=true means the top + and bottom panel span the full width of the screen. In the space left in + the middle, the left panel, the background itself, and the right panel are + displayed. hpanels=false means the left and right panel span the full + height of the screen. In the space left in the middle, the top panel, + the background itself, and the bottom panel are + displayed.\\ + Default: hpanels=true is the default for plain, hgradient and + doublehgradient. hpanels=false is the default for vgradient and + doublevgradient.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{autopanels=}\carg{t}}] + Specifies whether the default values of the parameters toppanelheight, + bottompanelheight, leftpanelwidth, rightpanelwidth should be calculated + automatically from the contents of declared panels. The automatism used + is analogous to that of \macroname{DeclarePanel*}. Note that for panel + arrangement, both the width and the height of all declared panels are + overwritten. If you don't want this, calculate the panel parameters + yourself and set autopanels=false. In this case, the current panel + dimensions of declared panels are used as defaults for toppanelheight, + bottompanelheight, leftpanelwidth, rightpanelwidth.\\ + Default: true.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{\carg{pos}panelheight=}\carg{l}}] + Set the height/width of the space left for the top / bottom / left / right + panel to \carg{l}. Note that the remaining dimensions of panels, for + instance the width of the top panel, are always calculated automatically, + depending on the setting of the hpanels parameter.\\ + Default: If a respective panel has been defined using + \macroname{DeclarePanel}, the default used depends on the setting of the + autopanels parameter. If autopanels=true, the correct dimension is + calculated from the contents of the panel. The respective one of + \macroname{toppanelheight}, \macroname{bottompanelheight}, + \macroname{leftpanelwidth}, \macroname{rightpanelwidth} is overwritten + with the result. If autopanels=false, then the respective setting of + \macroname{toppanelheight}, \macroname{bottompanelheight}, + \macroname{leftpanelwidth}, \macroname{rightpanelwidth} is taken as the + default. If a panel has not been declared, the appropriate one of + \macroname{bgndtoppanelheight}, \macroname{bgndbottompanelheight}, + \macroname{bgndleftpanelwidth}, \macroname{bgndrightpanelwidth} is used + as default. \\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{\carg{pos}panelcolor=}\carg{c}}] + Set the color of the space left for the top / bottom / left / right panel + to \carg{c}.\\ + Default: The standard colors toppanelcolor, bottompanelcolor, leftpanelcolor, + rightpanelcolor are used as defaults.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: toppanelcolordef bottompanelcolordef leftpanelcolordef + rightpanelcolordef + + \item[\present{Option: \code{\carg{pos}panelcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the color of the space left for the top / bottom / left / right panel + to color foo, which is obtained by + \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory. \\ + Default: See the description of top/bottom/left/rightpanelcolor.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: toppanelcolor bottompanelcolor leftpanelcolor rightpanelcolor + + \end{description} + + \newslide + + \subsection{Panel-specific user level commands} + If you're using a package that has it own panel (as + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}% + {\code{pdfscreen}}) don't even consider using the following. + + \present{\commandapp[\carg{name}]{DeclarePanel}{\carg{pos}\}\{\carg{contents}}} + \indexmacro{DeclarePanel} + declares the contents \carg{contents} of the panel at position \carg{pos}. + Afterwards, on every page the panel contents are set in a parbox of + dimensions and position specified by \carg{pos}panelwidth, + \carg{pos}panelheight, \macroname{panelmargin} and \carg{pos}panelshift for + top and bottom panels and \carg{pos}panelraise for left and right panels. The + parbox is constructed anew on every page, so all changes influencing panel + contents or parameters (like a \macroname{thepage} in the panel contents) are + respected. + + The panel contents are set in color \carg{pos}paneltextcolor. There is + another standard color \carg{pos}panelcolor, which is however not activated by + \macroname{DeclarePanel} but by selecting an appropriate background style. + + Note that \macroname{backgroundstyle} must be called after the panel + declaration. + + \newslide + + Pages are constructed as follows: first the page background, then + the panels, and then the page contents. \emph{Hence, panels overwrite the background + and the page contents overwrite the panels.} The user is supposed to make sure + themselves that there is enough space left on the page for the panels + (document class specific settings). The panel declaration is global. A panel + can be `undeclared' by using \macroname{DeclarePanel\{\carg{pos}\}\{\}}. + + If the optional argument \carg{name} is given, the panel contents and + (calculated) size will also be stored under the given name, to be restored + later with \macroname{restorepanels}. This is nice for switching between + different sets of panels. + + \newslide + + For an example look at the files \code{simplepanel.tex} and \code{panelexample.tex}. + A very simple example follows: + + \begin{verbatim} +\DeclarePanel{left}{% + \textsf{Your Name} + + \vfill + + \button{\Acrobatmenu{PrevPage}}{Back} + \button{\Acrobatmenu{NextPage}}{Next} } +\end{verbatim} + + \newslide + + There is a starred version which will (try to) automatically calculate the + \indexmacro{DeclarePanel*} `flexible' dimension of each panel. For top and + bottom panels this is the height, for left and right panels this is the width. + Make sure the panel contents are `valid' at the time \macroname{DeclarePanel*} + is called so the calculation can be carried out in a meaningful way. + + While the automatic calculation of the height of top and bottom panels is + trivial (using \macroname{settoheight}), there is a sophisticated procedure + for calculating a `good' width for the parbox containing the panel. Owing to + limitations set by TeX, there are certain limits to the sophistication of the + procedure. + + \newslide + + For instance, any `whatsits' (specials (like color changes), file + accesses (like \macroname{label}), or hyper anchors) + or rules which are inserted directly in the vertical list of the parbox + `block' the analysis, so the procedure can't `see' past them (starting at the + bottom of the box) when analysing the contents of the parbox. + + The user should make sure such items are set in horizontal mode (by using + \macroname{leavevmode} or enclosing stuff in boxes). Furthermore, only + overfull and underfull hboxes which occur while setting the parbox are + considered when judging which width is `best'. This will reliably make the + width large enough to contain `wide' objects like tabulars, logos and buttons, + but might not give optimal results for justified text. vboxes occurring + directly in the vbox are ignored. + + \newslide + + Note further that hboxes with fixed width + (made by \macroname{hbox} to...) which occur directly in the vbox may disturb + the procedure, because the fixed width cannot be recovered. These hboxes will + be reformatted with the width of the vbox, generating an extremely large + badness, unsettling the calculation of maximum badness. To avoid this such + hboxes should be either contained in a vbox or set in horizontal mode with + appropriate glue at the end. + + \newslide + + \subsection{Navigation buttons} + The following provides only the very basics for navigation buttons. If you're + using a package that has it's own naviagtion buttons (as + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}% + {\code{pdfscreen}}) don't even consider using the following. + + \present{\macroname{button\{\carg{navcommand}\}\{\carg{text}\}}} + \indexmacro{button} + creates a button labelled \carg{text} which executes \carg{navcommand} when + pressed. The command takes four optional arguments (left out above): + \carg{width}, \carg{height}, \carg{depth} and \carg{alignment} in that order. + \carg{navcommand} can be for instance \commandapp{Acrobatmenu}{\carg{command}} or + \commandapp{hyperlink}{\carg{target}} (note that \carg{navcommand} should take + one (more) argument specifying the sensitive area which is provided by + \macroname{button}). If given, the optional parameters \carg{width}, \carg{height}, and + \carg{depth} give the width, height and depth, respectively, of the framed + area comprising the button (excluding the shadow, but including the + frame). Default are the `real' width, height and depth, respectively, of + \carg{text}, plus allowance for the frame. If given, the optional parameter + \carg{alignment} (one of l,c,r) gives the alignment of \carg{text} inside the + button box (makes sense only if \carg{width} is given). + + The button appearence is defined by some configurable button parameters: + \begin{description} + \item[\present{\macroname{buttonsep}}] + \indexmacro{buttonsep} + Space between button label and border. (Default: \macroname{fboxsep}) + + \item[\present{\macroname{buttonrule}}] + \indexmacro{buttonrule} + Width of button frame. (Default: \code{0pt}) + + \item[\present{\macroname{buttonshadowhshift}}] + \indexmacro{buttonshadowhshift} + Horizontal displacement of button shadow. (Default: 0.3\macroname{fboxsep}) + + \item[\present{\macroname{buttonshadowvshift}}] + \indexmacro{buttonshadowvshift} + Vertical displacement of button shadow. (Default: 0.3\macroname{fboxsep}) + \end{description} + + A list of predefined buttons follows: + \begin{description} + + \item[\present{\macroname{backpagebutton[\carg{width}]}}] + \indexmacro{backpagebutton} + Last subpage of previous page. + + \item[\present{\macroname{backstepbutton[\carg{width}]}}] + \indexmacro{backstepbutton} + Previous step. + + \item[\present{\macroname{gobackbutton[\carg{width}]}}] + \indexmacro{gobackbutton} + `Undo action' (go back to whatever was before last action). + + \item[\present{\macroname{nextstepbutton[\carg{width}]}}] + \indexmacro{nextstepbutton} + Next step. + + \item[\present{\macroname{nextpagebutton[\carg{width}]}}] + \indexmacro{nextpagebutton} + First subpage of next page. + + \item[\present{\macroname{nextfullpagebutton[\carg{width}]}}] + \indexmacro{nextfullpagebutton} + Last subpage of next page. + + \item[\present{\macroname{fullscreenbutton[\carg{width}]}}] + \indexmacro{fullscreenbutton} + Toggle fullscreen mode. + + \end{description} + +\clearpage +\printindex +\end{slide} +\end{document} +\endinput +%% +%% End of file `fulldemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/hilitexample.tex b/Master/texmf-dist/doc/latex/texpower/hilitexample.tex new file mode 100644 index 00000000000..2cd8be37ed5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/hilitexample.tex @@ -0,0 +1,206 @@ +%% +%% This is file `hilitexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `hilitexample,hilitexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{hilitexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: hilitexample.tex +% +% Highlighting example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 hilitexample +% +% afterwards processing the resulting ps file with +% +% distill hilitexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 27, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% Added demo for \highlighttext. +% Itemize demo now checks whether color is activated. +% +% v0.0.3 May 26, 2000: Added an example for how to make the text in a paragraph `stand out' from the background. +% +% v0.0.4 Jun 07, 2000: Now using \hidedimmed and \highlightenhanced. +% +% v0.0.5 Jul 19, 2000: stepitemize example rewritten for TeXPower v0.0.8g. +% + +%----------------------------------------------------------------------------------------------------------------- +% Use slifonts. + +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower highlighting example}} + +% The package soul is needed for \highlighttext to work. + +\usepackage{soul} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: Highlighting Text}\label{Sec:Exhl} +% The default for \step's which are not yet `active' is to be `invisible'. In preceding examples, we have redefined +% internal macros like \hidestepcontents or \activatestep to achieve special `highlighting' effects. +% Here, we demonstrate how make text `stand out' from the background incrementally without having it appear from thin +% air. + +% The first example demonstrates how to make \step its argument `stand out' instead of making it appear `out of +% nowhere'. + +\makeatletter +\ifthenelse{\boolean{TPcolor}}% Can we use colors? +{% Yes. In this case \step should change colors from `dimmed' to `active'. + + % The command \hidedimmed switches colors to `dimmed', the command \highlightenhanced switches colors to `enhanced'. + \liststepwise[\let\hidestepcontents=\hidedimmed\let\activatestep=\highlightenhanced] + {% + \vspace*{\fill} + \begin{quote} + \Large% + \step{Instead of making things appear out of `thin air',} \step{we can also make them appear `out of the + background'} \step{by incrementally changing color from \concept{inactive}} \step{to \concept{active}.} + \step{This also works with \emph{color emphasis}} \step{and \concept{math coloring}: $a=b^2$.} + \end{quote} + \vspace*{\fill}\vspace*{\fill} + }% + } +{% No. In this case we have to `handwave' using the soul package. + % Instead of hiding its argument, the new command \myhide just changes the font size (maintaining the overall text + % length though). + \def\myhide + {% + \leavevmode% + \SOUL@setup + \def\SOUL@everytoken{\makebox[\widthof{\the\SOUL@token}][s]{\rule[\depthof{\the\SOUL@token}*-1]{0pt}{\depthof{\the\SOUL@token}+\heightof{\the\SOUL@token}}\hrulefill\tiny\the\SOUL@token\hrulefill}\SOUL@setkern\SOUL@charkern}% + \SOUL@% + } + + \liststepwise[\let\hidestepcontents=\myhide\setcounter{firststep}{0}] + {% + \vspace*{\fill} + \begin{quote} + \LARGE% + \step{Instead of making things appear out of `thin air',} \step{we can also make them appear `out of the + background'} \step{incrementally.} + \end{quote} + \vspace*{\fill}\vspace*{\fill} + }% + } +\makeatother + +\newslide + +% Next, it is demonstrated how we can `flip through' an itemize environment by just highlighting the items in turn +% instead of making them appear one by one. +% +% Define a macro \mystep which implements the highlighting effect. +\ifthenelse{\boolean{TPcolor}}% Can we use colors? +{% Yes. In this case highlighting is implemented by switching color. + \def\mystep% Note that \mystep takes no argument. It just changes the way the next item is displayed. + {% + \usecolorset{stwcolors}% Restore the undimmed colors valid at the beginning of \stepwise. + \dstep[][\boolean{firstactivation}]% \dstep switches colors. The optional argument makes it appear only once. + }% +} +{% No. In this case highlighting is implemented by redefining \labelitemi. + \def\mystep + {% + \switch[][\boolean{firstactivation}]% The optional arguments make \switch act only once. + {\def\labelitemi{\origmath{\gg}}}{\def\labelitemi{\origmath{\cdot}}}% + }% + } + +% We define a custom itemize environment which automatically adds calls to \mystep: +\newenvironment{stepitemize} +{% + \huge + \begin{itemize} + \let\origitem=\item + % Here, the \mystep command is hidden inside \item + \renewcommand{\item}{\mystep\origitem}% + } + {% + \end{itemize} + } + +Instead of displaying incrementally, we can just `flip through' some items by highlighting them: + +% Note that we use the starred version of \liststepwise so that the first item is highlighted on the first slide +% produced by \liststepwise. +% +\liststepwise* +{% + \begin{stepitemize} + \item Item 1 + \item Item 2 + \item Item 3 + \end{stepitemize} + } + +\pause + +% The following example demonstrates highlighting inside a paragraph using \highlighttext. By redefining \activatestep +% to \highlighttext, the argument of every \step will be highlighted when the \step is activated for the first +% time. Note that highlighting doesn't influence line breaks because \highlighttext is implemented using the soul +% package. +% +% Again, we define \hidestepcontents to display its argument, so that the complete text is visible from the outset. + +\stepwise[\let\activatestep=\highlighttext\let\hidestepcontents=\displayidentical] +{% + \vspace*{\fill} + \begin{minipage}{\linewidth} + \LARGE + \step{Inside} a paragraph, we can \step{highlight} text \step{without influencing} \step{line breaks}. + \end{minipage} + \vspace*{\fill} + } +\newslide +\end{slide} +\end{document} +\endinput +%% +%% End of file `hilitexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/ifmslidemo.tex b/Master/texmf-dist/doc/latex/texpower/ifmslidemo.tex new file mode 100644 index 00000000000..b1177f70190 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/ifmslidemo.tex @@ -0,0 +1,236 @@ +%% +%% This is file `ifmslidemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `ifmslidemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{ifmslidemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: ifmslidemo.tex +% +% Simple examples the for combining the ifmslide package with the dynamic features provided by the package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 25, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Jul 31, 2000: Slightly updated for ifmslide v0.43. +% + +\documentclass[KOMA,landscape,display]{powersem} + +\usepackage[stmo,button]{ifmslide} + +\slidepagestyle{sidebar} +\centerslidesfalse + +\hypersetup{linkcolor=red} + +\pagestyle{plain} + +\panellogo{fig-2} + +\renewcommand{\currentpagevalue}{\value{slide}} + +\begin{document} + + +\begin{slide} +\title{The \code{texpower} Package\\{\normalfont \texttt{ifmslide} Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + +\tableofcontents +\end{slide} + +\begin{slide} +\section{A list environment} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + + + +\section{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + + + + +\section{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + + + + +\section{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.5\semcm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{slide} +\end{document} +\endinput +%% +%% End of file `ifmslidemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/manual.pdf b/Master/texmf-dist/doc/latex/texpower/manual.pdf Binary files differnew file mode 100644 index 00000000000..a85adf08dd9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/manual.pdf diff --git a/Master/texmf-dist/doc/latex/texpower/manual.tex b/Master/texmf-dist/doc/latex/texpower/manual.tex new file mode 100644 index 00000000000..472db32a79a --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/manual.tex @@ -0,0 +1,2264 @@ +%% +%% This is file `manual.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `manual,docu,enddoc') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{manual.tex}% + [2004/07/27 TeXPower manual] +%----------------------------------------------------------------------------------------------------------------- +% File: manual.tex +% +% (Preliminary) documentation of the TeXPower bundle. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 11, 2000: Now producing a document which is meant for printing on paper. +% + +\documentclass[12pt]{scrartcl} + +%----------------------------------------------------------------------------------------------------------------- +% We need some more packages... +% +\usepackage[nottoc]{tocbibind} + +\usepackage{textcomp}% Just for \textregistered. Comment out if you like. + +\usepackage{url} + +% The following package makes code look a little nicer, but it may not be present on all systems. + +\IfFileExists{cmtt.sty}{\usepackage[override]{cmtt}}{} + +% Loading the soul package enables the \highlighttext command. + +\IfFileExists{soul.sty}{\usepackage{soul}} + +% One more Text emphasis command... + +\let\name=\textsc + +% We input the xr package for external references. + +\usepackage{xr-hyper} + +%----------------------------------------------------------------------------------------------------------------- +% Load hyperref. +% +\usepackage[bookmarksopen,colorlinks]{hyperref} + +%----------------------------------------------------------------------------------------------------------------- +% Finally, the texpower package is loaded. +% +\usepackage{texpower} + +%----------------------------------------------------------------------------------------------------------------- +% The configuration file allows user-specific settings. + +\input{__TPcfg} + +%----------------------------------------------------------------------------------------------------------------- +% Setting up indexing and custom indexing commands +\input{__TPindexing} + +%----------------------------------------------------------------------------------------------------------------- +% We use references from the full demo file. + +%\externaldocument{fulldemo}[http://texpower.sourceforge.net/doc/fulldemo.pdf] +\externaldocument{fulldemo} + + +%----------------------------------------------------------------------------------------------------------------- +% The code in the manual (doc tag) is meant for the document class seminar. Thus, it contains some +% seminar-specific commands which are replaced by dummies here. + +\let\newslide=\relax + +%----------------------------------------------------------------------------------------------------------------- +% The following command produces the title for this document. + +\newcommand{\makeslidetitle}[1] +{% + \hypersetup{pdftitle={#1}} + \title{The \TeX Power bundle\\{\normalfont #1}} + \author + {% + Stephan Lehmke\\\url{mailto:Stephan.Lehmke@udo.edu} + \and + Hans Fr.\ Nordhaug\\\url{mailto:hansfn@users.sourceforge.net}% + } + \maketitle + + \tableofcontents + + \subsubsection*{} +} + + +%----------------------------------------------------------------------------------------------------------------- +% As the documentation text contains a lot of stuff in boxes, we use \sloppy to avoid stuff projecting into the margin. + +\sloppy + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% + +\begin{document} +% +%----------------------------------------------------------------------------------------------------------------- +% +% Documentation of the TeXPower bundle. +% +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Mar 29, 2000: Added `usage and basic options' section. +% +% v0.0.3 Apr 04, 2000: Added `Color Emphasis and Highlighting' section. +% +% v0.0.4 Apr 12, 2000: A lot of small additions in preparation of the update to TeXpower v0.0.7. +% +% v0.0.5 May 31, 2000: Updated for TeXpower v0.0.8. +% +% v0.0.6 Jun 09, 2000: Some updates for TeXpower v0.0.8b. +% +% v0.0.6a Jun 13, 2000: Some updates for TeXpower v0.0.8c. +% +% v0.0.6b Jun 23, 2000: Some updates for TeXpower v0.0.8e. +% +% v0.0.6c Jul 25, 2000: Some updates for TeXpower v0.0.8g. Colors section rewritten for new color management kernel. +% +% v0.0.7 May 15, 2003: Added index and updates for TeXpower v0.0.9d. +% +% v0.0.8 July 27, 2004: Added the "Miscellaneous commands" section. Moved the tpslifonts doc into tpslifonts.dtx. +% +%----------------------------------------------------------------------------------------------------------------- +% +\def\docversion{v0.0.8 of July 27, 2004} +\def\tpversion{v0.1b of July 27, 2004} + +\makeslidetitle +{% + Documentation% + \thanks{Documentation \docversion\ for \TeX Power \tpversion\ (alpha).}% + }% + +The \TeX Power bundle contains style and class files for creating dynamic online presentations with \LaTeX. + +The heart of the bundle is the package \code{texpower.sty} which implements some commands for presentation effects. This +includes setting page transitions, color highlighting and displaying pages incrementally. + +For finding out how to achieve special effects (as shown in the \nameref{Sec:Ex}), +please look at the comments inside the files ending with \code{example.tex} and \code{demo.tex} +and read this manual to find out what's going on. + +\newslide + +For your own first steps with \TeX Power, the simple demo file \code{simpledemo.tex} is the best starting +place. There, some basic applications of the dynamic features provided by the \code{texpower} package are +demonstrated. You can make your own dynamic presentations by modifying that demo to your convenience. + +\code{simpledemo.tex} uses the \code{article} document class for maximum +compatibility. There are other simple demos named +\code{slidesdemo.tex}, \code{foilsdemo.tex}, \code{seminardemo.tex}, +\code{pp4sldemo.tex}, \code{pdfslidemo.tex}, \code{pdfscrdemo.tex}, +\code{prosperdemo.tex}, and \code{ifmslidemo.tex} +which demonstrate how to combine \TeX Power with the +most popular presentation-making document classes and packages. + +\newslide + +The other, more sophisticated examples demonstrate the expressive power of the +\code{texpower} package. Look at the commented code of these examples to find out how to achieve special effects and +create your own presentation effects with \TeX Power. + +For the first \emph{alpha} release, this documentation will be completed. For the first \emph{beta} release, when the +code is a little more stable, the \code{texpower} package will be made into a properly documented \code{.dtx} file. + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{Usage and general options} +The \code{texpower} package is loaded by putting +\begin{center} + \present{\commandapp{usepackage}{texpower}} +\end{center} +into the preamble of a document. + +There are no specific restrictions as to which document classes can be used. + +It should be stressed that \TeX Power is \underl{not} (currently) a complete presentation package. It just adds dynamic +presentation effects (and some other gimmicks specifically interesting for dynamic presentations) and should always be +combined with a document class dedicated to designing presentations (or a package like +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfslide.html}{\code{pdfslide}}). + +Some of the presentation effects created by \code{texpower} require special capabilities of the viewer which is used for +presenting the resulting document. The target for the development of \code{texpower} has so far been +\href{http://www.adobe.com/products/acrobat/readermain.html}% +{\concept{Adobe Acrobat\textsuperscript{\textregistered} Reader}}, which means the +document should (finally) be produced in \code{pdf} format. The produced +\code{pdf} documents should display well in +\href{http://www.cs.wisc.edu/~ghost/gsview/}{\concept{GSview}} also, but that +viewer doesn't support page transitions and duration. + +There are no specific restrictions as to which way the \code{pdf} format is produced. All demos and examples +have been tested with pdf\LaTeX{} and standard \LaTeX, using +\code{dvips} and \href{http://www.adobe.com/products/acrobat/}% +{\concept{Adobe Acrobat\textsuperscript{\textregistered} Distiller}} +or \code{dvips} and \code{ps2pdf} (from the \href{http://www.ghostscript.com/}% +{\concept{Ghostscript suite}}) for generating \code{pdf}. + +\newslide + +\subsection{General options}\label{Sec:GenOpt} +\begin{description} +\item[\present{option: \code{display}}.]\indexpckopt{texpower}{display} Enable `dynamic' features. If not set, it is assumed that the document is to be + printed, and all commands for dynamic presentations, like \macroname{pause} or \macroname{stepwise} have no effect. + +\item[\present{option: \code{printout} (default)}.]\indexpckopt{texpower}{printout} Disable `dynamic' features. As this is the default behaviour, + setting this option explicitly is useful only if the option \code{display} is set by default for instance in the + \code{tpoptions.cfg} file (see section \ref{Sec:Config}). + +\item[\present{option: \code{verbose}}.]\indexpckopt{texpower}{verbose} Output some administrative info. +\end{description} +Some font options are listed in section \ref{Sec:BaseFont}. + +\newslide + +\subsection{Side effects of page contents duplication}\label{Sec:Dupl} +In the implementation of the \macroname{pause} and \macroname{stepwise} commands, it is neccessary to duplicate some +material on the page. + +This way, not only `visible' page contents will be duplicated, but also some `invisible' control code stored in +\concept{whatsits} (see the \TeX book for an explanation of this concept). Duplicating whatsits can lead to undesirable +side effects. + +For instance, a \macroname{section} command creates a whatsit for writing the table of contents entry. Duplicating this +whatsit will also duplicate the toc entry. + +\newslide + +So, whatsit items effecting file access are inhibited when duplicating page material. + +A second type of whatsits is created by \TeX's \macroname{special} command which is used for instance for color +management. Some drivers, like \code{dvips} and \code{textures}, use a color stack which is controlled by +\macroname{special} items included in the dvi file. When page contents are duplicated, then these \macroname{special}s +are also duplicated, which can seriously mess up the color stack. + +\newslide + +\code{texpower} implements a `color stack correction' method by maintaining a stack of color corrections, which should +counteract this effect. Owing to potential performance problems, this method is turned off by default. +\begin{description} +\item[\present{option: \code{fixcolorstack}}]\indexpckopt{texpower}{fixcolorstack} switches on color stack correction. Use it if you experience strange color + switches in your document. +\end{description} + +\newslide + +\subsection{Setting the base font}\label{Sec:BaseFont} +\code{texpower} offers no options for setting the base font of the document. +Use the \code{tpslifonts} package in stead. Read more in section \ref{Sec:TPslifonts}. + +Further, there are packages like \code{cmbright} or \code{beton} which change the whole set of fonts to something less +fragile than cmr. + +\newslide + +\subsection{Switches} +There are some boolean registers provided and set automatically by \code{texpower}. + +\begin{description} +\item[\present{boolean: \code{psspecialsallowed}}]\indexpckswitch{texpower}{psspecialsallowed} True if PostScript\textsuperscript{\textregistered} specials may be + used. + + \code{texpower} tries to find out whether or not PostScript\textsuperscript{\textregistered} specials may be used in + the current document. For instance, pdf\LaTeX{} can't interpret arbitrary specials. This switch is set automatically + and can be used inside a document to enable/disable parts which need PostScript\textsuperscript{\textregistered} + specials. + +\newslide + +\item[\present{boolean: \code{display}}]\indexpckswitch{texpower}{display} True if \code{display} option was given. + + This switch indicates whether `dynamic' features of \code{texpower} are enabled. Use it inside your document + to distinguish between the `presented' and the printed version of your document. + +\item[\present{boolean: \code{TPcolor}}]\indexpckswitch{texpower}{TPcolor} True if any of the color highlighting options (see section + \ref{Sec:ColorEmphasis}) were given. + + This switch indicates whether `color' features of \code{texpower} are enabled (compare section + \ref{Sec:ColorEmphasis}). You can use it inside your document to distinguish between a `colored' and a `monochrome' + version of your document. +\end{description} + +\newslide + +\subsection{Configuration files}\label{Sec:Config} +\code{texpower} loads three configuration files (if present): +\begin{description} +\item[\present{file: \code{tpoptions.cfg}}]\indexcode{tpoptions.cfg} + is loaded before options are processed. Can be used to set default options + in a system-specific way. See the comments inside the file + \code{tpoptions.cfg} which is part of the \TeX Power bundle + for instructions. + +\item[\present{file: \code{tpsettings.cfg}}]\indexcode{tpsettings.cfg} + is loaded at the end of \code{texpower}. Here, you can do some + system-specific settings. See the comments inside the + file \code{tpsettings.cfg} which is part of the + \TeX Power bundle for instructions. + +\item[\present{file: \code{tpcolors.cfg}}]\indexcode{tpcolors.cfg} + is loaded if \code{TPcolor} is true. The file defines the standard + colors/colorsets (see section \ref{Sec:ColorEmphasis}). See the + comments inside the file \code{tpcolors.cfg} which is part of the + \TeX Power bundle for instructions. +\end{description} + +\newslide + +\subsection{Miscellaneous commands}\label{Sec:MiscCmd} +Some important commands that don't fit in the latter sections: +\begin{description} +\item[\present{\commandapp{currentpagevalue}{\carg{value}}}]\indexmacro{currentpagevalue} + sets how to find the number of the current page, \commandapp{value}{page} is default. + Used to name the hyper target on the first subpage of every page. Also used in the + TeXPower navigation buttons. +\item[\present{\commandapp{pausesafecounter}{\carg{counter}}}]\indexmacro{pausesafecounter} + is used to add counters that are to be restored to their original value after \macroname{pause}. The \code{page} + counter is always restored. In addition the \code{slide} counter is restored if the \code{seminar} class is used. If + you need more counters to be restored after \macroname{pause}, use \macroname{pausesafecounter}. +\end{description} + +\newslide + +\subsection{Dependencies on other packages} +\code{textpower} always loads the packages \code{ifthen} and \code{calc}, as the extended command syntax provided by +these is indispensable for the macros to work. They are in the \code{base} and \code{tools} area of the \LaTeX{} +distribution, respectively, so I hope they are available on all systems. + +Furthermore, \code{texpower} loads the package \code{color} if any color-specific options are set (see section +\ref{Sec:ColorEmphasis}). + +Further packages are \emph{not} loaded automatically by \code{texpower} to avoid incompatibilities, although some +features of \code{texpower} are enabled \emph{only} if a certain package is loaded. If you wish to use these features, +you are responsible for loading the respective package yourself. + +If some necessary package is \emph{not} loaded, \code{texpower} will issue a warning and disable the respective +features. + +The following packages are neccessary for certain features of \code{texpower}: +\begin{description} +\item[\present{package: \code{hyperref}}]\indexfile{hyperref}{package} + is neccessary for page transition effects to work (see section + \ref{Sec:PageTrans}). + + In particular, the \macroname{pageDuration} (see section \ref{Sec:PageDuration}) command only works if the version of + hyperref loaded is at least v6.70a (where the \code{pdfpageduration} key was introduced). + + Commands which work only when \code{hyperref} is loaded are marked with \textbf{\textsf{h}} in the description. + +\newslide + +\item[\present{package: \code{soul}}]\indexfile{soul}{package} + is neccessary for the implementation of the commands \macroname{hidetext} and + \macroname{highlighttext} (see section \ref{Sec:displaycustom}). + + Commands which work only when \code{soul} is loaded are marked with \textbf{\textsf{s}} in the description. +\end{description} + +\newslide + +\subsection{What else is part of the \TeX Power bundle?} +Besides the package \code{texpower} (which is described here), there are four +more packages, \code{tpslifonts}, \code{fixseminar}, \code{automata} and +\code{tplists}, and one document class, +\code{powersem}, in the \TeX Power bundle which so far have no documentation +of their own. They will be described in this section until they are turned +into \code{dtx} files producing their own documentation. + +See the file \code{00readme.txt} which is part of the \TeX Power bundle for a short description of all files. + +\newslide + +\minisec{The document class \code{powersem}}\indexfile{powersem}{class} +This is planned to provide a more `modern' version of \code{seminar} which can be used for creating dynamic +presentations. + +Currently, this document class doesn't do much more than load \code{seminar} and apply some fixes, but it is planned to +add some presentation-specific features (like navigation panels). + +\newslide + +There are three new options which are specific for \code{powersem}, all other options are passed to \code{seminar}: +\begin{description} +\item[\present{option: \code{display}}]\indexpckopt{powersem}{display} + Turns off all features of \code{seminar} (notes, vertical centering of slides) + which can disturb dynamic presentations. + +\item[\present{option: \code{calcdimensions}}]\indexpckopt{powersem}{calcdimensions} + \code{seminar} automatically calculates the slide dimensions + \macroname{slidewidth} and \macroname{slideheight} only for the default \code{letter} and for its own option + \code{a4}. For all the other paper sizes which are possible with the \code{KOMA} option, the slide dimensions are not + calculated automatically. + + The \code{calcdimensions} option makes \code{powersem} calculate the slide dimensions automatically from paper size + and margins. + +\newslide + +\item[\present{option: \code{truepagenumbers}}]\indexpckopt{powersem}{truepagenumbers} + The truepagenumbers option makes powersem count pages with the counter page, independently of the counter slide. This + enables proper working of TeXPowers navigation buttons (some of which calculate relative page numbers) even when the + counter slide is reset frequently (for slide numberings of the type \verb|<l>.<n>.<m>|). + +\item[\present{option: \code{KOMA}}]\indexpckopt{powersem}{KOMA} Makes + \code{seminar} load \code{scrartcl} (from the KOMA-Script bundle) instead of + \code{article} as its base class. All new features of \code{scrartcl} are then available also for slides. + +\item[\present{option: \code{UseBaseClass}}]\indexpckopt{powersem}{UseBaseClass} + Makes \code{seminar} load the class \macroname{baseclass} (initially \code{article}) instead of + \code{article} as its base class. + +\item[\present{option: \code{reportclass}}]\indexpckopt{powersem}{reportclass} + Makes \code{seminar} load the class \macroname{baseclass} (initially \code{report}) instead of + \code{article}. + +\item[\present{option: \code{bookclass}}]\indexpckopt{powersem}{bookclass} + Makes \code{seminar} load the class \macroname{baseclass} (initially \code{book}) instead of + \code{article}. + +\end{description} + +There is one change in \code{powersem} which will lead to incompatibilities with \code{seminar}. \code{seminar} has the +unfortunate custom of \emph{not} exchanging \macroname{paperwidth} and \macroname{paperheight} when making landscape +slides, as for instance \code{typearea} and \code{geometry} do. + +This leads to problems with setting the paper size for \code{pdf} files, as done for instance by the \code{hyperref} +package. + +\code{powersem} effectively turns off \code{seminar}'s papersize management and leaves this to the base class (with the +pleasant side effect that you can use e.\,g.\ \commandapp[KOMA,a0paper]{documentclass}{powersem} for making posters). + +In consequence, the \code{portrait} option of \code{seminar} is turned on by \code{powersem} to avoid confusing +\code{seminar}. You have to explicitly use the \code{landscape} option (and a base class or package which understands +this option) to get landscape slides with powersem. + +\newslide + +\minisec{The package \code{fixseminar}}\indexfile{fixseminar}{package} +Unfortunately, there are some fixes to seminar which can \emph{not} be applied in \code{powersem} because they have to +be applied after \code{hyperref} is loaded (if this package should be loaded). + +The package \code{fixseminar} applies these fixes, so this package should be loaded after \code{hyperref} (if +\code{hyperref} is loaded at all, otherwise \code{fixseminar} can be loaded anywhere in the preamble). + +\newslide + +It applies two fixes: +\begin{itemize} +\item In case \code{pdflatex} is being run, the lengths \macroname{pdfpageheight} and \macroname{pdfpagewidth} have to + be set in a `magnification-sensitive' way. + +\item \code{hyperref} introduces some code at the beginning of every page which can produce spurious vertical space, + which in turn disturbs building dynamic pages. This code is `fixed' so it cannot produce vertical space. +\end{itemize} + +\newslide + +\minisec{The package \code{tpslifonts}} +\indexfile{tpslifonts}{package}\label{Sec:TPslifonts} +Presentations to be displayed `online' with a video beamer have special needs concerning font configuration owing to low +`screen' resolution and bad contrast caused by possibly bad light conditions combined with color highlighting. + +This package tries to cater to these needs by offering a holistic configuration of all document fonts, including text, +typewriter, and math fonts. Special features are `smooth scaling' of Type1 fonts and careful design size selection for +optimal readability. + +\newslide + +For more information on package options and used fonts (and on implementation) read the documentation coming with the +package - check the \code{tpslifonts} directory. + +\minisec{The package \code{automata}}\indexfile{automata}{package} +Experimental package for drawing automata in the sense of theoretical computer +science (using PSTricks) and animating them with TeXPower. Only DFA and Mealy +automata are supported so far. + +\newslide + +\minisec{The package \code{tplists}}\indexfile{tplists}{package} +Experimental package providing easy dynamic lists. Currently there are stepped, flipped and dimmed versions of itemize +and enumerate (and corresponding lists from the \code{eqlist} and \code{paralist} package). For more information +and an example read the start of the file \code{tplists.sty}. + +\newslide + +%----------------------------------------------------------------------------------------------------------------- +% +\section{The \macroname{pause} command}\label{Sec:pause} +\present{\macroname{pause}}\indexmacro{pause} is derived from the \macroname{pause} command from the package +\href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/pp4sty.zip}{\code{texpause}} which is part of the +\href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4 suite} by +\href{mailto:guntermann@iti.informatik.tu-darmstadt.de}{Klaus Guntermann}. + + It will ship out the current page, start a new page and copy whatever was on the current page onto the new page, where + typesetting is resumed. + + \ifthenelse{\boolean{display}}{Here, let's do a little demo\pause}{} + + This will create the effect of a \concept{pause} in the presentation, i.\,e.\ the presentation stops because the + current page ends at the point where the \macroname{pause} command occurred and is resumed at this point when the + presenter switches to the next page. + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item \macroname{pause} should appear in \concept{vertical mode} only, i.\,e.\ between paragraphs or at places where + ending the current paragraph doesn't hurt. + + \item This means \macroname{pause} is forbidden in all \concept{boxed} material (including \code{tabular}), + \concept{headers/footers}, and \concept{floats}. + + \item \macroname{pause} shouldn't appear either in environments which have to be \emph{closed} to work properly, like + \code{picture}, \code{tabbing}, and (unfortunately) environments for \concept{aligned math formulas}. + + \item \macroname{pause} does work in all environments which mainly influence paragraph formatting, like \code{center}, + \code{quote} or all \concept{list} environments. + + \newslide + + \item \macroname{pause} doesn't really have problems with automatic page breaking, but beware of \emph{overfull} + pages/slides. In this case, it may occur that only the last page(s)/slide(s) of a sequence are overfull, which + changes vertical spacing, making lines `wobble' when switching to the last page/slide of a sequence. + + \newslide + + \item The duplication of page material done by \macroname{pause} can lead to unwanted side effects. See section + \ref{Sec:Dupl} for further explanations. In particular, if you should experience strange color switches when using + \macroname{pause} (and you are \underl{not} using \code{pdftex}), turn on color stack correction with the option + \code{fixcolorstack}. In addition you should be aware of \macroname{pausesafecounter}, see section + \ref{Sec:MiscCmd}. + + \end{enumerate} + + A lot of the restrictions for the use of pause can be avoided by using \macroname{stepwise} (see next section). + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \section{The \macroname{stepwise} command} + \present{\commandapp{stepwise}{\carg{contents}}}\indexmacro{stepwise} is a command for displaying some part of a \LaTeX{} document (which + is contained in \carg{contents}) `step by step'. As of itself, \macroname{stepwise} doesn't do very much. If + \carg{contents} contains one or more constructs of the form \present{\commandapp{step}{\carg{stepcontents}}}\indexmacro{step}, the + following happens: + \begin{enumerate} + \item The current contents of the page are saved (as with \macroname{pause}). + + \item As many pages as there are \macroname{step} commands in \carg{contents} are produced. + + Every page starts with what was on the current page when \macroname{stepwise} started. + + \newslide + + The first page also contains everything in \carg{contents} which is \emph{not} in \carg{stepcontents} for any + \macroname{step} command. + + The second page additionally contains the \carg{stepcontents} for the \emph{first} \macroname{step} command, and so + on, until all \carg{stepcontents} are displayed. + + \item When all \carg{stepcontents} are displayed, \macroname{stepwise} ends and typesetting is resumed (still on the + current page). + \end{enumerate} + + \parstepwise{This will create the effect that the \macroname{step} commands are executed `\step{step} \step{by} + \step{step}'.} + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item \macroname{stepwise} should appear in \concept{vertical mode} only, i.\,e.\ between paragraphs, just like + \macroname{pause}. + + \item Don't put \macroname{pause} or nested occurrences of \macroname{stepwise} into \carg{contents}. + + \item Structures where \macroname{pause} does not work (like \code{tabular} or aligned equations) can go + \emph{completely} into \carg{contents}, where \macroname{step} can be used freely (see \nameref{Sec:Ex}). + + \item As \carg{contents} is read as a macro argument, constructs involving \concept{catcode} changes (like + \macroname{verb} or language switches) won't work in \carg{contents}. Using a suggestion by \name{Ross + Moore}, I hope to remedy this until the \emph{alpha} release. + +\newslide + + \item Several instances of \macroname{stepwise} may occur on one page, also combined with \macroname{pause} (outside + of \carg{contents}). + + But beware of page breaks in \carg{contents}. This will really mess things up. + + Overfull pages/slides are also a problem, just like with \macroname{pause}. See the description of \macroname{pause} + (section \ref{Sec:pause}) concerning this and also concerning side effects of duplicating page material. + + \item \macroname{step} can go in \carg{stepcontents}. The order of execution of \macroname{step} commands is just the + order in which they appear in \carg{contents}, independent of nesting within each other. + + \newslide + + \item As \carg{contents} is executed several times, \LaTeX{} constructs changing \concept{global counters}, accessing + \concept{files} etc.\ are problematic. This concerns sections, numbered equations, labels, hyperlinks and the like. + + Counters are taken care of explicitly by \macroname{stepwise}, so equation numbers are no problem. + + Commands accessing toc files and such (like \macroname{section}) are taken care of by the whatsit suppression + mechanism (compare section \ref{Sec:Dupl}). + + Labels and hyperlinks work sort of (giving a lot of warnings though). + + I will try to remedy remaining problems until the first \emph{alpha} release. + \end{enumerate} + + \newslide + + \subsection{\macroname{boxedsteps} and \macroname{nonboxedsteps}}\label{Sec:boxedsteps}% + By default, \carg{stepcontents} belonging to a \macroname{step} which is not yet `active' are ignored altogether. This + makes it possible to include e.\,g.\ tabulators \code{\&} or line breaks into \carg{stepcontents} without breaking + anything. + + Sometimes, however, this behaviour is undesirable, for instance when stepping through an equation `from outer to + inner', or when filling in blanks in a paragraph. Then, the desired behaviour of a \macroname{step} which is not yet + `active' is to create an appropriate amount of \emph{blank space} where \carg{stepcontents} can go as soon as it is + activated. + + \newslide + + The simplest and most robust way of doing this is to create an empty box (aka \macroname{phantom}) with the same + dimensions as the text to be hidden. + + This behaviour is toggled by the following commands. See section \ref{Sec:displaycustom} for more sophisticated + (albeit more fragile) variants. + \begin{description} + \item[\present{\macroname{boxedsteps}}]\indexmacro{boxedsteps} makes \macroname{step} create a blank box the size of \carg{stepcontents} when + inactive and put \carg{stepcontents} into a box when active. + \item[\present{\macroname{nonboxedsteps}}]\indexmacro{nonboxedsteps} makes \macroname{step} ignore \carg{stepcontents} when inactive and leave + \carg{stepcontents} alone when active (default). + \end{description} + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item The settings effected by \macroname{boxedsteps} and \macroname{nonboxedsteps} are \emph{local}, i.\,e.\ whenever + a group closes, the setting is restored to its previous value. + + \item Putting stuff into boxes can break things like tabulators (\code{\&}). It can also mess up math spacing, which + then has to be corrected manually. Compare the following examples: + + \parstepwise{% + \begin{displaymath} + \left(\frac{a+b}{c}\right)\qquad\left(\frac{a\step{+b}}{c}\right)\qquad\left(\frac{a\restep{{}+b}}{c}\right) + \end{displaymath}% + }% + \end{enumerate} + + \newslide + + \subsection{Custom versions of \macroname{stepwise}}% + Sometimes, it might happen that vertical spacing is different on every page of a sequence generated by + \macroname{stepwise}, making lines `wobble'. + + This is caused by interactions between different ways vertical spacing is added to the page. Hopefully, problems + caused this way can be reduced until the first \emph{alpha} release. + + \newslide + + There are two custom versions of \macroname{stepwise} which should produce better vertical spacing. + \begin{description} + \item[\present{\commandapp{liststepwise}{\carg{contents}}}] + \indexmacro{liststepwise} works exactly like \macroname{stepwise}, but adds + an `invisible rule' before \carg{contents}. Use for list environments and + aligned equations. + \item[\present{\commandapp{parstepwise}{\carg{contents}}}] + \indexmacro{parstepwise} works like \macroname{liststepwise}, but + \macroname{boxedsteps} is turned on by default. Use for texts where + \macroname{step}s are to be filled into blank spaces. + \end{description} + + \newslide + + \subsection{Starred versions of \macroname{stepwise} commands}\label{Sec:StarredStepwise}% + Usually, the first page of a sequence produced contains \emph{only} material which is \emph{not} part of any + \carg{stepcontents}. The first \carg{stepcontents} are displayed on the second page of the sequence. + + For special effects (see example \ref{Sec:Exhl}), it might be desirable to have the first \carg{stepcontents} active + even on the first page of the sequence. + + All variants of \macroname{stepwise} have a starred version (e.\,g.\ \macroname{stepwise*}) which does exactly that. + + \newslide + + \subsection{The optional argument of \macroname{stepwise}}% + Every variant of \macroname{stepwise} takes an optional argument, like this + \begin{center} + \present{\commandapp[\carg{settings}]{stepwise}{\carg{contents}}}. + \end{center} + \carg{settings} will be placed right before the internal loop which produces the sequence of pages. It can + contain settings of parameters which modify the behaviour of \macroname{stepwise} or \macroname{step}. \carg{settings} + is placed inside a group so all changes are local to this call of \macroname{stepwise}. + + Some internal macros and counters which can be adjusted are explained in the following. + + \newslide + + \subsection{Customizing the way \carg{stepcontents} is diplayed}\label{Sec:displaycustom}% + Internally, there are three macros (taking one argument each) which control how \carg{stepcontents} is displayed: + \macroname{displaystepcontents}\indexmacro{displaystepcontents}, + \macroname{hidestepcontents}\indexmacro{hidestepcontents}, and + \macroname{activatestep}\indexmacro{activatestep}. Virtually, every + \commandapp{step}{\carg{stepcontents}} is replaced by + \begin{description} + \item[\present{\commandapp{hidestepcontents}{\carg{stepcontents}}}]\mbox{}\\ when this step is not yet active. + \item[\present{\commandapp{displaystepcontents}{\commandapp{activatestep}{\carg{stepcontents}}}}] when this step is + activated \emph{for the first time}. + \item[\present{\commandapp{displaystepcontents}{\carg{stepcontents}}}]\mbox{}\\ + when this step has been activated before. + \end{description} + + By redefining these macros, the behaviour of \macroname{step} is changed accordingly. You can redefine them inside + \carg{contents} to provide a change affecting one \macroname{step} only, or in the optional argument of + \macroname{stepwise} to provide a change for all \macroname{step}s inside \carg{contents}. + + In the \nameref{Sec:Ex}, it is demonstrated how special effects can be achieved by redefining these macros. + + \macroname{activatestep} is set to \macroname{displayidentical} by default, the default settings of + \macroname{hidestepcontents} and \macroname{displaystepcontents} depend on whether \macroname{boxedsteps} or + \macroname{nonboxedsteps} (default) is used. + + \newslide + + \code{texpower} offers nine standard definitions. + + For interpreting \macroname{displaystepcontents}: + \begin{description} + \item[\present{\macroname{displayidentical}}]\indexmacro{displayidentical} + Simply expands to its argument. The same as \LaTeX s + \macroname{@ident}. Used by \macroname{nonboxedsteps} (default). + + \item[\present{\macroname{displayboxed}}]\indexmacro{displayboxed} + Expands to an \macroname{mbox} containing its argument. Used by + \macroname{boxedsteps}. + \end{description} + + \newslide + + For interpreting \macroname{hidestepcontents}: + \begin{description} + \item[\present{\macroname{hideignore}}]\indexmacro{hideignore} + Expands to nothing. The same as \LaTeX s \macroname{@gobble}. Used by + \macroname{nonboxedsteps} (default). + + \item[\present{\macroname{hidephantom}}]\indexmacro{hidephantom} + Expands to a \macroname{phantom} containing its argument. Used by + \macroname{boxedsteps}. + + \item[\present{\macroname{hidevanish}}]\indexmacro{hidevanish} + In a colored document, makes its argument `vanish' by setting all colors to + \macroname{vanishcolor} (defaults to \code{pagecolor}; compare section + \ref{Sec:Colorcommands}). Note that this will give weird results with + structures backgrounds. + + For monochrome documents, there is no useful interpretation for this command, so it is disabled. + + \newslide + + \item[{\present[s]{\macroname{hidetext}}}]\indexmacro{hidetext} + Produces blank space of the same dimensions as the space that would be + occupied if its argument would be typeset in the current paragraph. Respects automatic hyphenation and line breaks. + + This command needs the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package + to work, which is not loaded by \code{texpower} itself. Consult the documentation of + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} concerning restrictions on + commands implemented using \code{soul}. If you don't load the \code{soul} package yourself, there is no useful + definition for this command, so it defaults to \macroname{hidephantom}. + + \newslide + + \item[\present{\macroname{hidedimmed}}]\indexmacro{hidedimmed} + In a colored document, displays its argument with dimmed colors (compare + section \ref{Sec:Colors}). Note that this doesn't make the argument completely invisible. + + For monochrome documents, there is no useful interpretation for this command, so it is disabled. + \end{description} + + \newslide + + For interpreting \macroname{activatestep}: + \begin{description} + \item[\present{\macroname{highlightboxed}}]\indexmacro{highlightboxed} + If the \code{colorhighlight} option (see section \ref{Sec:ColorEmphasis}) + is set, expands to a \highlightboxed{box with colored background} containing its argument. Otherwise, expands to an + \macroname{fbox} containing its argument. It is made sure that the resulting box has the same dimensions as the + argument (the outer frame may overlap surrounding text). + + There is a new length register \present{\macroname{highlightboxsep}} + \indexmacro{highlightboxsep} which acts like \macroname{fboxsep} for the + resulting box and defaults to \code{0.5\macroname{fboxsep}}. + + \newslide + + \item[{\present[s]{\macroname{highlighttext}}}]\indexmacro{highlighttext} + If the \code{colorhighlight} option (see section \ref{Sec:ColorEmphasis}) + is set, puts its argument \highlighttext{on colored background}. Otherwise, underlines its + argument. It is made sure that the resulting text has the same dimensions as the argument (the outer frame may + overlap surrounding text). + + \present{\macroname{highlightboxsep}} is used to determine the extent of the coloured box(es) used as background. + + This command needs the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package + to work (compare the description of \macroname{hidetext}). If you don't load the \code{soul} package yourself, there + is no useful definition for this command, so it is disabled. + + \newslide + + \item[\present{\macroname{highlightenhanced}}]\indexmacro{highlightenhanced} + In a colored document, displays its argument \highlightenhanced{with + enhanced colors} (compare section \ref{Sec:Colors}). + + For monochrome documents, there is no useful interpretation for this command, so it is disabled. + \end{description} + + \newslide + + \subsection{Variants of \macroname{step}} + There are a couple of custom versions of \macroname{step} which make it easier to achieve special effects needed + frequently. + \begin{description} + \item[\present{\macroname{bstep}}]\indexmacro{bstep} + Like \macroname{step}, but is \emph{always} boxed (see section + \ref{Sec:boxedsteps}). \commandapp{bstep}{\carg{stepcontents}} is + implemented in principle as + \code{\{\macroname{boxedsteps}\commandapp{step}{\carg{stepcontents}}\}}. + + In aligned equations where \macroname{stepwise} is used for being able to put tabulators into \carg{stepcontents}, + but where nested occurrences of \macroname{step} should be boxed to assure correct sizes of growing braces or such, + this variant of \macroname{step} is more convenient than using \macroname{boxedsteps} for every nested occurrence + of \macroname{step}. + + \item[\present{\commandapp{switch}{\carg{ifinactive}\}\{\carg{ifactive}}}] + \indexmacro{switch} is a variant of \macroname{step} which, + instead of making its argument appear, switches between \carg{ifinactive} + and \carg{ifactive} when activated. + + In fact, \commandapp{step}{\carg{stepcontents}} is in principle implemented by + \begin{tabbing} + \macroname{switch}\=\code{\{\commandapp{hidestepcontents}{\carg{stepcontents}}\}}\\ + \>\code{\{\commandapp{displaystepcontents}{\carg{stepcontents}}\}} + \end{tabbing} + + This command can be used, for instance, to add an \macroname{underbrace} to a formula, which is difficult using + \macroname{step}. + + Beware of problems when \carg{ifinactive} and \carg{ifactive} have different dimensions. + + \newslide + + \item[\present{\macroname{dstep}}]\indexmacro{dstep} + A variant of \macroname{step} which takes \underl{no} argument, but simply + switches colors to `dimmed' (compare section \ref{Sec:Colors}) if not + active. Not that the scope of this color change will + last until the next outer group closes. This command does nothing in a monochrome document. + + \item[\present{\macroname{vstep}}]\indexmacro{vstep} + A variant of \macroname{step} which takes \underl{no} argument, but simply + switches all colors to \macroname{vanishcolor} (defaults to + \code{pagecolor}; compare section \ref{Sec:Colorcommands}) if not + active. Not that the scope of this color change will last until the next outer group closes. This command does + nothing in a monochrome document. + + \item[\present{\macroname{steponce}}]\indexmacro{steponce} + % \steponce[<activatefirst>]{<stepcontents>} + Like \macroname{step}, but goes inactive again in the subsequent step. + + \item[\present{\macroname{multistep}}]\indexmacro{multistep} + is a shorthand macro for executing several steps successively. In + fact, it would better be called \macroname{multiswitch}, because it's + functionality is based on \macroname{switch}, it only acts like a + (simplified) \macroname{step} command which is executed `several times'. + The syntax is + \begin{center} + \commandapp[\carg{activatefirst}]{multistep}{\carg{n}\}\{\carg{stepcontents}} + \end{center} + where \carg{n} is the number of steps. Only one instance of + \carg{stepcontents} is displayed at a time. Inside \carg{stepcontents}, a + counter \code{substep} can be evaluated which tells the number of the + current instance. In the starred form the last instance of + \carg{stepcontents} stays visible. + + \item[\present{\macroname{movie}}]\indexmacro{movie} + works like \macroname{multistep}, but between \macroname{steps}, pages are + advanced automatically every \carg{dur} seconds. The syntax is + \begin{center} + \commandapp{movie}{\carg{n}\}\{\carg{dur}\}[\carg{stop}]\{\carg{stepcontents}} + \end{center} + where \carg{n} is the number of steps. The additional optional argument + \carg{stop} gives the code (default: \macroname{stopAdvancing}) + \indexmacro{stopAdvancing} which stops the animation. + (\macroname{movie} accepts the same first optional argument as + \macroname{multistep} but it was left out above.) + + + \item[\present{\macroname{overlays}}]\indexmacro{overlays} + is another shorthand macro for executing several steps successively. In + contrast to \macroname{multistep}, it doesn't print things \emph{after} + each other, but \emph{over} each other. The syntax is + \begin{center} + \commandapp[\carg{activatefirst}]{overlays}{\carg{n}\}\{\carg{stepcontents}} + \end{center} + where \carg{n} is the number of steps. Inside \carg{stepcontents}, a + counter \code{substep} can be evaluated which tells the number of the + current instance. + \newslide + + \item[\small% + \present{\macroname{restep}}\indexmacro{restep}, + \present{\macroname{rebstep}}\indexmacro{rebstep}, + \present{\macroname{reswitch}}\indexmacro{reswitch}, + \present{\macroname{redstep}}\indexmacro{redstep}, + \present{\macroname{revstep}}\indexmacro{revstep}.]\mbox{}\\ + Frequently, it is desirable for two or more steps to appear at the same + time, for instance to fill in arguments at + several places in a formula at once (see example \ref{Sec:ExEq}). + + \present{\commandapp{restep}{\carg{stepcontents}}} is identical with \commandapp{step}{\carg{stepcontents}}, but is + activated at the same time as the previous occurrence of \macroname{step}. + + \present{\macroname{rebstep}}, \present{\macroname{reswitch}}, \present{\macroname{redstep}}, and + \present{\macroname{revstep}} do the same for \macroname{bstep}, \macroname{switch}, \macroname{dstep}, and + \macroname{vstep}. + \end{description} + + \newslide + + \subsection{Optional arguments of \macroname{step}}% + Sometimes, letting two \macroname{step}s appear at the same time (with \macroname{restep}) is not the only desirable + modification of the order in which \macroname{step}s appear. \macroname{step}, \macroname{bstep} and + \macroname{switch} take two optional arguments for influencing the mode of activation, like this: + \begin{center} + \present{\commandapp[{\carg{activatefirst}][\carg{whenactive}}]{step}{\carg{stepcontents}}}. + \end{center} + Both \carg{activatefirst} and \carg{whenactive} should be conditions in the syntax of the \macroname{ifthenelse} + command (see the documentation of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/ifthen.html}{\code{ifthen}} package for details). + + \newslide + + \present{\carg{activatefirst}} checks whether this \macroname{step} is to be activated \emph{for the first time}. The + default value is \present{\commandapp{value}{step}=\commandapp{value}{stepcommand}} (see section \ref{Sec:Internals} + for a list of internal values). By using \commandapp{value}{step}=\carg{$n$}, this \macroname{step} can be forced to + appear as the $n$th one. See example \ref{Sec:ExPar} for a demonstration of how this can be used to make + \macroname{step}s appear in arbitrary order. + + \present{\carg{whenactive}} checks whether this \macroname{step} is to be considered active \emph{at all}. The default + behaviour is to check whether this \macroname{step} has been activated before (this is saved internally for every + step). See example \ref{Sec:ExFooling} for a demonstration of how this can be used to make \macroname{step}s appear + and disappear after a defined fashion. + + \minisec{If you know what you're doing\dots} + Both optional arguments allow two syntctical forms: + \begin{enumerate} + \item enclosed in square brackets \code{[]} like explained above. + \item enclosed in braces \code{()}. In this case, \carg{activatefirst} and \carg{whenactive} are \emph{not} treated as + conditions in the sense of \macroname{ifthenelse}, but as conditionals like those used internally by \LaTeX. That + means, \carg{activatefirst} (when enclosed in braces) can contain arbitrary \TeX{} code which then takes two + arguments and expands to one of them, depending on whether the condition is fulfilled or not fulfilled. For + instance, \commandapp[{\carg{activatefirst}}]{step}{\carg{stepcontents}} could be replaced by + \macroname{step}\code{(\commandapp{ifthenelse}{\carg{activatefirst}})\{\carg{stepcontents}\}}. + + See example \ref{Sec:ExBackwards} for a simple application of this syntax. + \end{enumerate} + + Internally, the default for the treatment of \carg{whenactive} is \code{(\macroname{if@first@TP@true})}, where + \macroname{if@first@TP@true} is an internal condition checking whether this \macroname{step} has been activated before. + + \newslide + + \subsection{Finding out what's going on}\label{Sec:Internals}% + Inside \carg{settings} and \carg{contents}, you can refer to the following internal state variables which provide + information about the current state of the process executed by \macroname{stepwise}: + \begin{description} + \item[\present{counter: \code{firststep}}] + \indexstepwise{firststep}{counter} + The number from which to start counting steps (see counter \code{step} + below). Is $0$ by default and $1$ for starred versions (section \ref{Sec:StarredStepwise}) of \macroname{stepwise}. + You can set this in \carg{settings} for special effects (see example \ref{Sec:ExBackwards}). + + \item[\present{counter: \code{totalsteps}}] + \indexstepwise{totalsteps}{counter} + The total number of \macroname{step} commands occurring in \carg{contents}. + + \newslide + + \item[\present{counter: \code{step}}] + \indexstepwise{step}{counter} + The number of the current iteration, i.\,e.\ the number of the current page in + the sequence of pages produced by \macroname{stepwise}. Runs from \commandapp{value}{firststep} to + \commandapp{value}{totalsteps}. + + \item[\present{counter: \code{stepcommand}}] + \indexstepwise{stepcommand}{counter} + The number of the \macroname{step} command currently being executed. + + \item[\present{boolean: \code{firstactivation}}] + \indexstepwise{firstactivation}{boolean} + \code{true} if this \macroname{step} is active for the first time, + \code{false} otherwise. + + \item[\present{boolean: \code{active}}]\indexstepwise{active}{boolean} + \code{true} if this \macroname{step} is currently active, \code{false} + otherwise. + \end{description} + \code{stepcommand}, \code{firstactivation}, and \code{active} are useful only inside \carg{stepcontents}. + + + \newslide + + \subsection{\macroname{afterstep}}\indexmacro{afterstep}% + It might be neccessary to set some parameters which affect the appearance of the \emph{page} (like page transitions) + inside \carg{stepcontents}. However, the \macroname{step} commands are usually placed deeply inside some structure, so + that all \emph{local} settings are likely to be undone by groups closing before the page is completed. + + \present{\commandapp{afterstep}{\carg{settings}}} puts \carg{settings} right before the end of the page, after the + current step is performed. + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item There can be only one effective value for \carg{settings}. Every occurrence of \macroname{afterstep} overwrites + this value globally. + + \item \macroname{afterstep} will \emph{not} be executed in \carg{stepcontents} if the corresponding \macroname{step} + is not active, even if \carg{stepcontents} is displayed owing to a redefinition of \macroname{hidestepcontents}, + like in example \ref{Sec:Exhl}. + + \item As \carg{settings} is put immediately before the page break, there is no means of restoring the original value + of whatever has been set. So if you set something via \macroname{afterstep} and want it to be reset in some later + step, you have to reset it explicitly with another call of \macroname{afterstep}. + \end{enumerate} + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \section{Page transitions and automatic advancing}\label{Sec:PageTrans} + \subsection{Page transitions} + I am indepted to \href{mailto:dongen@cs.ucc.ie}{\name{Marc van Dongen}} for allowing me to include a suite of commands + written by him and posted to the \href{http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/}{PPower4} + mailing list which set page transitions (using + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}s} \macroname{hypersetup}). + + These commands work only if the \code{hyperref} package is loaded. + + \newslide + + The following page transition commands are defined:\pause + \begin{description} + \item[{\present[h]{\macroname{pageTransitionSplitHO}}}] + \indexmacro{pageTransitionSplitHO} + Split Horizontally to the outside. \pageTransitionSplitHO\pause + + \item[{\present[h]{\macroname{pageTransitionSplitHI}}}] + \indexmacro{pageTransitionSplitHI} + Split Horizontally to the inside. \pageTransitionSplitHI\pause + + \item[{\present[h]{\macroname{pageTransitionSplitVO}}}] + \indexmacro{pageTransitionSplitVO} + Split Vertically to the outside. \pageTransitionSplitVO\pause + + \item[{\present[h]{\macroname{pageTransitionSplitVI}}}] + \indexmacro{pageTransitionSplitVI} + Split Vertically to the inside. \pageTransitionSplitVI\pause + + \item[{\present[h]{\macroname{pageTransitionBlindsH}}}] + \indexmacro{pageTransitionBlindsH} + Horizontal Blinds. \pageTransitionBlindsH\pause + + \item[{\present[h]{\macroname{pageTransitionBlindsV}}}] + \indexmacro{pageTransitionBlindsV} + Vertical Blinds. \pageTransitionBlindsV + + \newslide + + \item[{\present[h]{\macroname{pageTransitionBoxO}}}] + \indexmacro{pageTransitionBoxO} + Growing Box. \pageTransitionBoxO\pause + + \item[{\present[h]{\macroname{pageTransitionBoxI}}}] + \indexmacro{pageTransitionBoxI} + Shrinking Box. \pageTransitionBoxI\pause + + \item[{\present[h]{\commandapp{pageTransitionWipe}{\carg{angle}}}}] + \indexmacro{pageTransitionWipe}\mbox{}\\ + Wipe from one edge of the page to the facing edge. + + \stepwise + {% + \carg{angle} is a number between $0$ and $360$ which specifies the direction (in degrees) in which to wipe. + + Apparently, only the values \afterstep{\pageTransitionWipe{0}}$0$, \step{\afterstep{\pageTransitionWipe{90}}$90$,} + \step{\afterstep{\pageTransitionWipe{180}}$180$,} \step{$270$ are supported.}% + }% + \pageTransitionWipe{270}\pause + + \item[{\present[h]{\macroname{pageTransitionDissolve}}}] + \indexmacro{pageTransitionDissolve} + Dissolve. \pageTransitionDissolve + + \newslide + + \item[{\present[h]{\commandapp{pageTransitionGlitter}{\carg{angle}}}}] + \indexmacro{pageTransitionGlitter}\mbox{}\\ + Glitter from one edge of the page to the facing edge. + + \stepwise + {% + \carg{angle} is a number between $0$ and $360$ which specifies the direction (in degrees) in which to glitter. + + Apparently, only the values \afterstep{\pageTransitionGlitter{0}}$0$, + \step{\afterstep{\pageTransitionGlitter{270}}$270$,} \step{$315$ are supported.}% + }% + \pageTransitionGlitter{315}\pause + + \item[{\present[h]{\macroname{pageTransitionReplace}}}] + \indexmacro{pageTransitionReplace} + Simple Replace (the default). + \end{description} + + \pageTransitionReplace + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item The setting of the page transition is a property of the \emph{page}, i.~e.\ whatever page transition is in + effect when a page break occurs, will be assigned to the corresponding pdf page. + + \item The setting of the page transition is undone when a group ends. + + Make sure no \LaTeX{} environment is ended between a \macroname{pageTransition} setting and the next page break. In + particular, in \carg{stepcontents}, \macroname{afterstep} should be used (see example \ref{Sec:ExPic}). + + \newslide + + \item Setting page transitions works well with \macroname{pause}. Here, \macroname{pause} acts as a page break, + i.\,e.\ a different page transition can be set before every occurrence of \macroname{pause}. + \end{enumerate} + + \newslide + + \subsection{Automatic advancing of pages}\label{Sec:PageDuration} + If you have loaded a sufficiently new version of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/hyperref.html}{\code{hyperref}} package (which allows to + set \code{pdfpageduration}), then the following command is defined which enables automatic advancing of \code{pdf} + pages. + + \present[h]{\commandapp{pageDuration}{\carg{dur}}}\indexmacro{pageDuration} + causes pages to be advanced automatically every \carg{dur} + seconds. \carg{dur} should be a non-negative fixed-point number. + + \pageDuration{2}\pause + + Depending on the \code{pdf} viewer, this will happen only in full-screen mode. + + See example \ref{Sec:ExFooling} for a demonstration of this effect. + + \stopAdvancing + + \newslide + + The same restrictions as for \concept{page transitions} apply. In particular, the page duration setting is undone by + the end of a group, i.\,e.\ it is useless to set the page duration if a \LaTeX{} environment ends before the next page + break. + + There is no `neutral' value for \carg{dur} ($0$ means advance as fast as possible). You can make automatic advancing + stop by calling \commandapp{pageDuration}{}. \code{texpower} offers the custom command + \begin{center} + \present[h]{\macroname{stopAdvancing}}\indexmacro{stopAdvancing} + \end{center} + to do this. + + \newslide + + %----------------------------------------------------------------------------------------------------------------- + % + \section{Color management, color emphasis and highlighting}\label{Sec:ColorEmphasis} + \TeX Power tries to find out whether you are making a colored document. This is assumed if + \begin{itemize} + \item the \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package has been + loaded before the \code{texpower} package or + \item a color-related option (see sections \ref{Sec:ColBgdOpt} and \ref{Sec:ColorOptions}) is given to the + \code{texpower} package (in this case, the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package is loaded + automatically). + \end{itemize} + If this is the case, \TeX Power installs an extensive color management scheme on top of the kernel of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package. + + In the following, some new concepts established by this management scheme are explained. Sections \ref{Sec:ColBgdOpt} + and \ref{Sec:ColorOptions} list options for color activation, section \ref{Sec:Colorcommands} lists some new + highlighting commands, and section \ref{Sec:Colors} gives the names and meaning of \TeX Power's predefined colors. + + Note that parts of the kernel of the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/color.html}{\code{color}} package are overloaded for + special purposes (getting driver-independent representations of defined colors to be used by \macroname{colorbetween} + (\ref{Sec:MiscColorCommands}), for instance), so it is recommended to execute color definition commands like + \macroname{definecolor} \emph{after} the \code{texpower} package has been loaded (see also the next section on + \macroname{defineTPcolor}). + + \newslide + + \subsection{Standard colors}\label{Sec:StdCols} + \TeX Power maintains a list of \concept{standard colors} which are recognized and handled by \TeX Power's color + management. Some commands like \macroname{dimcolors} (see section \ref{Sec:ColorVariants}) affect \emph{all} standard + colors. There are some predefined colors which are in this list from the outset (see section \ref{Sec:Colors}). + + If colors defined by the user are to be recognized by \TeX Power, they have to be included in this list. The easiest + way is to use the following command for defining them. + + \newslide + + \present{\commandapp{defineTPcolor}{\carg{name}\}\{\carg{model}\}\{\carg{def}}} + \indexmacro{defineTPcolor} acts like \macroname{definecolor} + \indexmacro{defineTPcolor} from the \code{color} package, but the color + \carg{name} is also added to the list of standard colors. + + If you want to make a color a standard color which is defined elsewhere (by a document class, say), you can simply add + it to the list of standard colors with the command + \present{\commandapp{addTPcolor}{\carg{name}}}\indexmacro{addTPcolor}. + + \newslide + + \subsection{Color sets} + Every standard color may be defined in one or several \concept{color sets}. There are two fundamentally different + types of color set: + \begin{description} + \item[The current color set.] This contains the current definition of every standard color which is actually used at + the moment. Every standard color should be defined at least in the current color set. The current color set is not + distinguished by a special name. + + \newslide + + \item[Named color sets.] These are `containers' for a full set of color definitions (for the standard colors) which + can be activated by respective commands (see below). The color sets are distinguished by their names. Color + definitions in a named color set are not currently available, they have to be made available by activating the named + color set. + + There are four predefined color sets named \code{whitebg}\indexcode{whitebg}, + \code{lightbg}\indexcode{lightbg}, \code{darkbg}\indexcode{darkbg}, + \code{blackbg}\indexcode{blackbg}, each of which contains a full set of (predefined) + standard colors customized for a white, light, dark, black background + color, respectively. + \end{description} + + \newslide + + There are the following commands for manipulating color sets: + \begin{description} + \item[\present{\commandapp{usecolorset}{\carg{name}}}]\indexmacro{usecolorset} + Make the color set named \carg{name} the current color set. + \emph{All standard colors in the current color set which are also in color set \carg{name} are overwritten.} + + The standard color \code{textcolor} is set automatically after activating color set \carg{name}. + + \item[\present{\commandapp{dumpcolorset}{\carg{name}}}]\indexmacro{dumpcolorset} + Copy the definitions of \emph{all} standard colors in the + current color set into color set named \carg{name}. All standard colors in color set \carg{name} will be + overwritten. + \end{description} + + \newslide + + Using \commandapp{defineTPcolor}{\carg{name}} or \commandapp{definecolor}{\carg{name}} will define the color + \carg{name} in the \emph{current} color set. To define a color in color set \carg{cset}, use + \present{\commandapp[\carg{cset}]{defineTPcolor}{\carg{name}}}. + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item Color sets are not really `\TeX{} objects', but are distinguished by color name suffixes. This means, a color + named \code{foo} is automatically in the current color set. Executing \commandapp[\carg{cset}]{defineTPcolor}{foo} + means executing \macroname{definecolor} for a specific color the name of which is a combination of \code{foo} and + \carg{cset}. + + Consequently, \macroname{usecolorset} and \macroname{dumpcolorset} do not copy color sets as composite objects, but + simply all colors the names of which are generated from the list of standard colors. + + \newslide + + \item The command \commandapp{usecolorset}{\carg{name}} overwrites only those colors which have been defined in color + set \carg{name}. If a standard color is defined in the current color set, but not in color set \carg{name}, it is + preserved (but if \commandapp{dumpcolorset}{\carg{name}} is executed later, then it will also be copied back into + the color set \carg{name}). + \end{enumerate} + + \newslide + + \subsection{Color Background Options}\label{Sec:ColBgdOpt} + For activating the predefined color sets, there are shorthands + \macroname{whitebackground}\indexmacro{whitebackground}, + \macroname{lightbackground}\indexmacro{lightbackground}, + \macroname{darkbackground}\indexmacro{darkbackground}, + \macroname{blackbackground}\indexmacro{blackbackground} which execute + \macroname{usecolorset} and additionally set the background color to its current value. + + \newslide + + When one of the following options is given, the respective command is executed automatically at the beginning of the + document. + \begin{description} + \item[\present{option: \code{whitebackground} (default)}] + \indexpckopt{texpower}{whitebackground} + Set standard colors to match a white background color. + + \item[\present{option: \code{lightbackground}}] + \indexpckopt{texpower}{lightbackground} + Set standard colors to match a light (but not white) background color. + + \item[\present{option: \code{darkbackground}}] + \indexpckopt{texpower}{darkbackground} + Set standard colors to match a dark (but not black) background color. + + \item[\present{option: \code{blackbackground}}] + \indexpckopt{texpower}{blackbackground} + Set standard colors to match a black background color. + \end{description} + + \newslide + + \subsection{Color variants}\label{Sec:ColorVariants} + In addition to color sets, \TeX Power implements a concept of \concept{color variant}. Currently, every color has three + variants: \concept{normal}, \concept{dimmed}, and \concept{enhanced}. The normal variant is what is usually seen, text + written in the dimmed variant appears ``faded into the background'' and text written in the enhanced variant appears + to ``stick out''. + + \newslide + + When switching variants, for every color one of two cases can occur: + \begin{enumerate} + \item A \concept{designated color} for this variant has been defined. + + For color \carg{color} the designated name of the \concept{dimmed} + \indexcode{dimmed color variant} variant is \code{d\carg{color}}, the designated + name of the \concept{enhanced}\indexcode{enhanced color variant} variant is + \code{e\carg{color}}. + + If a color by that name exists at the time the variant is switched to, then variant switching is executed by + replacing color \carg{color} with the designated color. + + \newslide + + \item A \concept{designated color} for this variant has not been defined. + + If a color by the designated name does not exist at the time a color variant is switched to, then variant switching + is executed by \concept{automatically} calculating the color variant from the original color. + + The method for calculation depends on the variant: + + \newslide + + \begin{description} + \item[dimmed.] The dimmed variant is calculated by \concept{interpolating} between \code{pagecolor} and the color to + be dimmed, using the \macroname{colorbetween} command (see \ref{Sec:MiscColorCommands}). + + There is a command \present{\macroname{dimlevel}}\indexmacro{dimlevel} + which contains the parameter \carg{weight} given to \macroname{colorbetween} + (default: \code{0.7}). This default can be overridden by either redefining + \macroname{dimlevel} or giving an alternative \carg{weight} as an optional + argument to the color dimming command (see below). + + \newslide + + \item[enhanced.] The enhanced variant is calculated by \concept{extrapolating} the color to be enhanced (relative to + \code{pagecolor}). + + There is a command \present{\macroname{enhancelevel}}\indexmacro{enhancelevel} + which gives the \concept{extent} of the extrapolation (default: \code{0.5}). + The same holds for overriding this default as for \macroname{dimlevel}. + \end{description} + \end{enumerate} + + \newslide + + The following commands switch color variants: + \begin{description} + \item[\present{\commandapp[\carg{level}]{dimcolor}{\carg{color}}}] + \indexmacro{dimcolor} switches color \carg{color} to the \concept{dimmed} + variant. If given, \carg{level} replaces the value of \macroname{dimlevel} in automatic calculation of the dimmed + variant (see above). + + \item[\present{\code{\macroname{dimcolors}[\carg{level}]}}] + \indexmacro{dimcolors} switches \emph{all} standard colors to the \concept{dimmed} + variant. The optional argument \carg{level} acts as for \macroname{dimcolor}. + + \newslide + + \item[\present{\commandapp[\carg{level}]{enhancecolor}{\carg{color}}}] + \indexmacro{enhancecolor} switches color \carg{color} to the + \concept{enhanced} variant. If given, \carg{level} replaces the value of \macroname{enhancelevel} in automatic + calculation of the enhanced variant (see above). + + \item[\present{\code{\macroname{enhancecolors}[\carg{level}]}}] + \indexmacro{enhancecolors} switches \emph{all} standard colors to the + \concept{enhanceed} variant. The optional argument \carg{level} acts as for \macroname{enhancecolor}. + \end{description} + + \newslide + + \minisec{Things to pay attention to} + \begin{enumerate} + \item While automatic calculation of a \concept{dimmed} color will almost always yield the desired result + (interpolating between colors by calculating a weighted average is trivial), automatic calculation of an + \concept{enhanced} color by `extrapolating' is tricky at best and will often lead to unsatisfactory results. This is + because the idea of making a color `stronger' is very hard to formulate numerically. + + \newslide + + The following effects of the current algorithm should be kept in mind: + \begin{itemize} + \item if the background color is light, enhancing a color will make it darker; + \item if the background color is dark, enhancing a color will make it lighter; + \item sometimes, the numerical values describing an enhanced color have to be \concept{bounded} to avoid exceeding + the allowed range, diminishing the enhancing effect. For instance, if the background color is black and the color + to be enhanced is a `full-powered' yellow, there is no way of enhancing it by simple numeric calculation. + \end{itemize} + + \newslide + + As a conclusion, for best results it is recommended to provide custom \code{e} variants of colors to be enhanced. By + default, \TeX Power does not provide dedicated enhanced colors, but the file \code{tpsettings.cfg} contains complete + sets of enhanced variants for the standard colors in the different color sets, which you can uncomment and + experiment with as convenient. + + \newslide + + \item Currently, switching to a different color variant is done by simply overwriting the current definitions of all + standard colors. This means + \begin{itemize} + \item there is no way of `undimming' a color once it has been dimmed, + \item a dimmed color can not be enhanced and vice versa. + \end{itemize} + Maybe this will be solved in a slightly more clever way in subsequent releases of \TeX Power. + + \newslide + + Hence, it is recommended to + \begin{itemize} + \item restrict the \concept{scope} of a global variant switching command like \macroname{dimcolors}, + \macroname{enhancecolors} or \macroname{dstep} by enlcosing it into a \LaTeX{} group (like \code{\{\dots\}}) or + \item use \macroname{dumpcolorset} before the command to save the current definitions of all colors, to be restored + with \macroname{usecolorset}. + + At the very beginning of a \macroname{stepwise} command, \TeX Power executes \commandapp{dumpcolorset}{stwcolors}, + so you can restore the colors anywhere in the argument of \macroname{stepwise} by saying + \commandapp{usecolorset}{stwcolors}. + \end{itemize} + + \newslide + + \item Some rudimentary attempts are made to keep track of which color is in what variant, to the effect that + \begin{itemize} + \item a color which is not in the normal variant will neither be dimmed nor enhanced; + \item when \macroname{usecolorset} overwrites a color with its normal variant, this is registered. + \end{itemize} + Still, it is easy to get in trouble by mixing variant changes with color set changes (say, if not all standard + colors are defined in a color set, or if a color set is dumped when not all colors are in normal variant), so it is + recommended not to use or dump color sets when outside the normal variant (unless for special applications like + undoing a variant change by \commandapp{usecolorset}{stwcolors}). + \end{enumerate} + + + \newslide + + \subsection{Miscellaneous color management commands}\label{Sec:MiscColorCommands} + \begin{description} + \item[\present{\commandapp[\carg{tset}]{replacecolor}{\carg{tcolor}\}[\carg{sset}]\{\carg{scolor}}}] + \indexmacro{} makes + \carg{tcolor} have the same definition as \carg{scolor} (if \carg{scolor} is defined at all), where \carg{tcolor} + and \carg{scolor} are color names as given in the first argument of \macroname{definecolor}. If (one of) + \carg{tset} and \carg{sset} are given, the respective color is taken from the respective color set, otherwise from + the current color set. + + If \carg{scolor} is not defined (in color set \carg{sset}), \carg{tcolor} is left alone. + + \newslide + + \item[\present{\commandapp[\carg{weight}]{colorbetween}{\carg{src1}\}\{\carg{src2}\}\{\carg{target}}}] + \indexmacro{colorbetween} calculates a + `weighted average' between two colors. \carg{src1} and \carg{src2} are the names of the two colors. \carg{weight} + (default: $0.5$) is a fixed-point number between $0$ and $1$ giving the `weight' for the interpolation between + \carg{src1} and \carg{src2}. \carg{target} is the name to be given to the resulting mixed color. + + If \carg{weight} is $1$, then \carg{target} will be identical to \carg{src1} (up to color model conversions, see + below), if \carg{weight} is $0$, then \carg{target} will be identical to \carg{src2}, if \carg{weight} is $0.5$ + (default), then \carg{target} will be exactly in the middle between \carg{src1} and \carg{src2}. + + \macroname{colorbetween} supports the following color models: \code{rgb}, \code{RGB}, \code{gray}, \code{cmyk}, + \code{hsb}. If both colors are of the same model, the resulting color is also of the respective model. If + \carg{src1} and \carg{src2} are from \emph{different} models, then \carg{target} will \emph{always} be an \code{rgb} + color. The only exception is the \code{hsb} color model: As I don't know how to convert \code{hsb} to \code{rgb}, + mixing \code{hsb} with another color model will always raise an error. + + \newslide + + \item[\present{\commandapp{mkfactor}{\carg{expr}\}\{\carg{macroname}}}] + \indexmacro{mkfactor} is a helper command for automatically + generating the fixed point numbers between $0$ and $1$ which are employed by the color calculation commands. + \carg{expr} can be any expression which can stand behind \code{*} in expressions allowed by the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/calc.html}{\code{calc}} package (for instance: + \code{\commandapp{value}{counter}/\commandapp{value}{maxcounter}} or \macroname{ratio} or whatever). + \carg{macroname} should be a valid macro name. \carg{expr} is converted into a fixed-point representation which is + then assigned to \carg{macroname}. + + \newslide + + \item[\present{\code{\macroname{vanishcolors}[\carg{color}]}}] + \indexmacro{vanishcolors} is similar to the color variant command + \macroname{dimcolors}, but instead of dimming colors, all standard colors are replaced by a single color given by + the new command \present{\macroname{vanishcolor}} (default: \code{pagecolor}). Hence, the result of calling + \macroname{vanishcolors} should be that all text vanishes, as it is written in the background color (this doesn't + work with structured backgrounds, of course). + + For getting a color different from the default \code{pagecolor}, you can either redefinine \macroname{vanishcolor} + or give an alternative \carg{color} as an optional argument to \macroname{vanishcolors}. + + There is no dedicated command for making a single color vanish. To achieve this, use + \commandapp{replacecolor}{\carg{color}\}\{\macroname{vanishcolor}}. + \end{description} + + + \subsection{Color Emphasis and Highlighting}\label{Sec:ColorOptions} + \code{texpower} offers some support for text emphasis and highlighting with colors (instead of, say, font + changes). These features are enabled by the following options: + \begin{description} + \item[\present{option: \code{coloremph}}]\indexpckopt{texpower}{coloremph} + Make \macroname{em} and \macroname{emph} switch colors instead of fonts. + + \item[\present{option: \code{colormath}}]\indexpckopt{texpower}{colormath} + Color all mathematical formulae. + + \item[\present{option: \code{colorhighlight}}]\indexpckopt{texpower}{colorhighlight} + Make new highlighting and emphasis commands defined by \code{texpower} + use colors. + \end{description} + + \minisec{Things to pay attention to} + \begin{enumerate} + \item You need the \code{color} package to use any of the color features. + + \item To implement the options \code{coloremph} and \code{colormath}, it is neccessary to redefine some \LaTeX{} + internals. This can lead to problems and incompatibilities with other packages. Use with caution. + + \item If the \code{colorhighlight} option is \emph{not} given, new highlighting and emphasis commands defined by + \code{texpower} are realized otherwise. Sometimes, however, there is no good alternative to colors, so different + emphasis commands can become disabled or indistinguishable. + + \newslide + + \item Because of font changes, emphasized or highlighted text can have different dimensions whether or not the options + \code{coloremph}, \code{colormath}, and \code{colorhighlight} are set. Prepare for different line and page breaks + when changing one of these options. + + \item Color emphasis and highlighting makes use of the predefined standard colors described in section + \ref{Sec:Colors}. See sections \ref{Sec:StdCols} to \ref{Sec:ColBgdOpt} for further information on standard colors, + color sets, and customization. + \end{enumerate} + + \newslide + + \subsection{New commands for emphasis and highlighting elements}\label{Sec:Colorcommands} + Some things like setting the page or text color, making emphasised text or math colored are done automatically when + the respective options are set. There are some additional new commands for creating emphasis and highlighting + elements. + + \minisec{Concerning math:} + \begin{description} + \item[\present{\macroname{origmath}}]\indexmacro{origmath} + When the \code{colormath} option is given, \emph{everything} which appears in + math mode is colored accordingly. Sometimes, however, math mode is used for something besides mathematical formulae. + Some \LaTeX{} commands which internally use math mode (like \code{tabular} or \macroname{textsuperscript}) are + redefined accordingly when the \code{colormath} option is given (this is a potential source of trouble; beware of + problems\dots). + + If you need to use math mode for something which is not to be colored (like a symbol for \code{itemize}), you can + use the \macroname{origmath} command which works exactly like \macroname{ensuremath} but doesn't color its argument. + If a nested use of math mode should occur in the argument of \macroname{origmath}, it will again be colored. + \end{description} + + \newslide + + \minisec{Documenting \TeX{} code:} + \begin{description} + \item[\present{\macroname{code}}]\indexmacro{code} + Simple command for typesetting \code{code} (like shell commands). + + \item[\present{\macroname{macroname}}]\indexmacro{macroname} + For \macroname{macro names}. Like \macroname{code}, but with a \macroname{} in + front. + + \item[\present{\commandapp[\carg{opt arg}]{commandapp}{\carg{command}\}\{\carg{arg}}}] + \indexmacro{commandapp} For \TeX{} commands. \carg{arg} + stands for the command argument, \carg{opt arg} for an optional argument. + + \item[\present{\macroname{carg}}]\indexmacro{carg} + For \carg{macro arguments}. + \end{description} + + \newslide + + \minisec{Additional emphasis commands:} + \begin{description} + \item[\present{\macroname{underl}}]\indexmacro{underl} + Additional \underl{emphasis} command. Can be used like \macroname{emph}. Defaults + to \textbf{bold face} if the \code{colorhighlight} option is not given. + + \item[\present{\macroname{concept}}]\indexmacro{concept} + Additional \concept{emphasis} command, especially for new concepts. Can be + augmented by things like automatic index entry creation. Also defaults to \textbf{bold face} if the + \code{colorhighlight} option is not given. + + \item[\present{\macroname{inactive}}]\indexmacro{inactive} + Additional \inactive{emphasis} command, this time for `de-emphasising'. There is + no sensible default if the \code{colorhighlight} option is not given, as base \LaTeX{} doesn't offer an appropriate + font. In this case, \macroname{inactive} defaults to \macroname{monochromeinactive}, which does nothing. + + You can (re-)define \macroname{monochromeinactive} to provide some sensible behaviour in the absence of colors, for + instance striking out if you're using the + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/soul.html}{\code{soul}} package. + \end{description} + + + \minisec{Color Highlighting:} + \begin{description} + \item[\present{\macroname{present}}]\indexmacro{present} + Highlighting command which puts its argument into a \present{box with colored + background}. Defaults to an \fbox{\macroname{fbox}} if the \code{colorhighlight} option is not given. + + See section \ref{Sec:displaycustom} for some further highlighting commands. + \end{description} + + \newslide + + \subsection{Predefined standard colors}\label{Sec:Colors} + In previous subsections, it has been mentioned that \TeX Power predefines some standard colors which have appropriate + values in the predefined color sets \code{whitebg}, \code{lightbg}, \code{darkbg}, and \code{blackbg} (see sections + \ref{Sec:StdCols} to \ref{Sec:ColBgdOpt} for further information on standard colors, color sets, and customization). + \begin{description} + \item[\present{color: \code{pagecolor}}]\indexcode{pagecolor} + Background color of the page. Is set automatically at the beginning of the + document if color management is active. + + \item[\present{color: \code{textcolor}}]\indexcode{textcolor} + Color of normal text. Is set automatically at the beginning of the + document if color management is active. + + \item[\present{color: \code{emcolor}}]\indexcode{emcolor} + Color used for \emph{emphasis} if the \code{coloremph} option is set. + + \item[\present{color: \code{altemcolor}}]\indexcode{altemcolor} + Color used \emph{for \emph{double} emphasis} if the \code{coloremph} option + is set. + + \item[\present{color: \code{mathcolor}}]\indexcode{mathcolor} + Color used for math $a^2+b^2=c^2$ if the \code{colormath} option is set. + + \item[\present{color: \code{codecolor}}]\indexcode{codecolor} + Color used by the \macroname{code} command if the \code{colorhighlight} + option is set. + + \item[\present{color: \code{underlcolor}}]\indexcode{underlcolor} + Color used by the \underl{\macroname{underl} command} if the + \code{colorhighlight} option is set. + + \item[\present{color: \code{conceptcolor}}]\indexcode{conceptcolor} + Color used by the \concept{\macroname{concept} command} if the + \code{colorhighlight} option is set. + + \newslide + + \item[\present{color: \code{inactivecolor}}]\indexcode{inactivecolor} + Color used by the \inactive{\macroname{inactive} command} if the + \code{colorhighlight} option is set. + + \item[\present{color: \code{presentcolor}}]\indexcode{presentcolor} + Color used as background color by the \present{\macroname{present}} + command if the \code{colorhighlight} option is set. + + \item[\present{color: \code{highlightcolor}}]\indexcode{highlightcolor} + Color used as background color by the + \highlightboxed{\macroname{highlightboxed}} and \macroname{highlighttext} commands (see section + \ref{Sec:displaycustom}) if the \code{colorhighlight} option is set. + \end{description} + +\ifthenelse{\boolean{TPcolor}} +{% + \newslide + + \whitebackground + + \minisec{Color tables} + + \newlength{\widthfirstcol} + \settowidth{\widthfirstcol}{\textbf{\footnotesize white background}} + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize white background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} + + \newslide + + \lightbackground + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize light background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} + + \newslide + + \darkbackground + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize dark background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} + + \newslide + + \blackbackground + + \vspace*{\fill} + \begin{center} + \begin{tabular}{|p{\widthfirstcol}*{3}{|p{2cm}}|} + \cline{2-4} + \multicolumn{1}{l|}{\textbf{\footnotesize black background}}&standard&dimmed&enhanced\\\hline + \code{textcolor}&\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{textcolor}\textcolor{textcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{emcolor}&\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{emcolor}\textcolor{emcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{altemcolor}&\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{altemcolor}\textcolor{altemcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{mathcolor}&\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{mathcolor}\textcolor{mathcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{codecolor}&\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{codecolor}\textcolor{codecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{underlcolor}&\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{underlcolor}\textcolor{underlcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{conceptcolor}&\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{conceptcolor}\textcolor{conceptcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{inactivecolor}&\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{inactivecolor}\textcolor{inactivecolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{presentcolor}&\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{presentcolor}\textcolor{presentcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \code{highlightcolor}&\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\dimcolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}&\enhancecolor{highlightcolor}\textcolor{highlightcolor}{\rule{2cm}{\heightof{l}}}\\\hline + \end{tabular} + \end{center} +}{} + + \newslide + + \ifthenelse{\boolean{TPcolor}}{\lightbackground}{} + + %----------------------------------------------------------------------------- + % + \section{Structured page backgrounds and panels}\label{Sec:PageBackPanel} + \subsection{Structured page backgrounds} + + \present{\commandapp[\carg{options}]{backgroundstyle}{\carg{style}}} + \indexmacro{backgroundstyle} + is the central command for structured page backgrounds. It works like + \macroname{pagestyle} and other commands of this type. This means + \carg{style} is a symbolic name specifying the general method by which the + page background is constructed. + + The detailed construction is influenced by parameters which can be set in + \carg{options}. If given, the optional parameter \carg{options} should + contain a list of settings in ``keyval'' manner. The keyval method + % (which is used by the \includegraphics command from the graphicx package, + %for instance) + is based on associating a symbolic name with every parameter. \carg{options} + is then a comma-separated list of parameter settings of the form + \carg{name}=\carg{value}, where \carg{name} is the symbolic name of the + parameter to be set and \carg{value} is the value it is to be set to. + + Not every \carg{style} evaluates every parameter. In the following, a + description of all styles, together with lists of the parameters employed, is + given. It is followed by a list of all parameters. Note that some parameter + names internally access the same parameter. For instance, parameters + \code{startcolor} and \code{startcolordef} both set the start color of a color + gradient. In case of conflict, the last setting in the list \carg{options} + will prevail. It is noted in the list of parameters which other parameters + are overwritten. + + \newslide + + \carg{style} may have one of the following values: + \begin{description} + \item[\present{Style: \code{none}}] + \indexmacroopt{backgroundstyle}{none}% + No background. This means the page background is whatever it would be if + \macroname{backgroundstyle} wasn't used at all (for instance, a plain area + of color pagecolor if one of the color options has been given). + + Parameters used: none. + + \item[\present{Style: \code{plain}}] + \indexmacroopt{backgroundstyle}{plain}% + Plain background. This means the page background is whatever it would be if + \macroname{backgroundstyle} wasn't used at all (as for no background). In + addition to background style \code{none}, the background style \code{plain} + does produce panel backgrounds. The colors and dimensions of a \code{top + panel}, \code{bottom panel}, \code{left panel}, and \code{right panel} can + be specified. + + \begin{flushleft} + Parameters used: \code{hpanels}, \code{autopanels}, \code{toppanelcolor}, + \code{bottompanelcolor}, \code{leftpanelcolor}, \code{rightpanelcolor}, + \code{toppanelcolordef}, \code{bottompanelcolordef}, \code{leftpanelcolordef}, + \code{rightpanelcolordef}, \code{toppanelheight}, \code{bottompanelheight}, + \code{leftpanelwidth}, \code{rightpanelwidth}. + \end{flushleft} + + \item[\present{Style: \code{vgradient}}] + \indexmacroopt{backgroundstyle}{vgradient}% + Vertical gradient. The page background is constructed using the + \macroname{vgradrule}\indexmacro{vgradrule} command. In addition to the + usual parameters of gradient rules, the vgradient background style allows + to leave space for headers, footers, or panels. The colors and dimensions + of a \code{top panel}, \code{bottom panel}, \code{left panel}, and + \code{right panel} can be specified. The gradient rule fills the + rectangular space left between the specified panels. + + \begin{flushleft} + Parameters used: \code{stripes}, \code{firstgradprogression}, + \code{startcolor}, \code{startcolordef}, \code{endcolor}, \code{endcolordef} + in addition to the parameters used for style \code{plain}. + \end{flushleft} + + \item[\present{Style: \code{hgradient}}] + \indexmacroopt{backgroundstyle}{hgradient}% + Horizontal gradient. The page background is constructed using the + \macroname{hgradrule}\indexmacro{hgradrule} command. See the description of + \macroname{vgradient} concerning panels. + + Parameters used: See list for style \code{vgradient}. + + \item[\present{Style: \code{doublevgradient}}] + \indexmacroopt{backgroundstyle}{doublevgradient}% + Double vertical gradient. The page background is constructed using the + \macroname{dblvgradrule}\indexmacro{dblvgradrule} command. See the + description of \macroname{vgradient} concerning panels. + + \begin{flushleft} + Parameters used: \code{gradmidpoint}, \code{secondgradprogression}, + \code{midcolor}, \code{midcolordef} in addition to the parameters used for + style \code{vgradient} (and \code{plain}). + \end{flushleft} + + \item[\present{Style: \code{doublehgradient}}] + \indexmacroopt{backgroundstyle}{doublehgradient}% + Double horizontal gradient. The page background is constructed using the + \macroname{dblhgradrule}\indexmacro{dblhgradrule} command. See the description of + \macroname{vgradient} concerning panels. + + Parameters used: See list for \code{doublevgradient}. + + \end{description} + Now, a list of all parameters and their meaning. In the following, + \begin{itemize}\setlength{\itemsep}{0cm} + \item[\carg{n}] denotes a (calc expression for a) nonnegative integer + \item[\carg{i}] denotes a (calc expression for an) integer + \item[\carg{r}] denotes a fixed-point number + \item[\carg{l}] denotes a (calc expression for a) length + \item[\carg{c}] denotes the name of a defined color + \item[\carg{cm}] denotes a valid color model name (in the sense of the color + package) + \item[\carg{cd}] denotes a valid color definition (in the sense of the color + package) wrt a given \carg{cm} parameter + \item[\carg{t}] denotes a `truth value' in the sense of the ifthen package: + either true or false. As usual for keyval, if =\carg{t} is omitted, the + default true is assumed. + \end{itemize} + \begin{description} + \item[\present{Option: \code{stripes=}\carg{n}}] Set the \carg{stripes} + parameter of gradient rules to \carg{n}.\\ + Default: \macroname{bgndstripes}. \\ + Used by: \code{vgradient}, \code{hgradient}, \code{doublevgradient}, + \code{doublehgradient}. + + \item[\present{Option: \code{gradmidpoint=}\carg{r}}] Set the \carg{midpoint} + parameter of double gradient rules to \carg{r}.\\ + Default: \macroname{bgndgradmidpoint}\\ + Used by: doublevgradient, doublehgradient + + \item[\present{Option: \code{firstgradprogression=}\carg{i}}] + Set the first gradient progression of gradient rules to \carg{i}.\\ + Default: \macroname{bgndfirstgradprogression}\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{secondgradprogression=}\carg{i}}] + Set the second gradient progression of double gradient rules to \carg{i}.\\ + Default: \macroname{bgndsecondgradprogression}\\ + Used by: doublevgradient, doublehgradient + + \item[\present{Option: \code{startcolor=}\carg{c}}] + Set the \carg{startcolor} parameter of gradient rules to \carg{c}.\\ + Default: If neither startcolor nor startcolordef is given, the color + bgndstartcolor is used as startcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: startcolordef + + \item[\present{Option: \code{startcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the \carg{startcolor} parameter of gradient rules to color foo, which + is obtained by \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory.\\ + Default: If neither startcolor nor startcolordef is given, the color + bgndstartcolor is used as startcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: startcolor + + \item[\present{Option: \code{endcolor=}\carg{c}}] + Set the \carg{endcolor} parameter of gradient rules to \carg{c}.\\ + Default: If neither endcolor nor endcolordef is given, the color + bgndendcolor is used as endcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: endcolordef + + \item[\present{Option: \code{endcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the \carg{endcolor} parameter of gradient rules to color foo, which + is obtained by \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory.\\ + Default: If neither endcolor nor endcolordef is given, the color + bgndendcolor is used as endcolor.\\ + Used by: vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: endcolor + + \item[\present{Option: \code{midcolor=}\carg{c}}] + Set the \carg{midcolor} parameter of double gradient rules to \carg{c}.\\ + Default: If neither midcolor nor midcolordef is given, the color + bgndmidcolor is used as midcolor.\\ + Used by: doublevgradient, doublehgradient\\ + Overwrites: midcolordef + + \item[\present{Option: \code{midcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the \carg{midcolor} parameter of double gradient rules to color foo, + which is obtained by \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory.\\ + Default: If neither midcolor nor midcolordef is given, the color + bgndmidcolor is used as midcolor.\\ + Used by: doublevgradient, doublehgradient\\ + Overwrites: midcolor + + \item[\present{Option: \code{hpanels=}\carg{t}}] + Specifies the `direction' of panels produced. hpanels=true means the top + and bottom panel span the full width of the screen. In the space left in + the middle, the left panel, the background itself, and the right panel are + displayed. hpanels=false means the left and right panel span the full + height of the screen. In the space left in the middle, the top panel, + the background itself, and the bottom panel are + displayed.\\ + Default: hpanels=true is the default for plain, hgradient and + doublehgradient. hpanels=false is the default for vgradient and + doublevgradient.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{autopanels=}\carg{t}}] + Specifies whether the default values of the parameters toppanelheight, + bottompanelheight, leftpanelwidth, rightpanelwidth should be calculated + automatically from the contents of declared panels. The automatism used + is analogous to that of \macroname{DeclarePanel*}. Note that for panel + arrangement, both the width and the height of all declared panels are + overwritten. If you don't want this, calculate the panel parameters + yourself and set autopanels=false. In this case, the current panel + dimensions of declared panels are used as defaults for toppanelheight, + bottompanelheight, leftpanelwidth, rightpanelwidth.\\ + Default: true.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{\carg{pos}panelheight=}\carg{l}}] + Set the height/width of the space left for the top / bottom / left / right + panel to \carg{l}. Note that the remaining dimensions of panels, for + instance the width of the top panel, are always calculated automatically, + depending on the setting of the hpanels parameter.\\ + Default: If a respective panel has been defined using + \macroname{DeclarePanel}, the default used depends on the setting of the + autopanels parameter. If autopanels=true, the correct dimension is + calculated from the contents of the panel. The respective one of + \macroname{toppanelheight}, \macroname{bottompanelheight}, + \macroname{leftpanelwidth}, \macroname{rightpanelwidth} is overwritten + with the result. If autopanels=false, then the respective setting of + \macroname{toppanelheight}, \macroname{bottompanelheight}, + \macroname{leftpanelwidth}, \macroname{rightpanelwidth} is taken as the + default. If a panel has not been declared, the appropriate one of + \macroname{bgndtoppanelheight}, \macroname{bgndbottompanelheight}, + \macroname{bgndleftpanelwidth}, \macroname{bgndrightpanelwidth} is used + as default. \\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient + + \item[\present{Option: \code{\carg{pos}panelcolor=}\carg{c}}] + Set the color of the space left for the top / bottom / left / right panel + to \carg{c}.\\ + Default: The standard colors toppanelcolor, bottompanelcolor, leftpanelcolor, + rightpanelcolor are used as defaults.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: toppanelcolordef bottompanelcolordef leftpanelcolordef + rightpanelcolordef + + \item[\present{Option: \code{\carg{pos}panelcolordef=\{\carg{cm}\}\{\carg{cd}\}}}] + Set the color of the space left for the top / bottom / left / right panel + to color foo, which is obtained by + \macroname{definecolor\{foo\}\{\carg{cm}\}\{\carg{cd}\}}. + Note that the two pairs of curly braces are mandatory. \\ + Default: See the description of top/bottom/left/rightpanelcolor.\\ + Used by: plain, vgradient, hgradient, doublevgradient, doublehgradient\\ + Overwrites: toppanelcolor bottompanelcolor leftpanelcolor rightpanelcolor + + \end{description} + + \newslide + + \subsection{Panel-specific user level commands} + If you're using a package that has it own panel (as + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}% + {\code{pdfscreen}}) don't even consider using the following. + + \present{\commandapp[\carg{name}]{DeclarePanel}{\carg{pos}\}\{\carg{contents}}} + \indexmacro{DeclarePanel} + declares the contents \carg{contents} of the panel at position \carg{pos}. + Afterwards, on every page the panel contents are set in a parbox of + dimensions and position specified by \carg{pos}panelwidth, + \carg{pos}panelheight, \macroname{panelmargin} and \carg{pos}panelshift for + top and bottom panels and \carg{pos}panelraise for left and right panels. The + parbox is constructed anew on every page, so all changes influencing panel + contents or parameters (like a \macroname{thepage} in the panel contents) are + respected. + + The panel contents are set in color \carg{pos}paneltextcolor. There is + another standard color \carg{pos}panelcolor, which is however not activated by + \macroname{DeclarePanel} but by selecting an appropriate background style. + + Note that \macroname{backgroundstyle} must be called after the panel + declaration. + + \newslide + + Pages are constructed as follows: first the page background, then + the panels, and then the page contents. \emph{Hence, panels overwrite the background + and the page contents overwrite the panels.} The user is supposed to make sure + themselves that there is enough space left on the page for the panels + (document class specific settings). The panel declaration is global. A panel + can be `undeclared' by using \macroname{DeclarePanel\{\carg{pos}\}\{\}}. + + If the optional argument \carg{name} is given, the panel contents and + (calculated) size will also be stored under the given name, to be restored + later with \macroname{restorepanels}. This is nice for switching between + different sets of panels. + + \newslide + + For an example look at the files \code{simplepanel.tex} and \code{panelexample.tex}. + A very simple example follows: + + \begin{verbatim} +\DeclarePanel{left}{% + \textsf{Your Name} + + \vfill + + \button{\Acrobatmenu{PrevPage}}{Back} + \button{\Acrobatmenu{NextPage}}{Next} } +\end{verbatim} + + \newslide + + There is a starred version which will (try to) automatically calculate the + \indexmacro{DeclarePanel*} `flexible' dimension of each panel. For top and + bottom panels this is the height, for left and right panels this is the width. + Make sure the panel contents are `valid' at the time \macroname{DeclarePanel*} + is called so the calculation can be carried out in a meaningful way. + + While the automatic calculation of the height of top and bottom panels is + trivial (using \macroname{settoheight}), there is a sophisticated procedure + for calculating a `good' width for the parbox containing the panel. Owing to + limitations set by TeX, there are certain limits to the sophistication of the + procedure. + + \newslide + + For instance, any `whatsits' (specials (like color changes), file + accesses (like \macroname{label}), or hyper anchors) + or rules which are inserted directly in the vertical list of the parbox + `block' the analysis, so the procedure can't `see' past them (starting at the + bottom of the box) when analysing the contents of the parbox. + + The user should make sure such items are set in horizontal mode (by using + \macroname{leavevmode} or enclosing stuff in boxes). Furthermore, only + overfull and underfull hboxes which occur while setting the parbox are + considered when judging which width is `best'. This will reliably make the + width large enough to contain `wide' objects like tabulars, logos and buttons, + but might not give optimal results for justified text. vboxes occurring + directly in the vbox are ignored. + + \newslide + + Note further that hboxes with fixed width + (made by \macroname{hbox} to...) which occur directly in the vbox may disturb + the procedure, because the fixed width cannot be recovered. These hboxes will + be reformatted with the width of the vbox, generating an extremely large + badness, unsettling the calculation of maximum badness. To avoid this such + hboxes should be either contained in a vbox or set in horizontal mode with + appropriate glue at the end. + + \newslide + + \subsection{Navigation buttons} + The following provides only the very basics for navigation buttons. If you're + using a package that has it's own naviagtion buttons (as + \href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}% + {\code{pdfscreen}}) don't even consider using the following. + + \present{\macroname{button\{\carg{navcommand}\}\{\carg{text}\}}} + \indexmacro{button} + creates a button labelled \carg{text} which executes \carg{navcommand} when + pressed. The command takes four optional arguments (left out above): + \carg{width}, \carg{height}, \carg{depth} and \carg{alignment} in that order. + \carg{navcommand} can be for instance \commandapp{Acrobatmenu}{\carg{command}} or + \commandapp{hyperlink}{\carg{target}} (note that \carg{navcommand} should take + one (more) argument specifying the sensitive area which is provided by + \macroname{button}). If given, the optional parameters \carg{width}, \carg{height}, and + \carg{depth} give the width, height and depth, respectively, of the framed + area comprising the button (excluding the shadow, but including the + frame). Default are the `real' width, height and depth, respectively, of + \carg{text}, plus allowance for the frame. If given, the optional parameter + \carg{alignment} (one of l,c,r) gives the alignment of \carg{text} inside the + button box (makes sense only if \carg{width} is given). + + The button appearence is defined by some configurable button parameters: + \begin{description} + \item[\present{\macroname{buttonsep}}] + \indexmacro{buttonsep} + Space between button label and border. (Default: \macroname{fboxsep}) + + \item[\present{\macroname{buttonrule}}] + \indexmacro{buttonrule} + Width of button frame. (Default: \code{0pt}) + + \item[\present{\macroname{buttonshadowhshift}}] + \indexmacro{buttonshadowhshift} + Horizontal displacement of button shadow. (Default: 0.3\macroname{fboxsep}) + + \item[\present{\macroname{buttonshadowvshift}}] + \indexmacro{buttonshadowvshift} + Vertical displacement of button shadow. (Default: 0.3\macroname{fboxsep}) + \end{description} + + A list of predefined buttons follows: + \begin{description} + + \item[\present{\macroname{backpagebutton[\carg{width}]}}] + \indexmacro{backpagebutton} + Last subpage of previous page. + + \item[\present{\macroname{backstepbutton[\carg{width}]}}] + \indexmacro{backstepbutton} + Previous step. + + \item[\present{\macroname{gobackbutton[\carg{width}]}}] + \indexmacro{gobackbutton} + `Undo action' (go back to whatever was before last action). + + \item[\present{\macroname{nextstepbutton[\carg{width}]}}] + \indexmacro{nextstepbutton} + Next step. + + \item[\present{\macroname{nextpagebutton[\carg{width}]}}] + \indexmacro{nextpagebutton} + First subpage of next page. + + \item[\present{\macroname{nextfullpagebutton[\carg{width}]}}] + \indexmacro{nextfullpagebutton} + Last subpage of next page. + + \item[\present{\macroname{fullscreenbutton[\carg{width}]}}] + \indexmacro{fullscreenbutton} + Toggle fullscreen mode. + + \end{description} + +\clearpage +\printindex +\end{document} +\endinput +%% +%% End of file `manual.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/mathexample.tex b/Master/texmf-dist/doc/latex/texpower/mathexample.tex new file mode 100644 index 00000000000..64a54d2d0a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/mathexample.tex @@ -0,0 +1,246 @@ +%% +%% This is file `mathexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `mathexample,mathexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{mathexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: mathexample.tex +% +% Math example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 mathexample +% +% afterwards processing the resulting ps file with +% +% distill mathexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 19, 2000: Using \bstep instead of \boxedsteps. +% +% v0.0.3 Apr 27, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% +% v0.0.4 May 24, 2000: texpower 0.0.8 now supports equation numbers in the argument of \stepwise, so align* was +% changed to align. +% + + + +%----------------------------------------------------------------------------------------------------------------- +% Enable all color emphasis and highlighting options. Use white background and slifonts. + +\PassOptionsToPackage{coloremph,colormath,colorhighlight,whitebackground}{texpower} + +% Input the generic preamble. + +\input{__TPpreamble} + +\usepackage{tpslifonts} + +\hypersetup{pdftitle={texpower math example}} + + +%----------------------------------------------------------------------------------------------------------------- +% Packages and Preamble settings individual for this example. + +% We write some aligned equations. + +\usepackage{amsmath} +% Make nested braces grow. +\delimitershortfall-1sp + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: An Aligned Equation}\label{Sec:ExEq} +% In the following, an aligned system of equations is built incrementally. We use the custom command \liststepwise to +% avoid glitches in vertical spacing. +% +\liststepwise% +{% + % + % This is just for compressing the equations so they can be squeezed on one slide. + % + \fontsize{7.8pt}{9pt}\selectfont + \renewcommand{\arraystretch}{0}% + \setlength{\arraycolsep}{0pt}% + \setlength{\abovedisplayskip}{0pt}% + \setlength{\belowdisplayskip}{0pt}% + % + % \highlightboxed will be used for underlaying some formulas with color. To minimize overlap, the width of the outer + % frame is reduced. + \setlength{\highlightboxsep}{1pt}% + % + \begin{align} + \lefteqn + {% + \min + \left( + % The nested braces are filled `from outer to inner'. This means nesting a lot of steps inside each other... + % The outermost brace is displayed from the outset. + % The first step (which follows right here) displays the next inner brace (the first argument of \min), filled + % with an almost `empty' array (apart from one comma and some dots). + % \bstep is used to get appropriate white space when the step is not yet active. + \bstep + {\max + \left( + \begin{array}{l} + % The next two steps fill in the lines of the array. + \bstep{\min\left(F'(x),\min\left(F_1(x),G_1(y)\right)\right)},\\[-2ex] + \vdots\\ + \bstep{\min\left(F'(x),\min\left(F_n(x),G_n(y)\right)\right)} + \end{array} + \right) + }, + % After the first brace is filled, the next step provides the second argument of \min. + \bstep{\min\left(G_i(y),H_i(z)\right)} + \right) + } + & + % The next couple of steps will create the remaining lines of the aligned equations. These need to be + % insubstantial (as is the default for \liststepwise), because & can't go in a box. + % As a consequence, the horizontal alignment cannot kick in until the last step is performed. This would make the + % alignment `flicker' sidewise. + % So we have to bite the bullet and duplicate the widest entry here (invisibly), so that the horizontal alignment + % is constant during all steps. *sigh* + \phantom + {% + {}= + \min + \left( + F'(x), + \min + \left( + \max + \left( + \begin{array}{l} + \min\left(F_1(x),\min\left(G_1(y),G_i(y)\right)\right),\\[-1.5ex] + \vdots\\[-.5ex] + \min\left(F_n(x),\min\left(G_n(y),G_i(y)\right)\right) + \end{array} + \right), + H_i(z) + \right) + \right) + } + % The next step displays two lines at a time, but incompletely, i.e. some parts are missing (which are inside + % nested calls of \bstep). + % This way, it is demonstrated how the arguments of the nested \min's are reordered. + \step + {% + \\ + &= + \max + \left( + % The macro \activatestep is used by \stepwise to `wrap' the argument of a \bstep command at the _first_ time + % it appears. + % Usually, it does nothing. Now, we redefine it to highlight its background, so it is easier to spot the + % places where the additional arguments were inserted. + \let\activatestep\highlightboxed + \begin{array}{l} + \min + \left( + % The inner \bstep's display the missing arguments, which are completely identical in both lines. + % It is intended that all the missing arguments appear at the same time, so \rebstep is used for the + % remaining arguments which have been left out. + \min\left(\bstep{F'(x)},\min\left(\rebstep{F_1(x),G_1(y)}\right)\right),\min\left(G_i(y),H_i(z)\right) + \right),\\[-2ex] + \vdots\\[-1ex] + \min + \left( + \min\left(\rebstep{F'(x)},\min\left(\rebstep{F_n(x),G_n(y)}\right)\right),\min\left(G_i(y),H_i(z)\right) + \right) + \end{array} + \right) + \\ + &= + \max + \left( + \let\activatestep\highlightboxed + \begin{array}{l} + \min + \left( + \min\left( + % Here are the remaining arguments of \min which are all to be displayed in one step (together with + % those from the previous line). + \rebstep{F'(x)},\min\left(\rebstep{F_1(x)},\min\left(\rebstep{G_1(y)},G_i(y)\right)\right) + \right), + H_i(z) + \right),\\[-2.5ex] + \vdots\\[-1.5ex] + \min + \left( + \min\left( + \rebstep{F'(x)},\min\left(\rebstep{F_n(x)},\min\left(\rebstep{G_n(y)},G_i(y)\right)\right) + \right), + H_i(z) + \right) + \end{array} + \right) + } + \step + {% + \\ + &= + \min + \left( + F'(x), + \min + \left( + \max + \left( + \begin{array}{l} + \min\left(F_1(x),\min\left(G_1(y),G_i(y)\right)\right),\\[-1.5ex] + \vdots\\[-.5ex] + \min\left(F_n(x),\min\left(G_n(y),G_i(y)\right)\right) + \end{array} + \right), + H_i(z) + \right) + \right) + } + \end{align} + }% + \newslide +\end{slide} +\end{document} +\endinput +%% +%% End of file `mathexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/panelexample.tex b/Master/texmf-dist/doc/latex/texpower/panelexample.tex new file mode 100644 index 00000000000..75a83b7e7a5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/panelexample.tex @@ -0,0 +1,313 @@ +%% +%% This is file `panelexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `panelexample') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{panelexample.tex}% + [2004/07/27 TeXPower example file] +%------------------------------------------------------------------------------ +% File: panelexample.tex +% +% Example for the panel facilities of TeXPower. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When +% using standard LaTeX, the dvi file produced should +% be converted to pdf afterwards (using dvips+distill/ps2pdf or +% dvipdf, for instance). +% +% The resulting pdf file is meant for presenting `interactively' with +% Adobe Acrobat Reader. +% +%------------------------------------------------------------------------------ +% Author: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.1 Nov 14, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.2 May 02, 2003: English version. +% + +%------------------------------------------------------------------------------ +% Enable all color emphasis and highlighting options. Use white +% background and slifonts. + +\PassOptionsToPackage{coloremph,colormath,colorhighlight,whitebackground} +{texpower} + +% Input the generic preamble. + +\input{__TPpreamble} + +\usepackage{tpslifonts} + +\hypersetup{pdftitle={texpower panel example}} + +%------------------------------------------------------------------------------ +% Settings individual for this example. + +\renewcommand{\buttonsep}{2pt} +\renewcommand{\buttonshadowhshift}{1pt} +\renewcommand{\buttonshadowvshift}{-1pt} + +\usepackage{graphicx} +% The mps extension isn't supported out-of-the-box for latex+dvips +\ifthenelse{\boolean{psspecialsallowed}}{% +\DeclareGraphicsExtensions{.mps}}{} + +\newcounter{typed} + +\makeatletter +\newcommand{\storehead}[3] +{% + \global\let\@typed=\empty + \setcounter{typed}{0}% + \def\@typeto{#2}% + \let\type@next=\@typeit + \type@next#3\@nil + \global\let#1=\@typed +} + +\newcommand{\@typeit}[1] +{% + \ifx\@nil#1 + \else + \stepcounter{typed}% + \ifthenelse{\value{typed}>\@typeto} + {\let\type@next=\@gobbletail} + {\g@addto@macro\@typed{#1}}% + \expandafter\type@next + \fi +} + +\long\def\@gobbletail#1\@nil{} + +\newcounter{i} + +\newsavebox\logobox +\newsavebox\hookbox + +\makeatother + +\mklength{\slidetopmargin}{\ht\logobox*\ratio{1cm}{\semcm}} + +\newlength{\buttonwidth} + +\newcommand{\mybutton}[2] +{\raisebox{\depth}{\makebox[\buttonwidth][l]{\button[\buttonwidth]{#1}{#2}}}} + +\slidesonlyfalse\notestrue\noxcomment + +\begin{document} + +% Because the Context Support Macros are loaded at BeginDocument +\savebox\hookbox{\includegraphics[width=1cm]{fig-2}} +\makeatletter +\savebox\logobox{\includegraphics[width=\strip@pt\paperwidth truept]{fig-3}} +\makeatother +\savebox\logobox{\raisebox{0cm}[\height-2ex][0pt]{\rlap{\usebox{\logobox}}}} + +\pageDuration{0.01} + +\begingroup +\loop + \ifnum\value{i}<76 + \stepcounter{i}% + \storehead{\partialtext}{\value{i}} + {% + Panels\space automatically\space adapt\space to\space the\space + size\space of\space their\space contents.\par + They\space can\space be\space placed + }% + \DeclarePanel{left} + {% + \leavevmode\scriptsize + \mbox{\usebox{\logobox}} + + {\bfseries Stephan Lehmke + + Lehr\-stuhl Informatik~I} + + \vfill + + \nointerlineskip + \rule{\linewidth}{\fboxrule} + + \nointerlineskip\kern1ex + \partialtext + + \nointerlineskip\kern1ex + \rule{\linewidth}{\fboxrule} + + \vfill + + \ifthenelse{\lengthtest{\linewidth>2cm}} + {\setlength{\buttonwidth}{.5\linewidth-.5ex}} + {\setlength{\buttonwidth}{\linewidth}}% + % + \lineskip1ex\relax + % + \mybutton{\Acrobatmenu{FirstPage}}{Start}\hfill + \mybutton{\Acrobatmenu{LastPage}}{End}\hfill + \mybutton{\Acrobatmenu{PrevPage}}{Prev}\hfill + \mybutton{\Acrobatmenu{NextPage}}{Next} + + \mbox{\usebox{\hookbox}} + }% + + \backgroundstyle{plain} + + \mklength{\slideleftmargin}{\leftpanelwidth*\ratio{1cm}{\semcm}+.5cm} + \setlength{\slidewidth}{\paperwidth-\slideleftmargin-\sliderightmargin} + + \begin{slide} + \makeslidetitle{\TeX Power Example: panels} + \end{slide} + +\repeat +\endgroup + +\DeclarePanel*{left}{} +\setcounter{i}{0} + +\setlength{\buttonwidth}{1.5cm} + +\DeclarePanel*{bottom} +{% + \leavevmode\scriptsize\smash{\usebox{\hookbox}}\hfill% + \mybutton{\Acrobatmenu{FirstPage}}{Start}~% + \mybutton{\Acrobatmenu{LastPage}}{End}~% + \mybutton{\Acrobatmenu{PrevPage}}{Prev}~% + \mybutton{\Acrobatmenu{NextPage}}{Next}% +} + +\mklength{\slidebottommargin}{\bottompanelheight*\ratio{1cm}{\semcm}+.5cm} + +\begingroup +\loop + \ifnum\value{i}<24 + \stepcounter{i}% + \storehead{\partialtext}{\value{i}} + {% + on\space any\space side\space of\space the\space page. + }% + \DeclarePanel{top} + {% + \leavevmode\scriptsize\parskip0pt\relax + \mbox{\usebox{\logobox}} + + \medskip + + \parbox[t]{\widthof{\bfseries Lehrstuhl Informatik~I}} + {\bfseries Stephan Lehmke\\ Lehrstuhl Informatik~I}\quad + \parbox[t]{\linewidth-\widthof{\bfseries Lehrstuhl Informatik~I}-3cm} + {% + Panels\space automatically\space adapt\space to\space the\space + size\space of\space their\space contents.\par + They\space can\space be\space placed + \partialtext + } + }% + + \backgroundstyle{plain} + + \mklength{\slidetopmargin}{\toppanelheight*\ratio{1cm}{\semcm}+.5cm} + \setlength{\slideheight}{\paperheight-\slidetopmargin-\slidebottommargin} + + \begin{slide} + \small\makeslidetitle{\TeX Power Example: panels} + \end{slide} + +\repeat +\endgroup + +\DeclarePanel*{top}{} +\setlength{\slideheight}{\paperheight-\slidetopmargin-\slidebottommargin} + +\setcounter{i}{0} + +\makeatletter +\savebox\logobox +{% + \raisebox{0cm}[\height-1.5ex][0pt] + {\llap{\includegraphics[width=\strip@pt\paperwidth truept-1cm]{fig-3}}}% +} +\makeatother + +\mklength{\slidetopmargin}{\ht\logobox*\ratio{1cm}{\semcm}} + +\begingroup +\loop + \ifnum\value{i}<146 + \stepcounter{i}% + \storehead{\partialtext}{\value{i}} + {% + Normally,\space automatic\space line\space breaks\space are\space + not\space needed\space inside\space panels,\space but\space + it\space is\space nice\space that\space the\space size\space + automatically\space adapts\space to\space the\space size\space + of\space logos,\space buttons\space etc. + }% + \DeclarePanel{right} + {% + \leavevmode\scriptsize + \hspace*{\fill}\mbox{\usebox{\logobox}}\hspace*{-1.5ex} + + \medskip + + {\bfseries Stephan Lehmke + + Lehr\-stuhl Informatik~I} + + \vfill + + \nointerlineskip + \rule{\linewidth}{\fboxrule} + + \nointerlineskip\kern1ex + Panels\space automatically\space adapt\space to\space the\space + size\space of\space their\space contents.\par + They\space can\space be\space placed on\space any\space side\space + of\space the\space page. + + \partialtext + }% + + \backgroundstyle[hpanels=false]{plain} + + \mklength{\sliderightmargin}{\rightpanelwidth*\ratio{1cm}{\semcm}+.5cm} + \setlength{\slidewidth}{\paperwidth-\slideleftmargin-\sliderightmargin} + + \begin{slide} + \makeslidetitle{\TeX Power Example: panels} + \end{slide} + +\repeat +\endgroup + +\hypersetup{pdfpageduration={}} + + +\end{document} +\endinput +%% +%% End of file `panelexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/parexample.tex b/Master/texmf-dist/doc/latex/texpower/parexample.tex new file mode 100644 index 00000000000..bbdbf49134f --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/parexample.tex @@ -0,0 +1,136 @@ +%% +%% This is file `parexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `parexample,parexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{parexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: parexample.tex +% +% Paragraph example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 parexample +% +% afterwards processing the resulting ps file with +% +% distill parexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 27, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% +% v0.0.3 May 26, 2000: Added an example for \hidetext. +% + +%----------------------------------------------------------------------------------------------------------------- +% Use slifonts. + +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower paragraph example}} + +\usepackage{soul} + + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +% +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: Inside A Paragraph}\label{Sec:ExPar} + +% +% We show that \stepwise can be used for highlighting words within a paragraph. +% Furthermore, it is demonstrated how the order in which \step's are executed can be changed. +% +% We define a `placeholder' which will mark the place of missing words (instead of \displayphantom). +% +\newcommand{\placeholder}[1]{\leavevmode\phantom{#1}\llap{\rule{\widthof{\phantom{#1}}}{\fboxrule}}}% + % + % We use the custom command \parstepwise which not only wraps the whole argument of \stepwise into a minipage (because + % otherwise vertical spacing goes haywire, don't ask me why), but also gives substance to steps. + % + % All variants of \stepwise take an optional argument the contents of which are executed inside a group before the + % inner loop of starts. It can be used to set parameters locally. + % Here, we redefine \activatestep (which has been explained in the equation example) to highlight the first + % appearance of any word. + % \hidestepcontents is used as a `wrapper' for those arguments of \step which should not appear yet. It either + % displays nothing (this is the default for \stepwise and \liststepwise) or puts its argument into a \phantom + % (the default for \parstepwise); this behaviour is also toggled by \boxedsteps and \nonboxedsteps. + % Here, we redefine it to use our selfdefined \placeholder to mark `missing' words. + % + \parstepwise[\let\hidestepcontents=\placeholder\let\activatestep=\highlightboxed]% + {% + \begin{quote} + \Huge We can \step{create} a \step{fill-in-the-blanks} + % + % \step takes an optional argument with which it can be specified _when_ its argument is to appear. This is + % expressed in \ifthenelse syntax (see the documentation of the ifthen package). + % Here, we refer to the counter step which is advanced by \stepwise and contains the number of the current step. + % This way, steps can be made to appear in any order. + \step[\value{step}=5]{text} which is then + \step[\value{step}=4]{filled} in in + \step[\value{step}=3]{\textbf{any}} order! + \end{quote} + }% + + \newslide + + % The \hidetext command hides its argument while respecting automatic line breaks and such. The command needs the soul + % package to work. Read the documentation of soul for restrictions as to what can go in the argument of \hidetext. + + \stepwise[\let\hidestepcontents=\hidetext\let\activatestep=\highlighttext] + {% + \vspace*{\fill} + \begin{minipage}{\linewidth} + \begin{quote} + \Huge We can step through a \step{paragraph} of \step{free text} + \step{without disturbing} line breaks! + \end{quote} + \end{minipage} + \vspace*{\fill}\vspace*{\fill} + } + \newslide +\end{slide} +\end{document} +\endinput +%% +%% End of file `parexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/pdfscrdemo.tex b/Master/texmf-dist/doc/latex/texpower/pdfscrdemo.tex new file mode 100644 index 00000000000..58758d639d9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/pdfscrdemo.tex @@ -0,0 +1,236 @@ +%% +%% This is file `pdfscrdemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `pdfscrdemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{pdfscrdemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: pdfscrdemo.tex +% +% Simple examples the for combining the pdfscreen package with the dynamic features provided by the package +% texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 25, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Jul 31, 2000: Slightly updated for PDFScreen v.1.5. +% + +\documentclass[12pt]{article} + +\usepackage[screen,panelright,sectionbreak]{pdfscreen} + +\margins{2ex}{2ex}{2ex}{2ex} +\screensize{6.25in}{8in} + +\emblema{fig-2} +\urlid{http://texpower.sourceforge.net/} + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% We use the tpslifonts package for better readability. +% +\usepackage[display]{texpower} +\usepackage{tpslifonts} + + +\begin{document} + +\title{The \code{texpower} Package\\{\normalfont \texttt{pdfscreen} Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + +\tableofcontents + +\section{A list environment} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + + + +\section{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + + + + +\section{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + + + + +\section{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.1cm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{document} +\endinput +%% +%% End of file `pdfscrdemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/pdfslidemo.tex b/Master/texmf-dist/doc/latex/texpower/pdfslidemo.tex new file mode 100644 index 00000000000..be9d71974cd --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/pdfslidemo.tex @@ -0,0 +1,232 @@ +%% +%% This is file `pdfslidemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `pdfslidemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{pdfslidemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: pdfslidemo.tex +% +% Simple examples the for combining the pdfslide package with the dynamic features provided by the package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 25, 2000: First version for the pre-alpha release of TeXPower. +% + +\documentclass{article} + +\usepackage{pdfslide} + +\hypersetup{linkcolor=red} + +\overlay{bg.jpg} + +\setcounter{secnumdepth}{2} + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% The overlay forces a black background, so we select the blackbackground option of texpower. +% +\usepackage[display,blackbackground]{texpower} + + +\begin{document} + +\title{The \code{texpower} Package\\{\normalfont \texttt{pdfslide} Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + +\tableofcontents + +\section{A list environment} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + + + +\section{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + + + + +\section{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + + + + +\section{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.2cm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{document} +\endinput +%% +%% End of file `pdfslidemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/picexample.tex b/Master/texmf-dist/doc/latex/texpower/picexample.tex new file mode 100644 index 00000000000..b9ba79b0a34 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/picexample.tex @@ -0,0 +1,99 @@ +%% +%% This is file `picexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `picexample,picexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{picexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: picexample.tex +% +% Picture example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 picexample +% +% afterwards processing the resulting ps file with +% +% distill picexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +% Note that different pictures are produced with pdflatex and latex, because pdflatex does not support PSTricks. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 27, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% +%----------------------------------------------------------------------------------------------------------------- +% Use slifonts and a dark background. + +\PassOptionsToPackage{colormath,colorhighlight,darkbackground}{texpower} +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower picture example}} + + +\ifthenelse{\boolean{psspecialsallowed}}% Can we use PSTricks? +{% Yes. + % PsTricks (sic) is used for creating the picture example. + + \usepackage{pstcol} + \usepackage{pst-node} + + \psset{unit=\unitlength} + } +{% No. We'll make do without. + } + + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: A Picture}\label{Sec:ExPic} + +\ifthenelse{\boolean{psspecialsallowed}}% Can we use PSTricks? +{\input{picpsexample}}{\input{picltxexample}} +\newslide +\pageTransitionReplace +\end{slide} +\end{document} +\endinput +%% +%% End of file `picexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/picltxexample.tex b/Master/texmf-dist/doc/latex/texpower/picltxexample.tex new file mode 100644 index 00000000000..2fb84de4cde --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/picltxexample.tex @@ -0,0 +1,145 @@ +%% +%% This is file `picltxexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `picltxexample') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +% Code for the LaTeX picture example for the package texpower.sty. +% +% This file is input by others. Don't compile it separately. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 21, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 19, 2000: Using \bstep instead of \boxedsteps. +% +% v0.0.3 Apr 28, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% + + % + % This has nothing to do with \stepwise, just setting up the picture... + % + \newcommand{\leftm}{\left\{\!\!\left\{} + \newcommand{\rightm}{\right\}\!\!\right\}} + \newcommand{\cls}[3]{\left[#1,#2,#3\right]} + \newcommand{\WT}[2]{\fbox{${#1}#2$}} + \newcommand{\GEQ}[1]{\WT{\geq}{#1}} + + % + % In the following picture, picture items are built incrementally. + % + % \stepwise generates a sequence of slides, all alike. The only difference ist that on every slide, one more of the + % \step commands occurring in the argument of \stepwise are `activated'. This way the stuff inside the argument of + % \stepwise is gone through `step by step'. + % + {% + \setlength{\unitlength}{1.35\semcm}% + \footnotesize% + \setlength{\fboxsep}{1.5pt}% + \stepwise + {% + \begin{center} + \begin{picture}(12,13)(-7,-16) + \put(-3,-3.5){\makebox(0,0){$\cls{\leftm p_1, p_2\rightm}{1}{\GEQ{0.2}}$}} + \put(3,-3.5){\makebox(0,0){$\cls{\leftm \neg p_2,p_1\rightm}{1}{\GEQ{0.1}}$}} + % + % In the following, we see the very first occurrence of the \step command. Its effect is to `hide' its + % argument on the first slide of the sequence generated by \stepwise and display it on all other slides of + % this sequence. The second \step command starts displaying on the third slide and so on... + % + \step{% + % We use \afterstep{\pageTransitionDissolve} to make this first step of the diagram appear with a fancy page + % transition. We have to use \afterstep because the page transition setting would be undone by the group + % closing contained in \end{picture}. + \afterstep{\pageTransitionDissolve}% + \put(-3,-4){\line(3,-1){3}} + \put(3,-4){\line(-3,-1){3}} + \put(0,-4.5){\makebox(0,0){(ass.)}} + \put(0,-5.5){% + \makebox(0,0){% + % + % Here, one use of \step is nested inside the other. + % + % Usually `hiding' means ignoring altogehter. For the following application however, the `hidden' objects + % are nested inside a brace. This means that instead of ignoring its argument, it's better if + % \step displays an appropriate amount of blank space. This behaviour (create blank space) is exhibited by + % the custom command \bstep (for `boxed' step). + % + % The command \rebstep allows both boxes to appear simultaneously. + % + % \afterstep is used again to reset the page transition to Replace for the building of the formula. + % + % Setting \activatestep to \highlightboxed makes the additional formulae `stick out' when they are filled + % in. + % + \let\activatestep=\highlightboxed + $ + \cls + {\leftm p_1, \bstep{\afterstep{\pageTransitionReplace}p_1}, p_2,\rebstep{\neg p_2}\rightm} + {2.2} + {\rebstep{\GEQ{0.1}}}% + $% + }% + } + } + \step{% + \afterstep{\pageTransitionDissolve}% + \put(0,-6){\line(0,-1){1}} + \put(0.2,-6.5){\makebox(0,0)[l]{(removing)}} + \put(0,-7.5){\makebox(0,0){$\cls{\leftm p_1, p_1\rightm}{1.2}{\GEQ{0.1}}$}} + } + \step{% + \put(-8,-7.5){\makebox(0,0){$\left[\neg p_1,\GEQ{0.4}\right]$}} + \put(-8,-8){\line(5,-1){5}} + \put(0,-8){\line(-3,-1){3}} + \put(-3,-8.5){\makebox(0,0){(ass.)}} + \put(-3,-9.5){\makebox(0,0){$\cls{\leftm p_1, p_1,\neg p_1\rightm}{1.6}{\GEQ{0.1}}$}} + \put(-3,-10){\line(0,-1){1}} + \put(-2.8,-10.5){\makebox(0,0)[l]{(removing)}} + \put(-3,-11.5){\makebox(0,0){$\cls{\leftm p_1\rightm}{0.6}{\GEQ{0.1}}$}} + } + \step{% + \put(-8,-8){\line(0,-1){4}} + \put(-8,-12){\line(5,-1){5}} + \put(-3,-12){\line(0,-1){1}} + \put(-2.8,-12.5){\makebox(0,0)[l]{(assembling)}} + \put(-3,-13.5){\makebox(0,0){$\cls{\leftm p_1,\neg p_1\rightm}{1.0}{\GEQ{0.1}}$}} + \put(-3,-14){\line(0,-1){1}} + \put(-2.8,-14.5){\makebox(0,0)[l]{(removing)}} + \put(-3,-15.5){\makebox(0,0){$\left[\fbox{\phantom{x}},\GEQ{0.1}\right]$}} + } + \end{picture}% + \end{center} + }% + } + + % The whole execution of \stepwise is encapsuled in a group to make all changes local. This affects also the setting + % of the page transition to dissolve in the last but one step. We set it again explicitly to make the last step appear + % with this page transition as well. + + \pageTransitionDissolve +\endinput +%% +%% End of file `picltxexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/picpsexample.tex b/Master/texmf-dist/doc/latex/texpower/picpsexample.tex new file mode 100644 index 00000000000..9408ce07a3b --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/picpsexample.tex @@ -0,0 +1,141 @@ +%% +%% This is file `picpsexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `picpsexample') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +% +% Code for the PSTricks picture example for the package texpower.sty. +% +% This file is input by others. Don't compile it separately. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 21, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 19, 2000: Using \bstep instead of \boxedsteps. +% +% v0.0.3 Apr 28, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% + +%----------------------------------------------------------------------------------------------------------------- +% +% This has nothing to do with \stepwise, just setting up the picture... +% +\newcommand{\Block}[1] +{% + \begin{pspicture}(-4,-2)(4,2) + \pspolygon(-4,0)(-2,2)(2,2)(4,0)(2,-2)(-2,-2) + \rput(0,0){#1} + \end{pspicture}% + }% +\ifthenelse{\boolean{TPcolor}} +{\psset{unit=3mm,fillstyle=solid,fillcolor=highlightcolor,linecolor=textcolor}}% +{\psset{unit=3mm}}% +% +% In the following picture, picture items are built incrementally. +% +% \stepwise generates a sequence of slides, all alike. The only difference ist that on every slide, one more of the +% \step commands occurring in the argument of \stepwise are `activated'. This way the stuff inside the argument of +% \stepwise is gone through `step by step'. +% +\stepwise +{% + \begin{center} + \large + \begin{pspicture}(-1,-13)(33,9) + \rput(0,0){\rnode{x}{\fboxrule0pt\fbox{$x[t]$}}} + \rput(32,0){\rnode{y}{\fboxrule0pt\fbox{$y(t)$}}} + {% + % The effect of the \step command is to `hide' its argument on the first slide of the sequence generated by + % \stepwise and display it on all other slides of this sequence. The second \step command starts displaying on + % the third slide and so on... + % + % Usually `hiding' means ignoring altogehter. For the following application however, the box displayed by + % \step is used as an node in the picture. This means that instead of ignoring its argument, it's better if + % \step displays an appropriate amount of blank space. + % This behaviour (create blank space) is exhibited by the command \bstep. + \rput(4,0){\rnode{V}{\bstep{\psframebox{\Large$V$}}}} + \ncline{->}{x}{V} + % + % The command \rebstep allows both boxes to appear simultaneously. + % + \rput(28,0){\rnode{plus}{\rebstep{\psframebox{\Large$+$}}}} + }% + \ncline{->}{plus}{y} + % By using \restep again, the two boxes defining the operators appear at the same time as the first block of the + % diagram, which is produced by the following commands. + \restep + {% + % We use \afterstep{\pageTransitionDissolve} to make this first step of the diagram appear with a fancy page + % transition. We have to use \afterstep because the page transition setting would be undone by the group + % closing contained in \end{pspicture}. + \afterstep{\pageTransitionDissolve}% + \rput(16,0){\rnode{IBlk}{\Block{I-Block}}} + \ncline{->}{V}{IBlk} + \Aput{$x[t]$} + \ncline{->}{IBlk}{plus} + \Aput + {% + % + % Here, one use of \step is nested inside the other. + $% + % Note how the math spacing is corrected manually by adding {} after \cdot. Otherwise, \cdot wouldn't be + % aware that something is following and act as a postfix (instead of infix) operator. + % \afterstep is used again to reset the page transition to Replace for the building of the formula. + \bstep{\afterstep{\pageTransitionReplace}{}b\cdot{}}% + \bstep{\int\limits^t_0 x(\tau)\,d\tau}% + $% + }% + }% + \step + {% + \afterstep{\pageTransitionDissolve}% + \rput(16,6){\rnode{PBlk}{\Block{P-Block}}} + \ncangle[angleA=90,angleB=180,fillstyle=none]{->}{V}{PBlk} + \Aput{$x(t)$} + \ncangle[angleB=90,fillstyle=none]{->}{PBlk}{plus} + \aput(.5){$a\cdot x(t)$} + }% + \step + {% + \rput(16,-6){\rnode{DBlk}{\Block{D-Block}}} + \ncangle[angleA=-90,angleB=180,fillstyle=none]{->}{V}{DBlk} + \Aput{$x(t)$} + \ncangle[angleB=-90,fillstyle=none]{->}{DBlk}{plus} + \aput(.5){$\displaystyle c\cdot \left(\frac{dx}{d\tau}\right)(t)$} + } + \end{pspicture}% + \end{center} + }% + +% The whole execution of \stepwise is encapsuled in a group to make all changes local. This affects also the setting +% of the page transition to dissolve in the last but one step. We set it again explicitly to make the last step appear +% with this page transition as well. + +\pageTransitionDissolve + +\endinput +%% +%% End of file `picpsexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/pp4sldemo.tex b/Master/texmf-dist/doc/latex/texpower/pp4sldemo.tex new file mode 100644 index 00000000000..f7a3aeed61a --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/pp4sldemo.tex @@ -0,0 +1,227 @@ +%% +%% This is file `pp4sldemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `pp4sldemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{pp4sldemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: pp4sldemo.tex +% +% Simple examples the for combining the foils class with the pp4slide package and the dynamic features provided by the +% package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 25, 2000: First version for the pre-alpha release of TeXPower. +% + +\documentclass[landscape]{foils} + +\usepackage{pp4slide} + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% As pp4slide sets some colors designed for dark backgrounds, we give the darkbackground option, and colormath to make +% formulae colored. +% +\usepackage[display,darkbackground,colormath]{texpower} + + +\begin{document} + +\title{The \code{texpower} Package\\{\normalfont \texttt{pp4slide} Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + + +\foilhead{A list environment} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + + + +\foilhead{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + + + + +\foilhead{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + + + + +\foilhead{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.6cm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{document} +\endinput +%% +%% End of file `pp4sldemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/prosperdemo.tex b/Master/texmf-dist/doc/latex/texpower/prosperdemo.tex new file mode 100644 index 00000000000..734cb6638ba --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/prosperdemo.tex @@ -0,0 +1,67 @@ +%% +%% This is file `prosperdemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `prosperdemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{prosperdemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: prosperdemo.tex +% +\documentclass[pdf,colorBG,slideColor,whitecross]{prosper} +\usepackage[display]{texpower} +\begin{document} +\ifpdf + No way to compile a prosper document with pdftex! + \else +\stepwise[\boxedsteps] +{% +\begin{slide}{An aligned equation} + \begin{eqnarray} + \step{\sum_{i=1}^{n} i} & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +\end{slide} +} +\fi + + +\end{document} +\endinput +%% +%% End of file `prosperdemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/seminardemo.tex b/Master/texmf-dist/doc/latex/texpower/seminardemo.tex new file mode 100644 index 00000000000..7175bc19593 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/seminardemo.tex @@ -0,0 +1,250 @@ +%% +%% This is file `seminardemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `seminardemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{seminardemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: seminardemo.tex +% +% Simple examples the for combining the seminar class with the dynamic features provided by the package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Jun 02, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 May 26, 2003: Slightly adapted to new version of fixseminar. +% + +\documentclass[portrait,semrot]{seminar} + +% We need fixseminar for setting the page size correctly. + +\usepackage{fixseminar} + + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% +\usepackage[display]{texpower} + +\rotateheaderstrue + +\begin{document} +\begin{slide} + +\title{The \code{texpower} Package\\{\normalfont \texttt{seminar} Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + +\newslide + +\tableofcontents +\end{slide} + +\begin{slide} +\centerslidesfalse +\section{A list environment} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + + + +\end{slide} + +\begin{slide} +\centerslidesfalse +\section{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + + + + +\end{slide} + +\begin{slide} +\centerslidesfalse +\section{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + + + + +\end{slide} + +\begin{slide} +\centerslidesfalse +\section{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.5\semcm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\footnotesize $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{slide} +\end{document} +\endinput +%% +%% End of file `seminardemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/simpledemo.tex b/Master/texmf-dist/doc/latex/texpower/simpledemo.tex new file mode 100644 index 00000000000..c31ea9adf87 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/simpledemo.tex @@ -0,0 +1,223 @@ +%% +%% This is file `simpledemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `simpledemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{simpledemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: simpledemo.tex +% +% Simple examples the for the dynamic features provided by the package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Apr 17, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 May 24, 2000: texpower 0.0.8 now supports equation numbers in the argument of \stepwise, so eqnarray* was +% changed to eqnarray. +% + +\documentclass[12pt]{article} + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% +\usepackage[display]{texpower} + +\begin{document} + +\title{The \code{texpower} Package\\{\normalfont Simple Demo}} +\author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} +\maketitle + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +\tableofcontents + +\pause + +\section{A list environment} + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + +\newpage + +\section{An aligned equation} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is displayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} + +\pause + +\section{An array} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step{ n & \log n & n\log n & n^2 & 2^n \\\hline}% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} + +\pause + +\section{A picture} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{.95cm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{document} +\endinput +%% +%% End of file `simpledemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/slidesdemo.tex b/Master/texmf-dist/doc/latex/texpower/slidesdemo.tex new file mode 100644 index 00000000000..9fae433e3c2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/slidesdemo.tex @@ -0,0 +1,243 @@ +%% +%% This is file `slidesdemo.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `slidesdemo') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{slidesdemo.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: slidesdemo.tex +% +% Simple examples the for combining the slides class with the dynamic features provided by the package texpower.sty. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 May 25, 2000: First version for the pre-alpha release of TeXPower. +% + +\documentclass[landscape]{slides} + +% slides understands the landscape option, but to get it through to pdflatex, we need to set \pdfpageheight etc. The +% package fixseminar does this. + +\usepackage{fixseminar} + +% We need to set this page style globally so all dynamically built slides have the right headers. + +\pagestyle{slide} + + +%----------------------------------------------------------------------------------------------------------------- +% The texpower package is loaded. +% We give the display option so dynamic features are enabled. +% +\usepackage[display]{texpower} + + +\begin{document} + +\begin{slide} + \title{The \code{texpower} Package\\{\normalfont \texttt{slides} Demo}} + \author{Stephan Lehmke\\\code{mailto:Stephan.Lehmke@cs.uni-dortmund.de}} + \maketitle +\end{slide} + +\begin{slide} + \begin{center} + \textbf{A list environment} + \end{center} + +% The \pause command `splits' the current page at the place it appears, producing two pages, one with everything which +% came before the \pause command, one containing this and additionally the stuff coming after \pause. When these pages +% are presented with acrobar reader in full screen mode (or any other viewer with this capability), the presentation +% will appear to `stop' at the point the \pause command was issued and `resume' in the moment the presenter switches to +% the next page. + +\pause + +% As \pause forces a paragraph break, it can not be used to separate a description label from the associated text. For +% this, we use the (very flexible) \stepwise command. Inside the argument of \stepwise, an arbitrary number of \step +% commands may occur. \stepwise will produce as many pages as there are \step commands, making the arguments of the +% \step commands appear ``one by one''. + +\stepwise +{% + \begin{description} + \item[foo.] \step{bar.} + \step{\item[baz.]} \step{qux.} + \end{description} + } + +\end{slide} + + +\begin{slide} + \begin{center} + \textbf{An aligned equation} + \end{center} + +\pause + +% Normally for \stepwise, if a \step is not yet active, its argument is ignored completely. This would disturb +% alignments, because the width changes with every new activated \step. +% \parstepwise is a variant of \stepwise where the argument of an inactive \step is put into a \phantom, leaving the +% proper amount of white space. + +\parstepwise +{% + % Using eqnarray with equation numbers here means all equation numbers will be visible from the outset, because only + % the contents of the lines are `filled in'. See the full demo for an example of aligned equations where equation + % numbers `appear'. + \begin{eqnarray} + % + % When the argument of \step is put into a box (as it happens with \parstepwise), tabulators can not go in there. As + % we want the equals sign to appear at the same time as the right side of the equation, we use \restep for the + % latter. \restep is like \step, but it appears at the same time as the previous \step command. + % + \sum_{i=1}^{n} i & \step{=} & \restep{1 + 2 + \cdots + (n-1) + n}\\ + % + & \step{=} & \restep{1 + n + 2 + (n-1) + \cdots}\\ + % + & \step{=} & \restep + {% We can nest \step commands inside each other. The order of execution is just the + % order of appearance, independent of nesting. + % \switch is a variant of \step which takes two arguments and toggles between them on + % activation. This way, we can make the \underbrace `appear'. + % We insert a \vphantom in the first argument so that the equation numbers will be + % placed correctly whether or not the underbrace is didplayed. + \switch + {% + \vphantom{\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + (1 + n) + \cdots + (1 + n)% + } + {\underbrace{(1 + n) + \cdots + (1 + n)}_{\times\frac{n}{2}}}% + } + \\ + % + % This is another nested application of \step. Note that the spacing of \cdot has to be corrected manually by + % inserting {} left of it, because otherwise it would behave like a prefix operator. + % + & \step{=} & \restep{\frac{(1 + n)\step{{}\cdot n}}{\restep{2}}} + \end{eqnarray} +} +\end{slide} + +\begin{slide} + \begin{center} + \textbf{An array} + \end{center} + +\stepwise +{% With arrays, beware of problems with automatic calculation of cell widths. + % + % If you want all widths to be calculated automatically, you need to use \parstepwise, with the consequence that + % a) tabulators or newlines can not go into the argument of \step, + % b) the array `structure' (rules) will be completely visible right from the beginning. + % + % If you want to use \stepwise for being able to build the `structure' (like \hilne's) dynamically (as done in the + % following), you have to make sure that the cell widths are correct from the very first line, because otherwise the + % array will expand horizontally, destroying the dynamic effect. This can be assured by + % a) using only p cells, + % b) making sure all the cells in the first line are at least as wide as the widest cell which will appear later. If + % you are using the calc package, this is easiest by putting \makebox[\widthof{widest entry}]{first entry} into + % the first cell. Otherwise, you can use \settowidth. + % + \begin{displaymath} + \begin{array}{rrrrr} + \step + {% + n & \log n & n\log n & \lefteqn{n^2}\phantom{25} & \lefteqn{2^n}\phantom{32} \\ + \hline% + }% + \step{0 &} \step{\textrm{---} &} \step{\textrm{---} &} \step{0 &} \step{1 \\}% + \step{1 &} \step{0\phantom{.6} &} \step{0\phantom{.8} &} \step{1 &} \step{2 \\}% + \step{2 &} \step{1\phantom{.6} &} \step{2\phantom{.8} &} \step{4 &} \step{4 \\}% + \step{3 &} \step{1.6 &} \step{4.8 &} \step{9 &} \step{8 \\}% + \step{4 &} \step{2\phantom{.6} &} \step{8\phantom{.8} &} \step{16 &} \step{16 \\}% + \step{5 &} \step{2.3 &} \step{11.6 &} \step{25 &} \step{32 }% + \end{array} + \end{displaymath} +} +\end{slide} + +\begin{slide} + \begin{center} + \textbf{A picture} + \end{center} + +\pause + +\begin{center}% + \stepwise + {% + \setlength{\unitlength}{1.6cm}% + \delimitershortfall-1sp% Just for the nested braces + \begin{picture}(14,2) + \put(0,1){\vector(1,0){1}} + \put(0.5,0.5){\makebox(0,0){\small $x(t)$}} + \put(13,1){\vector(1,0){1}} + \put(13.5,0.5){\makebox(0,0){\small $y(t)$}} + \step + { + \put(1,1){\line(3,2){1.5}} + \put(1,1){\line(3,-2){1.5}} + \put(2.5,0){\line(0,1){2}} + \put(2,1){\makebox(0,0){\large $\varphi$}} + } + \step + { + \put(2.5,1){\vector(1,0){3.5}} + \put(4.25,0.5){\makebox(0,0){\small $F_t = \varphi\left(x(t)\right)$}} + } + \step + { + \put(6,0){\framebox(2,2){\large $\Phi$}} + } + \step + { + \put(8,1){\vector(1,0){3.5}} + % + % Here, we find another nested use of \step inside \step. + % \bstep is a variant of \step which _always_ puts its argument into a box for leaving the correct amount of + % white space. We cannot use \parstepwise here because \put can't go into a box. Hence, just using \step for + % building the nested formula on the next line would give the wrong size for the nested braces. + % + \put(9.75,0.5){\makebox(0,0){\small $G_t = \Phi\left(\bstep{\varphi\left(\bstep{x(t)}\right)}\right)$}} + } + \step + { + \put(13,1){\line(-3,2){1.5}} + \put(13,1){\line(-3,-2){1.5}} + \put(11.5,0){\line(0,1){2}} + \put(12,1){\makebox(0,0){\large $\delta$}} + } + \end{picture}% + }% +\end{center}% +\end{slide} +\end{document} +\endinput +%% +%% End of file `slidesdemo.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/spanelexample.tex b/Master/texmf-dist/doc/latex/texpower/spanelexample.tex new file mode 100644 index 00000000000..f1dfa1aa839 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/spanelexample.tex @@ -0,0 +1,124 @@ +%% +%% This is file `spanelexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `spanelexample') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{spanelexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: spanelexample.tex +% +% Very simple panel example - compare with panelexample.tex + +\documentclass[calcdimensions,landscape,letterpaper,KOMA]{powersem} + +\usepackage[colorlinks,pdfpagemode=FullScreen,plainpages=false]{hyperref} + +\usepackage[lightbackground,display]{texpower} +\renewcommand{\currentpagevalue}{\value{slide}} +\usepackage{tpslifonts} + +\newlength{\buttonwidth} +\renewcommand{\buttonsep}{0.2\fboxsep} +\renewcommand{\buttonshadowhshift}{0.1\fboxsep} +\renewcommand{\buttonshadowvshift}{-0.1\fboxsep} + +\DeclarePanel{left} +{% + \textsf{\textbf{\footnotesize + \begin{tabular}[b]{@{}l@{}} + Your Logo\\ + Your Name\\ + Your Company\\ + \end{tabular}% + }}% + \vfill + + \setlength{\buttonwidth}{.5\linewidth-.5ex} + \button[\buttonwidth]{\Acrobatmenu{FirstPage}}{Start} + \button[\buttonwidth]{\Acrobatmenu{LastPage}}{End} + \button[\buttonwidth]{\Acrobatmenu{PrevPage}}{Back} + \button[\buttonwidth]{\Acrobatmenu{NextPage}}{Next} +}% + +\newcommand{\MyHeader}{} + +\newcommand{\myheader}[1]{\renewcommand{\MyHeader}{#1}} + +\DeclarePanel{top}{\Large\strut\MyHeader} + +\backgroundstyle{vgradient} + +\slideframe{none} +\centerslidesfalse +\pagestyle{empty} + +\mklength{\slideleftmargin}{\leftpanelwidth*\ratio{1cm}{\semcm}+.5cm} +\renewcommand{\sliderightmargin}{.5cm} +\mklength{\slidetopmargin}{\toppanelheight*\ratio{1cm}{\semcm}+.5cm} +\renewcommand{\slidebottommargin}{.5cm} + +\begin{document} + +\begin{slide} + +\myheader{Just some info about panels} + +If you're using a package that has it's own panel and/or naviagtion buttons (as +\href{ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/pdfscreen.html}% +{\code{pdfscreen}}) don't even consider using the preliminary support for this +in \concept{\TeX Power}. + +Using it for \code{seminar} / \code{powersem} as we are doing here is OK \dots + +Things to remember: +\begin{itemize} +\item If you want to declare your own panels, you have to call +\macroname{backgroundstyle} after the panel declaration. +\item The font color used in the panels are controlled by \code{\carg{pos}paneltextcolor}. +\end{itemize} + +\newslide + +\myheader{Some examples for \macroname{pause}} + +\pageTransitionDissolve +With dissolve page transition +\begin{itemize} +\item foo\pause +\item bar\pause +\end{itemize} +\pageTransitionReplace +and with plain replace page transition +\begin{itemize} +\item foo\pause +\item bar\pause +\end{itemize} + +\end{slide} + +\end{document} +\endinput +%% +%% End of file `spanelexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/tabexample.tex b/Master/texmf-dist/doc/latex/texpower/tabexample.tex new file mode 100644 index 00000000000..cd19ecf54ab --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tabexample.tex @@ -0,0 +1,117 @@ +%% +%% This is file `tabexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texpower-doc.dtx (with options: `tabexample,tabexample-src,end') +%% +%% -------------------------------------------------------------- +%% TeXPower bundle - dynamic online presentations with LaTeX +%% Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% The list of all files belonging to the TeXPower bundle is +%% given in the file `00readme.txt'. +%% +\ProvidesFile{tabexample.tex}% + [2004/07/27 TeXPower example file] +%----------------------------------------------------------------------------------------------------------------- +% File: tabexample.tex +% +% Tabular example for the package texpower.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be processed with +% +% dvips -Ppdf -j0 tabexample +% +% afterwards processing the resulting ps file with +% +% distill tabexample.ps +% +% (The syntax is for a unix system with tetex 1.0 and distiller 3. Modify appropriately for other configurations.) +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Autor: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.0.1 Mar 20, 2000: First version for the pre-alpha release of TeXPower. +% +% v0.0.2 Apr 27, 2000: Some small changes in preparation of the update to TeXpower v0.0.7. +% + +%----------------------------------------------------------------------------------------------------------------- +% Use slifonts. + +\RequirePackage{tpslifonts} + +% Input the generic preamble. + +\input{__TPpreamble} +\hypersetup{pdftitle={texpower tabular example}} + + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} + + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\macroname{stepwise} Example: A Tabular} + +% In the following, a tabular object is built incrementally. +% Observe how & and \\ are placed inside the following step to avoid `opening' empty cells. +% The macro \tabend is redefined to `replace' the final \hline by \cline's when a line is not yet complete. +% + \newcommand{\tabend}{\\\hline}% + + \stepwise + {% + \hrule height 0pt\relax% This is neccessary to avoid a glitch in vertical spacing. Don't ask me why. I'll try to get + % this right until the first alpha version. + \begin{center} + \step + {% + \begin{tabular}{|l|l|l|} + \hline + They can & be built & line by line% + \step{\\\hline or cell\renewcommand{\tabend}{\\\cline{1-1}}}% + \step{& by\renewcommand{\tabend}{\\\cline{1-2}}}% + \step{& cell\renewcommand{\tabend}{\\\hline}}% + \step + {% + \\\hline + % + % Again, \step's are nested inside each other... + % + \step{or}&\step{like}&\step{this.}% + }% + \step{\\\hline But\renewcommand{\tabend}{\\\cline{1-1}}}% + \step{& beware\renewcommand{\tabend}{\\\cline{1-2}}}% + \step{& of cells growing horizontally!\renewcommand{\tabend}{\\\hline}}% + \tabend + \end{tabular}% + }% + \end{center}% + }% + \newslide +\end{slide} +\end{document} +\endinput +%% +%% End of file `tabexample.tex'. diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/00readme.txt b/Master/texmf-dist/doc/latex/texpower/tpslifonts/00readme.txt new file mode 100644 index 00000000000..6d46258caa1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/00readme.txt @@ -0,0 +1,90 @@ +====================================================================== + + Package tpslifonts + Configure presentation fonts + + alpha version (v0.6) + This readme file last changed on July 27, 2004 + + Author: Stephan Lehmke <mailto:Stephan.Lehmke@cs.uni-dortmund.de> + Lehrstuhl Informatik I + Universität Dortmund + Dortmund, Germany + +====================================================================== + +Contents: +========= + +00readme.txt + This file. + +01install.txt + Installation instructions. + +Makefile + Builds documentation and unpacks dtx-file. + (Only useful on Unix-like systems.) + +tpslifonts.dtx + Documented TeX source for the tpslifonts package. + +tpslifonts.ins + Docstrip batchfile that generates the tpslifonts package. + +slifontsexample.tex + An documented example. + +Overview: +========= + +Beamer and overhead presentations are often viewed under peculiar +circumstances. Especially for presentations which are projected +directly `out of the computer', low power of the beamer, low +resolution and an abundance of colors can lead to severe readability +problems. + +It is therefore of utmost importance to optimize font selection as +much as possible towards readability. + +The package tpslifonts offers a couple of `harmonising' combinations +of text and math fonts from the (distant) relatives of computer modern +fonts, with a couple of extras for optimising readability. + +The package offers the following features: + + 1) Text fonts from computer modern roman, computer modern sans serif, + SliTeX computer modern sans serif, computer modern bright, or + concrete roman. + + 2) Support for OT1 and T1 font encoding. + + 3) Math fonts from computer modern math, computer modern bright math, + or Euler fonts. + + 4) Support of additional symbol fonts like AMS symbols or + doublestroke. + + 5) All fonts configured for `smooth scaling' (like in the type1cm + package). + + 6) Avoiding fonts not freely available in Type 1 format. + + 7) Careful design size selection for optimum readability. + +For some of the options to yield satisfying results, it is neccessary +to install additional (free) Type1 fonts on your system. + +There's no intention to support other font families like the typical +``psnfss'' PostScript fonts, as they usually don't come in different +design sizes, making the effort of tuning them for viewing futile. If +you wish to use such a font, load it with the usual packages. + +tpslifonts is part of the TeXPower bundle, residing at + +http://texpower.sourceforge.net/ + +but is completely independent and can be used without texpower without +problems. The example document slifontsexample.tex can also be +compiled without TeXPower installed. + diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/01install.txt b/Master/texmf-dist/doc/latex/texpower/tpslifonts/01install.txt new file mode 100644 index 00000000000..733f860738e --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/01install.txt @@ -0,0 +1,79 @@ +====================================================================== + + Package tpslifonts + Configure presentation fonts + + alpha version (v0.6) + Installation Instructions + + This file last changed on July 27, 2004 + + Author: Stephan Lehmke <mailto:Stephan.Lehmke@cs.uni-dortmund.de> + Lehrstuhl Informatik I + Universität Dortmund + Dortmund, Germany + +====================================================================== + +Installation of tpslifonts.sty: +------------------------------- + +If you have installed the current TeXPower bundle, then tpslifonts has +been installed as part of it, so there's nothing to do. + +If you want to install tpslifonts without TeXPower, do: + +1) Run "latex tpslifonts.ins" to generate + - tpslifonts.sty + +2) Produce the documentation by running + latex tpslifonts.dtx + makeindex -s gglo.ist -o tpslifonts.gls tpslifonts.glo + makeindex -s gind.ist -o tpslifonts.ind tpslifonts.idx + latex tpslifonts.dtx + +3) Move the file tpslifonts.sty to a place where latex can find it. On a + TDS-compliant system, a nice place would be + + <path to a texmf tree>/tex/latex/texpower/tpslifonts/ + + Then, on systems using a filename database, don't forget to refresh + the database! + +On a Unix-like system 1) and 2) can be done easily using "make". + +Compiling the example document: +------------------------------- + +After installing tpslifonts, you can compile the document + + slifontsexample + +using pdflatex or latex, to see whether everything works as expected. + +If you get an error message, most likely you're missing a package used +therein. Don't worry, if you don't want to install a new package, just +open the file slifontsexample.tex and comment out the offending +\usepackage command, the document will adapt by leaving out the +corresponding parts. + +If you've not used pdflatex, please do whatever neccessary on your +system to convert the document to pdf, then open in acrobat reader. + +Read the file slifontsexample.tex carefully; there are a lot +of configuration alternatives to try out. + +If the document should look ugly on screen, most likely you're missing +Type1 (PostScript outline) versions of some fonts used. + +Either you use a configuration alternative for which you possess the +fonts, or you install the respective PostScript fonts. + +Some candidates which may not be present even in an up-to-date +distributuion: + +cm-super CTAN:/fonts/ps-type1/cm-super/ + +hfbright CTAN:/fonts/ps-type1/hfbright/ + +doublestroke CTAN:/fonts/doublestroke/ diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/Makefile b/Master/texmf-dist/doc/latex/texpower/tpslifonts/Makefile new file mode 100644 index 00000000000..625328b2520 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/Makefile @@ -0,0 +1,38 @@ +RM=rm -f +SHELL=sh +VERSION=0.1 +JUNKS=*.aux *.toc *.idx *.glo *.dvi *.log *.lof *.ist *.ilg *.ind *.gls *.out *.tmp *~ + +help: + @echo '**********************************************' + @echo ' The following targets exist: ' + @echo ' - all: All targets below ' + @echo ' - unpack: Unpacks the tpslifonts package ' + @echo ' - pack: Packs the package ' + @echo ' - doc: Builds tpslifonts documentation ' + @echo ' - clean: Remove all generate/junk files ' + @echo '**********************************************' + +unpack: + latex tpslifonts.ins + @echo '**********************************************' + @echo ' To make tpslifonts package documentation ' + @echo ' % make doc ' + @echo '**********************************************' + +all: unpack doc + +doc: tpslifonts.dtx + latex tpslifonts.dtx + latex tpslifonts.dtx + makeindex -s gglo.ist -o tpslifonts.gls tpslifonts.glo + makeindex -s gind.ist -o tpslifonts.ind tpslifonts.idx + latex tpslifonts.dtx + +pack: clean + -(cd ..; cp -r tpslifonts tpslifonts-$(VERSION); \ + tar cvfz tpslifonts-$(VERSION).tgz tpslifonts-$(VERSION)) + +clean: + @$(RM) $(JUNKS) tpslifonts.sty + @echo The current directory has been cleaned up. diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/slifontsexample.tex b/Master/texmf-dist/doc/latex/texpower/tpslifonts/slifontsexample.tex new file mode 100644 index 00000000000..7b921489431 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/slifontsexample.tex @@ -0,0 +1,1600 @@ +%----------------------------------------------------------------------------------------------------------------- +% File: slifontsexample.tex +% +% Example for the package tpslifonts.sty. +% +% This file can be compiled with pdfLaTeX or (standard) LaTeX. When using standard LaTeX, the dvi file produced should +% be converted to pdf afterwards (using dvips+distill/ps2pdf or dvipdf, for instance). +% +% The resulting pdf file is meant for presenting `interactively' with Adobe Acrobat Reader. +% +%----------------------------------------------------------------------------------------------------------------- +% Author: Stephan Lehmke <Stephan.Lehmke@cs.uni-dortmund.de> +% +% v0.1 Nov 14, 2002: First version for the pre-alpha release of TeXPower. +% +% v0.2 Jan 07, 2003: Adapted to tpslifonts v0.4 (added support for cmbright). +% +% v0.3 Mar 28, 2003: Adapted to tpslifonts v0.5 (added support for T1 encoding). +% +% v0.4 May 28, 2003: Adapted to tpslifonts v0.6. +% +%----------------------------------------------------------------------------------------------------------------- +% Please go to USER CONFIGURATION AREA below to find configuration options for experimenting with font settings. +%----------------------------------------------------------------------------------------------------------------- + +\newif\ifTPaware +\IfFileExists{texpower.sty}{\TPawaretrue}{\TPawarefalse} + +\ifTPaware +\documentclass[letterpaper,landscape,KOMA,smallheadings,calcdimensions,display]{powersem} +%----------------------------------------------------------------------------------------------------------------- +% Set slide margins rather small for maximum use of space. This is a demo, remember. +\renewcommand{\slidetopmargin}{5mm} +\renewcommand{\slidebottommargin}{5mm} +\renewcommand{\slideleftmargin}{5mm} +\renewcommand{\sliderightmargin}{5mm} +%----------------------------------------------------------------------------------------------------------------- +% Some setup for more reasonable spacing. +\makeatletter +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-1.5ex\@plus -1ex \@minus -.5ex}% + {.5ex \@plus .2ex}% + {\raggedsection\normalfont\size@section\sectfont}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-1.25ex\@plus -1ex \@minus -.2ex}% + {.5ex \@plus .2ex}% + {\raggedsection\normalfont\size@subsection\sectfont}} +\def\slideitemsep{.5ex plus .3ex minus .2ex} +\makeatother +%----------------------------------------------------------------------------------------------------------------- +% We need some more packages... +\usepackage{url} +\usepackage[latin1]{inputenc} +% One more Text emphasis command... +\let\name=\textsc +\else % NOT TPaware +% Make a `poor man's presentation mode. +\documentclass{article} +\setlength{\paperwidth}{13cm} +\setlength{\paperheight}{10cm} +\usepackage[left=3mm,right=3mm,top=3mm,bottom=3mm]{geometry} +\setlength{\parindent}{0pt} +\setlength{\parskip}{1ex plus .5ex minus .5ex} +\linespread{1.3} +\usepackage{url} +\usepackage{calc} +\raggedbottom +\fi % END TPaware + +%================================================================================================================= +% begin USER CONFIGURATION AREA. +% In the following, you can configure this demo by changing settings made below (until the ``end USER CONFIGURATION +% AREA mark). +% Note in particular the part below labelled ``Configuration scenarios''. +%================================================================================================================= + +%----------------------------------------------------------------------------------------------------------------- +% Packages and Preamble settings individual for this example. + +% We use a lot of fonts for demonstration. You can comment out any of the following \usepackage calls to emulate your +% own working environment. Note, however, that some of the examples will vanish then because of lacking commands. + +\usepackage{amssymb} +\usepackage{latexsym} +\usepackage{wasysym} +\usepackage{stmaryrd} +\usepackage{mathrsfs} +\usepackage{dsfont} + +\usepackage[override]{cmtt} + +% Make nested braces grow. +\delimitershortfall-1sp\relax + +% The following packages are needed only for the examples. If you're lacking any of them, just comment out the +% \usepackage call. Note, however, that some of the examples will vanish then because of lacking commands. + +% Both amsmath and wasysym insist on defining \iint and \iiint. +\makeatletter\let\iint\@undefined\let\iiint\@undefined\makeatother +\usepackage[leqno]{amsmath} + +\usepackage{amscd} + +\usepackage{array} + +\IfFileExists{easymat.sty}{\usepackage{easymat}} + +%----------------------------------------------------------------------------------------------------------------- +% TeXPower configuration. + +\PassOptionsToPackage{lightbackground,colorhighlight}{texpower} + +% Comment out to avoid coloring math formulae. +\PassOptionsToPackage{colormath}{texpower} + +\usepackage{ifthen}[2001/05/26] + +%----------------------------------------------------------------------------------------------------------------- +% Configuration scenarios + +% In the following, we give several `configuration scenarios' for presentation font selection with tpslifonts. Each +% hopefully represents a nice and readable selection of tpslifonts options and parameters. For some scenarios, you might +% need to have some Type1 fonts installed which are not part of every TeX distribution, otherwise bitmap versions will +% be used which look `blurred' in acroread. +% Of course taste varies, so after testing each scenario in turn and making yourself acquainted with the possibilities, +% you might start experimenting further by removing some options or parameters from a scenario or by adding parameters +% used in other scenarios. +% For selecting a scenario, just uncomment its code lines. Remember to comment out all other scenarios, otherwise there +% might be conflicts. + +% Configuration scenario 1: +% Slifonts with cm italic math. +% ----------------------------- +% This is a `standard' setting. The text fonts come from the lcmss family, Typewriter from cmtt and math from cmmi. Size +% differences are remedied by using `scaleup' options. The `textops' option causes operator names and digits to be taken +% from the text font lcmss. The `scale7pt' will hopefully make math look a little `bolder'. +% Type 1 versions of all fonts used by this scenario (apart from certain math fonts like dsrom) should be part of every +% moderately modern TeX distribution. + +% \PassOptionsToPackage{scaleupmath,scaleuptt,textops,scale7pt}{tpslifonts} + +% If you find the typewriter characters to be too `bold', try uncommenting the following line: + +% \def\TPSFttscale{1.13} + + +% Configuration scenario 2: +% Slifonts with euler math. +% ------------------------- +% Combining lcmss with euler math might look strange at first, but the euler math fonts are definitely extremely well +% readable on screen. The text fonts come from the lcmss family, Typewriter from cmtt and math from euler roman. Size +% differences are remedied by using `scaleup' options. +% Type 1 versions of all fonts used by this scenario (apart from certain math fonts like dsrom) should be part of every +% moderately modern TeX distribution. + +% \PassOptionsToPackage{eulermath,scaleupmath,scaleuptt}{tpslifonts} + +% If you uncomment the following option, digits are also taken from Euler math. + +% \PassOptionsToPackage{eulerdigits}{tpslifonts} + +% If you find the typewriter characters to be too `bold', try uncommenting the following line: + +% \def\TPSFttscale{1.13} + +% Configuration scenario 3: +% Slifonts with cmbright math. +% ---------------------------- +% The cmbright family is the only existing source for a complete set of sans serif math fonts which fit the computer +% modern grand family. Although being slightly different from cmss, it fits well with lcmss . The text fonts come from +% the lcmss family, Typewriter from cmtt and math from cm bright. Size differences are remedied by using `scaleup' +% options. The `textops' option causes operator names and digits to be taken from the text font lcmss. +% Even with a modern TeX distribution, you might need to install Type1 versions of the cmbright fonts, for instance from +% the ``hfbright'' bundle by Harald Harders. + +% \PassOptionsToPackage{cmbrightmath,scaleupmath,scaleuptt,textops}{tpslifonts} + +% If you find the typewriter characters to be too `bold', try uncommenting the following line: + +% \def\TPSFttscale{1.1} + +% Configuration scenario 4: +% cmss fonts with cm italic math. +% ------------------------------- +% The text fonts come from the cmss family, Typewriter from cmtt and math from cmmi. The `textops' option causes +% operator names and digits to be taken from the text font cmss. The `scale7pt' option makes characters look a little +% `bolder', enhancing readability. +% Type 1 versions of all fonts used by this scenario (apart from certain math fonts like dsrom) should be part of every +% moderately modern TeX distribution. + +% \PassOptionsToPackage{cmss,textops,scale7pt}{tpslifonts} + +% Configuration scenario 5: +% cmss fonts with euler math. +% --------------------------- +% Combining cmss with euler math might look strange at first, but the euler math fonts are definitely extremely well +% readable on screen. The text fonts come from the cmss family, Typewriter from cmtt and math from euler roman. +% Type 1 versions of all fonts used by this scenario (apart from certain math fonts like dsrom) should be part of every +% moderately modern TeX distribution. + +% \PassOptionsToPackage{cmss,eulermath}{tpslifonts} + +% If you uncomment the following option, digits are also taken from Euler math. + +% \PassOptionsToPackage{eulerdigits}{tpslifonts} + +% Configuration scenario 6: +% cmss fonts with cmbright math. +% ------------------------------ +% The cmbright family is the only existing source for a complete set of sans serif math fonts which fit the computer +% modern grand family. Although being slightly different from cmss, it fits well with cmss. The text fonts come from +% the cmss family, Typewriter from cmtt and math from cm bright. The `textops' option causes operator names and digits +% to be taken from the text font cmss. +% Even with a modern TeX distribution, you might need to install Type1 versions of the cmbright fonts, for instance from +% the ``hfbright'' bundle by Harald Harders. + +% \PassOptionsToPackage{cmss,cmbrightmath,textops}{tpslifonts} + +% Configuration scenario 7: +% cmr fonts. +% ------------------------- +% In this case, all fonts are the TeX standard computer modern roman. The text fonts come from the cmr family, +% Typewriter from cmtt and math from cmmi. The `scale7pt' option makes characters look a little `bolder', enhancing +% readability. +% Type 1 versions of all fonts used by this scenario (apart from certain math fonts like dsrom) should be part of every +% moderately modern TeX distribution. + +\PassOptionsToPackage{cmr,scale7pt}{tpslifonts} + +% Configuration scenario 8: +% cmbright fonts. +% ------------------------- +% In this case, all fonts are taken from the cmbright family. The text fonts come from the cmbr family, +% Typewriter from cmtl and math from cmbrm. +% Even with a modern TeX distribution, you might need to install Type1 versions of the cmbright fonts, for instance from +% the ``hfbright'' bundle by Harald Harders. + +% \PassOptionsToPackage{cmbright,cmbrightmath}{tpslifonts} + +% Configuration scenario 9: +% concrete fonts with Euler math. +% ------------------------------- +% In this case, text fonts are taken from the concrete family. The text fonts come from the ccr family, +% Typewriter from cmtt and math from Euler. +% Unfortunately, it seems there are no Type1 versions of OT1 encoded ccr fonts. Hence, to use this setup (at this +% moment) it is neccessary to select T1 fontencoding (see below) and install some Type1 collection of ``ec'' fonts like +% the cm-super fonts. Even then, there's no Type1 version of ccm math fonts, so for this scenario, (the matching) Euler +% math fonts are selected. + +% \PassOptionsToPackage{concrete,eulermath}{tpslifonts} + +% With this scenario, T1 fontencoding is neccessary because (to the authors knowledge) there exists no OT1 encoded Type1 +% version of ccr. + +% \usepackage[T1]{fontenc} + +%----------------------------------------------------------------------------------------------------------------- +% Other tpslifonts settings. + +% Use T1 font encoding. This will lead to using EC fonts instead of CM. + +\usepackage[T1]{fontenc} + +% tpslifonts allows to define independent scaling factors for different groups of fonts. Selecting one of the +% scaleup... options will define a default value supposed to match ``SliTeX'' fonts, but you can set any scaling factor +% by just defining (any of) the respective macros: + +% Typewriter fonts. + +% \def\TPSFttscale{1.1} + +% Math fonts related to cm math. + +% \def\TPSFmathscale{1.1} + +% Euler math fonts. + +% \def\TPSFeulerscale{1.05} + +% cmbright math fonts. + +% \def\TPSFcmbrscale{1.05} + + +%================================================================================================================= +% end USER CONFIGURATION AREA. +%================================================================================================================= + + +\RequirePackage{tpslifonts} + +\makeatletter +\ifTPaware +%----------------------------------------------------------------------------------------------------------------- +% We load hyperref and fixseminar which fixes some problems with seminar. +\usepackage[plainpages=false,bookmarksopen,colorlinks,urlcolor=red,pdfpagemode=FullScreen]{hyperref} +\usepackage{fixseminar} +%----------------------------------------------------------------------------------------------------------------- +% Finally, the texpower package is loaded. +\usepackage{texpower} +%----------------------------------------------------------------------------------------------------------------- +% Some more parameters... +\slidesmag{5} +\slideframe{none} +\pagestyle{empty} +\setcounter{tocdepth}{2} +\renewcommand{\currentpagevalue}{\value{slide}} +%----------------------------------------------------------------------------------------------------------------- +% The following command produces a title page for every example and documentation file. +\newcommand{\makeslidetitle}[1] +{% + \title{The \TeX Power bundle\\[2ex]{\normalfont #1}} + \author + {% + Stephan Lehmke\\ + \mdseries + University of Dortmund\\ + \mdseries + Department of Computer Science I\\ + \url{mailto:Stephan.Lehmke@udo.edu}% + } + {\centerslidestrue + \maketitle + \newslide} + \setcounter{firststep}{1}% This way, the first step of all examples is displayed. +} +\hypersetup{pdftitle={texpower tpslifonts example}} +\slidesmag{4} +\else % NOT TPaware +% Load everything manually. +\pagestyle{empty} +\newcommand{\makeslidetitle}[1] +{% + \begin{center} + {\leavevmode\Large\sffamily + + \vspace*{\fill} + + \textbf{The \TeX Power bundle\\{\normalfont #1}} + \par} + + \vspace*{\fill} + + Stephan Lehmke\\ + University of Dortmund\\ + Department of Computer Science I\\ + \url{mailto:Stephan.Lehmke@udo.edu}% + + \vspace*{\fill} + \today + + \vspace*{\fill} + + \vspace*{\fill} + \end{center} + \newpage +} + +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-1.5ex\@plus -1ex \@minus -.5ex}% + {.5ex \@plus .2ex}% + {\normalfont\large\sffamily\bfseries}} + +\let\code\texttt +\let\concept\textbf +\let\underl\textbf +\let\name\textsc +\newcommand{\macroname}[1]{\code{\textbackslash##1}} + +\newenvironment{slide}{\raggedright}{} + +\newenvironment{presentbox}{\par\begin{minipage}[t]{\linewidth}}{\end{minipage}\par} + +\let\present=\fbox +\fi % END TPaware + +\newboolean{TPSFamsfonts} +\@ifpackageloaded{amsfonts}{\setboolean{TPSFamsfonts}{true}}{} +\newboolean{TPSFlasy} +\@ifpackageloaded{latexsym}{\setboolean{TPSFlasy}{true}}{} +\newboolean{TPSFwasysym} +\@ifpackageloaded{wasysym}{\setboolean{TPSFwasysym}{true}}{} +\newboolean{TPSFstmaryrd} +\@ifpackageloaded{stmaryrd}{\setboolean{TPSFstmaryrd}{true}}{} +\newboolean{TPSFrsfs} +\@ifpackageloaded{mathrsfs}{\setboolean{TPSFrsfs}{true}}{} +\newboolean{TPSFdstroke} +\@ifpackageloaded{dsfont}{\setboolean{TPSFdstroke}{true}}{} +\makeatother + + +%----------------------------------------------------------------------------------------------------------------- +% Finally, everything is set up. Here we go... +% +\begin{document} +\begin{slide} +% +%----------------------------------------------------------------------------------------------------------------- +% +% Body of slifonts example. +% + +\newcommand{\textbfsl}[1]{\textbf{\textsl{#1}}} +\newcommand{\textbfit}[1]{\textbf{\textit{#1}}} +\newcommand{\textbfsc}[1]{\textbf{\textsc{#1}}} +\newcommand{\textcsl}[1]{\textc{\textsl{#1}}} +\newcommand{\textsbsl}[1]{\textsb{\textsl{#1}}} +\newcommand{\textsbc}[1]{{\fontseries{sbc}\selectfont#1}} +\newcommand{\textb}[1]{{\fontseries{b}\selectfont#1}} +\newcommand{\textsb}[1]{{\fontseries{sb}\selectfont#1}} +\newcommand{\textc}[1]{{\fontseries{c}\selectfont#1}} +\newcommand{\textui}[1]{{\fontshape{ui}\selectfont#1}} +\newcommand{\textff}[1]{{\fontfamily{cmfr}\selectfont#1}} +\newcommand{\textffi}[1]{{\fontfamily{cmfr}\textit{#1}}} +\newcommand{\textdh}[1]{{\fontfamily{cmdh}\selectfont#1}} +\newcommand{\textfib}[1]{{\fontfamily{cmfib}\selectfont#1}} +\newcommand{\textfibsl}[1]{{\fontfamily{cmfib}\selectfont\textsl{#1}}} + +\makeatletter +\@namedef{TextFontNamelcmssOT1}{SliTeX Sans Serif (\code{lcmss})} + +\@namedef{TextFontNameShortlcmssOT1}{\code{lcmss}} + +\@namedef{TextItFontNamelcmssOT1}{SliTeX Sans-Serif Slanted (\code{lcmssi})} + +\@namedef{TextFontslcmssOT1}% +{% + {SliTeX Sans Serif (\code{lcmss})}\textnormal,% + {SliTeX Sans-Serif Slanted (\code{lcmssi})}\textsl,% + {SliTeX Sans-Serif bold (\code{lcmssb})}\textbf% +} + +\@namedef{TextFontNamelcmssT1}{European Computer Modern Sans Serif Quotation (\code{eclq})} + +\@namedef{TextFontNameShortlcmssT1}{\code{eclq}} + +\@namedef{TextItFontNamelcmssT1}{European Computer Modern Sans Serif Quotation Inclined (\code{ecli})} + +\@namedef{TextFontslcmssT1}% +{% + {European Computer Modern Sans Serif Quotation (\code{eclq})}\textnormal,% + {European Computer Modern Sans Serif Quotation Inclined (\code{ecli})}\textsl,% + {European Computer Modern Sans Serif Quotation Bold (\code{eclb})}\textbf,% + {European Computer Modern Sans Serif Quotation Bold Oblique (\code{eclo})}\textbfsl% +} + +\@namedef{TextFontNamecmrOT1}{Computer Modern Roman (\code{cmr})} +\expandafter\let\csname TextFontNamecmrmOT1\expandafter\endcsname\csname TextFontNamecmrOT1\endcsname + +\@namedef{TextFontNameShortcmrOT1}{\code{cmr}} +\expandafter\let\csname TextFontNameShortcmrmOT1\expandafter\endcsname\csname TextFontNameShortcmrOT1\endcsname + +\@namedef{TextItFontNamecmrOT1}{Computer Modern Text Italic (\code{cmti})} + +\@namedef{TextFontscmrOT1}% +{% + {Computer Modern Roman (\code{cmr})}\textnormal,% + {Computer Modern Slanted Roman (\code{cmsl})}\textsl,% + {Computer Modern Text Italic (\code{cmti})}\textit,% + {Computer Modern Roman Caps and Small Caps (\code{cmcsc})}\textsc,% + {Computer Modern Unslanted Italic (\code{cmu})}\textui,% + {Computer Modern Bold Roman (\code{cmb})}\textb,% + {Computer Modern Bold Extended Roman (\code{cmbx})}\textbf,% + {Computer Modern Bold Extended Slanted Roman (\code{cmbxsl})}\textbfsl,% + {Computer Modern Bold Extended Text Italic (\code{cmbxti})}\textbfit,% + {Computer Modern Funny Roman (\code{cmff})}\textff,% + {Computer Modern Funny Italic (\code{cmfi})}\textffi,% + {Computer Modern Dunhill Roman (\code{cmdunh})}\textdh,% + {Computer Modern Roman Fibonacci Font (\code{cmfib})}\textfib% +} + +\@namedef{TextFontNamecmrT1}{European Computer Modern Roman Medium (\code{ecrm})} +\expandafter\let\csname TextFontNamecmrmT1\expandafter\endcsname\csname TextFontNamecmrT1\endcsname + +\@namedef{TextFontNameShortcmrT1}{\code{ecrm}} +\expandafter\let\csname TextFontNameShortcmrmT1\expandafter\endcsname\csname TextFontNameShortcmrT1\endcsname + +\@namedef{TextItFontNamecmrT1}{European Computer Modern Text Italic (\code{ecti})} + +\@namedef{TextFontscmrT1}% +{% + {European Computer Modern Roman Medium (\code{ecrm})}\textnormal,% + {European Computer Modern Roman Slanted (\code{ecsl})}\textsl,% + {European Computer Modern Text Italic (\code{ecti})}\textit,% + {European Computer Modern Caps and Small Caps (\code{eccc})}\textsc,% + {European Computer Modern Bold Extend Roman (\code{ecbx})}\textbf,% + {European Computer Modern Roman Bold (Non-Extended) (\code{ecrb})}\textb,% + {European Computer Modern Bold Extended Text Italic (\code{ecbi})}\textbfit,% + {European Computer Modern Bold Extended Slanted Roman (\code{ecbl})}\textbfsl,% + {European Computer Modern Bold Extended Caps and Small Caps (\code{ecxc})}\textbfsc,% + {European Computer Modern Unslanted Italic (\code{ecui})}\textui,% +% {European Computer Modern Funny Roman (\code{ecff})}\textff,% unable to make tfm ?!? +% {European Computer Modern Funny Italic (\code{ecfi})}\textffi,% + {European Computer Modern Dunhill Roman (\code{ecdh})}\textdh,% + {European Computer Modern Fibonacci Font (\code{ecfb})}\textfib,% + {European Computer Modern Fibonacci Slanted Font (\code{ecfs})}\textfibsl% +} + +\@namedef{TextFontNamecmssOT1}{Computer Modern Sans Serif (\code{cmss})} + +\@namedef{TextFontNameShortcmssOT1}{\code{cmss}} + +\@namedef{TextItFontNamecmssOT1}{Computer Modern Slanted Sans Serif (\code{cmssi})} + +\@namedef{TextFontscmssOT1}% +{% + {Computer Modern Sans Serif (\code{cmss})}\textnormal,% + {Computer Modern Slanted Sans Serif (\code{cmssi})}\textsl,% + {Computer Modern Sans Serif Demibold Condensed (\code{cmssdc})}\textsbc,% + {Computer Modern Sans Serif Bold Extended (\code{cmssbx})}\textbf% +} + +\@namedef{TextFontNamecmssT1}{European Computer Modern Sans Serif (\code{ecss})} + +\@namedef{TextFontNameShortcmssT1}{\code{ecss}} + +\@namedef{TextItFontNamecmssT1}{European Computer Modern Sans Serif Inclined (\code{ecsi})} + +\@namedef{TextFontscmssT1}% +{% + {European Computer Modern Sans Serif (\code{ecss})}\textnormal,% + {European Computer Modern Sans Serif Inclined (\code{ecsi})}\textsl,% + {European Computer Modern Sans Serif Bold Extended (\code{ecsx})}\textbf,% + {European Computer Modern Sans Serif Bold Extended Oblique (\code{ecso})}\textbfsl,% + {European Computer Modern Sans Serif Demi Condensed (\code{ecssdc})}\textsbc% +} + +\@namedef{TextFontNamecmbrOT1}{Computer Modern Bright (\code{cmbr})} +\expandafter\let\csname TextFontNamecmbrmtOT1\expandafter\endcsname\csname TextFontNamecmbrOT1\endcsname + +\@namedef{TextFontNameShortcmbrOT1}{\code{cmbr}} +\expandafter\let\csname TextFontNameShortcmbrmtOT1\expandafter\endcsname\csname TextFontNameShortcmbrOT1\endcsname + +\@namedef{TextItFontNamecmbrOT1}{Computer Modern Bright Slanted (\code{cmbrsl})} + +\@namedef{TextFontscmbrOT1}% +{% + {Computer Modern Bright (\code{cmbr})}\textnormal,% + {Computer Modern Bright Slanted (\code{cmbrsl})}\textsl,% + {Computer Modern Bright Bold Extended (\code{cmbrbx})}\textbf% +} + +\@namedef{TextFontNamecmbrT1}{European Computer Modern Bright medium regular (\code{ebmr})} +\expandafter\let\csname TextFontNamecmbrmtT1\expandafter\endcsname\csname TextFontNamecmbrT1\endcsname + +\@namedef{TextFontNameShortcmbrT1}{\code{ebmr}} +\expandafter\let\csname TextFontNameShortcmbrmtT1\expandafter\endcsname\csname TextFontNameShortcmbrT1\endcsname + +\@namedef{TextItFontNamecmbrT1}{European Computer Modern Bright medium oblique (\code{ebmo})} + +\@namedef{TextFontscmbrT1}% +{% + {European Computer Modern Bright medium regular (\code{ebmr})}\textnormal,% + {European Computer Modern Bright medium oblique (\code{ebmo})}\textsl,% + {European Computer Modern Bright semibold regular (\code{ebsr})}\textsb,% + {European Computer Modern Bright semibold oblique (\code{ebso})}\textsbsl% +} + +\@namedef{TextFontNameccrOT1}{Concrete Roman (\code{ccr})} + +\@namedef{TextFontNameShortccrOT1}{\code{ccr}} + +\@namedef{TextItFontNameccrOT1}{Concrete Text Italic (\code{ccti})} + +\@namedef{TextFontsccrOT1}% +{% + {Concrete Roman (\code{ccr})}\textnormal,% + {Concrete Slanted Roman (\code{ccsl})}\textsl,% + {Concrete Text Italic (\code{ccti})}\textit,% + {Concrete Roman Caps and Small Caps (\code{cccsc})}\textsc,% + {Concrete Slanted Condensed Roman (\code{ccslc})}\textcsl,% + {Computer Modern Sans Serif Bold Extended (\code{cmssbx}) as a replacement for `bold' ccr}\textbf% +} + +\@namedef{TextFontNameccrT1}{European Concrete Roman (\code{eorm})} + +\@namedef{TextFontNameShortccrT1}{\code{eorm}} + +\@namedef{TextItFontNameccrT1}{European Computer Concrete Text Italic (\code{eoti})} + +\@namedef{TextFontsccrT1}% +{% + {European Concrete Roman (\code{eorm})}\textnormal,% + {European Computer Concrete Slanted (\code{eosl})}\textsl,% + {European Computer Concrete Text Italic (\code{eoti})}\textit,% + {European Concrete Roman Caps and Small Caps (\code{eocc})}\textsc,% + {European Computer Modern Sans Serif Bold Extended (\code{ecsx}) as a replacement for `bold' ccr}\textbf,% + {European Computer Modern Sans Serif Bold Extended Oblique (\code{ecso}) as a replacement for `bold slanted' ccr}% + \textbfsl% +} + +\@namedef{TTFontNamelcmssOT1}{Computer Modern Typewriter Text (\code{cmtt})} + +\@namedef{TTItFontNamelcmssOT1}{Computer Modern Italic Typewriter Text (\code{cmitt})} + +\@namedef{TTFontslcmssOT1}% +{% + {Computer Modern Typewriter Text (\code{cmtt})}\textnormal,% + {Computer Modern Italic Typewriter Text (\code{cmitt})}\textit,% + {Computer Modern Slanted Typewriter Text (\code{cmsltt})}\textsl,% + {Computer Modern Typewriter Caps and Small Caps (\code{cmtcsc})}\textsc% +} + +\@namedef{TTFontNamelcmssT1}{European Computer Modern LaTeX Typewriter (\code{ecltt})} + +\@namedef{TTItFontNamelcmssT1}{European Computer Modern Italic Typewriter Text (\code{ecit})} + +\@namedef{TTFontslcmssT1}% +{% + {European Computer Modern LaTeX Typewriter (\code{ecltt})}\textnormal,% + {European Computer Modern Italic Typewriter Text (\code{ecit})}\textit,% + {European Computer Modern Slanted Typewriter Text (\code{ecst})}\textsl,% + {European Computer Modern Typewritr Caps and Small Caps (\code{ectc})}\textsc% +} + +\@namedef{TTFontNamecmrOT1}{Computer Modern Typewriter Text (\code{cmtt})} + +\@namedef{TTItFontNamecmrOT1}{Computer Modern Italic Typewriter Text (\code{cmitt})} + +\@namedef{TTFontscmrOT1}% +{% + {Computer Modern Typewriter Text (\code{cmtt})}\textnormal,% + {Computer Modern Italic Typewriter Text (\code{cmitt})}\textit,% + {Computer Modern Slanted Typewriter Text (\code{cmsltt})}\textsl,% + {Computer Modern Typewriter Caps and Small Caps (\code{cmtcsc})}\textsc% +} + +\@namedef{TTFontNamecmrT1}{European Computer Modern Typewriter (\code{ectt})} + +\@namedef{TTItFontNamecmrT1}{European Computer Modern Italic Typewriter Text (\code{ecit})} + +\@namedef{TTFontscmrT1}% +{% + {European Computer Modern Typewriter (\code{ectt})}\textnormal,% + {European Computer Modern Italic Typewriter Text (\code{ecit})}\textit,% + {European Computer Modern Slanted Typewriter Text (\code{ecst})}\textsl,% + {European Computer Modern Typewritr Caps and Small Caps (\code{ectc})}\textsc% +} + +\expandafter\let\csname TTFontscmssOT1\expandafter\endcsname\csname TTFontscmrOT1\endcsname + +\expandafter\let\csname TTFontscmssT1\expandafter\endcsname\csname TTFontscmrT1\endcsname + +\expandafter\let\csname TTFontNamecmssOT1\expandafter\endcsname\csname TTFontNamecmrOT1\endcsname + +\expandafter\let\csname TTFontNamecmssT1\expandafter\endcsname\csname TTFontNamecmrT1\endcsname + +\expandafter\let\csname TTItFontNamecmssOT1\expandafter\endcsname\csname TTItFontNamecmrOT1\endcsname + +\expandafter\let\csname TTItFontNamecmssT1\expandafter\endcsname\csname TTItFontNamecmrT1\endcsname + +\@namedef{TTFontNamecmbrOT1}{CM Typewriter Light (\code{cmtl})} + +\@namedef{TTItFontNamecmbrOT1}{CM Typewriter Light Slanted (\code{cmsltl})} + +\@namedef{TTFontscmbrOT1}% +{% + {CM Typewriter Light (\code{cmtl})}\textnormal,% + {CM Typewriter Light Slanted (\code{cmsltl})}\textsl% +} + +\@namedef{TTFontNamecmbrT1}{EC Typewriter Light (\code{ebtl})} + +\@namedef{TTItFontNamecmbrT1}{EC Typewriter Light oblique (\code{ebto})} + +\@namedef{TTFontscmbrT1}% +{% + {EC Typewriter Light (\code{ebtl})}\textnormal,% + {EC Typewriter Light oblique (\code{ebto})}\textsl% +} + +\expandafter\let\csname TTFontsccrOT1\expandafter\endcsname\csname TTFontscmrOT1\endcsname + +\expandafter\let\csname TTFontsccrT1\expandafter\endcsname\csname TTFontscmrT1\endcsname + +\expandafter\let\csname TTFontNameccrOT1\expandafter\endcsname\csname TTFontNamecmrOT1\endcsname + +\expandafter\let\csname TTFontNameccrT1\expandafter\endcsname\csname TTFontNamecmrT1\endcsname + +\expandafter\let\csname TTItFontNameccrOT1\expandafter\endcsname\csname TTItFontNamecmrOT1\endcsname + +\expandafter\let\csname TTItFontNameccrT1\expandafter\endcsname\csname TTItFontNamecmrT1\endcsname + +\@namedef{MathFontNamecmm}{Computer Modern Math} + +\@namedef{MathFontNameccm}{Concrete Math} + +\@namedef{MathFontNameeuler}{Euler} + +\@namedef{MathFontNamecmbrm}{Computer Modern Bright Math} + +\@namedef{MathLetterFontNamecmm}{Computer Modern Math Italic (\code{cmmi})} + +\@namedef{MathLetterFontNameccm}{Concrete Math Italic (\code{xccmi})} + +\@namedef{MathLetterFontNameeuler}{Euler Roman Medium (\code{eurm})} + +\@namedef{MathLetterFontNamecmbrm}{Computer Modern Bright Math Slanted (\code{cmbrmi})} + +\@namedef{MathSymbolFontNamecmm}{Computer Modern Math Symbols (\code{cmsy})} + +\@namedef{MathSymbolFontNameccm}{Concrete Math Symbols (\code{xccsy})} + +\@namedef{MathSymbolFontNameeuler}{Euler Script Medium (\code{eusm})} + +\@namedef{MathSymbolFontNamecmbrm}{Computer Modern Bright Math Symbols (\code{cmbrmi})} + +\@namedef{MathExtensionFontNamecmm}{Computer Modern Math Extension (\code{cmex})} + +\@namedef{MathExtensionFontNameccm}{Concrete Math Extension (\code{xccex})} + +\@namedef{MathExtensionFontNameeuler}{Euler Extension (\code{euex})} + +\expandafter\let\csname MathExtensionFontNamecmbrm\expandafter\endcsname\csname MathExtensionFontNamecmm\endcsname + +\newcommand{\listdescriptions}[1] +{% + \expandafter\expandafter\expandafter\@listdescriptions\expandafter\expandafter\expandafter + {\csname#1\endcsname}% +} + +\newcommand{\@listdescriptions}[1]{\@for\temp := #1 \do {\expandafter\mkdescription\temp}} + +\newcommand{\mkdescription}[2]{} + +\newcommand{\TextFontName}{\@nameuse{TextFontName\TPSFTextfont\encodingdefault}} + +\newcommand{\TextFontNameShort}{\@nameuse{TextFontNameShort\TPSFTextfont\encodingdefault}} + +\let\nameuse\@nameuse +\makeatother + +%----------------------------------------------------------------------------------------------------------------- +% +\makeslidetitle{\TeX Power Example: Package \code{tpslifonts}}\label{Sec:tpslifonts} + +This is the demonstration document for \code{tpslifonts}, \TeX Power's slide fonts configuration package. + +Beamer and overhead presentations are often viewed under peculiar circumstances. Especially for presentations which are +projected directly `out of the computer', low power of the beamer, low resolution and an abundance of colors can lead to +severe readability problems. + +It is therefore of utmost importance to optimize font selection as much as possible towards \emph{readability}. + +The package \code{tpslifonts} offers a couple of `harmonising' combinations of text and math fonts from the (distant) +relatives of \concept{computer modern} fonts, with a couple of extras for optimising readability. + +\newpage + +The package offers the following features: +\begin{enumerate} +\item Text fonts from \concept{computer modern roman}, \concept{computer modern sans serif}, \concept{Sli\TeX{} computer + modern sans serif}, \concept{computer modern bright}, or \concept{concrete roman}. +\item Math fonts from \concept{computer modern math}, \concept{computer modern bright math}, or \concept{Euler fonts}. +\item Support of additional symbol fonts like \concept{AMS symbols} or \concept{doublestroke}. +\item All fonts configured for `smooth scaling' (like in the \code{type1cm} package). +\item Avoiding fonts not freely available in \concept{Type 1} format. +\item Careful \concept{design size} selection for optimum readability. +\end{enumerate} + +\newpage + +In the following, the fonts configured by this package are listed, augmented by font samples and some larger examples +which hopefully allow to review the configuration parameters. + +Note that there are a couple of options and parameter settings in the preamble of \code{slifontsexample.tex} which allow +to try different configuration variants. + +This document has been typeset using \encodingdefault{} font encoding. + +\section{Text Fonts} + +Package \code{tpslifonts} has configured the following \concept{text fonts}: + +\renewcommand{\mkdescription}[2] +{% + + \medskip\pagebreak[3] + + \hrule + + #1:\\ #2{The quick brown fox jumps over the lazy dog.} + +}% +\listdescriptions{TextFonts\TPSFTextfont\encodingdefault} + +\medskip + +\hrule + +\medskip + +\section{Typewriter Fonts} + +\ifthenelse{\isundefined{\TPSFttscale}}{} +{% + \ifthenelse{\equal{\TPSFTextfont}{lcmss}} + {For harmonising better with \ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}}, t} + {T}% + ypewriter fonts are scaled up by a factor of $\TPSFttscale$. +}% + +Package \code{tpslifonts} has configured the following \concept{typewriter fonts}: + +\renewcommand{\mkdescription}[2] +{% + + \medskip\pagebreak[3] + + \hrule + + #1:\\ #2{\texttt{The quick brown fox jumps over the lazy dog.}} + +}% +\listdescriptions{TTFonts\TPSFTextfont\encodingdefault} + +\medskip + +\hrule + +\medskip + +\section{Math Fonts} + +\ifthenelse{\equal{\TPSFMathfont}{euler}} +{% + The main math fonts are derived from the \concept{\MathFontNameeuler} fonts. Operators% + \ifthenelse{\boolean{TPSFeulerdigits}}{}{ and digits} are taken from \TextFontName. +}% +{% + The main math fonts are derived from the \concept{\nameuse{MathFontName\TPSFMathfont}} fonts. + \ifthenelse{\boolean{TPSFtextops}}% + {Operators, digits, and upper case greek letters are taken from \TextFontName.} + {}% +} + +\ifthenelse{\isundefined{\TPSFmathscale}}{} +{% + \ifthenelse{\equal{\TPSFTextfont}{lcmss}} + {For harmonising better with \ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}}, m} + {M}% + ath fonts are scaled up by a factor of $\TPSFmathscale$. % + \ifthenelse{\equal{\TPSFMathfont}{euler}} {Euler fonts are scaled up by a factor of $\TPSFeulerscale$. } + {}% + \ifthenelse{\equal{\TPSFMathfont}{cmbrm}} + {The cmbright math fonts are scaled up by a factor of $\TPSFcmbrscale$. } + {}% +}% + +\medskip\pagebreak[3] + +\hrule\nopagebreak + +\ifthenelse{\equal{\TPSFMathfont}{euler}} +{% + Operators\ifthenelse{\boolean{TPSFeulerdigits}}{}{ and digits} are taken from \TextFontName:\\ + $\min \max \sup \lim \ifthenelse{\boolean{TPSFeulerdigits}}{}{1 2 3 4 5}$ + + \medskip + + \hrule + + Latin and greek letters\ifthenelse{\boolean{TPSFeulerdigits}}{, digits,}{} and some symbols are taken from (virtual) + Euler Roman (\code{zeur}):\\ + $abcd ABCD>/<\alpha \beta \gamma \delta\Phi \Pi \Gamma \Theta\ifthenelse{\boolean{TPSFeulerdigits}}{1 2 3 4 5}{}$ + + \medskip + + \begin{samepage} + \hrule\nopagebreak + + Symbols and calligraphic letters are taken from (virtual) Euler Script (\code{zeus}):\\ + $ \mathcal{ABC} -*+ = \div\equiv \leq \forall \cap \cup \nabla \neq$ + \par + \end{samepage} + + \medskip + + \hrule + + \parbox{\linewidth-\widthof{$\displaystyle\left(\sum^{\left\{\bigcup\limits^\bigoplus\right\}}_{\left[\prod\limits_\biguplus\right]}\right)$}-1ex} + {% + Large and growing symbols are taken from (virtual) Euler Extension (\code{zeuex}). + }\hfill + $\displaystyle\left(\sum^{\left\{\bigcup\limits^\bigoplus\right\}}_{\left[\prod\limits_\biguplus\right]}\right)$ +} +{% + Operators, digits, some symbols and upper case greek letters are taken from + \nameuse{TextFontName\TPSFOperatorfont OT1}% + :\\ + $\min \max \sup \lim 1 2 3 4 5 + = \Phi \Pi \Gamma \Theta$ + + \medskip + + \hrule + + Latin and lower case greek letters and some symbols are taken from \nameuse{MathLetterFontName\TPSFMathfont}% + :\\ + $abcd ABCD >/< \alpha \beta \gamma \delta$ + + \medskip + +\begin{samepage} + \hrule\nopagebreak + + Symbols and calligraphic letters are taken from \nameuse{MathSymbolFontName\TPSFMathfont}% + :\\ + $\mathcal{ABC} -*\div\equiv \leq \forall \cap \cup \nabla \neq$ + \par +\end{samepage} + +\medskip + +\begin{samepage} + \hrule\nopagebreak + +\parbox{\linewidth-\widthof{$\displaystyle\left(\sum^{\left\{\bigcup\limits^\bigoplus\right\}}_{\left[\prod\limits_\biguplus\right]}\right)$}-1ex} +{% + Large and growing symbols are taken from \nameuse{MathExtensionFontName\TPSFMathfont}. +}\hfill +$\displaystyle\left(\sum^{\left\{\bigcup\limits^\bigoplus\right\}}_{\left[\prod\limits_\biguplus\right]}\right)$ +\par +\end{samepage} +} + +\medskip + +\ifthenelse{\boolean{TPSFamsfonts}} +{% + \begin{samepage} + \hrule\nopagebreak + + \ifthenelse{\equal{\TPSFMathfont}{cmbrm}} + {% + Fraktur letters are taken from Euler Fraktur (\code{eufm}):\\ + $\mathfrak{abcdABCD}$ + \par + \end{samepage} + + \medskip + + \begin{samepage} + \hrule\nopagebreak + + Blackboard bold letters and a lot of additional math symbols are taken from the cmbright AMS math fonts + (\code{cmbras}, \code{cmbrbs}):\\ + $\mathbb{NZQR} \Cap \boxtimes \succapprox \subseteqq \nsubseteq \curvearrowright \complement \varnothing$ + } + {% + Fraktur letters, blackboard bold letters, and a lot of additional math symbols are taken from the AMS math fonts + (\code{msam}, \code{msbm}, \code{eufm}):\\ + $\mathfrak{abcdABCD}\mathbb{NZQR} \Cap \boxtimes \succapprox \subseteqq \nsubseteq \curvearrowright \complement + \varnothing$ + } + \par + \end{samepage} + + \medskip +}% +{} + +\ifthenelse{\boolean{TPSFlasy}\and\not\boolean{TPSFwasysym}} +{% + \begin{samepage} + \hrule\nopagebreak + + A couple of additional math symbols are taken from the \LaTeX{} symbol font (\code{lasy}):\\ + $\mho\Join\Box\leadsto\Diamond\sqsubset\sqsupset$ + \par + \end{samepage} + + \medskip +}% +{} + +\ifthenelse{\boolean{TPSFstmaryrd}} +{% + \begin{samepage} + \hrule\nopagebreak + + Additional math symbols are taken from St Mary's Road symbol font (\code{stmary}):\\ + $\boxast \merge \nplus \varolessthan \subsetpluseq \lightning$ + \par + \end{samepage} + + \medskip +}% +{} + +\ifthenelse{\boolean{TPSFwasysym}} +{% + \begin{samepage} + \hrule\nopagebreak + + Additional symbols are taken from Waldis symbol font (\code{wasy}):\\ + $\oiint$\space \permil\space \phone\space \diameter\space \smiley\space \venus\space \mars + \par + \end{samepage} + + \medskip +}% +{} + +\ifthenelse{\boolean{TPSFrsfs}} +{% + \begin{samepage} + \hrule\nopagebreak + + Upper case script letters are taken from Ralph Smith Formal Script (\code{rsfs}):\\ + $\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + \par + \end{samepage} + + \medskip +}% +{} + +\ifthenelse{\boolean{TPSFdstroke}} +{% + \begin{samepage} + \hrule\nopagebreak + + Double stroke letters are taken from Doublestroke Font + (\ifthenelse{\equal{\TPSFOperatorfont}{cmr}}{\code{dsrom}}{\code{dsss}}):\\ + $\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ1hk}$ + \par + \end{samepage} + + \medskip +}% +{} + +\hrule + +\newpage +\subsection{Math Examples} +Next, some examples of math formulae so you can see how the fonts work together (translations from german done by me). + +\ifthenelse{\isundefined{\align}}{} +{% +\medskip + +\hrule + +\begin{minipage}{\linewidth} + \underl{From The Book.} + \begin{presentbox} + \setlength{\abovedisplayskip}{.3\abovedisplayskip}% + \textbf{(D)}\quad The functions $f$ and $g$ fulfil the same functional equation: + $f\left(\frac{x}{2}\right)+f\left(\frac{x+1}{2}\right)=2f(x)$ and + $g\left(\frac{x}{2}\right)+g\left(\frac{x+1}{2}\right)=2g(x)$. + + For $f(x)$, we obtain this from the addition formulas for the sine and cosine: + \begin{align*} + f\left(\textstyle\frac{x}{2}\right)+f\left(\textstyle\frac{x+1}{2}\right) + &=\pi + \left[\frac{\cos\frac{\pi x}{2}}{\sin\frac{\pi x}{2}}-\frac{\sin\frac{\pi x}{2}}{\cos\frac{\pi x}{2}}\right] + \\[1ex] + &=2\pi\frac{\cos\left(\frac{\pi x}{2}+\frac{\pi x}{2}\right)}{\sin\left(\frac{\pi x}{2}+\frac{\pi x}{2}\right)} + =2f(x)\text{.} + \end{align*} + + The functional equation for $g$ follows from + \begin{displaymath} + g_N\left(\textstyle\frac{x}{2}\right)+g_N\left(\textstyle\frac{x+1}{2}\right) + =2g_{2N}(x)+\frac{2}{x+2N+1}\text{.} + \end{displaymath} + \end{presentbox} +\end{minipage}% +} + +\ifthenelse{\boolean{TPSFdstroke}\and\not\isundefined{\align}} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From an undergrad book on calculus.} + \begin{presentbox} + \begin{align*} + c_k&=\frac{1}{2\pi}\int_{0}^{2\pi} f(x) e^{-\mathrm{i}kx}\,\mathrm{d}x + =\frac{1}{2\pi}\sum_{j=1}^{r}\int_{t_{j-1}}^{t_j} f(x) e^{-\mathrm{i}kx}\,\mathrm{d}x\\ + &=\frac{-\mathrm{i}}{2\pi k}\int_{0}^{2\pi} \varphi(x) e^{-\mathrm{i}kx}\,\mathrm{d}x + =\frac{-\mathrm{i}\gamma_k}{k}\text{.} + \end{align*} + As for all $\alpha,\beta\in\mathds{C}$, + $\left|\alpha\beta\right|\leq\frac{1}{2}\left(\left|\alpha\right|^2+\left|\beta\right|^2\right)$, it holds that + \begin{displaymath} + \left|c_k\right|\leq\frac{1}{2}\left(\frac{1}{\left|k\right|^2}+\left|\gamma_k\right|^2\right)\text{.} + \end{displaymath} + From the convergence of $\sum\limits_{k=1}^{\infty}\frac{1}{k^2}$ and + $\sum\limits_{k=-\infty}^{\infty}\left|\gamma_k\right|^2$, it follows that + \begin{displaymath} + \sum_{k=-\infty}^{\infty}\left|c_k\right|<\infty\text{.} + \end{displaymath} + \end{presentbox} +\end{minipage}% +} +{} + +\ifthenelse{\isundefined{\align}\or\isundefined{\extrarowheight}}{} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From an undergrad book on calculus (2nd volume).} + \begin{presentbox} + \small + By \name{Fubini}'s theorem, + \setcounter{equation}{8}% + \begin{equation} + \label{eq:GaussLemma1} + \int\limits_{Z_\varepsilon}\operatorname{div} F \,\mathrm{d}x + = \sum_{k=1}^{n}\, + \underbrace + {% + \int\limits_{Q'} + \left( + \int\limits^{h\left(x'\right)-\varepsilon}_{-\infty}\partial_kF_k\left(x',x_n\right)\,\mathrm{d}x_n + \right) + \,\mathrm{d}x' + }_{{}\mathrel{=:} I_k} + \text{.} + \end{equation} + Evaluation of $I_k$: Obviously, + \begin{displaymath} + I_n=\int\limits_{Q'}F_n\left(x',h(x'-\varepsilon)\right)\,\mathrm{d}x'\text{.} + \end{displaymath} + In the case $1\leq k \leq n-1$, we employ the identity + \begin{displaymath} + \partial_k + \left( + \int\limits^{h\left(x'\right)-\varepsilon}_{-\infty}\!\!\!\!\!\!F_k\left(x',x_n\right)\,\mathrm{d}x_n + \right) + = + \begin{array}[t]{@{}>{\displaystyle}l@{}} + \int\limits^{h\left(x'\right)-\varepsilon}_{-\infty} + \!\!\!\!\!\!\partial_kF_k\left(x',x_n\right)\,\mathrm{d}x_n\\ + {}+F_k\left(x',h(x'-\varepsilon)\right)\cdot\partial_k h\left(x'\right)\text{.} + \end{array} + \end{displaymath} + \end{presentbox} +\end{minipage}% +} + +\newpage + +\ifthenelse{\isundefined{\align}\or\isundefined{\CD}}{} +{% +\begin{minipage}{\linewidth} + \underl{From a book on functional analysis.} + \begin{presentbox} + \textbf{Definition 25}\quad Let $\mathcal{C}$ and $\mathcal{D}$ be categories and $\mathcal{F}, \mathcal{G}$ + functors from $\mathcal{C}$ into $\mathcal{D}$. A mapping + $\eta:\operatorname{Ob}\mathcal{C}\to\operatorname{Mor}\mathcal{D}$ is called a \concept{natural transformation + between $\mathcal{F}$ and $\mathcal{G}$} if + \begin{enumerate} + \item[(i)] $\forall + A\in\operatorname{Ob}\mathcal{C}: + \eta(A)\in\operatorname{Mor}_{\mathcal{D}}\left(\mathcal{F}(A),\mathcal{G}(A)\right)$ + \item[(ii)] $\forall A,B\in\operatorname{Ob}\mathcal{C}\;\forall f\in\operatorname{Mor}_{\mathcal{C}}(A,B):$ + \begin{align*} + \begin{CD} + \mathcal{F}(A)@>{\mathcal{F}(f)}>>\mathcal{F}(B)\\ + @V{\eta(A)}VV @VV{\eta(B)}V\\ + \mathcal{G}(A)@>>{\mathcal{G}(f)}>\mathcal{G}(B)\\ + \end{CD} + &&\text{or}&& + \begin{CD} + \mathcal{F}(A)@<{\mathcal{F}(f)}<<\mathcal{F}(B)\\ + @V{\eta(A)}VV @VV{\eta(B)}V\\ + \mathcal{G}(A)@<<{\mathcal{G}(f)}<\mathcal{G}(B)\\ + \end{CD} + \end{align*} + respectively, commute, if $\mathcal{F}, \mathcal{G}$ are covariant or contravariant, respectively. + \end{enumerate} + + This is denoted as $\eta:\mathcal{F}\to \mathcal{G}$. Such a natural transformation is called a \concept{natural + equivalence between $\mathcal{F}$ and $\mathcal{G}$} if $\eta(A)$ is an isomorphism for every + $A\in\operatorname{Ob}\mathcal{C}$. + \end{presentbox} +\end{minipage}% +} + +\ifthenelse{\boolean{TPSFamsfonts}\and\not\isundefined{\align}\and\not\isundefined{\MAT}} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From an undergrad book on linear algebra.} + \begin{presentbox} + \textit{Step 2.}\quad Determine an eigenvector $v_2$ for an eigenvalue $\lambda_2$ of $F_2$ ($\lambda_2$ is also + an eigenvalue of $F_1$). Next, determine a $j_2\in\{1,\dots,n\}$ such that + \begin{displaymath} + \mathfrak{B}_3 := (v_1,v_2,w_1,\dots,\widehat{w_{j_1}},\dots,\widehat{w_{j_2}},\dots,w_n) + \end{displaymath} + is a base of $V$. + + Next, calculate + \vspace*{-\baselineskip} + \begin{displaymath} + M_{\mathfrak{B}_3}(F)= + \left( + \begin{MAT}(b){ccccccc} + \lambda_1&\cdot&\cdot&\cdot&\cdot&\cdot&\cdot\\ + 0&\lambda_2&\cdot&\cdot&\cdot&\cdot&\cdot\\ + \cdot&0&&&&&\\ + \cdot&\cdot&&&&&\\ + \cdot&\cdot&&&A_3&&\\ + \cdot&\cdot&&&&&\\ + 0&0&&&&& + \addpath{(2,0,0)rrrrruuuuulllllddddd}\\ + \end{MAT} + \right)\text{.} + \end{displaymath} + If $W_3:=\operatorname{Span}(w_1,\dots,\widehat{w_{j_1}},\dots,\widehat{w_{j_2}},\dots,w_n)$, then $A_3$ + determines a linear mapping $F_3:W_3\to W_3$. + \end{presentbox} +\end{minipage}% +} +{} + +\ifthenelse{\isundefined{\align}}{} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From an undergrad book on linear algebra (2nd volume).} + \begin{presentbox} + \DeclareRobustCommand{\with}{\;\vline\;}% + \DeclareRobustCommand{\Set}[2]{\left\{#1\with#2\right\}}% + \setlength{\abovedisplayskip}{.5\abovedisplayskip}% + \setlength{\belowdisplayskip}{.5\belowdisplayskip}% + \textit{Remark.}\quad If $\left(Y_i\right)_{i\in I}$ is a family of affine subspaces $Y_i$ of an affine space $X$, + then + \begin{displaymath} + Y := \bigcup_{i\in I} Y_i\subset X + \end{displaymath} + is again an affine subspace. If $Y\neq\emptyset$, then + \begin{displaymath} + T(Y)=\bigcup_{i\in I} T\left(Y_i\right)\text{.} + \end{displaymath} + + \textit{Proof.}\quad For $Y=\emptyset$, nothing is to be proved. Otherwise, there is a fixed point $p_0\in Y$ such + that + \begin{align*} + T(Y)&=\Set{\overrightarrow{p_0q}\in T(X)}{q\in\bigcup_{i\in I} Y_i} \\ + &= \bigcup_{i\in I}\Set{\overrightarrow{p_0q}\in T(X)}{q\in Y_i}=\bigcup_{i\in I} T\left(Y_i\right)\text{.} + \end{align*} + From this, both claims follow. + \end{presentbox} +\end{minipage} +} + +\ifthenelse{\boolean{TPSFrsfs}\and\not\isundefined{\align}} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From a book on measure theory.} + \begin{presentbox} + Analogously, the general \concept{associativity} of $\sigma$-Algebra products is shown, that is + \begin{equation} + \tag{23.12} + \left(\bigotimes_{i=1}^{m}\mathscr{A}_i\right)\otimes\left(\bigotimes_{i=m+1}^{n}\mathscr{A}_i\right) + =\bigotimes_{i=1}^{n}\mathscr{A}_i + \makebox[0pt][l]{\normalcolor\quad($1\leq m<n$).} + \qquad\qquad\qquad\quad + \end{equation} + Statement (23.11) allows to prove the existence of the product measure for all $n\geq 2$ by induction. + + \medskip + + \textbf{23.9 Theorem}\quad\textit{For $\sigma$-finite measures $\mu_1,\dots,\mu_n$ on + $\mathscr{A}_1,\dots,\mathscr{A}_n$, there exists exactly one measure $\pi$ on + $\mathscr{A}_1\otimes\dots\otimes\mathscr{A}_n$ such that + \begin{equation} + \tag{23.13} + \pi\left(A_1\times\dots\times A_n\right)=\mu_1(A_1)\cdot\dots\cdot\mu_n(A_n) + \end{equation} + for all $A_i\in\mathscr{A}_i$ ($i=1,\dots,n$). Here, $\pi$ is also $\sigma$-finite.} + \end{presentbox} +\end{minipage}% +} +{} + +\ifthenelse{\boolean{TPSFrsfs}\and\boolean{TPSFdstroke}\and\not\isundefined{\align}} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From a book on probability theory.} + \begin{presentbox} + \textbf{17.3 Lemma}\quad\textit{If\/ $T$ takes values exclusively from $\mathds{N}$, then $X_T$ is an + $\mathscr{F}_T$-measurable random variable with values in $\left(\Omega',\mathscr{A}'\right)$. If only + $P\left\{T<+\infty\right\}=1$ holds, then up to $P$-almost certain equality there exists exactly one + $\mathscr{F}_T$-measurable random variable $X^*$ with values in $\left(\Omega',\mathscr{A}'\right)$ which + fulfils the condition + \begin{equation} + \tag{17.7} + X^*(\omega)=X_{T(\omega)}(\omega) + \makebox[0pt][l]{\normalcolor\quad for all $\omega\in\{T<\infty\}$.} + \qquad\qquad + \end{equation} + }% + + \smallskip + + \textit{Proof.}\quad It suffices to treat the second case and provide an $\mathscr{F}_T$-measurable random + variable fulfilling the given condition. To this end, choose an arbitrary $\omega'\in\Omega'$. We set + \begin{displaymath} + X^*(\omega) := + \begin{cases} + X_{T(\omega)}(\omega),&\omega\in\{T<\infty\}\text{,}\\ + \omega',&\omega\in\{T=\infty\}\text{.} + \end{cases} + \end{displaymath} + For every $A'\in\mathscr{A}'$, it is to be proved that $A := \left\{X^*\in A'\right\}$ is an element of + $\mathscr{F}_T$. + \end{presentbox} +\end{minipage}% +} +{} + +\ifthenelse{\isundefined{\align}\or\isundefined{\extrarowheight}}{} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From my MSc Thesis.} + \begin{presentbox} + \newcommand{\PV}{\operatorname{PV}}% + If we expand equations (4.102) and (4.103), we get + \begin{align*} + \lefteqn{\left(\sum_{q\in\PV}\max\left(M(q),M(\neg q)\right)\right)-\delta}\quad&\\[1ex] + &= + \begin{array}[t]{@{}>{\displaystyle}l@{}} + \sum_{\substack{q\in\PV\\q\neq p}} + \max + \left( + \begin{array}{@{}l@{}} + \frac{m}{M_{{>}s}'\left(\neg p\right)}\cdot M_{{>}s}'(q) + +\frac{m}{M_{s}'\left(p\right)}\cdot M_{s}'(q),\\[2ex] + \frac{m}{M_{{>}s}'\left(\neg p\right)}\cdot M_{{>}s}'(\neg q) + +\frac{m}{M_{s}'\left(p\right)}\cdot M_{s}'(\neg q) + \end{array} + \right)\\[6ex] + {}-\frac{m}{M_{{>}s}'\left(\neg p\right)}\cdot\delta_{{>}s}' + -\frac{m}{M_{s}'\left(p\right)}\cdot\delta_{s}'\\[3ex] + {}-\left(\frac{m}{M_{{>}s}'\left(\neg p\right)}-1\right)\cdot r_1 + -\left(\frac{m}{M_{s}'\left(p\right)}-1\right)\cdot r_2\\[3ex] + {}-\max(r_1,r_2)+m + \end{array} + \end{align*} + \end{presentbox} +\end{minipage}% +} + +\ifthenelse{\boolean{TPSFamsfonts}\and\not\isundefined{\align}} +{% +\newpage + +\begin{minipage}{\linewidth} + \underl{From my PhD Thesis.} + \begin{presentbox} + \DeclareRobustCommand{\Lcap}{\ensuremath{\sqcap}} + \DeclareRobustCommand{\FPcapIcup}{\ensuremath{\uplus}} + \DeclareRobustCommand{\pFl}[1]{\ensuremath{\overline{#1}}} + \DeclareRobustCommand{\Lprimecup}{\ensuremath{\curlyvee}} + \def\FpFl(#1,#2)% + {% + \ensuremath{\mathord + {% + \mathchoice + {\sideset{^{#1}}{^{\,}}{\mathop{\displaystyle\pFl{#2}}}}% + {\sideset{^{#1}}{^{\,}}{\mathop{\pFl{#2}}}}% + {\sideset{^{\scriptscriptstyle#1}}{^{\,}}{\mathop{\scriptstyle\pFl{#2}}}}% + {\sideset{^{\scriptscriptstyle#1}}{^{\,}}{\mathop{\scriptscriptstyle\pFl{#2}}}}% + }}% + } + \DeclareRobustCommand{\Lprimesub}{\ensuremath{\preccurlyeq}} + \DeclareRobustCommand{\Lsub}{\ensuremath{\sqsubseteq}} + \DeclareRobustCommand{\FIsub}{\ensuremath{\subseteqq}} + By Lemma 2.2.7, + \begin{displaymath} + \FpFl(d,a)\FPcapIcup\FpFl(d',b) + =\FpFl({\left(d\Lprimecup \delta\left(\FpFl(d',b)\right)\right)},{a\Lcap \alpha\left(\FpFl(d',b)\right)}). + \end{displaymath} + Furthermore, + \begin{align*} + d&\Lprimesub d\Lprimecup \delta\left(\FpFl(d',b)\right),\\ + a\Lcap \alpha\left(\FpFl(d',b)\right)&\Lsub a. + \end{align*} + From this, + \begin{displaymath} + \FpFl(d,a)\FIsub\FpFl(d,a)\FPcapIcup\FpFl(d',b) + \end{displaymath} + follows by (2.3). + \end{presentbox} +\end{minipage}% +} +{} + +\newcounter{char}% +\newcounter{symcnt}% +\makeatletter +\newcommand{\charlist}[4] +{% + \begingroup + \setcounter{char}{#1} + \whiledo{\value{char}<#2} + {% + \medskip + \hrule + \hbox{\@for\charht := #3\do{\fontsize{\charht}{\charht}\selectfont#4}}% + \stepcounter{char}% + \hrule + }% + \endgroup +}% +\newcommand{\mksymline}[2] +{% + \begingroup + \medskip + \hrule + \hbox + {% + \@for\charht := #2\do + {% + \fontsize{\charht}{\charht}\selectfont + \setcounter{symcnt}{0}% + $% + \@for\thesymbol := #1\do + {% + \ifcase\value{symcnt}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{{\thesymbol}}{}% + \or\ifthenelse{\equal{\TPSFMathfont}{euler}}{\,\vrule\,{\thesymbol}}{}% + \or\ifthenelse{\equal{\TPSFMathfont}{euler}}{}{{\thesymbol}}% + \or\ifthenelse{\equal{\TPSFMathfont}{euler}}{}{\,\vrule\,{\thesymbol}}% + \or\ifthenelse{\equal{\TPSFMathfont}{euler}}{}{\,\vrule\,{\thesymbol}}% + \or\ifthenelse{\boolean{TPSFamsfonts}}{\,\vrule\,{\thesymbol}}{}% + \or\ifthenelse{\boolean{TPSFlasy}\and\not\boolean{TPSFwasysym}}{\,\vrule\,{\thesymbol}}{}% + \or\ifthenelse{\boolean{TPSFstmaryrd}}{\,\vrule\,{\thesymbol}}{}% + \or\ifthenelse{\boolean{TPSFwasysym}}{\,\vrule\,{\thesymbol}}{}% + \fi + \stepcounter{symcnt}% + }% + \;\vrule width1ex\;% + $% + }% + }% + \hrule + \endgroup +}% +\makeatother + +\ifthenelse{\equal{\TPSFTextfont}{lcmss}} +{% +\newpage + +\section{Comparison of Characters} +As mentioned before, \code{tpslifonts} does a little scaling and fiddling with design sizes to make the fonts harmonize +as much as possible. + +The following scaling factors are used in this document: +\begin{center} + \begin{tabular}{lll} + Name&Purpose&Value\\\hline + \macroname{TPSFttscale}&Typewriter fonts&\TPSFttscale\\\hline + \macroname{TPSFmathscale}&Math fonts related to cm math&\TPSFmathscale\\\hline + \macroname{TPSFeulerscale}&Euler math fonts&\TPSFeulerscale\\\hline + \macroname{TPSFcmbrscale}&Cmbright math fonts&\TPSFcmbrscale\\\hline + \end{tabular} +\end{center} + +Unfortunately, the base font \TextFontName{} is quite excentric wrt the height ratio of upper case and lower case +letters; compare \TextFontNameShort{} \present{a\,A} with \nameuse{TextFontNameShortcmss\encodingdefault} +\present{\fontfamily{cmss}\selectfont a\,A}. + +For this reason, no amount of scaling can make \TextFontNameShort{} harmonise completely with `normal' fonts. + +In this section, you will see lists of similar characters from different fonts, arranged such that you can check how +good the sizes match. You then have to set your priorities and decide the respective scaling factors accordingly. See +the comments in the preamble of \code{slifontsexample.tex} for instructions on how to experiment with scaling. + +To account for different design sizes, the character samples are shown in several sizes. + +\subsection{Digits} + +Digits from \TextFontName, \nameuse{TTFontName\TPSFTextfont\encodingdefault}% +\ifthenelse{\boolean{TPSFeulerdigits}}{, Euler Roman (\code{zeur})}{}% +\ifthenelse{\equal{\TPSFOperatorfont}{\TPSFTextfont}}{}{, \nameuse{TextFontName\TPSFOperatorfont OT1}}, +\nameuse{TextItFontName\TPSFTextfont\encodingdefault}, and \nameuse{TTItFontName\TPSFTextfont\encodingdefault} are +listed in sizes 5pt, 6pt, 7pt, 8pt, 9pt, 10pt, 11pt, and 17pt. + +\charlist{48}{58}{5,6,7,8,9,10,11,17} +{% + \char\value{char}\texttt{\char\value{char}}% + \ifthenelse + {% + \boolean{TPSFeulerdigits}\OR\not\equal{\TPSFOperatorfont}{\TPSFTextfont}% + }% + {$\char\value{char}$}{}% + \,\textit{\char\value{char}}\textit{\texttt{\char\value{char}}} +} + +\subsection{Upper Case Letters} + +Upper Case Letters from \TextFontName, \nameuse{TTFontName\TPSFTextfont\encodingdefault}% +\ifthenelse{\equal{\TPSFMathfont}{euler}}{, Euler Roman (\code{zeur})}{}% +\ifthenelse{\equal{\TPSFOperatorfont}{\TPSFTextfont}}{}{, \nameuse{TextFontName\TPSFOperatorfont OT1}}% +\ifthenelse{\equal{\TPSFMathfont}{euler}}{, Euler Script (\code{zeus}; for calligraphic letters)}{}% +\ifthenelse{\boolean{TPSFamsfonts}} +{% + , Euler Fraktur (\code{eufm})% + , \ifthenelse{\equal{\TPSFMathfont}{cmbrm}}{cmbright AMS math (\code{cmbrbs}}{AMS math (\code{msbm}}% + ; for blackboard bold)% +}{}% +\ifthenelse{\boolean{TPSFdstroke}} +{, Doublestroke Font (\ifthenelse{\equal{cmr}{\TPSFTextfont}}{\code{dsrom}}{\code{dsss}})}{}% +, \nameuse{TextItFontName\TPSFTextfont\encodingdefault}, \nameuse{TTItFontName\TPSFTextfont\encodingdefault}% +\ifthenelse{\equal{\TPSFMathfont}{euler}}{}{, \nameuse{MathLetterFontName\TPSFMathfont}}% +\ifthenelse{\equal{\TPSFMathfont}{euler}}{}{, \nameuse{MathSymbolFontName\TPSFMathfont} for calligraphic letters}% +\ifthenelse{\boolean{TPSFrsfs}}{, Ralph Smith Formal Script (\code{rsfs})}{} +are listed in sizes 5pt, 7pt, and 10pt. + +\charlist{65}{91}{5,6,7,10} +{% + \char\value{char}\texttt{\char\value{char}}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{$\char\value{char}$}{}% + \ifthenelse{\equal{\TPSFOperatorfont}{\TPSFTextfont}}{} + {$\operatorname{\char\value{char}}$}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{$\mathcal{\char\value{char}}$}{}% + \ifthenelse{\boolean{TPSFamsfonts}}{$\mathfrak{\char\value{char}}\mathbb{\char\value{char}}$}{}% + \ifthenelse{\boolean{TPSFdstroke}}{$\mathds{\char\value{char}}$}{}% + \,\textit{\char\value{char}}\textit{\texttt{\char\value{char}}}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{}{$\char\value{char}$}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{}{$\mathcal{\char\value{char}}$}% + \ifthenelse{\boolean{TPSFrsfs}}{$\mathscr{\char\value{char}}$}{}% + ~ +} + +\subsection{Lower Case Letters} + +Lower Case Letters from \TextFontName, \nameuse{TTFontName\TPSFTextfont\encodingdefault}% +\ifthenelse{\equal{\TPSFMathfont}{euler}}{, Euler Roman (\code{zeur})}{}% +\ifthenelse{\equal{\TPSFOperatorfont}{\TPSFTextfont}}{}{, \nameuse{TextFontName\TPSFOperatorfont OT1}}% +\ifthenelse{\boolean{TPSFamsfonts}}{, Euler Fraktur (\code{eufm})}{}% +, \nameuse{TextItFontName\TPSFTextfont\encodingdefault}, \nameuse{TTItFontName\TPSFTextfont\encodingdefault}% +\ifthenelse{\equal{\TPSFMathfont}{euler}}{}{, \nameuse{MathLetterFontName\TPSFMathfont}} +are listed in sizes 5pt, 7pt, 10pt, 12pt, and 14pt. + +\charlist{97}{123}{5,7,10,12,14} +{% + \char\value{char}\texttt{\char\value{char}}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{$\char\value{char}$}{}% + \ifthenelse{\equal{\TPSFOperatorfont}{\TPSFTextfont}}{} + {$\operatorname{\char\value{char}}$}% + \ifthenelse{\boolean{TPSFamsfonts}}{$\mathfrak{\char\value{char}}$}{}% + \,\textit{\char\value{char}}\textit{\texttt{\char\value{char}}}% + \ifthenelse{\equal{\TPSFMathfont}{euler}}{}{$\char\value{char}$}% + ~ +} + +\newpage + +\subsection{Math Symbols} + +The different math fonts define symbols of similar shape, which should look equally large. Symbols from +\ifthenelse{\equal{\TPSFMathfont}{euler}} +{Euler Roman (\code{zeur}), Euler Symbol (\code{zeus})} +{% + \nameuse{TextFontName\TPSFOperatorfont OT1}, \nameuse{MathLetterFontName\TPSFMathfont}, + \nameuse{MathSymbolFontName\TPSFMathfont}% +}% +\ifthenelse{\boolean{TPSFamsfonts}}{, \ifthenelse{\equal{\TPSFMathfont}{cmbrm}}{cmbright }{}AMS math fonts}{}% +\ifthenelse{\boolean{TPSFlasy}\and\not\boolean{TPSFwasysym}}{, \LaTeX{} symbol font (\code{lasy})}{}% +\ifthenelse{\boolean{TPSFstmaryrd}}{, St Mary's Road symbol font (\code{stmary})}{}% +\ifthenelse{\boolean{TPSFwasysym}}{, Waldis symbol font (\code{wasy})}{} +are listed in sizes 5pt, 7pt, 10pt, and 12pt. + +To make clear which characters stem from which font, they are separated by vertical bars. + +\mksymline{\star,+,+,\star,\times,\divideontimes,,\moo,}{5,7,10,12} + +\mksymline{,\cup,,,\cup,\Cup,,\nplus,}{5,7,10,12} + +\mksymline{,\oplus,,,\oplus,\circledast,,\olessthan,\ocircle}{5,7,10,12} + +\mksymline{,\vdash,,,\vdash,\Vdash,,,}{5,7,10,12} + +\mksymline{,=,=,,\equiv,\doteqdot,,,}{5,7,10,12} + +\mksymline{<,\leq,,<,\leq,\leqslant,\sqsubset,\trianglelefteqslant,\apprle}{5,7,10,12} + +\mksymline{\leftharpoondown,\leftarrow,,\leftharpoondown,\leftarrow,\twoheadleftarrow,\leadsto,\leftarrowtriangle,\leadsto}{5,7,10,12} +} +{} + +\end{slide} +\end{document} diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.dtx b/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.dtx new file mode 100644 index 00000000000..a549c2dcc40 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.dtx @@ -0,0 +1,1621 @@ +% \iffalse meta-comment +% +% -------------------------------------------------------------- +% Package tpslifonts - part of TeXPower bundle - configure +% presentation fonts. Copyright (C) 1999-2004 Stephan Lehmke +% +% This program is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License +% as published by the Free Software Foundation; either version 2 +% of the License, or (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% -------------------------------------------------------------- +% +% tpslifonts.dtx,v 1.2 2004/07/27 11:30:39 hansfn Exp +% +% \fi +% +% \iffalse +% +%<*driver> +\ProvidesFile{tpslifonts.dtx} +%</driver> +%<tpslifonts>\NeedsTeXFormat{LaTeX2e} +%<tpslifonts>\ProvidesPackage{tpslifonts} +%<*tpslifonts> + [2004/07/27 v0.6d Configure presentation fonts.] +%</tpslifonts> +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{tpslifonts.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{1030} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \GetFileInfo{tpslifonts.dtx} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \title{The \textsf{tpslifonts} package\thanks{This document +% corresponds to \textsf{tpslifonts}~\fileversion, dated \filedate.}} +% \author{ Stephan Lehmke \\ \texttt{Stephan.Lehmke@cs.uni-dortmund.de}} +% +% \maketitle +% +% \tableofcontents +% +% \section{Introduction} +% +% Presentations to be displayed `online' with a video beamer have special needs +% concerning font configuration owing to low `screen' resolution and bad +% contrast caused by possibly bad light conditions combined with color +% highlighting. +% +% This package tries to cater to these needs by offering a holistic +% configuration of all document fonts, including text, typewriter, and math +% fonts. Special features are `smooth scaling' of Type1 fonts and careful design +% size selection for optimal readability. +% +% The default is to use ``lcmss'', also called ``slifonts'' for text and the +% usual cmtt and cmm for typewriter and math. There's a large variety of +% options and parameters for choosing different text and math fonts, all from +% the large ``cm'' family of fonts, which has the advantage that readability can +% be enhanced by scaling small design sizes. +% A couple of additional math fonts like ams and doublestroke fonts are +% supported. +% +% For some of the options to yield satisfying results, it is neccessary to +% install additional (free) Type1 fonts on your system. +% There's no intention to support other font families like the typical +% ``psnfss'' PostScript fonts, as they usually don't come in different design +% sizes, making the effort of tuning them for viewing futile. If you wish to use +% such a font, load it with the usual packages. +% +% This package is part of the TeXPower bundle, to be found at\\ |http://texpower.sourceforge.net/| +% +% \section{User interface} +% +% The package doesn't define any user-level commands; the font +% configuration is done entirely by package options. +% +% Furthermore, the accompanying example document slifontsexample gives a +% lot of information about the fonts configured and some examples of +% math typesetting. Please read the comments in slifontsexample.tex +% carefully and try out some of the configuration variants described +% therein. +% +% \section{Description of package options} +% +% \subsection{Text font options} +% +% The default is to use \SliTeX\ computer modern sans serif, an eminently +% readable font and my personal favourite.\\ +% +% \begin{tabular}{@{}l@{\hspace{1cm}}l} +% Option & Meaning\\ \hline +% cmr & Set computer modern roman text fonts.\\ +% cmfib & Set computer modern roman Fibonacci text fonts.\\ +% cmss & Set computer modern sans serif text fonts.\\ +% cmbright & Set computer modern bright text fonts.\\ +% concrete & Set concrete text fonts. +% \end{tabular} +% +% \subsection{Design size bounding} +% +% Usually design sizes are `bounded' by 8pt, that is, if an 8pt (or +% % lower) design size of a font exists, it will be scaled to larger sizes +% even if larger design sizes exist, because large design sizes tend to +% be less readable at low resolutions. For sizes below 8pt, smaller +% design sizes are used if available. +% +% The limit of 8pt is adjustable (downwards) by options. \\ +% +% \begin{tabular}{@{}l@{\hspace{1cm}}l} +% Option & Meaning\\ \hline +% scale7pt & Use 7pt as a bound.\\ +% scale6pt & Use 6pt as a bound.\\ +% scale5pt & Use 5pt as a bound. +% \end{tabular} +% +% \subsection{Font scaling} +% +% The default lcmss text fonts have very high `small letters', making +% normal-size fonts look small and difficult to read. There are options +% for scaling up math and typewriter fonts slightly so they harmonize a +% little more with text fonts.\\ +% +% \begin{tabular}{@{}l@{\hspace{1cm}}l} +% Option & Meaning\\ \hline +% scaleupmath & scale up math fonts\\ +% scaleuptt & scale up typewriter fonts +% \end{tabular} +% +% \subsection{Math fonts} +% +% Because the availability of different fonts in different encodings is +% not really homogenous, we differentiate between the font used for +% operator names (plus upper case greek, digits and some symbols) and +% the font used for other symbols. In some cases (math extension font), +% the choices are quite limited anyway. +% +% The default is to use cmr for operators and such and the standard cmm +% and relatives for symbols. The concrete option for concrete text fonts +% selects concrete math fonts by default, but as these don't seem to +% exist in Type1 format currently, it's recommended to combine concrete +% text with Euler math.\\ +% +% \begin{tabular}{@{}l@{\hspace{1cm}}p{0.6\textwidth}} +% Option & Meaning \\ \hline +% eulermath & Use Euler math fonts. This implies the option textops +% (see below). \\ +% eulerdigits & Take digits also from the Euler fonts (default: the +% text font used). Can be used only in conjunction with +% the eulermath option. \\ +% cmbrightmath & Use cmbright math fonts. \\ +% textops & Take operator names, upper case greek, digits and some +% symbols from the text font rather than from some font +% matching the math font (default for Euler math). +% \end{tabular} +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \section{Implementation} +% +% \changes{v0.1}{2001/08/10}{First version for the pre-alpha release of +% texpower.} +% +% \changes{v0.2}{2001/11/17}{Added support for stmaryrd fonts.} +% +% \changes{v0.3}{2002/10/18}{Rewritten to go without .fd files. Euler package +% dependence changed to eulervm. Added support for ams, lasy, wasysym, rsfs, +% dstroke fonts.} +% +% \changes{v0.4}{2003/03/25}{Added support for cmbright math.} +% +% \changes{v0.5}{2003/03/26}{Added support for T1 encoding.} +% +% \changes{v0.6}{2003/05/29}{Change of attitude: I found out how desolate the +% situation of most presentation packages is wrt fonts. Hence, instead of +% trying to be as minimally invasive as possible, tpslifonts will try to hijack +% every single font which might possibly be used in a presentation and replace +% it by something sensible. No `private' ``lcmr'' to replace ``cmr'' any more +% - cmr is redefined no matter what. Now configures (almost) all fonts type1cm +% and type1ec do, plus concrete, cmbright, and euler fonts. Added options +% ``scale5pt'', ``scale6pt'', ``scale7pt'' to bound the design sizes of fonts +% used. Added options ``cmr'', ``cmss'', ``cmbright'' and ``concrete'' to +% choose text fonts different from lcmss. Improved handling of option +% incompatibilities.} +% +% \changes{v0.6a}{2003/06/02}{Removed some font warnings by selecting `silent' +% forms of declaration. } +% +% \changes{v0.6b}{2003/07/19}{A small change making `cmbright' AMS fonts +% useable before \cs{begin\{document\}}. } +% +% \changes{v0.6c}{2003/09/23}{Added the option ``cmfib''.} +% +% \changes{v0.6d}{2004/07/27}{Moved to dtx format. No other code changes.} +% +% \begin{macrocode} +\RequirePackage{ifthen} +% \end{macrocode} +% +% \subsection{Options and general setup} +% +% Text fonts. The default is to use ``slifonts'' (lcmss). +% \begin{macrocode} +\newcommand{\TPSFTextfont}{lcmss} +% \end{macrocode} +% The option cmr sets ``computer modern roman'' text fonts. +% \begin{macrocode} +\DeclareOption{cmr}{\renewcommand{\TPSFTextfont}{cmr}} +% \end{macrocode} +% The option cmfib sets ``computer modern roman Fibonacci'' text fonts. +% \begin{macrocode} +\DeclareOption{cmfib}{\renewcommand{\TPSFTextfont}{cmfib}} +% \end{macrocode} +% The option cmss sets ``computer modern roman sans serif'' text fonts. +% \begin{macrocode} +\DeclareOption{cmss}{\renewcommand{\TPSFTextfont}{cmss}} +% \end{macrocode} +% The option cmbright sets ``computer modern bright'' text fonts. +% \begin{macrocode} +\DeclareOption{cmbright}{\renewcommand{\TPSFTextfont}{cmbr}} +% \end{macrocode} +% The option concrete sets ``concrete'' text fonts. +% \begin{macrocode} +\DeclareOption{concrete} +{% + \renewcommand{\TPSFTextfont}{ccr}% + \renewcommand{\TPSFMathfont}{ccm}% + \renewcommand{\TPSFOperatorfont}{ccr}% +} +% \end{macrocode} +% +% \subsubsection{Design size selection} +% +% Usually design sizes are `bounded' by 8pt, that is, if +% an 8pt (or lower) design size of a font exists, it will be scaled to larger +% sizes even if larger design sizes exist, to enhance readability at low +% resolutions. For sizes below 8pt, smaller design sizes are used if available. +% \begin{macrocode} +\providecommand{\TPSFMaxDesignSize}{8} +% \end{macrocode} +% The option scale5pt causes scaled 5pt design sizes to be used wherever +% possible. +% \begin{macrocode} +\DeclareOption{scale5pt}{\renewcommand{\TPSFMaxDesignSize}{5}} +% \end{macrocode} +% The option scale6pt causes scaled 6pt design sizes to be used wherever +% possible (for font sizes above 6pt). +% \begin{macrocode} +\DeclareOption{scale6pt}{\renewcommand{\TPSFMaxDesignSize}{6}} +% \end{macrocode} +% The option scale7pt causes scaled 7pt design sizes to be used wherever +% possible (for font sizes above 7pt). +% \begin{macrocode} +\DeclareOption{scale7pt}{\renewcommand{\TPSFMaxDesignSize}{7}} +% \end{macrocode} +% +% lcmss text fonts have very high `small letters', making normal-size fonts look +% small and difficult to read. +% The option scaleupmath (scaleuptt) will scale up math (typewriter) fonts +% slightly so they harmonize a little more with text fonts. +% These options do not make much sense with other text fonts, hence a warning +% (but no error message) is generated to remind the user they might have +% overlooked something. +% \begin{macrocode} +\newboolean{TPSFscaleup} +\DeclareOption{scaleupmath} +{% + \providecommand\TPSFmathscale{1.15}% + \providecommand\TPSFeulerscale{1.1}% + \providecommand\TPSFcmbrscale{1.1}% + \setboolean{TPSFscaleup}{true}% +} + +\DeclareOption{scaleuptt} +{\providecommand\TPSFttscale{1.2}\setboolean{TPSFscaleup}{true}} +% \end{macrocode} +% +% \subsubsection{Math fonts} +% +% Because the availability of different fonts in different encodings is not +% really homogenous, we differentiate between the font used for Operators (plus +% upper case greek, digits and some symbols) and the font used for other +% symbols. In some cases (math extension font), the choices are quite limited +% anyway. +% +% The default is to use cmr for operators and such and the standard cmm and +% relatives for symbols. +% \begin{macrocode} +\newcommand{\TPSFMathfont}{cmm} + +\newcommand{\TPSFOpF@cmm}{cmrm} + +\newcommand{\TPSFOpF@ccm}{ccr} + +\newcommand{\TPSFOperatorfont}{cmr} +% \end{macrocode} +% The option textops makes the operator font follow the text font. +% \begin{macrocode} +\newboolean{TPSFtextops} +\DeclareOption{textops}{\setboolean{TPSFtextops}{true}} +% \end{macrocode} +% The option eulermath sets euler math fonts (slightly adapted from the eulervm +% package to match lcmss better). +% When using this option, the operator font automatically follows the text +% font. +% \begin{macrocode} +\DeclareOption{eulermath} +{\renewcommand{\TPSFMathfont}{euler}\setboolean{TPSFtextops}{true}} +% \end{macrocode} +% The option eulerdigits works only in conjunction with eulermath and sets the +% euler-digits option of the eulervm package. +% \begin{macrocode} +\newboolean{TPSFeulerdigits} +\DeclareOption{eulerdigits} +{% + \setboolean{TPSFeulerdigits}{true}% + \PassOptionsToPackage{euler-digits}{eulervm}% +} +% \end{macrocode} +% The option cmbrightmath sets cmbright math fonts (slightly adapted from the +% cmbright package to match lcmss better). +% \begin{macrocode} +\DeclareOption{cmbrightmath}{\renewcommand{\TPSFMathfont}{cmbrm}} + +\newcommand{\TPSFOpF@cmbrm}{cmbrmt} +% \end{macrocode} + +% +% \subsubsection{Process options} +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% Option postprocessing. +% +% Parameters |\TPSFmathscale| and such can be (re)defined from outside the +% tpslifonts package to adjust scaling. If any of these scaling parameters is +% defined before the tpslifonts package is loaded, there is no need to give the +% respective option. +% Here, we test whether the parameters have been provided (either by defining +% them independently or by giving one of the ``scaleup...'' options), and define +% the `real' scaling parameter for font definition accordingly. +% \begin{macrocode} +\@ifundefined{TPSFmathscale} +{\let\TPSFmathscale\@undefined\let\mathscale@TPSF\empty} +{\def\mathscale@TPSF{[\TPSFmathscale]}} + +\@ifundefined{TPSFeulerscale} +{\let\TPSFeulerscale\@undefined\let\eulerscale@TPSF\empty} +{\def\eulerscale@TPSF{[\TPSFeulerscale]}} + +\@ifundefined{TPSFcmbrscale} +{\let\TPSFcmbrscale\@undefined\let\cmbrscale@TPSF\empty} +{\def\cmbrscale@TPSF{[\TPSFcmbrscale]}} + +\@ifundefined{TPSFttscale} +{\let\TPSFttscale\@undefined\let\ttscale@TPSF\empty} +{\def\ttscale@TPSF{[\TPSFttscale]}} +% \end{macrocode} +% +% As mentioned above, the ``scaleup...'' options make sense really only if lcmss +% text fonts are used. Otherwise, we give a warning. +% \begin{macrocode} +\ifthenelse{\boolean{TPSFscaleup}\and\not\equal{\TPSFTextfont}{lcmss}} +{% + \PackageWarning{tpslifonts} + {Using the ``scaleup'' Options makes sense only\MessageBreak + when lcmss text fonts are used.\MessageBreak + Watch closely whether the results of scaling math\MessageBreak + and/or typewriter fonts together with ``\TPSFTextfont''\MessageBreak + text fonts is what you intended to achieve.% + }% +} +{} +% \end{macrocode} +% +% We need to set the math operator font corresponing to the settings of the +% TPSFtextops switch, the text and math fonts. +% \begin{macrocode} +\ifthenelse{\boolean{TPSFtextops}} +{\let\TPSFOperatorfont\TPSFTextfont} +{% + \expandafter\let\expandafter\TPSFOperatorfont + \csname TPSFOpF@\TPSFMathfont\endcsname +} +% \end{macrocode} +% +% The cmbright package also sets text fonts, so if cmbright math is requested, +% we load the cmbright package first and later overwrite the text font settings +% (if no cmbright text fonts were requested). +% \begin{macrocode} +\ifthenelse{\equal{\TPSFMathfont}{cmbrm}} +{% + \RequirePackage[standard-baselineskips]{cmbright}% +} +% \end{macrocode} +% +% \subsection{Font shape configuration} + +% We need a couple of macros to help in configuring fonts. +% To increase readability in presentations, design size selection is +% restricted. Without any options, the largest design size used is 8pt. The +% options scale5pt ... scale7pt impose further constraints. +% Another restriction is caused by the availability of design sizes. Not all +% fonts exist in all design sizes. If no design size exists at all in the +% requested range (i.e. the font exists only in size 10), then the smallest +% available size has to be chosen no matter what. + +% |\FilterSizes@TPSF<name>{<list>}| filters out all sizes (represented as +% nonnegative integer numbers) from the comma-separated <list> which are above +% the threshold in |\TPSFMaxDesignSize| and stores the result in the macro +% <name>. To avoid inconsistencies if all sizes exceed |\TPSFMaxDesignSize|, the +% first size is always passed. +% \begin{macrocode} +\newcommand{\FilterSizes@TPSF}[2]{\expandafter\@FilterSizes@TPSF#2,\@nil#1} + +\def\@FilterSizes@TPSF#1,#2\@nil#3% +{% + \def#3{#1}% + \ifx\empty#2\empty\else\@@FilterSizes@TPSF#2\@nil#3\fi +} + +\def\@@FilterSizes@TPSF#1,#2\@nil#3% +{% + \ifnum#1>\TPSFMaxDesignSize\relax + \else + \expandafter\def\expandafter#3\expandafter{#3,#1}% + \ifx\empty#2\empty\else\@@FilterSizes@TPSF#2\@nil#3\fi + \fi +} +% \end{macrocode} +% \begin{macro}{\DeclareFontShape@TPSF} +% |\DeclareFontShape@TPSF[<scale>]|\\ +% | {<enc>}{<fam>}{<ser>}{<shp>}{<name>}{<sizes>}| +% declares a font with presentation-friendly design size selection (which +% means all design sizes above |\TPSFMaxDesignSize| are filtered out. The actually +% existing design sizes have to be provided in |<sizes>| as a comma-separated list +% of numbers. If |<s>| is one of the sizes, it is expected that the corresponding +% font name can be constructed as |<name><s>|. +% If the optional argument |<scale>| is given, it has to be of the form +% |[<factor>]|, where |<factor>| specifies the scaling of the font (see the +% options ``scaleupmath'' and ``scaleuptt'' above). +% \begin{macrocode} +\newcommand{\DeclareFontShape@TPSF}[7][] +{% + \FilterSizes@TPSF\sizes@TPSF{#7}% + \let\sizedecl@TPSF\empty + \def\fontname@TPSF{#6}% + \def\scale@TPSF{#1}% + \expandafter\parsesizes@TPSF\sizes@TPSF,,\@nil + \DeclareFontShape{#2}{#3}{#4}{#5}{\sizedecl@TPSF}{}% +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + +\def\parsesizes@TPSF#1,#2\@nil +{% + \let\prevsize@TPSF\empty + \def\currsize@TPSF{#1}% + \@parsesizes@TPSF#2\@nil +} + +\def\@parsesizes@TPSF#1,#2\@nil +{% + \edef\sizedecl@TPSF{\sizedecl@TPSF\space<\prevsize@TPSF-#1>s*\scale@TPSF \fontname@TPSF\currsize@TPSF}% + \def\currsize@TPSF{#1}% + \let\prevsize@TPSF\currsize@TPSF + \ifx\currsize@TPSF\empty\else\@parsesizes@TPSF#2\@nil\fi +} +% \end{macrocode} +% +% \subsection{Declaration of font shapes} +% +% The following is copied more or less verbatim from type1cm.sty, +% type1ec.sty, and other sources of font definitions for e.g. cmbright fonts. +% For fonts following the usual naming conventions, we use +% |\DeclareFontShape@TPSF| instead of |\DeclareFontShape| to implement design size +% bounding. +% For T1 ec fonts, the same is achieved by appropriate redefinition of +% |\EC@family|. +% \begin{macrocode} +\begingroup +\nfss@catcodes +% \end{macrocode} +% +% \subsubsection{Text fonts for OT1 encoding} +% +% computer modern roman. +% \begin{macrocode} +\DeclareFontFamily{OT1}{cmr}{\hyphenchar\font=45} + +\DeclareFontShape@TPSF{OT1}{cmr}{m}{n}{cmr}{5,6,7,8,9,10,12,17} + +\DeclareFontShape@TPSF{OT1}{cmr}{m}{sl}{cmsl}{8,9,10,12} + +\DeclareFontShape@TPSF{OT1}{cmr}{m}{it}{cmti}{7,8,9,10,12} + +\DeclareFontShape@TPSF{OT1}{cmr}{m}{sc}{cmcsc}{9,10} + +\DeclareFontShape@TPSF{OT1}{cmr}{m}{ui}{cmu}{10} + +\DeclareFontShape@TPSF{OT1}{cmr}{b}{n}{cmb}{10} + +\DeclareFontShape@TPSF{OT1}{cmr}{bx}{n}{cmbx}{5,6,7,8,9,10,12} + +\DeclareFontShape@TPSF{OT1}{cmr}{bx}{sl}{cmbxsl}{10} + +\DeclareFontShape@TPSF{OT1}{cmr}{bx}{it}{cmbxti}{10} + +\DeclareFontShape{OT1}{cmr}{bx}{ui} + {<->ssub * cmr/m/ui}{} + +\DeclareFontFamily{OT1}{cmfr}{\hyphenchar\font=45} + +\DeclareFontShape{OT1}{cmfr}{m}{n}{% + <->s* cmff10 + }{} +\DeclareFontShape{OT1}{cmfr}{m}{it}{ + <->s* cmfi10 + }{} + +\DeclareFontFamily{OT1}{cmdh}{\hyphenchar\font=45} + +\DeclareFontShape{OT1}{cmdh}{m}{n}{ + <->s* cmdunh10 + }{} + +\DeclareFontFamily{OT1}{cmfib}{\hyphenchar\font=45} + +\DeclareFontShape{OT1}{cmfib}{m}{n}{ + <->s* cmfib8 + }{} + +\DeclareFontShape{OT1}{cmfib}{m}{sl} + {<->ssub * cmr/m/sl}{} + +\DeclareFontShape{OT1}{cmfib}{m}{it} + {<->ssub * cmr/m/it}{} + +\DeclareFontShape{OT1}{cmfib}{m}{sc} + {<->ssub * cmr/m/sc}{} + +\DeclareFontShape{OT1}{cmfib}{m}{ui} + {<->ssub * cmr/m/ui}{} + +\DeclareFontShape{OT1}{cmfib}{b}{n} + {<->ssub * cmr/b/n}{} + +\DeclareFontShape{OT1}{cmfib}{bx}{n} + {<->ssub * cmr/bx/n}{} + +\DeclareFontShape{OT1}{cmfib}{bx}{sl} + {<->ssub * cmr/bx/sl}{} + +\DeclareFontShape{OT1}{cmfib}{bx}{it} + {<->ssub * cmr/bx/it}{} + +\DeclareFontShape{OT1}{cmfib}{bx}{ui} + {<->ssub * cmr/m/ui}{} +% \end{macrocode} +% computer modern sans serif. +% \begin{macrocode} +\DeclareFontFamily{OT1}{cmss}{\hyphenchar\font=45} + +\DeclareFontShape@TPSF{OT1}{cmss}{m}{n}{cmss}{8,9,10,12,17} + +\DeclareFontShape{OT1}{cmss}{m}{it} + {<->sub*cmss/m/sl}{} + +\DeclareFontShape@TPSF{OT1}{cmss}{m}{sl}{cmssi}{8,9,10,12,17} + +\DeclareFontShape{OT1}{cmss}{m}{sc} + {<->sub*cmr/m/sc}{} + +\DeclareFontShape{OT1}{cmss}{m}{ui} + {<->sub*cmr/m/ui}{} + +\DeclareFontShape@TPSF{OT1}{cmss}{sbc}{n}{cmssdc}{10} + +\DeclareFontShape@TPSF{OT1}{cmss}{bx}{n}{cmssbx}{10} + +\DeclareFontShape{OT1}{cmss}{bx}{ui} + {<->sub*cmr/bx/ui}{} +% \end{macrocode} +% slide computer modern sans serif. +% \begin{macrocode} +\DeclareFontFamily{OT1}{lcmss}{\hyphenchar\font45 } + +\DeclareFontShape@TPSF{OT1}{lcmss}{m}{n}{lcmss}{8} + +\DeclareFontShape@TPSF{OT1}{lcmss}{m}{In}{ilcmss}{8} + +\DeclareFontShape@TPSF{OT1}{lcmss}{m}{sl}{lcmssi}{8} + +\DeclareFontShape@TPSF{OT1}{lcmss}{m}{Isl}{ilcmssi}{8} + +\DeclareFontShape{OT1}{lcmss}{m}{it}{% + <->sub*lcmss/m/sl}{} + +\DeclareFontShape{OT1}{lcmss}{m}{Iit}{% + <->sub*lcmss/m/Isl}{} + +\DeclareFontShape@TPSF{OT1}{lcmss}{b}{n}{lcmssb}{8} + +\DeclareFontShape@TPSF{OT1}{lcmss}{b}{In}{ilcmssb}{8} + +\DeclareFontShape{OT1}{lcmss}{bx}{n}{% + <->sub*lcmss/b/n}{} + +\DeclareFontShape{OT1}{lcmss}{bx}{In}{% + <->sub*lcmss/b/In}{} + +\DeclareFontShape{OT1}{lcmss}{m}{ui}{% + <->sub*cmr/m/ui}{} + +\DeclareFontShape{OT1}{lcmss}{bx}{ui}{% + <->sub*cmr/m/ui}{} +% \end{macrocode} +% computer modern bright +% \begin{macrocode} +\DeclareFontFamily{OT1}{cmbr}{\hyphenchar\font45} + +\DeclareFontShape@TPSF{OT1}{cmbr}{m}{n}{cmbr}{8,9,10,17} + +\DeclareFontShape@TPSF{OT1}{cmbr}{m}{sl}{cmbrsl}{8,9,10,17} + +\DeclareFontShape{OT1}{cmbr}{m}{it}{% +<->ssub*cmbr/m/sl% +}{} + +\DeclareFontShape{OT1}{cmbr}{b}{n}{% +<->ssub*cmbr/bx/n% +}{} + +\DeclareFontShape@TPSF{OT1}{cmbr}{bx}{n}{cmbrbx}{10} +% \end{macrocode} +% concrete roman +% \begin{macrocode} +\DeclareFontFamily{OT1}{ccr}{\hyphenchar\font45 } + +\DeclareFontShape@TPSF{OT1}{ccr}{m}{n}{ccr}{5,6,7,8,9,10} + +\DeclareFontShape@TPSF{OT1}{ccr}{m}{sl}{ccsl}{9,10} + +\DeclareFontShape@TPSF{OT1}{ccr}{m}{it}{ccti}{10} + +\DeclareFontShape@TPSF{OT1}{ccr}{m}{sc}{cccsc}{10} + +\DeclareFontShape{OT1}{ccr}{bx}{n} {<-> ssub * cmss/bx/n}{} +\DeclareFontShape{OT1}{ccr}{bx}{sl}{<-> ssub * cmss/bx/sl}{} +\DeclareFontShape{OT1}{ccr}{bx}{it}{<-> ssub * cmss/bx/it}{} +% \DeclareFontShape{OT1}{ccr}{bx}{n} {<-> ssub * cmr/bx/n}{} +% \DeclareFontShape{OT1}{ccr}{bx}{sl}{<-> ssub * cmr/bx/sl}{} +% \DeclareFontShape{OT1}{ccr}{bx}{it}{<-> ssub * cmr/bx/it}{} +\DeclareFontShape{OT1}{ccr}{sbc}{n} {<-> ssub * cmss/sbc/n}{} +\DeclareFontShape{OT1}{ccr}{sbc}{sl}{<-> ssub * cmss/sbc/n}{} +\DeclareFontShape{OT1}{ccr}{sbc}{it}{<-> ssub * cmss/sbc/n}{} + +\DeclareFontShape@TPSF{OT1}{ccr}{c}{sl}{ccslc}{9} +% \end{macrocode} +% +% \subsubsection{Text fonts for T1 encoding} +% +% \begin{macrocode} +\let\ecscale@TPSF\empty + +\ifcase\TPSFMaxDesignSize + \or\or\or\or\or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <->s*\ecscale@TPSF#50500% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6->s*\ecscale@TPSF#50600% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6-7>s*\ecscale@TPSF#50600% + <7->s*\ecscale@TPSF#50700% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6-7>s*\ecscale@TPSF#50600% + <7-8>s*\ecscale@TPSF#50700% + <8->s*\ecscale@TPSF#50800% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6-7>s*\ecscale@TPSF#50600% + <7-8>s*\ecscale@TPSF#50700% + <8-9>s*\ecscale@TPSF#50800% + <9->s*\ecscale@TPSF#50900% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6-7>s*\ecscale@TPSF#50600% + <7-8>s*\ecscale@TPSF#50700% + <8-9>s*\ecscale@TPSF#50800% + <9-10>s*\ecscale@TPSF#50900% + <10->s*\ecscale@TPSF#51000% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6-7>s*\ecscale@TPSF#50600% + <7-8>s*\ecscale@TPSF#50700% + <8-9>s*\ecscale@TPSF#50800% + <9-10>s*\ecscale@TPSF#50900% + <10-10.95>s*\ecscale@TPSF#51000% + <10.95->s*\ecscale@TPSF#51095% + }{}} + \or + \providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-6>s*\ecscale@TPSF#50500% + <6-7>s*\ecscale@TPSF#50600% + <7-8>s*\ecscale@TPSF#50700% + <8-9>s*\ecscale@TPSF#50800% + <9-10>s*\ecscale@TPSF#50900% + <10-10.95>s*\ecscale@TPSF#51000% + <10.95-12>s*\ecscale@TPSF#51095% + <12->s*\ecscale@TPSF#51200% + }{}} +\fi +% \end{macrocode} +% european computer modern roman. +% \begin{macrocode} +\input{t1cmr.fd} + +\input{t1cmfr.fd} + +\input{t1cmdh.fd} + +\input{t1cmfib.fd} + +\DeclareFontShape{T1}{cmfib}{m}{it} + {<->ssub * cmr/m/it}{} + +\DeclareFontShape{T1}{cmfib}{m}{sc} + {<->ssub * cmr/m/sc}{} + +\DeclareFontShape{T1}{cmfib}{m}{ui} + {<->ssub * cmr/m/ui}{} + +\DeclareFontShape{T1}{cmfib}{b}{n} + {<->ssub * cmr/b/n}{} + +\DeclareFontShape{T1}{cmfib}{bx}{n} + {<->ssub * cmr/bx/n}{} + +\DeclareFontShape{T1}{cmfib}{bx}{sl} + {<->ssub * cmr/bx/sl}{} + +\DeclareFontShape{T1}{cmfib}{bx}{it} + {<->ssub * cmr/bx/it}{} + +\DeclareFontShape{T1}{cmfib}{bx}{ui} + {<->ssub * cmr/m/ui}{} +% \end{macrocode} +% european computer modern roman sans serif. +% \begin{macrocode} +\input{t1cmss.fd} + +\DeclareFontShape@TPSF{T1}{cmss}{sbc}{n}{ecssdc}{10} +% \end{macrocode} +% european slide computer modern sans serif. +% \begin{macrocode} +\DeclareFontFamily{T1}{lcmss}{} +\DeclareFontShape@TPSF{T1}{lcmss}{m}{n}{eclq}{8} + +\DeclareFontShape@TPSF{T1}{lcmss}{m}{In}{ieclq}{8} + +\DeclareFontShape@TPSF{T1}{lcmss}{m}{sl}{ecli}{8} + +\DeclareFontShape@TPSF{T1}{lcmss}{m}{Isl}{iecli}{8} + +\DeclareFontShape{T1}{lcmss}{m}{it}{% + <->sub*lcmss/m/sl}{} + +\DeclareFontShape{T1}{lcmss}{m}{Iit}{% + <->sub*lcmss/m/Isl}{} + +\DeclareFontShape@TPSF{T1}{lcmss}{bx}{n}{eclb}{8} + +\DeclareFontShape@TPSF{T1}{lcmss}{bx}{In}{ieclb}{8} + +\DeclareFontShape@TPSF{T1}{lcmss}{bx}{sl}{eclo}{8} + +\DeclareFontShape@TPSF{T1}{lcmss}{bx}{Isl}{ieclo}{8} + +\DeclareFontShape{T1}{lcmss}{bx}{it}{% + <->sub*lcmss/bx/sl}{} + +\DeclareFontShape{T1}{lcmss}{bx}{Iit}{% + <->sub*lcmss/bx/Isl}{} + +\DeclareFontShape{T1}{lcmss}{b}{n}{% + <->sub*lcmss/bx/n}{} + +\DeclareFontShape{T1}{lcmss}{m}{ui}{% + <->sub*cmr/m/ui}{} + +\DeclareFontShape{T1}{lcmss}{bx}{ui}{% + <->sub*cmr/m/ui}{} +% \end{macrocode} +% european computer modern bright +% \begin{macrocode} +\DeclareFontFamily{T1}{cmbr}{} + +\DeclareFontShape@TPSF{T1}{cmbr}{m}{n}{ebmr}{8,9,10,17} + +\DeclareFontShape@TPSF{T1}{cmbr}{m}{sl}{ebmo}{8,9,10,17} + +\DeclareFontShape{T1}{cmbr}{m}{it}{% +<->ssub*cmbr/m/sl% +}{} + +\DeclareFontShape@TPSF{T1}{cmbr}{sb}{n}{ebsr}{8,9,10,17} + +\DeclareFontShape@TPSF{T1}{cmbr}{sb}{sl}{ebso}{8,9,10,17} + +\DeclareFontShape{T1}{cmbr}{sb}{it}{% +<->ssub*cmbr/sb/sl% +}{} + +\DeclareFontShape{T1}{cmbr}{b}{n}{% +<->ssub*cmbr/bx/n% +}{} + +\DeclareFontShape{T1}{cmbr}{bx}{n}{% +<->sub*cmbr/sb/n% +}{} +% \end{macrocode} +% european concrete roman +% \begin{macrocode} +\DeclareFontFamily{T1}{ccr}{} + +\DeclareFontShape@TPSF{T1}{ccr}{m}{n}{eorm}{5,6,7,8,9,10} + +\DeclareFontShape@TPSF{T1}{ccr}{m}{sl}{eosl}{5,6,7,8,9,10} + +\DeclareFontShape@TPSF{T1}{ccr}{m}{it}{eoti}{10} + +\DeclareFontShape@TPSF{T1}{ccr}{m}{sc}{eocc}{10} + +\DeclareFontShape{T1}{ccr}{bx}{n}{% +<->ssub*cmss/bx/n}{} + +\DeclareFontShape{T1}{ccr}{bx}{sl}{% +<->ssub*cmss/bx/sl}{} + +\DeclareFontShape{T1}{ccr}{bx}{it}{% +<->ssub*cmss/bx/it}{} + +% \DeclareFontShape{T1}{ccr}{bx}{n}{% +% <->ssub*cmr/bx/n}{} + +% \DeclareFontShape{T1}{ccr}{bx}{sl}{% +% <->ssub*cmr/bx/sl}{} + +% \DeclareFontShape{T1}{ccr}{bx}{it}{% +% <->ssub*cmr/bx/it}{} + +\DeclareFontShape{T1}{ccr}{sbc}{n}{% + <->ssubf*ecssdc10}{} +% \end{macrocode} +% +% \subsection{Typewriter fonts for OT1 encoding} +% +% computer modern typewriter. +% \begin{macrocode} +\DeclareFontFamily{OT1}{cmtt}{\hyphenchar\font\m@ne} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{cmtt}{m}{n}{cmtt}{8,9,10,12} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{cmtt}{m}{it}{cmitt}{10} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{cmtt}{m}{sl}{cmsltt}{10} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{cmtt}{m}{sc}{cmtcsc}{10} + +\DeclareFontShape{OT1}{cmtt}{m}{ui} + {<->sub * cmtt/m/it}{} + +\DeclareFontShape{OT1}{cmtt}{bx}{n} + {<->sub * cmtt/m/n}{} + +\DeclareFontShape{OT1}{cmtt}{bx}{it} + {<->sub * cmtt/m/it}{} + +\DeclareFontShape{OT1}{cmtt}{bx}{ui} + {<->sub * cmtt/m/it}{} +% \end{macrocode} +% `Slides' computer modern typewriter exists only for compatibility with T1 +% encoding. +% \begin{macrocode} +\DeclareFontFamily{OT1}{lcmtt}{\hyphenchar\font\m@ne} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{lcmtt}{m}{n}{cmtt}{8,9,10,12} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{lcmtt}{m}{it}{cmitt}{10} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{lcmtt}{m}{sl}{cmsltt}{10} + +\DeclareFontShape@TPSF[\ttscale@TPSF]{OT1}{lcmtt}{m}{sc}{cmtcsc}{10} + +\DeclareFontShape{OT1}{lcmtt}{m}{ui} + {<->sub * lcmtt/m/it}{} + +\DeclareFontShape{OT1}{lcmtt}{bx}{n} + {<->sub * lcmtt/m/n}{} + +\DeclareFontShape{OT1}{lcmtt}{bx}{it} + {<->sub * lcmtt/m/it}{} + +\DeclareFontShape{OT1}{lcmtt}{bx}{ui} + {<->sub * lcmtt/m/it}{} +% \end{macrocode} +% computer modern typewriter light. +% \begin{macrocode} +\DeclareFontFamily{OT1}{cmtl}{\hyphenchar\font\m@ne} + +\DeclareFontShape{OT1}{cmtl}{m}{n}{% +<->s*\ttscale@TPSF cmtl10% +}{} + +\DeclareFontShape{OT1}{cmtl}{m}{sl}{% +<->s*\ttscale@TPSF cmsltl10% +}{} + +\DeclareFontShape{OT1}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{} +% \end{macrocode} +% +% \subsection{Typewriter fonts for T1 encoding} +% +% \begin{macrocode} +\ifcase\TPSFMaxDesignSize + \or\or\or\or\or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <->s*\ttscale@TPSF#50800% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <->s*\ttscale@TPSF#50800% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <->s*\ttscale@TPSF#50800% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <->s*\ttscale@TPSF#50800% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-9>s*\ttscale@TPSF#50800% + <9->s*\ttscale@TPSF#50900% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-9>s*\ttscale@TPSF#50800% + <9-10>s*\ttscale@TPSF#50900% + <10->s*\ttscale@TPSF#51000% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-9>s*\ttscale@TPSF#50800% + <9-10>s*\ttscale@TPSF#50900% + <10-10.95>s*\ttscale@TPSF#51000% + <10.95->s*\ttscale@TPSF#51095% + }{}} + \or + \providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-9>s*\ttscale@TPSF#50800% + <9-10>s*\ttscale@TPSF#50900% + <10-10.95>s*\ttscale@TPSF#51000% + <10.95-12>s*\ttscale@TPSF#51095% + <12->s*\ttscale@TPSF#51200% + }{}} +\fi +% \end{macrocode} +% european computer modern typewriter. +% \begin{macrocode} +\input{t1cmtt.fd} +% \end{macrocode} +% european `Slides' computer modern typewriter. There exists \textbf{one} dedicated +% font ``ecltt8'' for this setup. +% \begin{macrocode} +\DeclareFontFamily{T1}{lcmtt}{\hyphenchar\font\m@ne} + +\DeclareFontShape{T1}{lcmtt}{m}{n}{% + <->s*\ttscale@TPSF ecltt8% +}{} + +\DeclareFontShape{T1}{lcmtt}{m}{In}{% + <->s*\ttscale@TPSF iecltt8% +}{} + +\DeclareFontShape{T1}{lcmtt}{m}{it}{% + <->s*\ttscale@TPSF ecit0800% +}{} + +\DeclareFontShape{T1}{lcmtt}{m}{sl}{ + <->s*\ttscale@TPSF ecst0800 +}{} + +\DeclareFontShape{T1}{lcmtt}{m}{sc}{ + <->s*\ttscale@TPSF ectc0800 +}{} + +\DeclareFontShape{T1}{lcmtt}{m}{ui} +{<->sub * lcmtt/m/it}{} + +\DeclareFontShape{T1}{lcmtt}{bx}{n} +{<->sub * lcmtt/m/n}{} + +\DeclareFontShape{T1}{lcmtt}{bx}{it} +{<->sub * lcmtt/m/it}{} + +\DeclareFontShape{T1}{lcmtt}{bx}{ui} +{<->sub * lcmtt/m/it}{} +% \end{macrocode} +% european computer modern typewriter light. +% \begin{macrocode} +\DeclareFontFamily{T1}{cmtl}{\hyphenchar\font\m@ne} + +\DeclareFontShape{T1}{cmtl}{m}{n}{% +<->s*\ttscale@TPSF ebtl10% +}{} + +\DeclareFontShape{T1}{cmtl}{m}{sl}{% +<->s*\ttscale@TPSF ebto10% +}{} + +\DeclareFontShape{T1}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{} +% \end{macrocode} +% +% \subsection{Typewriter fonts for mTT encoding} +% +% Used by cmtt.sty. +% \begin{macrocode} +\@ifundefined{T@mTT}{} +{% + \DeclareFontFamily{mTT}{cmtt}{\hyphenchar\font\m@ne} + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{cmtt}{m}{n}{cmtt}{8,9,10,12} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{cmtt}{m}{it}{cmitt}{10} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{cmtt}{m}{sl}{cmsltt}{10} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{cmtt}{m}{sc}{cmtcsc}{10} + + \DeclareFontShape{mTT}{cmtt}{m}{ui} + {<->sub * cmtt/m/it}{} + + \DeclareFontShape{mTT}{cmtt}{bx}{n} + {<->sub * cmtt/m/n}{} + + \DeclareFontShape{mTT}{cmtt}{bx}{it} + {<->sub * cmtt/m/it}{} + + \DeclareFontShape{mTT}{cmtt}{bx}{ui} + {<->sub * cmtt/m/it}{} + + \DeclareFontFamily{mTT}{lcmtt}{\hyphenchar\font\m@ne} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{lcmtt}{m}{n}{cmtt}{8,9,10,12} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{lcmtt}{m}{it}{cmitt}{10} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{lcmtt}{m}{sl}{cmsltt}{10} + + \DeclareFontShape@TPSF[\ttscale@TPSF]{mTT}{lcmtt}{m}{sc}{cmtcsc}{10} + + \DeclareFontShape{mTT}{lcmtt}{m}{ui} + {<->sub * lcmtt/m/it}{} + + \DeclareFontShape{mTT}{lcmtt}{bx}{n} + {<->sub * lcmtt/m/n}{} + + \DeclareFontShape{mTT}{lcmtt}{bx}{it} + {<->sub * lcmtt/m/it}{} + + \DeclareFontShape{mTT}{lcmtt}{bx}{ui} + {<->sub * lcmtt/m/it}{} + + \DeclareFontFamily{mTT}{cmtl}{\hyphenchar\font\m@ne} + + \DeclareFontShape{mTT}{cmtl}{m}{n}{% + <->s*\ttscale@TPSF cmtl10% + }{} + + \DeclareFontShape{mTT}{cmtl}{m}{sl}{% + <->s*\ttscale@TPSF cmsltl10% + }{} + + \DeclareFontShape{mTT}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{} +} +% \end{macrocode} +% +% \subsection{Math fonts} +% +% computer modern math italic. +% \begin{macrocode} +\DeclareFontFamily{OML}{cmm}{\skewchar\font127} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OML}{cmm}{m}{it}{cmmi}{5,6,7,8,9,10,12} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OML}{cmm}{m}{Iit}{icmmi}{8} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OML}{cmm}{b}{it}{cmmib}{5,7,10} + +\DeclareFontShape{OML}{cmm}{bx}{it}% + {<->ssub*cmm/b/it}{} + +\DeclareFontFamily{OML}{cmr}{\skewchar\font127 } +\DeclareFontShape{OML}{cmr}{m}{n} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{m}{it} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{m}{sl} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{m}{sc} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{bx}{n} + {<-> ssub * cmm/b/it}{} +\DeclareFontShape{OML}{cmr}{bx}{it} + {<-> ssub * cmm/b/it}{} +\DeclareFontShape{OML}{cmr}{bx}{sl} + {<-> ssub * cmm/b/it}{} +\DeclareFontShape{OML}{cmr}{bx}{sc} + {<-> ssub * cmm/b/it}{} + +\DeclareFontFamily{OT1}{cmrm}{\hyphenchar\font=45} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OT1}{cmrm}{m}{n}{cmr}{5,6,7,8,9,10,12,17} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OT1}{cmrm}{m}{it}{cmti}{7,8,9,10,12} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OT1}{cmrm}{bx}{n}{cmbx}{5,6,7,8,9,10,12} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OT1}{cmrm}{bx}{it}{cmbxti}{10} + +{% +\let\ecscale@TPSF\mathscale@TPSF + +\DeclareFontFamily{T1}{cmrm}{} + +\EC@family{T1}{cmrm}{m}{n}{ecrm} + +\EC@family{T1}{cmrm}{m}{it}{ecti} + +\EC@family{T1}{cmrm}{bx}{n}{ecbx} + +\EC@family{T1}{cmrm}{bx}{it}{ecbi} +} + +\DeclareFontFamily{OMS}{cmsy}{\skewchar\font48} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OMS}{cmsy}{m}{n}{cmsy}{5,6,7,8,9,10} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OMS}{cmsy}{b}{n}{cmbsy}{5,7,10} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OMS}{cmsy}{m}{In}{icmsy}{8} + +\DeclareFontFamily{OMS}{cmr}{\skewchar\font48 } +\DeclareFontShape{OMS}{cmr}{m}{n} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{m}{it} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{m}{sl} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{m}{sc} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{n} + {<-> ssub * cmsy/b/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{it} + {<-> ssub * cmsy/b/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{sl} + {<-> ssub * cmsy/b/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{sc} + {<-> ssub * cmsy/b/n}{} + +\DeclareFontFamily{OMX}{cmex}{} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OMX}{cmex}{m}{n}{cmex}{7,10} +% \end{macrocode} +% Euler fonts (eulervm style). +% \begin{macrocode} +\DeclareFontFamily{U}{zeur}{\skewchar \font =127} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{zeur}{m}{n}{zeurm}{5,7,10} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{zeur}{b}{n}{zeurb}{5,7,10} + +\DeclareFontShape{U}{zeur}{bx}{n}{<->ssub * zeur/b/n}{} + +\DeclareFontFamily{U}{zeus}{\skewchar \font =176} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{zeus}{m}{n}{zeusm}{5,7,10} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{zeus}{b}{n}{zeusb}{5,7,10} + +\DeclareFontShape{U}{zeus}{bx}{n}{<->ssub * zeus/b/n}{} + +\DeclareFontFamily{U}{zeuex}{} + +\DeclareFontShape{U}{zeuex}{m}{n}{ + <->s* \eulerscale@TPSF zeuex10 +}{} +% \end{macrocode} +% computer modern bright math slanted. +% \begin{macrocode} +\DeclareFontFamily{OML}{cmbrm}{\skewchar\font 127} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{OML}{cmbrm}{m}{it}{cmbrmi}{8,9,10} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{OML}{cmbrm}{b}{it}{cmbrmb}{10} + +\DeclareFontFamily{OML}{cmbr}{\skewchar\font 127} + +\DeclareFontShape{OML}{cmbr}{m}{it}{<->ssub*cmbrm/m/it}{} + +\DeclareFontShape{OML}{cmbr}{sb}{it}{<->ssub*cmbrm/b/it}{} + +\DeclareFontShape{OML}{cmbr}{bx}{it}{<->ssub*cmbrm/b/it}{} + +\DeclareFontFamily{OT1}{cmbrmt}{\hyphenchar\font45} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{OT1}{cmbrmt}{m}{n}{cmbr}{8,9,10,17} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{OT1}{cmbrmt}{m}{sl}{cmbrsl}{8,9,10,17} + +\DeclareFontShape{OT1}{cmbrmt}{m}{it}{% +<->ssub*cmbrmt/m/sl% +}{} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{OT1}{cmbrmt}{bx}{n}{cmbrbx}{10} + +\DeclareFontFamily{T1}{cmbrmt}{} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{T1}{cmbrmt}{m}{n}{ebmr}{8,9,10,17} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{T1}{cmbrmt}{m}{sl}{ebmo}{8,9,10,17} + +\DeclareFontShape{T1}{cmbrmt}{m}{it}{% +<->ssub*cmbrmt/m/sl% +}{} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{T1}{cmbrmt}{sb}{n}{ebsr}{8,9,10,17} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{T1}{cmbrmt}{sb}{sl}{ebso}{8,9,10,17} + +\DeclareFontShape{T1}{cmbrmt}{sb}{it}{% +<->ssub*cmbrmt/sb/sl% +}{} + +\DeclareFontShape{T1}{cmbrmt}{bx}{n}{% +<->sub*cmbrmt/sb/n% +}{} + +\DeclareFontShape{T1}{cmbrmt}{bx}{it}{% +<->sub*cmbrmt/sb/it% +}{} + +\DeclareFontFamily{OMS}{cmbrs}{\skewchar\font 48} + +\DeclareFontShape@TPSF[\cmbrscale@TPSF]{OMS}{cmbrs}{m}{n}{cmbrsy}{8,9,10} + +\DeclareFontShape{OMS}{cmbrs}{m}{b}{<->ssub*cmbrs/m/n}{} + +\DeclareFontFamily{OMS}{cmbr}{\skewchar\font 48} + +\DeclareFontShape{OMS}{cmbr}{m}{n}{<->ssub*cmbrs/m/n}{} + +\DeclareFontShape{OMS}{cmbr}{m}{b}{<->ssub*cmbrs/m/n}{} +% \end{macrocode} +% Concrete Math Italic +% \begin{macrocode} +\DeclareFontFamily{OML}{ccm}{\skewchar\font127 } + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OML}{ccm}{m}{it}{xccmi}{5,6,7,8,9,10} + +\DeclareFontShape{OML}{ccm}{b}{it}{<-> ssub * cmm/b/it}{} + +\DeclareFontShape{OML}{ccm}{c}{it}{<9>\mathscale@TPSF ccmic9}{} + +\DeclareFontFamily{OML}{ccr}{\skewchar\font127 } + +\DeclareFontShape{OML}{ccr}{m}{it} {<->ssub * ccm/m/it}{} + +\DeclareFontShape{OML}{ccr}{bx}{it} {<->ssub * ccm/b/it}{} + +\DeclareFontShape{OML}{ccr}{sbc}{it}{<->ssub * ccm/m/it}{} + +\DeclareFontFamily{OMS}{ccsy}{\skewchar\font48 } + +\DeclareFontShape@TPSF[\mathscale@TPSF]{OMS}{ccsy}{m}{n}{xccsy}{5,6,7,8,9,10} + +\DeclareFontShape{OMS}{ccsy}{b}{n}{<-> ssub * cmsy/b/n}{} + +\DeclareFontFamily{OMS}{ccr}{\skewchar\font48 } + +\DeclareFontShape{OMS}{ccr}{m}{n} {<->ssub * ccsy/m/n}{} + +\DeclareFontShape{OMS}{ccr}{bx}{n} {<->ssub * ccsy/b/n}{} + +\DeclareFontShape{OMS}{ccr}{sbc}{n}{<->ssub * ccsy/m/n}{} + +\DeclareFontFamily{OMX}{ccex}{} + +\DeclareFontShape{OMX}{ccex}{m}{n}{<->s*\mathscale@TPSF xccex10}{} +% \end{macrocode} +% LaTeX symbols +% \begin{macrocode} +\DeclareFontFamily{U}{lasy}{} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{U}{lasy}{m}{n}{lasy}{5,6,7,8,9,10} + +\DeclareFontShape{U}{lasy}{b}{n}{ + <->s* \mathscale@TPSF lasyb10 + }{} +% \end{macrocode} +% AMS fonts +% \begin{macrocode} +\DeclareFontFamily{U}{msa}{} + +\DeclareFontFamily{U}{msb}{} + +\ifthenelse{\equal{\TPSFMathfont}{cmbrm}} +{% +% \end{macrocode} +% AMS fonts should be available immediately, so they can be used in say panels. +% \begin{macrocode} + \DeclareFontShape@TPSF[\cmbrscale@TPSF]{U}{msa}{m}{n}{cmbras}{8,9,10}% + \DeclareFontShape@TPSF[\cmbrscale@TPSF]{U}{msb}{m}{n}{cmbrbs}{8,9,10}% +% \end{macrocode} +% On the other hand, the cmbright package redeclares them |\AtBeginDocument|, so +% we need to overwrite that change as well. +% \begin{macrocode} + \AtBeginDocument + {% + \DeclareFontShape@TPSF[\cmbrscale@TPSF]{U}{msa}{m}{n}{cmbras}{8,9,10}% + \DeclareFontShape@TPSF[\cmbrscale@TPSF]{U}{msb}{m}{n}{cmbrbs}{8,9,10}% + }% +} +{% + \DeclareFontShape@TPSF[\mathscale@TPSF]{U}{msa}{m}{n}{msam}{5,7,10} + + \DeclareFontShape@TPSF[\mathscale@TPSF]{U}{msb}{m}{n}{msbm}{5,7,10} +} + +\DeclareFontFamily{U}{euex}{} + +\DeclareFontShape{U}{euex}{m}{n}{ + <->s* \eulerscale@TPSF euex10 + }{} + +\DeclareFontFamily{U}{euf}{} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{euf}{m}{n}{eufm}{5,7,10} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{euf}{b}{n}{eufb}{5,7,10} + +\DeclareFontFamily{U}{eur}{\skewchar\font'177} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{eur}{m}{n}{eurm}{5,7,10} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{eur}{b}{n}{eurb}{5,7,10} + +\DeclareFontFamily{U}{eus}{\skewchar\font'60} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{eus}{m}{n}{eusm}{5,7,10} + +\DeclareFontShape@TPSF[\eulerscale@TPSF]{U}{eus}{b}{n}{eusb}{5,7,10} +% \end{macrocode} +% St Mary's Road symbol font. +% \begin{macrocode} +\DeclareFontFamily{U}{stmry}{} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{U}{stmry}{m}{n}{stmary}{5,6,7,8,9,10} +% \end{macrocode} +% Wasy symbol font. +% \begin{macrocode} +\DeclareFontFamily{U}{wasy}{} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{U}{wasy}{m}{n}{wasy}{5,6,7,8,9,10} + +\DeclareFontShape{U}{wasy}{b}{n} +{ <->s*\mathscale@TPSF wasyb10 +}{} +% \end{macrocode} +% formal script math symbols +% \begin{macrocode} +\DeclareFontFamily{U}{rsfs}{\skewchar\font127 } + +\DeclareFontShape@TPSF[\mathscale@TPSF]{U}{rsfs}{m}{n}{rsfs}{5,7,10} +% \end{macrocode} +% double stroke computer modern +% \begin{macrocode} +\DeclareFontFamily{U}{dsrom}{} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{U}{dsrom}{m}{n}{dsrom}{8,10,12} + +\DeclareFontFamily{U}{dsss}{} + +\DeclareFontShape@TPSF[\mathscale@TPSF]{U}{dsss}{m}{n}{dsss}{8,10,12} + +\endgroup +% \end{macrocode} + +% Just to make sure in case these have been defined before... +% \begin{macrocode} +\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax +\expandafter\let\csname OT1/cmr/m/n/10.95\endcsname\relax +\expandafter\let\csname OT1/cmr/m/n/12\endcsname\relax +\expandafter\let\csname T1/cmr/m/n/10\endcsname\relax +\expandafter\let\csname T1/cmr/m/n/10.95\endcsname\relax +\expandafter\let\csname T1/cmr/m/n/12\endcsname\relax +% \end{macrocode} +% +% \subsection{Font shape selection} +% +% \subsubsection{Set text fonts} +% \begin{macrocode} +\newcommand{\setlcmssTextFonts@TPSF} +{% + \renewcommand{\familydefault}{\sfdefault}% Main text font is sans serif. + \renewcommand{\sfdefault}{lcmss}% Choose lcmss as sans serif font. + \renewcommand{\ttdefault}{lcmtt}% Typewriter font lcmtt. +} + +\newcommand{\setcmrTextFonts@TPSF} +{% + \renewcommand{\familydefault}{\rmdefault}% Main text font is roman. + \renewcommand{\rmdefault}{cmr}% Choose cmr as roman font. + \renewcommand{\ttdefault}{cmtt}% Typewriter font. +} + +\newcommand{\setcmfibTextFonts@TPSF} +{% + \renewcommand{\familydefault}{\rmdefault}% Main text font is roman. + \renewcommand{\rmdefault}{cmfib}% Choose cmfib as roman font. + \renewcommand{\ttdefault}{cmtt}% Typewriter font. +} + +\newcommand{\setcmssTextFonts@TPSF} +{% + \renewcommand{\familydefault}{\sfdefault}% Main text font is sans serif. + \renewcommand{\sfdefault}{cmss}% Choose cmss as sans serif font. + \renewcommand{\ttdefault}{cmtt}% Typewriter font. +} + +\newcommand{\setcmbrTextFonts@TPSF} +{% + \renewcommand{\familydefault}{\sfdefault}% Main text font is sans serif. + \renewcommand{\sfdefault}{cmbr}% Choose cmss as sans serif font. + \renewcommand{\ttdefault}{cmtl}% Light Typewriter font. +} + +\newcommand{\setccrTextFonts@TPSF} +{% + \renewcommand{\familydefault}{\rmdefault}% Main text font is roman. + \renewcommand{\rmdefault}{ccr}% Choose ccr as roman font. + \renewcommand{\ttdefault}{cmtt}% Typewriter font. +} + +\csname set\TPSFTextfont TextFonts@TPSF\endcsname +% \end{macrocode} +% +% \subsubsection{Configure Math fonts} +% +% \begin{macrocode} +\newcommand{\setcmmMathFonts@TPSF} +{% + \SetSymbolFont{letters} {normal}{OML}{cmm} {m}{it} + \SetSymbolFont{symbols} {normal}{OMS}{cmsy}{m}{n} + \SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n} + \SetSymbolFont{letters} {bold} {OML}{cmm} {b}{it} + \SetSymbolFont{symbols} {bold} {OMS}{cmsy}{b}{n} +} + +\newcommand{\setccmMathFonts@TPSF} +{% + \SetSymbolFont{letters} {normal}{OML}{ccm} {m}{it} + \SetSymbolFont{symbols} {normal}{OMS}{ccsy}{m}{n} + \SetSymbolFont{largesymbols}{normal}{OMX}{ccex}{m}{n} + \SetSymbolFont{letters} {bold} {OML}{ccm} {b}{it} + \SetSymbolFont{symbols} {bold} {OMS}{ccsy}{b}{n} +} + +\newcommand{\seteulerMathFonts@TPSF} +{% + \RequirePackage{eulervm} + \def\tpc@ncel##1##2{\m@th\ooalign{$\hfil##1/\hfil$\crcr$##1##2$}} + \def\neq{\mathrel{\m@th\mathpalette\tpc@ncel=}} + \DeclareSymbolFont{auxletters}{OML}{cmm}{m}{it} + \SetSymbolFont{auxletters}{bold}{OML}{cmm}{b}{it} + \DeclareMathSymbol{<}{\mathrel}{auxletters}{"3C} + \DeclareMathSymbol{>}{\mathrel}{auxletters}{"3E} +} + +\newcommand{\setcmbrmMathFonts@TPSF} +{% + \SetSymbolFont{letters} {normal}{OML}{cmbrm} {m}{it} + \SetSymbolFont{symbols} {normal}{OMS}{cmbrs}{m}{n} + \SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n} + \SetSymbolFont{letters} {bold} {OML}{cmbrm} {b}{it} + \SetSymbolFont{symbols} {bold}{OMS}{cmbrs}{b}{n} +} + +\csname set\TPSFMathfont MathFonts@TPSF\endcsname +% \end{macrocode} +% +% \subsubsection{Configure Operator fonts} +% +% \begin{macrocode} +\ifthenelse{\equal{\TPSFMathfont}{euler}} +{% + \SetSymbolFont{operators}{normal}{\encodingdefault}{\TPSFOperatorfont}{m}{n}% + \SetSymbolFont{operators}{bold}{\encodingdefault}{\TPSFOperatorfont}{bx}{n}% +} +{% + \SetSymbolFont{operators}{normal}{OT1}{\TPSFOperatorfont}{m}{n}% + \SetSymbolFont{operators}{bold}{OT1}{\TPSFOperatorfont}{bx}{n}% +} +% \end{macrocode} +% +% \subsubsection{Alphabets for ``text inside math''} +% +% \begin{macrocode} +\DeclareMathAlphabet {\mathbf}{\encodingdefault}{\TPSFOperatorfont}{bx}{n} +\DeclareMathAlphabet {\mathsf}{\encodingdefault}{\sfdefault}{m}{n} +\DeclareMathAlphabet {\mathit}{\encodingdefault}{\TPSFOperatorfont}{m}{it} +\DeclareMathAlphabet {\mathtt}{\encodingdefault}{\ttdefault}{m}{n} +\SetMathAlphabet\mathsf{bold}{\encodingdefault}{\sfdefault}{bx}{n} +\SetMathAlphabet\mathit{bold}{\encodingdefault}{\TPSFOperatorfont}{bx}{it} +\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{bx}{n} +% \end{macrocode} +% +% |\oldstylenums| follow in style the math font setting. +% \begin{macrocode} +\def\oldstylenums#1{% + \begingroup + \spaceskip\fontdimen\tw@\font + \usefont{OML}{\TPSFMathfont}{\f@series}{it}% + \mathgroup\symletters #1% + \endgroup +} +% \end{macrocode} +% +% \subsubsection{Configure doublestroke fonts} +% +% \begin{macrocode} +\@ifpackageloaded{dsfont} +{% + \ifthenelse{\equal{\TPSFOperatorfont}{cmr}\or\equal{\TPSFOperatorfont}{cmrm}} + {% + \DeclareMathAlphabet{\mathds}{U}{dsrom}{m}{n} + } + {% + \DeclareMathAlphabet{\mathds}{U}{dsss}{m}{n} + } +}{}% +% \end{macrocode} +% +% \Finale +\endinput diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.ins b/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.ins new file mode 100644 index 00000000000..8d73c1c2cfd --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.ins @@ -0,0 +1,64 @@ +%% +%% -------------------------------------------------------------- +%% Package tpslifonts - part of TeXPower bundle - configure +%% presentation fonts. Copyright (C) 1999-2004 Stephan Lehmke +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% -------------------------------------------------------------- +%% +%% tpslifonts.ins,v 1.2 2004/07/27 11:33:07 hansfn Exp +%% +%% --------------- start of docstrip commands ------------------ +%% + +\input docstrip + +\preamble + +-------------------------------------------------------------- +Package tpslifonts - part of TeXPower bundle - configure +presentation fonts. Copyright (C) 1999-2004 Stephan Lehmke + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +-------------------------------------------------------------- + +\endpreamble + +\keepsilent +\usedir{tex/latex/texpower/tpslifonts} +\askonceonly + +\generate{% + \file{tpslifonts.sty}{\from{tpslifonts.dtx}{tpslifonts}} +} + +\ifToplevel{ +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space tpslifonts.sty} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +} + +\endbatchfile + diff --git a/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.pdf b/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.pdf Binary files differnew file mode 100644 index 00000000000..c69df6d3578 --- /dev/null +++ b/Master/texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.pdf |