%\CheckSum{329} % % \iffalse % % File `cmbright.dtx'. % Copyright (c) 1994--2002 Walter Schmidt % % This program may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.2 % 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. % % This program consists of the files cmbright.dtx, cmbr.fdd and % cmbright.ins. % % \fi % % \iffalse % \NeedsTeXFormat{LaTeX2e} % [1995/06/01] %<*driver> \ProvidesFile{cmbright.drv} % %<+cm>\ProvidesPackage{cmbright} [2002/05/25 v7.1 (WaS)] % %<*driver> \documentclass[11pt]{ltxdoc} \usepackage{mflogo,url} \CodelineNumbered \parindent1em \leftmargini=2em \leftmarginii=2em \leftmarginiii=2em \leftmarginiv=2em \leftmargin\leftmargini \labelwidth\leftmargin \advance\labelwidth by -\labelsep \begin{document} \DocInput{cmbright.dtx} \end{document} % % \fi % % \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}}} % \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 % shapes as well as all the fonts necessary for mathematical % typesetting, incl.\ 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, % in contrast, is more appropriate for markup purposes within % a CM Roman environment. % % 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}. % % The fonts are also available in Type1 format from % MicroPress~Inc, see % \path{}. % % \section{The \LaTeX{} macro package \textsf{cmbright}} % % \subsection{Description} % The \LaTeX{} macro package \textsf{cmbright} % supports typesetting with the font family CM Bright. % Loading the package % \begin{verse} % +\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. % \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}$. % \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{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} % \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 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}. % \end{itemize} % % % \begin{table}[hbt] % \caption{NFSS classification of the Computer Modern Bright 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 % 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 % OML & cmbrm & m, b & it \\ \hline % OMS & cmbrs & m & n \\ \hline \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} % % \StopEventually{} % % \section{The package code} % % \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: % \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: % \begin{macrocode} \renewcommand{\ttdefault}{cmtl} % \end{macrocode} % % \subsection{Mathematical fonts} % Default 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: % 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: % \begin{macrocode} \DeclareMathAlphabet{\mathbold}{OML}{cmbrm}{b}{it} % \end{macrocode} % % The command +\mathbold+ should act on lowercase greek letters, too: % \begin{macrocode} \DeclareMathSymbol{\alpha}{\mathalpha}{letters}{11} \DeclareMathSymbol{\beta}{\mathalpha}{letters}{12} \DeclareMathSymbol{\gamma}{\mathalpha}{letters}{13} \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} \DeclareMathSymbol{\kappa}{\mathalpha}{letters}{20} \DeclareMathSymbol{\lambda}{\mathalpha}{letters}{21} \DeclareMathSymbol{\mu}{\mathalpha}{letters}{22} \DeclareMathSymbol{\nu}{\mathalpha}{letters}{23} \DeclareMathSymbol{\xi}{\mathalpha}{letters}{24} \DeclareMathSymbol{\pi}{\mathalpha}{letters}{25} \DeclareMathSymbol{\rho}{\mathalpha}{letters}{26} \DeclareMathSymbol{\sigma}{\mathalpha}{letters}{27} \DeclareMathSymbol{\tau}{\mathalpha}{letters}{28} \DeclareMathSymbol{\upsilon}{\mathalpha}{letters}{29} \DeclareMathSymbol{\phi}{\mathalpha}{letters}{30} \DeclareMathSymbol{\chi}{\mathalpha}{letters}{31} \DeclareMathSymbol{\psi}{\mathalpha}{letters}{32} \DeclareMathSymbol{\omega}{\mathalpha}{letters}{33} \DeclareMathSymbol{\varepsilon}{\mathalpha}{letters}{34} \DeclareMathSymbol{\vartheta}{\mathalpha}{letters}{35} \DeclareMathSymbol{\varpi}{\mathalpha}{letters}{36} \DeclareMathSymbol{\varrho}{\mathalpha}{letters}{37} \DeclareMathSymbol{\varsigma}{\mathalpha}{letters}{38} \DeclareMathSymbol{\varphi}{\mathalpha}{letters}{39} % \end{macrocode} % % The \texttt{slantedGreek} option: % \begin{macrocode} \DeclareOption{slantedGreek}{% \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{0} \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{1} \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{2} \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{3} \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{4} \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{5} \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{6} \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{7} \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{8} \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{9} \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{10} } \let\upOmega\Omega \let\upDelta\Delta % \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: % \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+ % value: % \begin{macrocode} \def\bright@setfontsize#1#2#3% {\edef\@tempa{\def\noexpand\@tempb####1<#2}% \@tempa>##2<##3\@nil{\def\bright@baselineskip@value{##2}}% \edef\@tempa{\noexpand\@tempb\bright@baselineskip@table<#2}% \@tempa><\@nil \ifx\bright@baselineskip@value\@empty \def\bright@baselineskip@value{#3}% \fi \old@setfontsize{#1}{#2}\bright@baselineskip@value} % \end{macrocode} % Now we redefine +\@setfontsize+: % \begin{macrocode} \let\old@setfontsize=\@setfontsize \let\@setfontsize=\bright@setfontsize % \end{macrocode} % The +\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: % \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. % We must therefore redefine the % commands +\textsterling+ and +\mathsterling+. % They will now use the roman text font family: % \begin{macrocode} \DeclareTextCommand{\textsterling}{OT1}{{% \rmfamily \ifdim \fontdimen\@ne\font >\z@ \itshape \else \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: % \begin{macrocode} \DeclareTextCommandDefault{\textregistered}{% \textcircled{{\rmfamily\scshape r}}} % \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, % 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% }{} \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% }{} } % \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: % \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} % % \end{macrocode} % % \subsection{Processing the options} % \begin{macrocode} \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. % \begin{macrocode} \normalfont\normalsize % % \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} % % 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 \~} %%