%\CheckSum{368} % % \iffalse % % File `cmbright.dtx'. % Copyright (c) 1994--2005 Walter Schmidt % % 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.3 or later is part of all distributions of LaTeX % version 2003/12/01 or later. % % 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 % %\ProvidesFile{ot1cmbr.fd} %\ProvidesFile{t1cmbr.fd} %\ProvidesFile{ts1cmbr.fd} %\ProvidesFile{ot1cmtl.fd} %\ProvidesFile{t1cmtl.fd} %\ProvidesFile{ts1cmtl.fd} %\ProvidesFile{omlcmbrm.fd} %\ProvidesFile{omscmbrs.fd} %\ProvidesFile{omlcmbr.fd} %\ProvidesFile{omscmbr.fd} %\ProvidesPackage{cmbright} %<*driver> \ProvidesFile{cmbright.drv} % [2005/04/13 v8.1 (WaS)] % %<*driver> \documentclass[11pt]{ltxdoc} \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 \leftmarginiii=2em \leftmarginiv=2em \leftmargin\leftmargini \labelwidth\leftmargin \advance\labelwidth by -\labelsep \begin{document} \DocInput{cmbright.dtx} \end{document} % % \fi % % \GetFileInfo{cmbright.drv} % \DeleteShortVerb{\|} % % \title{Using the CM Bright typeface with \LaTeX} % \author{Walter Schmidt\thanks{{\ttfamily w-a-schmidt@gmx.net}}} % \date{(\fileversion{} -- \filedate)} % \maketitle % % \section{The CM Bright fonts} % `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, 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, % 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 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 macro package `cmbright'} % % \subsection{Basics} % The macro package \Lpack{cmbright} % supports the use of the typeface family CM~Bright with \LaTeX: % Loading the package % \begin{verse} % \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} (CM~Bright). % \item % 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{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, 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 \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 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} % \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 % 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} % % ^^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} \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 CM~Typewriter 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} \SetSymbolFont {letters}{bold} {OML}{cmbrm}{b}{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, \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. % % We make a bold slanted mathematical alphabet available: % \begin{macrocode} \DeclareMathAlphabet{\mathbold}{OML}{cmbrm}{b}{it} % \end{macrocode} % % The command \cmd{\mathbold} should act on lowercase Greek, 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{\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} } % \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 \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 % 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% {\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} % Finally, we save the default meaning of \cmd{\@setfontsize}\dots % \begin{macrocode} \let\old@setfontsize=\@setfontsize % \end{macrocode} % \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 turn off the above automatic mechanism: % \begin{macrocode} \DeclareOption{standard-baselineskips}{% \let\@setfontsize=\old@setfontsize} % \end{macrocode} % % % \subsection{Missing symbols} % The OT1 encoded CM~Bright fonts do not contain the symbol \pounds. % We must therefore redefine the % commands \cmd{\textsterling} and \cmd{\mathsterling}, so that they use % the roman text font family: % \begin{macrocode} \DeclareTextCommand{\textsterling}{OT1}{{% \ifdim \fontdimen\@ne\font >\z@ \fontfamily{\rmdefault}\fontshape{it}\selectfont \else \fontfamily{\rmdefault}\fontshape{ui}\selectfont \fi \char`\$}} % \end{macrocode} % The following is not entirely correct, because the size will be wrong % in super- or subscripts: % \begin{macrocode} \def\mathsterling{\textsl{\textsterling}} % \end{macrocode} % % \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}{% <-9>cmbras8% <9-10>cmbras9% <10->cmbras10% }{} \DeclareFontFamily{U}{msb}{} \DeclareFontShape{U}{msb}{m}{n}{% <-9>cmbrbs8% <9-10>cmbrbs9% <10->cmbrbs10% }{} } % \end{macrocode} % % \subsection{Logos} % The definitions of the \TeX\ and \LaTeX\ logos must be adapted to work % with the CM Bright fonts: % \begin{macrocode} \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 (possibly) changed value of the line space, as well as % the changed default font. % \begin{macrocode} \normalfont\normalsize % % \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% }{} % % \end{macrocode} % % \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% }{} % % \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}{} % % \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}{} % % \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% }{} % % \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% }{} % % \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}{} % % \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}{} % % \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% }{} % % \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}{} % % \end{macrocode} % % 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 \~} %%