%\CheckSum{423}
%
% \iffalse meta comment
%
% Copyright (c) Walter Schmidt 1994, 1995
%
% You are allowed to distribute  complete and unchanged
% versions of this file.  You are  NOT ALLOWED  to take
% money for the distribution or use of either this file
% or a changed version, except for a nominal charge for
% copying etc.
% 
% \fi
%
% \iffalse
%<cm&(!patch)>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%<*driver>
\ProvidesFile{cmbright.drv}
%</driver>
%<+cm>\ProvidesPackage{cmbright}
           [1995/10/22 v4.0b (WaS)]     
%
%<*driver> 
\documentclass[11pt]{ltxdoc}
\CodelineNumbered
\begin{document}
 \DeleteShortVerb{\|}
 \DocInput{cmbright.dtx}
\end{document}
%</driver>
% \fi
%
% \GetFileInfo{cmbright.drv}
% \MakeShortVerb{\+}
% 
% \title{Typesetting with the\\ Computer Modern Bright fonts}
% \author{Walter Schmidt}
% \date{(\fileversion{} -- \filedate)}
% \maketitle
%
% \section{Description}
% The \LaTeX{} macro package +cmbright+ 
% supports typesetting with the font family `Computer Modern Bright'
% in traditional (OT1) or extended (T1, Cork) encoding.
% Loading this package will effect the following:
% \begin{itemize}\small
% \item The default sans serif font family will be CM Bright.
% \item 
% The sans serif font family will be the default for the whole document,
% in text and math mode.
% \item The default typewriter font family will be CM Typewriter Light,
% which blends better with CM Bright 
% than the \texttt{cmtt} fonts do.
% \item The leading for the font sizes +\normalsize+, +\small+{} and 
% +\footnotesize+{} will be increased.
% \end{itemize}
%
% To typeset with CM Bright in traditional encoding for both text and
% math mode you have put the following command in the preamble:
% \begin{verse}
% +\usepackage{cmbright}+
% \end{verse}
%
% If you want to use the extended (T1) encoding in text mode:
% \begin{verse}
% +\usepackage{cmbright}+\\
% +\usepackage[T1]{fontenc}+
% \end{verse}
%
% CM Bright fonts are available as fontseries +m+
% and +bx+. In the medium series, there is a
% slanted shape, too. If \textit{italic} is requested, it will be 
% replaced by the slanted font.
%
% All the standard fonts for typesetting mathematics are provided.
% A new mathematical alphabet +\mathbold+ provides bold slanted
% letters.
% There is, however, no bold +\mathversion+ to bolden complete formulae.
%
% \section*{Problems and known bugs}
% \begin{itemize}
% \item With the CM Bright fonts the line width may be larger than
% with CM Roman at the same size. This package, however, does \emph{not}
% change the document layout. 
% \item Macro packages which read the
% current value of +\baselineskip+
% must be loaded  \emph{after} +cmbright+.
% \item The OT1 encoded CM Bright fonts do not provide a +\pounds+ sign.
% \item The oldstyle numerals are taken from the mathematical font.
% This may be incompatible to future versions of \LaTeX.
% \end{itemize}
% \StopEventually{}
%
% \section*{The code}
% \subsection*{Default font families}
% The sans serif font family will be the default one:
%    \begin{macrocode} 
%<*cm>
\renewcommand{\familydefault}{\sfdefault}
%    \end{macrocode}
% CM Bright will be the default sans serif font family:
%    \begin{macrocode}
\renewcommand{\sfdefault}{cmbr}
%    \end{macrocode}
%
% CM Typewriter Light will be the default typewriter font family,
% because the usual +cmtt+ fonts look too dark in combination with CM Bright:
%    \begin{macrocode}
\renewcommand{\ttdefault}{cmtl}
%    \end{macrocode}
%
% \subsection*{Mathematical fonts}
% Definitions which remain unchanged are commented out:
%    \begin{macrocode}
\DeclareSymbolFont{operators} {OT1}{cmbr}{m}{n}
\DeclareSymbolFont        {letters} {OML}{cmbrm}{m}{it}
\DeclareSymbolFont        {symbols} {OMS}{cmbrs}{m}{n}
% \DeclareSymbolFont {largesymbols} {OMX}{cmex}{m}{n}
%
% \DeclareSymbolFontAlphabet    {\mathrm} {operators}
% \DeclareSymbolFontAlphabet{\mathnormal} {letters}
% \DeclareSymbolFontAlphabet   {\mathcal} {symbols}
%
\DeclareMathAlphabet{\mathit} {OT1}{cmbr}{m}{sl}
\DeclareMathAlphabet{\mathbf} {OT1}{cmbr}{bx}{n}
\DeclareMathAlphabet{\mathtt} {OT1}{cmtl}{m}{n}
%    \end{macrocode}
% Despite its name +\mathrm+ is not a font with serifs,
% but it is, what the user expects it to be:
% it's the upright font used e.\,g. for operator names.
%
% We do not set up a bold +\mathversion+, but we make a bold
% slanted mathematical font available:
%    \begin{macrocode}
\DeclareMathAlphabet{\mathbold}{OML}{cmbrm}{b}{it}
%    \end{macrocode}
%
% \subsection*{Font sizes and leading}
% The +\baselineskip+ should be larger than with CM Roman. For text sizes,
% i.e. 8--12\,pt, a value of $1.25 \times \mathrm{designsize}$ is recommended.
%
%    \begin{macrocode}
\ifcase\@ptsize\relax% 10pt
\renewcommand{\normalsize}{%
   \@setfontsize\normalsize\@xpt{12.5}
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
\normalsize
\renewcommand{\small}{%
   \@setfontsize\small\@ixpt{11.25}%
   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus2\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\renewcommand{\footnotesize}{%
   \@setfontsize\footnotesize\@viiipt{10}%
   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus\p@
   \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 3\p@ \@plus\p@ \@minus\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\or% 11pt
\renewcommand\normalsize{%
   \@setfontsize\normalsize\@xipt{13.75pt}%
   \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
\normalsize
\renewcommand\small{%
   \@setfontsize\small\@xpt{12.5}
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 6\p@ \@plus2\p@ \@minus2\p@
               \parsep 3\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\renewcommand\footnotesize{%
   \@setfontsize\footnotesize\@ixpt{11.25}%
   \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}

\or% 12pt
\renewcommand{\normalsize}{%
   \@setfontsize\normalsize\@xiipt{15}%
   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
\normalsize
\renewcommand{\footnotesize}{%
   \@setfontsize\footnotesize\@xpt{12.5}
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 6\p@ \@plus2\p@ \@minus2\p@
               \parsep 3\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\let\small=\footnotesize
\fi
%    \end{macrocode}
%
% \subsection*{Old-style numerals}
% Old-style numerals are taken from CM Bright, too:
%    \begin{macrocode}
\def\oldstylenums#1{%
   \begingroup
    \spaceskip\fontdimen\tw@\font
    \usefont{OML}{cmbrm}{\f@series}{it}%
    \mathgroup\symletters #1%
   \endgroup
}
%    \end{macrocode}
% In the future this may change; old-style numerals could be
% taken from the `text companion font', thus even providing `oldstyle
% bold extended'~\dots
%
% \subsection*{Patches}
% With a \LaTeX{} release previous to 1995/06/01
% some macros from the \LaTeX{} kernel and the standard classes
% must be redefined, because they explicitely select a font with serifs:
%    \begin{macrocode}
%<*patch>
\typeout{*}
\typeout{* This package contains patches so that it can be}
\typeout{* used with a LaTeX release previous to June 1995.}
\typeout{* However, if your LaTeX is from 1995/06/01 or newer,}
\typeout{* you MUST redo the installation of the `cmbright'}
\typeout{* files in order to generate this package again,}
\typeout{* without these patches!}
\typeout{*}
%
\def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else
  \vskip \z@ \@plus.2\p@
  {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
    \parindent #2\relax\@afterindenttrue
   \interlinepenalty\@M
   \leavevmode
   \@tempdima #3\relax
   \advance\leftskip \@tempdima \hbox{}\hskip -\leftskip
    {#4}\nobreak\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep
       mu$}\hfill \nobreak
           \hbox to\@pnumwidth{\hfil\reset@font #5}\par}\fi}
%
\def\@eqnnum{{\reset@font(\theequation)}}
%
\DeclareOption{leqno}{
\renewcommand\@eqnnum{\hbox to .01\p@{}%
                      \rlap{\reset@font%
                        \hskip -\displaywidth(\theequation)}}}
%
\def\ps@plain{\let\@mkboth\@gobbletwo
     \let\@oddhead\@empty\def\@oddfoot{\reset@font\hfil\thepage
     \hfil}\let\@evenhead\@empty\let\@evenfoot\@oddfoot}
\pagestyle{plain}
%</patch>
%    \end{macrocode}
%
% \subsection*{Initialization}
%    \begin{macrocode}
%<+patch> \ProcessOptions
\normalfont
%</cm>
%    \end{macrocode}
%
% \section*{This file \ldots}
% \ldots{} +cmbright.dtx+ contains the following 
% DocStrip modules:\vspace{1ex}
%
% \begin{center}
% \begin{tabular}{ll}
% module: & contents:\\[0.5ex]
% +cm+ & package +cmbright+\\
% +driver+ &  driver for documentaion \\
% +patch+ & patches for \LaTeX{} release $<$ June 1995
% \end{tabular}
% \end{center}
% The module +patch+ should only be selected together with +cm+.
% \vspace{1ex}
% 
% The next line of code prevents DocStrip from adding the
% character table to all modules:
%    \begin{macrocode}
\endinput
%    \end{macrocode}
% \Finale
%% \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         \~}
%%

