summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/cmbright/cmbright.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/cmbright/cmbright.dtx')
-rw-r--r--Master/texmf-dist/source/latex/cmbright/cmbright.dtx680
1 files changed, 431 insertions, 249 deletions
diff --git a/Master/texmf-dist/source/latex/cmbright/cmbright.dtx b/Master/texmf-dist/source/latex/cmbright/cmbright.dtx
index c5b0e1fad88..cbcae6a7366 100644
--- a/Master/texmf-dist/source/latex/cmbright/cmbright.dtx
+++ b/Master/texmf-dist/source/latex/cmbright/cmbright.dtx
@@ -1,37 +1,54 @@
-%\CheckSum{329}
+%\CheckSum{368}
%
% \iffalse
%
% File `cmbright.dtx'.
-% Copyright (c) 1994--2002 Walter Schmidt
+% Copyright (c) 1994--2005 Walter Schmidt
%
-% This program may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.2
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.2 or later is part of all distributions of LaTeX
-% version 1999/12/01 or later.
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
%
-% This program consists of the files cmbright.dtx, cmbr.fdd and
-% cmbright.ins.
+% This work has the LPPL maintenance status "maintained".
%
+% This Current Maintainer of this work is Walter Schmidt
+%
+% This work consists of the files cmbright.dtx and cmbright.ins
% \fi
%
% \iffalse
%
-\NeedsTeXFormat{LaTeX2e}
-%<cm&!patch> [1995/06/01]
+%<cm>\ProvidesFile{ot1cmbr.fd}
+%<ec>\ProvidesFile{t1cmbr.fd}
+%<ts1cmbr>\ProvidesFile{ts1cmbr.fd}
+%<ot1cmtl>\ProvidesFile{ot1cmtl.fd}
+%<t1cmtl>\ProvidesFile{t1cmtl.fd}
+%<ts1cmtl>\ProvidesFile{ts1cmtl.fd}
+%<omlcmbrm>\ProvidesFile{omlcmbrm.fd}
+%<omscmbrs>\ProvidesFile{omscmbrs.fd}
+%<omlcmbr>\ProvidesFile{omlcmbr.fd}
+%<omscmbr>\ProvidesFile{omscmbr.fd}
+%<package>\ProvidesPackage{cmbright}
%<*driver>
\ProvidesFile{cmbright.drv}
%</driver>
-%<+cm>\ProvidesPackage{cmbright}
- [2002/05/25 v7.1 (WaS)]
+ [2005/04/13 v8.1 (WaS)]
%
%<*driver>
\documentclass[11pt]{ltxdoc}
-\usepackage{mflogo,url}
+\OnlyDescription
\CodelineNumbered
+\usepackage[enlarged-baselineskips]{cmbright}
+\usepackage{exscale}
+\usepackage{manfnt}
+\newcommand{\danger}{\marginpar[\hfill\textdbend]{\textdbend\hfill}}
+\usepackage{mflogo}
+\newcommand\Lopt[1]{\texttt{#1}}
+\let\Lpack\Lopt
\parindent1em
\leftmargini=2em
\leftmarginii=2em
@@ -47,192 +64,179 @@
%
% \GetFileInfo{cmbright.drv}
% \DeleteShortVerb{\|}
-% \MakeShortVerb{\+}
-% \newcommand{\oitem}[1]{\item[\texttt{#1}]}
%
-% \title{The Computer Modern Bright fonts \\
-% and \\
-% the \LaTeX{} package \textsf{cmbright}}
-% \author{Walter Schmidt\thanks{{\ttfamily was@VR-Web.de}}}
+% \title{Using the CM Bright typeface with \LaTeX}
+% \author{Walter Schmidt\thanks{{\ttfamily w-a-schmidt@gmx.net}}}
% \date{(\fileversion{} -- \filedate)}
% \maketitle
-% \tableofcontents
%
% \section{The CM Bright fonts}
-% `Computer Modern Bright' is a family of sans serif fonts,
-% based on Donald Knuth's CM fonts.
-% It includes OT1, T1 and TS1 encoded text fonts of various
+% `Computer Modern Bright' is a sans serif typeface family,
+% based on Donald Knuth's `Computer Modern'.
+% It comprises OT1, T1 and TS1 encoded text fonts of various
% shapes as well as all the fonts necessary for mathematical
-% typesetting, incl.\ the AMS symbols.
+% typesetting, including the AMS symbols.
%
-% CM Bright has been designed as a well legible standalone
-% font. It is `lighter' and less obtrusive than CM Sans Serif, which,
+% CM~Bright has been designed as a well legible standalone
+% font. It is `lighter' and less obtrusive than CM~Sans~Serif, which,
% in contrast, is more appropriate for markup purposes within
-% a CM Roman environment.
+% a CM~Roman environment.
%
-% Together with CM Bright there comes a family of typewriter
+% Together with CM~Bright there comes a family of typewriter
% fonts, named `CM Typwewriter Light', which look better in
-% combination with CM Bright than the ordinary \texttt{cmtt} fonts would do.
-%
-% The CM Bright fonts in \MF{} format are distributed
-% free from the CTAN archives, directory \texttt{fonts/cmbright}.
+% combination with CM~Bright than the ordinary \texttt{cmtt} fonts would do.
%
-% The fonts are also available in Type1 format from
-% MicroPress~Inc, see
-% \path{<http://www.micropress-inc.com/fonts/brmath/brmain.htm>}.
+% The present document is typeset using the CM~Bright and CM~Typewriter Light
+% typefaces.
+% Samples of mathematical formulas are provided in section~\ref{sec:samples}.
%
-% \section{The \LaTeX{} macro package \textsf{cmbright}}
+% \section{The macro package `cmbright'}
%
-% \subsection{Description}
-% The \LaTeX{} macro package \textsf{cmbright}
-% supports typesetting with the font family CM Bright.
+% \subsection{Basics}
+% The macro package \Lpack{cmbright}
+% supports the use of the typeface family CM~Bright with \LaTeX:
% Loading the package
% \begin{verse}
-% +\usepackage{cmbright}+
+% \verb+\usepackage{cmbright}+
% \end{verse}
% effects the following:
% \begin{itemize}
% \item The default sans serif font family for typesetting text and math
-% is changed to \texttt{cmbr}, i.e.\ CM Bright.
+% is changed to \texttt{cmbr} (CM~Bright).
% \item
-% The sans serif font family is made the default one.
-% \item A new mathematical alphabet +\mathbold+ provides bold slanted
-% letters, inluding uppercase and lowercase Greek.
-% \item The packages \textsf{amsfonts} or \textsf{amssymb},
-% when loaded additionally,
-% will use the `CM Bright' versions of the AMS symbol fonts.
-%
-% Notice that you may still have to specify the option +psamsfonts+
-% for these packages, so as to prevent them from using design sizes
-% of the CM Math Extension and Euler Fraktur fonts, which may be
-% unavailable within your TeX system; this works flawlessly with
-% version 7.1 of the \textsf{cmbright} package now.
-% \item The default typewriter font family is changed to \texttt{cmtl},
-% i.e.\ CM Typewriter Light.
-% \item The line spacing (+\baselineskip+) for the font sizes 8--12\,pt
-% is increased to approx. $1.25 \times \mathrm{size}$.
+% The sans serif font family is made the default one for the whole document.
+% \item
+% The packages \Lpack{amsfonts} or \Lpack{amssymb}, when loaded additionally,
+% will use the `CM~Bright' versions of the AMS symbol fonts.
+% \item
+% The default typewriter font family is changed to \texttt{cmtl}
+% (CM Typewriter Light).
% \end{itemize}
%
-% \subsection{Package options}
-% \begin{description}
-% \oitem{standard-baselineskips}
-% This option prevents the package from enlarging the default line spacing.
-% See the below section~\ref{sec:bugs}.
-% \oitem{slantedGreek}
-% When the macro package is loaded using this option,
-% uppercase Greek letters will, by default, be slanted.
-% Regardless of the option the new commands
-% +\upDelta+ and +\upOmega+ will \emph{always} provide an
-% upright \( \Delta \) and \( \Omega \).
-% \end{description}
-%
-% \subsection{Font encoding}
-% The package does \emph{not} change the default output font
-% encoding from OT1. It is, however, recommended to make use of
-% CM Bright through the extended T1 and TS1 encodings,
-% since doing so does not imply any drawback.
+% \subsection{Line spacing}
+% Because of the large x-height of the CM~Bright typeface, it is often necessary to enlarge
+% the line spacing, as compared with the default setting of the standard \LaTeX\ document
+% classes.
+% By default, the package \Lpack{cmbright}
+% increases the line spacing (\verb+\baselineskip+) for the font sizes 8--12\,pt
+% to approx. $1.25 \times \mathrm{size}$.
+% However, this behavior may cause obscure problems.
+% particularly \danger in conjunction with other macro packages or with `moving arguments'.
+% Furhermore, in narrow columns no changes to the default line spacing may be necessary
+% at all.
+%
+% To stop the package from altering the line spacing, it can be loaded with the option
+% \Lopt{standard-baselineskips},
+% You may still influence the line spacing yourself, for instance,
+% by using the command \verb+\linespread{...}+ in the preamble.
+%
+% \subsection{Greek letters in math mode}
+% When the macro package is loaded using the option \Lopt{slantedGreek},
+% uppercase Greek letters in math mode will, by default, be slanted.
+% Regardless of the option, the new commands
+% \cmd{\upGamma}, \cmd{\upDelta} \dots \cmd{\upOmega} provide
+% upright uppercase Greek letters: $\upGamma, \upDelta\dots \upOmega$ still.
+%
+% \subsection{Bold type in math mode}
+% A new mathematical alphabet \cmd{\mathbold} provides bold slanted
+% letters, inluding uppercase and lowercase Greek.
+% Emboldening of complete formulas throgh the command \cmd{\mathversion} is,
+% however, not possible, \danger because because there is no comprehensive set of bold math fonts.
%
% \subsection{Scaling of the `large' math symbols}
-% In order to achieve proper scaling of the `large' math symbols,
-% you may load the packages \textsf{exscale},
-% \textsf{amsfonts} or \textsf{amssymb}
-% additionally; they work in conjunction with \textsf{cmbright},
-% too.
-%
-% \subsection{Known bugs and deficiencies}
-% \label{sec:bugs}
+% In order to achieve proper scaling of the `large' math symbols, it is recommended
+% to load the standard package \Lpack{exscale} in addition to \Lpack{cmbright}.
+% This is redundant, if you are using the package \Lpack{amsmath}, which
+% includes the required functionality, too.
+%
+%
+% \section{NFSS classification of the fonts}
+% Table~\ref{tab:nfss} lists the font series and shapes available in
+% the CM~Bright and CM Typewriter Light families. Notice, that
% \begin{itemize}
-% \item
-% The automatic adaption of the line spacing was provided for the sake
-% of convenience. Meanwhile it turned out that it causes many obscure
-% problem, particularly in conjunction with other macro packages or
-% with `moving arguments'. Furthermore, the need to enlarge the default
-% line spacing depends on the line width.
-% We recommend to disable the feature by loading the package with the
-% option \textsf{standard-baselineskips}.
-% and take care of the appropriate line spacing by use of the
-% +\linespread+ command, if necessary.
-% \item
-% There is no `bold' +\mathversion+ to bolden complete formulae.
-% (See, however, the mathematical alphabet +\mathbold+.)
-% \item
-% The \textsf{textcomp} package, if required, must be input \emph{after}
-% \texttt{cmbright}, otherwise
-% the symbol \textregistered{} (+\textregistered+) is not taken from the
-% text companion font.
-% The same problem might occur,
-% if (e.g.\ with future versions of \LaTeX) the TS1 encoding is included
-% in the \LaTeX{} format. In both cases the symbol is typeset
-% in roman style, instead of sans serif.
-% \item
-% Within the mathematical mode the symbol \textit{\pounds}
-% is treated as a text symbol, so its size and the surrounding space
-% might be wrong under some circumstances.
+% \item the \texttt{bx} series of the text fonts is available with sizes
+% of 9\,pt and above only;
+% \item there is no special CM~Bright font for the `extensible math symbols',
+% so that OMX/cmex is used instead;
% \item
-% The package \textsf{oldlfont}
-% cannot be used in conjunction with \texttt{cmbright}. (There should be
-% no real need for doing so!)
-% \item
-% The package \textsf{newlfont}, if used in conjunction with the
-% CM Bright fonts, must be input before \texttt{cmbright}.
+% the font definitions for the AMS fonts are part of the package \Lpack{cmbright};
+% there are no separate\texttt{.fd} files for them.
% \end{itemize}
%
-%
-% \begin{table}[hbt]
-% \caption{NFSS classification of the Computer Modern Bright fonts}
+% \begin{table}
+% \caption{NFSS classification of the fonts}
% \label{tab:nfss}
% \begin{center}
% \begin{tabular}{|l|l|l|l|}
% \hline
% \textbf{encoding} & \textbf{family} & \textbf{series} & \textbf{shape(s)}\\
% \hline\hline
-% \multicolumn{4}{|c|}{\textit{CM Bright}}\\ \hline
+% \multicolumn{4}{|c|}{\textit{CM~Bright}}\\ \hline
% OT1, T1, TS1 & cmbr & m & n, sl \\ \hline
% T1, TS1 & cmbr & sb & n, sl\\ \hline
% OT1, T1, TS1 & cmbr & bx & n\\ \hline \hline
% \multicolumn{4}{|c|}{\textit{CM Typewriter Light}}\\ \hline
% OT1, T1, TS1 & cmtl & m & n, sl\\ \hline \hline
-% \multicolumn{4}{|c|}{\textit{CM Bright Math}}\\ \hline
+% \multicolumn{4}{|c|}{\textit{CM~Bright Math}}\\ \hline
% OML & cmbrm & m, b & it \\ \hline
% OMS & cmbrs & m & n \\ \hline \hline
-% \multicolumn{4}{|c|}{\textit{CM Bright AMS A, B}}\\ \hline
+% \multicolumn{4}{|c|}{\textit{CM~Bright AMS A, B}}\\ \hline
% U & msa, msb & m &n\\ \hline
% \end{tabular}
% \end{center}
% \end{table}
%
-% \section{NFSS classification of the fonts}
-% Table~\ref{tab:nfss} lists the font series and shapes available in
-% the CM Bright and CM Typewriter Light families. Notice, that
-% \begin{itemize}
-% \item the bx series of the text fonts is supported at sizes
-% of 9\,pt and above only;
-% \item the usual font substitutions are set up so as to map OML and OMS
-% encoded text fonts to the math fonts;
-% \item there is no special CM Bright font for the `extensible math symbols';
-% OMX/cmex should be used instead;
-% \item
-% the font definitions for the AMS fonts are part of the package \texttt{cmbright};
-% there are no separate\texttt{.fd} files.
-% \end{itemize}
+% ^^A \clearpage
+% \section{Sample Formulas}
+% \label{sec:samples}
+% \subsubsection*{From the \MF\ book, p.\,298}
+% [...] If $n > 2$, the identity
+% \[
+% t[u_1,\dots,u_n] = t\bigl[t[u_1,\dots,u_{n_1}], t[u_2,\dots,u_n]\bigr]
+% \]
+% defines $t[u_1,\dots,u_n]$ recursively, and it can be shown that the alternative definition
+% \[
+% t[u_1,\dots,u_n] = t\bigl[t[u_1,u_2],\dots,t[u_{n-1},u_n]\bigr]
+% \]
+% gives the same result. Indeed, we have
+% \[
+% t[u_1,\dots,u_n] = \sum_{k=1}^n{{n-1} \choose {k-1}} (1-t)^{n-k}t^{k-1}u_k\,\mbox{,}
+% \]
+% a Bernstein polynomial of order $n-1$.
+%
+% \subsubsection*{From the \MF\ book, p.\,59}
+% \[
+% \frac{x_1 + 20}{x_2 - 20} + \sqrt{a^2 - \frac{2}{3}\sqrt b}
+% \]
+%
+% \subsubsection*{From the \TeX\ book, exercise 19.13}
+% \[
+% \int_{-\infty}^{+\infty} \mathrm{e}^{-x^2}\,\mathrm{d}x = \sqrt{\pi}
+% \]
%
% \StopEventually{}
%
+% \clearpage
% \section{The package code}
%
+% We require a sufficiently recent \LaTeX.
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+% \end{macrocode}
+%
% \subsection{Text font families}
% The sans serif font family is made the default one:
% \begin{macrocode}
-%<*cm>
\renewcommand{\familydefault}{\sfdefault}
% \end{macrocode}
-% CM Bright is to be used as the default sans serif font family:
+% CM~Bright is to be used as the default sans serif font family:
% \begin{macrocode}
\renewcommand{\sfdefault}{cmbr}
% \end{macrocode}
%
% CM Typewriter Light is to be used as the default typewriter font family,
-% because the +cmtt+ fonts look too dark in combination with CM Bright:
+% because the CM~Typewriter fonts look too dark in combination with CM~Bright:
% \begin{macrocode}
\renewcommand{\ttdefault}{cmtl}
% \end{macrocode}
@@ -242,6 +246,7 @@
% \begin{macrocode}
\DeclareSymbolFont {operators} {OT1}{cmbr}{m}{n}
\DeclareSymbolFont {letters} {OML}{cmbrm}{m}{it}
+\SetSymbolFont {letters}{bold} {OML}{cmbrm}{b}{it}
\DeclareSymbolFont {symbols} {OMS}{cmbrs}{m}{n}
% \DeclareSymbolFont {largesymbols} {OMX}{cmex}{m}{n}
%
@@ -253,17 +258,16 @@
\DeclareMathAlphabet{\mathbf} {OT1}{cmbr}{bx}{n}
\DeclareMathAlphabet{\mathtt} {OT1}{cmtl}{m}{n}
% \end{macrocode}
-% Despite its name, +\mathrm+ is not a font with serifs,
+% Despite its name, \cmd{\mathrm} is not a font with serifs,
% but it is, what the user expects it to be:
-% the upright font used e.g.\ for operator names.
+% the upright font used, e.g.,\ for operator names.
%
-% We do not set up a bold +\mathversion+, but we make a bold
-% slanted mathematical alphabet available:
+% We make a bold slanted mathematical alphabet available:
% \begin{macrocode}
\DeclareMathAlphabet{\mathbold}{OML}{cmbrm}{b}{it}
% \end{macrocode}
%
-% The command +\mathbold+ should act on lowercase greek letters, too:
+% The command \cmd{\mathbold} should act on lowercase Greek, too:
% \begin{macrocode}
\DeclareMathSymbol{\alpha}{\mathalpha}{letters}{11}
\DeclareMathSymbol{\beta}{\mathalpha}{letters}{12}
@@ -271,7 +275,6 @@
\DeclareMathSymbol{\delta}{\mathalpha}{letters}{14}
\DeclareMathSymbol{\epsilon}{\mathalpha}{letters}{15}
\DeclareMathSymbol{\zeta}{\mathalpha}{letters}{16}
-\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{0}
\DeclareMathSymbol{\eta}{\mathalpha}{letters}{17}
\DeclareMathSymbol{\theta}{\mathalpha}{letters}{18}
\DeclareMathSymbol{\iota}{\mathalpha}{letters}{19}
@@ -312,27 +315,40 @@
\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{9}
\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{10}
}
-\let\upOmega\Omega
+% \end{macrocode}
+% Save the default definitions of the upright uc Greek characters
+% under new names:
+% \begin{macrocode}
\let\upDelta\Delta
+\let\upOmega\Omega
+\let\upGamma\Gamma
+\let\upTheta\Theta
+\let\upLambda\Lambda
+\let\upXi\Xi
+\let\upPi\Pi
+\let\upSigma\Sigma
+\let\upUpsilon\Upsilon
+\let\upPhi\Phi
+\let\upPsi\Psi
% \end{macrocode}
%
% \subsection{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{size}$ is recommended.
-% In order to overwrite the +\baselineskip+ defined in the commands
-% like +\normalsize+, +\small+, etc., we use a trick from Frank Jensen's
-% package \textsf{beton} (v1.3).
-% First we set up a table containing our +\baselineskip+ values:
+% The \verb+\baselineskip+ should be larger than with CM Roman. For text sizes,
+% i.e., 8--12\,pt, a value of $1.25 \times \mathrm{size}$ is recommended.
+% In order to overwrite the \verb+\baselineskip+ defined in the commands
+% like \cmd{\normalsize}, \cmd{\small}, etc., we use a trick from Frank Jensen's
+% package \Lpack{beton} (v1.3).
+% First we set up a table containing our \verb+\baselineskip+ values:
% \begin{macrocode}
\def\bright@baselineskip@table
{<\@viiipt>10<\@ixpt>11.25<\@xpt>12.5<\@xipt>13.7<\@xiipt>15}
% \end{macrocode}
-% All the standard \LaTeX\ size-changing commands (+\small+, +\large+,
-% etc.)\ are defined in terms of the +\@setfontsize+ macro. This
-% macro is called with the following three arguments: +#1+~is the
-% size-changing command; +#2+~is the font size; +#3+~is the
-% +\baselineskip+ value. We modify this macro to check
-% the above +\bright@baselineskip@table+ for an alternative +\baselineskip+
+% All the standard \LaTeX\ size-changing commands
+% are defined in terms of the \cmd{\@setfontsize} macro. This
+% macro is called with the following three arguments: \verb+#1+~is the
+% size-changing command; \verb+#2+~is the font size; \verb+#3+~is the
+% \verb+\baselineskip+ value. We modify this macro to check
+% the above \verb+\bright@baselineskip@table+ for an alternative \verb+\baselineskip+
% value:
% \begin{macrocode}
\def\bright@setfontsize#1#2#3%
@@ -345,149 +361,316 @@
\fi
\old@setfontsize{#1}{#2}\bright@baselineskip@value}
% \end{macrocode}
-% Now we redefine +\@setfontsize+:
+% Finally, we save the default meaning of \cmd{\@setfontsize}\dots
% \begin{macrocode}
\let\old@setfontsize=\@setfontsize
-\let\@setfontsize=\bright@setfontsize
% \end{macrocode}
-% The +\baselineskip+ values specified in the above table should be
+% \dots and declare an option to set up tbe enlarged line space:
+% \begin{macrocode}
+\DeclareOption{enlarged-baselineskips}{%
+ \let\@setfontsize=\bright@setfontsize}
+% \end{macrocode}
+% The \verb+\baselineskip+ values specified in the above table should be
% appropriate for most purposes, i.e., for one-column material in the
% normal article/report/book formats. However, it is sometimes
-% desirable to use a smaller value for +\baselineskip+, e.g.\ in two-column
-% material. We therefore provide an option
-% to turn off the above automatic mechanism for +\baselineskip+ settings:
+% desirable to turn off the above automatic mechanism:
% \begin{macrocode}
\DeclareOption{standard-baselineskips}{%
\let\@setfontsize=\old@setfontsize}
% \end{macrocode}
-% Note that the +\let+-assignment has to be executed after
-% +\old@setfontsize+ has been defined; this is ensured by
-% the fact that options are processed at the end of the package.
%
-% \subsection{Old-style numerals}
-% Old-style numerals are to be 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'~etc.
%
% \subsection{Missing symbols}
-% The OT1 encoded CM Bright fonts do not contain the symbol \pounds.
+% The OT1 encoded CM~Bright fonts do not contain the symbol \pounds.
% We must therefore redefine the
-% commands +\textsterling+ and +\mathsterling+.
-% They will now use the roman text font family:
+% commands \cmd{\textsterling} and \cmd{\mathsterling}, so that they use
+% the roman text font family:
% \begin{macrocode}
\DeclareTextCommand{\textsterling}{OT1}{{%
- \rmfamily
\ifdim \fontdimen\@ne\font >\z@
- \itshape
+ \fontfamily{\rmdefault}\fontshape{it}\selectfont
\else
- \fontshape{ui}\selectfont
+ \fontfamily{\rmdefault}\fontshape{ui}\selectfont
\fi
\char`\$}}
-\def\mathsterling{\textsl{\textsterling}}
% \end{macrocode}
-% Since there is no `caps and small caps' font shape, the definition of
-% \textregistered\ must be changed:
+% The following is not entirely correct, because the size will be wrong
+% in super- or subscripts:
% \begin{macrocode}
-\DeclareTextCommandDefault{\textregistered}{%
- \textcircled{{\rmfamily\scshape r}}}
+\def\mathsterling{\textsl{\textsterling}}
% \end{macrocode}
%
-% \subsection{Defining the AMS symbol fonts}
-% In case the package \textsf{amsfonts} is loaded additionally,
-% the CM Bright versions of the AMS symbol fonts are to be used.
-% The \textsf{amsfonts} package, when loaded with the \texttt[psamsfonts] option,
+% \subsection{Declaring the AMS symbol fonts}
+% In case the package \Lpack{amsfonts} is loaded additionally,
+% the CM~Bright versions of the AMS symbol fonts are to be used.
+% The \Lpack{amsfonts} package, when loaded with the \texttt[psamsfonts] option,
% will issue its own font definition commands, so we have to defer ours
% after loading of the packages, so as not to let them be overwritten.
% \begin{macrocode}
\AtBeginDocument{%
\DeclareFontFamily{U}{msa}{}
\DeclareFontShape{U}{msa}{m}{n}{%
- <5><6><7><8>cmbras8%
- <9>cmbras9%
- <10><10.95><12><14.4><17.28><20.74><24.88>cmbras10%
+ <-9>cmbras8%
+ <9-10>cmbras9%
+ <10->cmbras10%
}{}
\DeclareFontFamily{U}{msb}{}
\DeclareFontShape{U}{msb}{m}{n}{%
- <5><6><7><8>cmbrbs8%
- <9>cmbrbs9%
- <10><10.95><12><14.4><17.28><20.74><24.88>cmbrbs10%
+ <-9>cmbrbs8%
+ <9-10>cmbrbs9%
+ <10->cmbrbs10%
}{}
}
% \end{macrocode}
%
-
-% \subsection{Patches for obsolete \LaTeX{} releases}
-% 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:
+% \subsection{Logos}
+% The definitions of the \TeX\ and \LaTeX\ logos must be adapted to work
+% with the CM Bright fonts:
% \begin{macrocode}
-%<*patch>
-\typeout{* This package `cmbright' contains patches}
-\typeout{* to be used with obsolete versions of LaTeX.}
-\typeout{* However, if your LaTeX is from 1995/06/01 or newer,}
-\typeout{* you MUST redo the installation of the package,}
-\typeout{* in order to generate it again, without the patches!}
-\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>
+\def\TeX{T\kern-.19em\lower.5ex\hbox{E}\kern-.05emX\@}
+\DeclareRobustCommand{\LaTeX}{L\kern-.3em%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern-.15em%
+ \TeX}
+\DeclareRobustCommand{\LaTeXe}{\mbox{\m@th
+ \if b\expandafter\@car\f@series\@nil\boldmath\fi
+ \LaTeX\kern.15em2$_{\textstyle\varepsilon}$}}
% \end{macrocode}
%
% \subsection{Processing the options}
% \begin{macrocode}
+\ExecuteOptions{enlarged-baselineskips}
\ProcessOptions\relax
% \end{macrocode}
%
% \subsection{Initialization}
% We ensure that any package loaded after \texttt{cmbright}
-% will find the new value of +\baselineskip+
-% and the new +\normalfont+, which has a larger `em' than CM Roman.
+% will find the (possibly) changed value of the line space, as well as
+% the changed default font.
% \begin{macrocode}
\normalfont\normalsize
+%</package>
+% \end{macrocode}
+%
+% \section{The font definition files}
+%
+% \subsection{CM~Bright, OT1 encoding}
+%
+% \begin{macrocode}
+%<*cm>
+\DeclareFontFamily{OT1}{cmbr}{\hyphenchar\font45}
+\DeclareFontShape{OT1}{cmbr}{m}{n}{%
+<-9>cmbr8%
+<9-10>cmbr9%
+<10-17>cmbr10%
+<17->cmbr17%
+}{}
+\DeclareFontShape{OT1}{cmbr}{m}{sl}{%
+<-9>cmbrsl8%
+<9-10>cmbrsl9%
+<10-17>cmbrsl10%
+<17->cmbrsl17%
+}{}
+\DeclareFontShape{OT1}{cmbr}{m}{it}{%
+<->ssub*cmbr/m/sl%
+}{}
+\DeclareFontShape{OT1}{cmbr}{b}{n}{%
+<->ssub*cmbr/bx/n%
+}{}
+\DeclareFontShape{OT1}{cmbr}{bx}{n}{%
+<-9>sub*cmbr/m/n%
+<9->cmbrbx10%
+}{}
%</cm>
% \end{macrocode}
%
-% \section*{This file \ldots}
-% \ldots{} +cmbright.dtx+ contains the following
-% DocStrip modules:
-% \begin{quote}
-% \begin{tabular}{ll}
-% module: & contents:\\[0.5ex]
-% +cm+ & package +cmbright+\\
-% +driver+ & driver for documentaion \\
-% +patch+ & patches for \LaTeX{} release $<$ June 1995
-% \end{tabular}
-% \end{quote}
-% The module +patch+ should only be selected together with +cm+.
-% \vspace{1ex}
+% \subsection{CM~Bright, T1 encoding}
+%
+% \begin{macrocode}
+%<*ec>
+\DeclareFontFamily{T1}{cmbr}{}
+\DeclareFontShape{T1}{cmbr}{m}{n}{%
+<-9>ebmr8%
+<9-10>ebmr9%
+<10-17>ebmr10%
+<17->ebmr17%
+}{}
+\DeclareFontShape{T1}{cmbr}{m}{sl}{%
+<-9>ebmo8%
+<9-10>ebmo9%
+<10-17>ebmo10%
+<17->ebmo17%
+}{}
+\DeclareFontShape{T1}{cmbr}{m}{it}{%
+<->ssub*cmbr/m/sl%
+}{}
+\DeclareFontShape{T1}{cmbr}{sb}{n}{%
+<-9>ebsr8%
+<9-10>ebsr9%
+<10-17>ebsr10%
+<17->ebsr17%
+}{}
+\DeclareFontShape{T1}{cmbr}{sb}{sl}{%
+<-9>ebso8%
+<9-10>ebso9%
+<10-17>ebso10%
+<17->ebso17%
+}{}
+\DeclareFontShape{T1}{cmbr}{sb}{it}{%
+<->ssub*cmbr/sb/sl%
+}{}
+\DeclareFontShape{T1}{cmbr}{b}{n}{%
+<->ssub*cmbr/bx/n%
+}{}
+\DeclareFontShape{T1}{cmbr}{bx}{n}{%
+<-9>sub*cmbr/sb/n%
+<9->ebbx10%
+}{}
+%</ec>
+% \end{macrocode}
+%
+% \subsection{CM Typewriter Light, OT1 encoding}
%
+% \begin{macrocode}
+%<*ot1cmtl>
+\DeclareFontFamily{OT1}{cmtl}{\hyphenchar\font\m@ne}
+\DeclareFontShape{OT1}{cmtl}{m}{n}{%
+<->cmtl10%
+}{}
+\DeclareFontShape{OT1}{cmtl}{m}{sl}{%
+<->cmsltl10%
+}{}
+\DeclareFontShape{OT1}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{}
+%</ot1cmtl>
+% \end{macrocode}
+%
+% \subsection{CM Typewriter Light, T1 encoding}
+%
+% \begin{macrocode}
+%<*t1cmtl>
+\DeclareFontFamily{T1}{cmtl}{\hyphenchar\font\m@ne}
+\DeclareFontShape{T1}{cmtl}{m}{n}{%
+<->ebtl10%
+}{}
+\DeclareFontShape{T1}{cmtl}{m}{sl}{%
+<->ebto10%
+}{}
+\DeclareFontShape{T1}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{}
+%</t1cmtl>
+% \end{macrocode}
+%
+% \subsection{CM~Bright Math Inclined, OML encoding}
+%
+% \begin{macrocode}
+%<*omlcmbrm>
+\DeclareFontFamily{OML}{cmbrm}{\skewchar\font 127}
+\DeclareFontShape{OML}{cmbrm}{m}{it}{%
+<-9>cmbrmi8%
+<9-10>cmbrmi9%
+<10->cmbrmi10%
+}{}
+\DeclareFontShape{OML}{cmbrm}{b}{it}{%
+<->cmbrmb10%
+}{}
+%</omlcmbrm>
+% \end{macrocode}
+%
+% \subsection{CM~Bright Symbols, OMS encoding}
+%
+% \begin{macrocode}
+%<*omscmbrs>
+\DeclareFontFamily{OMS}{cmbrs}{\skewchar\font 48}
+\DeclareFontShape{OMS}{cmbrs}{m}{n}{%
+<-9>cmbrsy8%
+<9-10>cmbrsy9%
+<10->cmbrsy10%
+}{}
+%</omscmbrs>
+% \end{macrocode}
+%
+% \subsection{CM~Bright, OML encoding}
+% We need this for some special tex symbols which may be taken from
+% the `math italic' font.
+% \begin{macrocode}
+%<*omlcmbr>
+\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}{}
+%</omlcmbr>
+% \end{macrocode}
+%
+% \subsection{CM~Bright, OMS encoding}
+% We need this for some special text symbols which may be taken from
+% the mathematical symbol font.
+% \begin{macrocode}
+%<*omscmbr>
+\DeclareFontFamily{OMS}{cmbr}{\skewchar\font 48}
+\DeclareFontShape{OMS}{cmbr}{m}{n}{<->ssub*cmbrs/m/n}{}
+%</omscmbr>
+% \end{macrocode}
+%
+% \subsection{CM~Bright, TS1 encoding}
+%
+% \begin{macrocode}
+%<*ts1cmbr>
+\DeclareFontFamily{TS1}{cmbr}{\hyphenchar\font\m@ne}
+\DeclareFontShape{TS1}{cmbr}{m}{n}{%
+<-9>tbmr8%
+<9-10>tbmr9%
+<10-17>tbmr10%
+<17->tbmr17%
+}{}
+\DeclareFontShape{TS1}{cmbr}{m}{sl}{%
+<-9>tbmo8%
+<9-10>tbmo9%
+<10-17>tbmo10%
+<17>tbmo17%
+}{}
+\DeclareFontShape{TS1}{cmbr}{m}{it}{%
+<->ssub*cmbr/m/sl}{}
+\DeclareFontShape{TS1}{cmbr}{sb}{n}{%
+<-9>tbsr8%
+<9-10>tbsr9%
+<10-17>tbsr10%
+<17->tbsr17%
+}{}
+\DeclareFontShape{TS1}{cmbr}{sb}{sl}{%
+<-9>tbso8%
+<9-10>tbso9%
+<10-17>tbso10%
+<17->tbso17%
+}{}
+\DeclareFontShape{TS1}{cmbr}{sb}{it}{<->ssub*cmbr/sb/sl}{}
+\DeclareFontShape{TS1}{cmbr}{b}{n}{<->ssub*cmbr/bx/n}{}
+\DeclareFontShape{TS1}{cmbr}{bx}{n}{%
+<-9>sub*cmbr/sb/n%
+<9->tbbx10%
+}{}
+%</ts1cmbr>
+% \end{macrocode}
+%
+% \subsection{CM Typewriter Light, TS1 encoding}
+%
+% \begin{macrocode}
+%<*ts1cmtl>
+\DeclareFontFamily{TS1}{cmtl}{\hyphenchar\font\m@ne}
+\DeclareFontShape{TS1}{cmtl}{m}{n}{%
+<->tbtl10%
+}{}
+\DeclareFontShape{TS1}{cmtl}{m}{sl}{%
+<->tbto10%
+}{}
+\DeclareFontShape{TS1}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{}
+%</ts1cmtl>
+% \end{macrocode}
+%
% The next line of code prevents DocStrip from adding the
% character table to all modules:
% \begin{macrocode}
@@ -510,4 +693,3 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
-