% __TPslifonts.tex,v 1.6 2003/03/28 16:06:40 stephanlehmke Exp
%  
% TeXPower bundle - dynamic online presentations with LaTeX
% Copyright (C) 1999-2002 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.
%
%-----------------------------------------------------------------------------------------------------------------
% File: __TPslifonts.tex
%
% Code for the slifonts example for the package texpower.sty.
% 
% This file is input by others. Don't compile it separately.
%
%-----------------------------------------------------------------------------------------------------------------
% 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 fontencoding).
%


%-----------------------------------------------------------------------------------------------------------------
%
\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. 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 text fonts:

\medskip

\hrule

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Slide Computer Modern Sans Serif (\code{lcmss})}
{European Computer Modern Sans Serif Quotation (\code{eclq})}%
:\\ The quick brown fox jumps over the lazy dog.

\medskip

\hrule

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Slide Computer Modern Sans Serif Inclined (\code{lcmssi})}
{European Computer Modern Sans Serif Quotation Inclined (\code{ecli})}%
:\\ \textsl{The quick brown fox jumps over the lazy dog.}

\medskip

\hrule\nopagebreak

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Slide Computer Modern Sans Serif Bold (\code{lcmssb})}
{European Computer Modern Sans Serif Quotation Bold (\code{eclb})}%
:\\ \textbf{The quick brown fox jumps over the lazy dog.}

\ifthenelse{\equal{\encodingdefault}{OT1}}
{}
{%
  \medskip

  \hrule\nopagebreak

  European Computer Modern Sans Serif Quotation Bold Oblique (\code{eclo}):\\ 
  \textbf{\textit{The quick brown fox jumps over the lazy dog.}}%
}

\medskip

\hrule

\medskip

\section{Typewriter Fonts}

\ifthenelse{\equal{\encodingdefault}{OT1}}
{%
  The Slide Computer Modern Typewriter fonts are identical with the usual Computer Modern Typewriter \code{cmtt}; only
  slight changes are made to design size selection (\code{lcmss} is design size 8, but for most \code{cmtt} fonts, only
  a design size 10 Type1 font exists).
}%
{%
  Mostly, the Slide Computer Modern Typewriter fonts are identical with the usual European Computer Modern Typewriter
  \code{ectt}; only slight changes are made to design size selection (there exists a Slide European Computer Modern
  Typewriter font \code{ecltt} upright medium series; for all other variants, 8pt design size variants of the European
  Computer Modern Typewriter fonts \code{ectt} are chosen).
}%
\ifthenelse{\isundefined{\TPSFttscale}}{}
{%
  For harmonising better with \ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}}, Typewriter fonts
  are scaled up by a factor of $\TPSFttscale$.% 
}

\medskip

\hrule\nopagebreak

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Computer Modern Typewriter (\code{cmtt})}
{Slide European Computer Modern Typewriter (\code{ecltt})}%
:\\ \texttt{The quick brown fox jumps over the lazy dog.}

\medskip

\hrule

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Computer Modern Typewriter Italic (\code{cmitt})}
{European Computer Modern Typewriter Italic (\code{ecit})}%
:\\ \texttt{\textit{The quick brown fox jumps over the lazy dog.}}

\medskip

\hrule

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Computer Modern Typewriter Slanted (\code{cmsltt})}
{European Computer Modern Typewriter Slanted (\code{ecst})}%
:\\ 
\texttt{\textsl{The quick brown fox jumps over the lazy dog.}}

\medskip

\hrule

\ifthenelse{\equal{\encodingdefault}{OT1}}
{Computer Modern Typewriter Caps and Small Caps (\code{cmtcsc})}
{European Computer Modern Typewriter Caps and Small Caps (\code{ectc})}%
:\\ 
\texttt{\textsc{The quick brown fox jumps over the lazy dog.}}

\medskip

\hrule

\medskip

\section{Math Fonts}

\ifthenelse{\boolean{TPSFeulermath}}
{%
  The main math fonts are derived from the Euler math fonts, by slightly changing design size selection. Operators%
  \ifthenelse{\boolean{TPSFeulerdigits}}{}{ and digits} are taken from Slide Computer Modern Sans.
}%
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {%
    The main math fonts are derived from the cmbright math fonts, by slightly changing design size selection.%
    \ifthenelse{\boolean{TPSFlcmssops}}{ Operators and digits are taken from Slide Computer Modern Sans.}{}
  }%
  {%
    \ifthenelse{\boolean{TPSFsansmath}}
    {%
      Math fonts for symbols, \ifthenelse{\boolean{TPSFsansmathletters}\or\boolean{TPSFeulermathletters}}{}{latin, }%
      calligraphic and lower case greek letters are taken  
    }
    {%
      The main math fonts are derived
    }%
    from the usual Computer Modern math fonts, by slightly changing design size selection.
    \ifthenelse{\boolean{TPSFsansmath}}
    {Operators, digits, and upper case greek letters are taken from Slide Computer Modern Sans.}{}
    \ifthenelse{\boolean{TPSFsansmathletters}}{Latin math letters are taken from Slide Computer Modern Sans Slanted.}{}%
    \ifthenelse{\boolean{TPSFeulermathletters}}{Latin math letters are taken from Euler Math.}{}
  }%
}

\ifthenelse{\isundefined{\TPSFmathscale}}{}
{%
  For harmonising better with \ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}}, math fonts are
  scaled up by a factor of $\TPSFmathscale$. % 
  \ifthenelse{\boolean{TPSFeulermath}\or\boolean{TPSFeulermathletters}} {Math letters from Euler Roman are scaled up by
    a factor of $\TPSFeulerscale$. }
  {}%
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {The cmbright math fonts are scaled up by a factor of $\TPSFcmbrscale$. }
  {}%
}%
\ifthenelse{\boolean{boldmath}}
{%
  To make formulae stick out more on slides, the command \macroname{boldmath} was used in the preamble to make all math
  bold.% 
}
{}

\medskip\pagebreak[3]

\hrule\nopagebreak

\ifthenelse{\boolean{TPSFeulermath}}
{%
  Operators\ifthenelse{\boolean{TPSFeulerdigits}}{}{ and digits} are taken from Slide Computer Modern Sans
  (\code{lcmss}):\\ 
  $\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 Symbol (\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 
\ifthenelse{\boolean{TPSFcmbrightmath}}
{%
  \ifthenelse{\boolean{TPSFlcmssops}}
  {Slide Computer Modern Sans (\code{lcmss})}
  {Slide Computer Modern Bright (\code{lcmbr})}%
}
{%
  \ifthenelse{\boolean{TPSFsansmath}}
  {Slide Computer Modern Sans (\code{lcmss})}
  {Slide Computer Modern Roman (\code{lcmr})}%
}%
:\\
$\min \max \sup \lim 1 2 3 4 5 + = \Phi \Pi \Gamma \Theta$

\medskip

\hrule

\ifthenelse{\boolean{TPSFcmbrightmath}}
{%
  Latin and lower case greek letters and some symbols are taken from Computer Modern Bright Math Italic (\code{cmbrm})%
}
{%
  \ifthenelse{\boolean{TPSFsansmathletters}\or\boolean{TPSFeulermathletters}}{L}{Latin and l}%
  ower case greek letters and some symbols are taken from Slide Computer Modern Math Italic (\code{lcmm})%
}%
:\\
$\ifthenelse{\boolean{TPSFsansmathletters}\or\boolean{TPSFeulermathletters}}{}{abcd ABCD} >/< \alpha \beta \gamma \delta$

\medskip

\ifthenelse{\boolean{TPSFsansmathletters}\or\boolean{TPSFeulermathletters}}
{%
  \begin{samepage}
    \hrule\nopagebreak
    
    Latin math letters are taken from
    \ifthenelse{\boolean{TPSFsansmathletters}}
    {Slide Computer Modern Sans Slanted (\code{lcmssi})}
    {Slide Euler Math (\code{leur})}%
    :\\ 
    $abcd ABCD$
    \par
  \end{samepage}

  \medskip
}%
  
\begin{samepage}
  \hrule\nopagebreak
  
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {%
    Symbols and calligraphic letters are taken from Computer Modern Bright Symbols (\code{cmbrs})%
  }
  {%
    Symbols and calligraphic letters are taken from Slide Computer Modern Symbols (\code{lcmsy})%
  }%
  :\\
  $\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 Slide Computer Modern Extension (\code{lcmex}).
}\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{\boolean{TPSFcmbrightmath}}
    {%
      Fraktur letters are taken from Euler Fraktur (\code{eufm}), with slightly adapted design size selection:\\
      $\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}), with slightly adapted design size selection:\\
      $\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}), with slightly adapted design size selection:\\
      $\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}), with slightly adapted
    design size selection:\\  
    $\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}), with slightly adapted design size
    selection:\\ 
    $\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}), with slightly adapted design size
    selection:\\ 
    $\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}), with slightly adapted design size
    selection:\\
    $\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
    \par
  \end{samepage}

  \medskip
}%
{}

\ifthenelse{\boolean{TPSFdstroke}}
{%
  \begin{samepage}
    \hrule\nopagebreak
    
    Double stroke letters are taken from Doublestroke Font
    (\ifthenelse{\boolean{TPSFsansmath}\or\boolean{TPSFeulermath}}{\code{dsss}}{\code{dsrom}}), with slightly adapted
    design size selection:\\ 
    $\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ1hk}$
    \par
  \end{samepage}

  \medskip
}%
{}

\hrule

\newslide
\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]
      \\
      &=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}}
{%
\newslide
  
\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}}{}
{%
\newslide
  
\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}%
}

\newslide
  
\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}}
{%
\newslide
  
\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}}{}
{%
\newslide
  
\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}}
{%
\newslide
  
\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]{\color{textcolor}\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}}
{%
\newslide
  
\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]{\color{textcolor}\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}}{}
{%
\newslide
  
\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}}
{%
\newslide
  
\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}%
}
{}

\newslide

\section{Comparison of Characters}
\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{\boolean{TPSFeulermath}}{{\thesymbol}}{}%
            \or\ifthenelse{\boolean{TPSFeulermath}}{\,\vrule\,{\thesymbol}}{}%
            \or\ifthenelse{\boolean{TPSFeulermath}}{}{{\thesymbol}}%
            \or\ifthenelse{\boolean{TPSFeulermath}}{}{\,\vrule\,{\thesymbol}}%
            \or\ifthenelse{\boolean{TPSFeulermath}}{}{\,\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
As mentioned before, \code{tpslifonts} does a little scaling and fiddling with design sizes to make the fonts harmonize
as much as possible.

Unfortunately, the base font \ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}} is quite excentric
wrt the height ratio of upper case and lower case letters; compare
\ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}} \present{a\,A} with
\ifthenelse{\equal{\encodingdefault}{OT1}}{\code{cmss}}{\code{ecss}} \present{\fontfamily{cmss}\selectfont a\,A}.

For this reason, no amount of scaling can make \ifthenelse{\equal{\encodingdefault}{OT1}}{\code{lcmss}}{\code{eclq}}
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 different sizes.

\subsection{Digits}

Digits from \ifthenelse{\equal{\encodingdefault}{OT1}}
{Slide Computer Modern Sans Serif (\code{lcmss})}
{European Computer Modern Sans Serif Quotation (\code{eclq})}, \ifthenelse{\equal{\encodingdefault}{OT1}}
{Computer Modern Typewriter (\code{cmtt})}
{Slide European Computer Modern Typewriter (\code{ecltt})}%
\ifthenelse{\boolean{TPSFeulerdigits}}{, Euler Roman (\code{zeur})}{}%
\ifthenelse{\boolean{TPSFcmbrightmath}\and\not\boolean{TPSFlcmssops}}{, Slide Computer Modern Bright (\code{lcmbr})}{}%
\ifthenelse{\boolean{TPSFeulermath}\or\boolean{TPSFsansmath}\or\boolean{TPSFlcmssops}}{}
{, Slide Computer Modern Roman (\code{lcmr})}%
, \ifthenelse{\equal{\encodingdefault}{OT1}}{Slide Computer Modern Sans Serif Inclined (\code{lcmssi})}{European
  Computer Modern Sans Serif Quotation Inclined (\code{ecli})}, and \ifthenelse{\equal{\encodingdefault}{OT1}}{Computer
  Modern Typewriter Italic (\code{cmitt})}{European Computer Modern Typewriter Italic (\code{ecit})} are listed in sizes
5pt, 7pt, 10pt, 11pt, 12pt, 14pt, and 17pt.

\charlist{48}{58}{5,7,10,11,12,14,17}
{%
  \char\value{char}\texttt{\char\value{char}}%
  \ifthenelse
  {%
    \boolean{TPSFeulerdigits}\OR
    \(\not\boolean{TPSFeulermath}\and\not\boolean{TPSFsansmath}\and\not\boolean{TPSFlcmssops}\)%
  }%
  {$\char\value{char}$}{}%
  \,\textit{\char\value{char}}\textit{\texttt{\char\value{char}}}
}

\subsection{Upper Case Letters}

Upper Case Letters from \ifthenelse{\equal{\encodingdefault}{OT1}}{Slide Computer Modern Sans Serif
  (\code{lcmss})}{European Computer Modern Sans Serif Quotation (\code{eclq})},
\ifthenelse{\equal{\encodingdefault}{OT1}} {Computer Modern Typewriter (\code{cmtt})}
{Slide European Computer Modern Typewriter (\code{ecltt})}%
\ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFeulermathletters}}{, Euler Roman (\code{zeur})}{}%
\ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFsansmath}\OR\boolean{TPSFlcmssops}}{}
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {, Slide Computer Modern Bright (\code{lcmbr})}{, Slide Computer Modern Roman (\code{lcmr})}%
}%
\ifthenelse{\boolean{TPSFeulermath}}{, Euler Symbol (\code{zeus}; for calligraphic letters)}{}%
\ifthenelse{\boolean{TPSFamsfonts}}
{%
  , Euler Fraktur (\code{eufm})%
  , \ifthenelse{\boolean{TPSFcmbrightmath}}{cmbright AMS math (\code{cmbrbs}}{AMS math (\code{msbm}}%
  ; for blackboard bold)%
}{}%
\ifthenelse{\boolean{TPSFdstroke}}
{, Doublestroke Font (\ifthenelse{\boolean{TPSFsansmath}\or\boolean{TPSFeulermath}}{\code{dsss}}{\code{dsrom}})}{}%
, \ifthenelse{\equal{\encodingdefault}{OT1}}{Slide Computer Modern Sans Serif Inclined (\code{lcmssi})}{European
  Computer Modern Sans Serif Quotation Inclined (\code{ecli})}, \ifthenelse{\equal{\encodingdefault}{OT1}}{Computer
  Modern Typewriter Italic (\code{cmitt})}{European Computer Modern Typewriter Italic (\code{ecit})}%
\ifthenelse
{\boolean{TPSFcmbrightmath}\or\boolean{TPSFeulermath}\or\boolean{TPSFsansmathletters}\or\boolean{TPSFeulermathletters}}
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}{, Computer Modern Bright Math Italic (\code{cmbrm})}{}%
}
{, Slide Computer Modern Math Italic (\code{lcmm})}%
\ifthenelse{\boolean{TPSFeulermath}}{}
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {, Computer Modern Bright Symbols (\code{cmbrs}; for calligraphic letters)}%
  {, Slide Computer Modern Symbols (\code{lcmsy}; for calligraphic letters)}%
}%
\ifthenelse{\boolean{TPSFrsfs}}{, Ralph Smith Formal Script (\code{rsfs})}{}
are listed in sizes 5pt, 7pt, and 10pt. 

\charlist{65}{91}{5,7,10}
{%
  \char\value{char}\texttt{\char\value{char}}%
  \ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFeulermathletters}}{$\char\value{char}$}{}%
  \ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFsansmath}\OR\boolean{TPSFlcmssops}}{}
  {$\operatorname{\char\value{char}}$}%
  \ifthenelse{\boolean{TPSFeulermath}}{$\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{\boolean{TPSFeulermath}\OR\boolean{TPSFsansmathletters}\OR\boolean{TPSFeulermathletters}}
  {}{$\char\value{char}$}%
  \ifthenelse{\boolean{TPSFeulermath}}{}{$\mathcal{\char\value{char}}$}%
  \ifthenelse{\boolean{TPSFrsfs}}{$\mathscr{\char\value{char}}$}{}%
  ~
}

\subsection{Lower Case Letters}

Lower Case Letters from \ifthenelse{\equal{\encodingdefault}{OT1}}{Slide Computer Modern Sans Serif
  (\code{lcmss})}{European Computer Modern Sans Serif Quotation (\code{eclq})},
\ifthenelse{\equal{\encodingdefault}{OT1}}{Computer Modern Typewriter (\code{cmtt})}{Slide European Computer Modern
  Typewriter (\code{ecltt})}% 
\ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFeulermathletters}}{, Euler Roman (\code{zeur})}{}%
\ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFsansmath}\OR\boolean{TPSFlcmssops}}{}
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {, Slide Computer Modern Bright (\code{lcmbr})}{, Slide Computer Modern Roman (\code{lcmr})}%
}%
\ifthenelse{\boolean{TPSFamsfonts}}{, Euler Fraktur (\code{eufm})}{}%
, \ifthenelse{\equal{\encodingdefault}{OT1}}{Slide Computer Modern Sans Serif Inclined (\code{lcmssi})}{European
  Computer Modern Sans Serif Quotation Inclined (\code{ecli})}, \ifthenelse{\equal{\encodingdefault}{OT1}}{Computer
  Modern Typewriter Italic (\code{cmitt})}{European Computer Modern Typewriter Italic (\code{ecit})}%
\ifthenelse
{\boolean{TPSFcmbrightmath}\or\boolean{TPSFeulermath}\or\boolean{TPSFsansmathletters}\or\boolean{TPSFeulermathletters}}
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}{, Computer Modern Bright Math Italic (\code{cmbrm})}{}%
}
{, Slide Computer Modern Math Italic (\code{lcmm})}
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{\boolean{TPSFeulermath}\OR\boolean{TPSFeulermathletters}}{$\char\value{char}$}{}%
  \ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFsansmath}\OR\boolean{TPSFlcmssops}}{}
  {$\operatorname{\char\value{char}}$}%
  \ifthenelse{\boolean{TPSFamsfonts}}{$\mathfrak{\char\value{char}}$}{}%
  \,\textit{\char\value{char}}\textit{\texttt{\char\value{char}}}%
  \ifthenelse{\boolean{TPSFeulermath}\OR\boolean{TPSFsansmathletters}\OR\boolean{TPSFeulermathletters}}
  {}{$\char\value{char}$}%
  ~
}

\newslide

\subsection{Math Symbols}

The different math fonts define symbols of similar shape, which should look equally large. Symbols from
\ifthenelse{\boolean{TPSFeulermath}}
{Euler Roman (\code{zeur}), Euler Symbol (\code{zeus})}
{%
  \ifthenelse{\boolean{TPSFcmbrightmath}}
  {%
    \ifthenelse{\boolean{TPSFlcmssops}}
    {Slide Computer Modern Sans (\code{lcmss})}
    {Slide Computer Modern Bright (\code{lcmbr})}, %
    Computer Modern Bright Math Italic (\code{cmbrm}), Computer Modern Bright Symbols (\code{cmbrs})%
  }
  {%
    \ifthenelse{\boolean{TPSFsansmath}}
    {Slide Computer Modern Sans (\code{lcmss})}
    {Slide Computer Modern Roman (\code{lcmr})}, %
    Slide Computer Modern Math Italic (\code{lcmm}), Slide Computer Modern Symbols (\code{lcmsy})%
  }%
}%
\ifthenelse{\boolean{TPSFamsfonts}}{, \ifthenelse{\boolean{TPSFcmbrightmath}}{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}


%%% Local Variables: 
%%% mode: latex
%%% fill-column: 120
%%% TeX-master: "slifontsexample"
%%% End: 
