summaryrefslogtreecommitdiff
path: root/macros/latex/base/fix-cm.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/base/fix-cm.dtx
Initial commit
Diffstat (limited to 'macros/latex/base/fix-cm.dtx')
-rw-r--r--macros/latex/base/fix-cm.dtx829
1 files changed, 829 insertions, 0 deletions
diff --git a/macros/latex/base/fix-cm.dtx b/macros/latex/base/fix-cm.dtx
new file mode 100644
index 0000000000..b4311efa3c
--- /dev/null
+++ b/macros/latex/base/fix-cm.dtx
@@ -0,0 +1,829 @@
+% \iffalse meta-comment
+%
+% Copyright 1993-2016
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+%
+% \iffalse
+%
+%<*dtx>
+ \ProvidesFile{fix-cm.dtx}
+%</dtx>
+%<fix-cm>\NeedsTeXFormat{LaTeX2e}
+%<fix-cm>\ProvidesPackage{fix-cm}
+%<driver>\ProvidesFile{fix-cm.drv}
+% \fi
+% \ProvidesFile{fix-cm.dtx}
+ [2015/01/14 v1.1t fixes to LaTeX]
+%
+% \iffalse
+%<*driver>
+ \documentclass{ltxdoc}
+ \newcommand\Lopt[1]{\textsf{#1}}
+ \let\Lpack\Lopt
+ \providecommand{\file}[1]{\texttt{#1}}
+ \providecommand{\MF}{\textsf{Metafont}}
+ \providecommand{\danger}{\marginpar[\hfill\protect\Huge!!]{\protect\Huge!!\hfill}}
+ \begin{document}
+ \DocInput{fix-cm.dtx}
+ \end{document}
+%</driver>
+% \fi
+%
+%
+%
+%
+%
+% \let\package\textsf
+%
+%
+% \GetFileInfo{fix-cm.dtx}
+%
+% \title{The \Lpack{fix-cm} package\thanks{This file
+% has version number \fileversion, last
+% revised \filedate.}}
+% \author{Frank Mittelbach, David Carlisle, Chris Rowley, Walter
+% Schmidt\thanks{Walter wrote \Lpack{fix-cm}}}
+% \date{\filedate}
+% \MaintainedByLaTeXTeam{latex}
+% \maketitle
+%
+% \begin{abstract}
+%\Lpack{fix-cm} improves the definitions of the Computer Modern
+% font families.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \newpage
+%
+% \section{Introduction}
+%
+%
+% \begin{sloppypar}
+% To use the \Lpack{fix-cm} package,
+% load \danger it \emph{before} \cmd{\documentclass},
+% and use the command \cmd{\RequirePackage} to do so, rather than the
+% normal \cmd{\usepackage}:
+% \end{sloppypar}
+% \begin{verse}
+% |\RequirePackage{fix-cm}|\\
+% |\documentclass| \dots
+% \end{verse}
+%
+%
+% \section{Using EC fonts (T1 encoding) makes my documents look
+% different}
+%
+% No I'm not trying to collect any cites from the news group
+% discussion on this topic. In a nutshell, if one adds
+%\begin{verbatim}
+%\usepackage[T1]{fontenc}
+%\end{verbatim}
+% to a document that uses the Computer Modern typefaces,
+% then not only the T1 encoding is used but the fonts
+% used in the document look noticeably different. This is due to the fact
+% that the EC fonts have more font series designs, e.g.\ a 14.4\,pt bold
+% etc and those get used in the standard \texttt{.fd} files, while
+% with Computer Modern (in OT1 encoding) such sizes were scaled
+% versions of smaller sizes---with a noticeable different look and
+% feel.
+%
+% So we provide a package \Lpack{fix-cm} to ensure that comparable
+% definitions are used. In addition to that, the package
+% \Lpack{fix-cm} also enables continuous scaling of the CM fonts.
+% This package was written by Walter Schmidt.
+%
+%%
+%^^A The documentation in this section was prepared by Walter Schmidt.
+%
+%
+%
+% \subsection{What \Lpack{fix-cm} does}
+%
+
+% Loading the package \Lpack{fix-cm} changes the font definitions of the
+% Computer Modern fonts, in order to achieve the following effects:
+% \begin{itemize}
+% \item
+% The appearance of the T1 and TS1 encoded CM fonts (aka `EC') is
+% made as similar as possible to the traditional (OT1 encoded) ones.
+% Particularly, a number of broken or ugly design sizes are no
+% longer used, the look of the bold sans serif typeface at large
+% sizes is considerably improved, and mismatches between the text
+% fonts and the corresponding math fonts are avoided. As a side
+% effect, PostScript and PDF documents may become smaller, because
+% fewer fonts need to be embedded.
+% \item
+% The Computer Modern fonts are made available with arbitrary sizes.
+% \item
+% Only those design sizes of the fonts will be used, that are
+% normally available in Type1 format, too. You need not load the
+% extra package \Lpack{cmmib57} for this purpose.
+% \end{itemize}
+% The package acts on the following font families:
+% \begin{itemize}
+% \item
+% The text font families \file{cmr}, \file{cmss}, \file{cmtt} and
+% \file{cmvtt} with OT1, T1 and TS1 encoding.
+% \item
+% The default math fonts used by \LaTeX, i.e., the font families
+% \file{cmm} with encoding OML and \file{cms} with encoding OMS.
+% \item
+% The symbols used by the package \Lpack{latexsym}, i.e., the font
+% family \file{lasy}.
+% \end{itemize}
+% Note that the package does \emph{not} act on:
+% \begin{itemize}
+% \item Font families such as CM~Fibonacci, CM~Dunhill etc.,
+% which are provided for experimental purposes or for fun only.
+% \item
+% CM text fonts with character sets other than Latin, e.g.,
+% Cyrillic. Loading of the required font and encoding definitions
+% while the fonts are not actually used, would not be a good idea.
+% This should be addressed by particular packages or by changing the
+% standard FDs of these fonts.
+% \item
+% Extra math fonts such as the AMS symbol fonts. While
+% they match the style of Computer Modern, they are frequently used
+% in conjunction with other font families, too. Thus,
+% \Lpack{fix-cm} is obviously not the right place to make sure that
+% they can be scaled continuously. Ask the maintainers of these
+% fonts to provide this feature, which is badly needed!
+% \item
+% The math extension font \file{cmex}. Whether or not this font
+% should be scaled is a question of its own, and there are other
+% packages (\Lpack{exscale}, \Lpack{amsmath}, \Lpack{amsfonts}) to
+% take care of it.
+% \end{itemize}
+%
+% \subsection{How to load the package}
+% \begin{sloppypar}
+% The package should be loaded \danger \emph{before} \cmd{\documentclass},
+% using the command |\RequirePackage{fix-cm}|, rather than the
+% normal \cmd{\usepackage}.
+% Rationale:
+% If the package is loaded in the preamble, a preceding package or
+% even the code of the document class may have used any of the CM
+% fonts already. However, the definitions of those fonts, that are
+% already in use, cannot be changed any more.
+% \end{sloppypar}
+%
+% \subsection{Usage notes}
+% In contrast to what you may expect, \Lpack{fix-cm} does \emph{not}
+% ensure that line and page breaks stay the same, when you switch an
+% existing document from OT1 to T1 encoding. The package does not
+% turn off all of the additional design sizes in the EC fonts
+% collection: Those, that contribute considerably to the typographical
+% quality and do not conflict with the math fonts,
+% are---indeed---used.
+%
+% Be careful when using arbitrary, non-standard font sizes with
+% applications that need bitmap fonts: You may end up \danger with
+% lots of possibly huge \file{.pk} files. Also, \MF{} chokes
+% sometimes on extremely small or large sizes, because of arithmetic
+% problems.
+%
+% \Lpack{fix-cm} supersedes the experimental packages \Lpack{cmsd} and
+% \Lpack{fix-ec}, which are no longer distributed.
+%
+% The packages \Lpack{type1cm} and \Lpack{type1ec} must not be loaded
+% additionally; they enable only continuous scaling.
+%
+%
+%
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% \subsection{Preliminaries}
+% The \LaTeX{} kernel does not declare the font encoding TS1.
+% However, we are going to set up font definitions for this encoding,
+% so we have to declare it now.
+% \begin{macrocode}
+%<*fix-cm>
+\input{ts1enc.def}
+% \end{macrocode}
+%
+% In case the package is loaded in the preamble, any of the CM fonts may
+% have been used already and cannot be redefined. Yet we try to
+% intercept at least the problem that is most likely to occur, i.e.,
+% a hidden \cmd{\normalfont}. Most of the standard definitions
+% are ok, but those for T1 encoding and 10.95\,pt need to be removed:
+% \begin{macrocode}
+\expandafter \let \csname T1/cmr/m/n/10.95\endcsname \relax
+\expandafter \let \csname T1/cmss/m/n/10.95\endcsname \relax
+\expandafter \let \csname T1/cmtt/m/n/10.95\endcsname \relax
+\expandafter \let \csname T1/cmvtt/m/n/10.95\endcsname \relax
+% \end{macrocode}
+%
+% \Lpack{fix-cm} may still fail, if the EC fonts are preloaded in the
+% \LaTeX{} format file. This situation is, however, very unlikely and could occur
+% only with a customized format.
+%
+% The remainder of the package is enclosed in a group, where the catcodes
+% are guaranteed to be appropriate for the processing of font definitions.
+% \begin{macrocode}
+\begingroup
+\nfss@catcodes
+% \end{macrocode}
+%
+% \subsection{T1 encoding}
+%
+% \paragraph{CM Roman}
+% \begin{macrocode}
+\DeclareFontFamily{T1}{cmr}{}
+\DeclareFontShape{T1}{cmr}{m}{n}{
+ <-6> ecrm0500
+ <6-7> ecrm0600
+ <7-8> ecrm0700
+ <8-9> ecrm0800
+ <9-10> ecrm0900
+ <10-12> ecrm1000
+ <12-17> ecrm1200
+ <17-> ecrm1728
+ }{}
+\DeclareFontShape{T1}{cmr}{m}{sl}{
+ <-6> ecsl0500
+ <6-7> ecsl0600
+ <7-8> ecsl0700
+ <8-9> ecsl0800
+ <9-10> ecsl0900
+ <10-12> ecsl1000
+ <12-17> ecsl1200
+ <17-> ecsl1728
+ }{}
+\DeclareFontShape{T1}{cmr}{m}{it}{
+ <-8> ecti0700
+ <8-9> ecti0800
+ <9-10> ecti0900
+ <10-12> ecti1000
+ <12-17> ecti1200
+ <17-> ecti1728
+ }{}
+\DeclareFontShape{T1}{cmr}{m}{sc}{
+ <-6> eccc0500
+ <6-7> eccc0600
+ <7-8> eccc0700
+ <8-9> eccc0800
+ <9-10> eccc0900
+ <10-12> eccc1000
+ <12-17> eccc1200
+ <17-> eccc1728
+ }{}
+\DeclareFontShape{T1}{cmr}{m}{ui}{
+ <-8> ecui0700
+ <8-9> ecui0800
+ <9-10> ecui0900
+ <10-12> ecui1000
+ <12-17> ecui1200
+ <17-> ecui1728
+ }{}
+\DeclareFontShape{T1}{cmr}{b}{n}{
+ <-6> ecrb0500
+ <6-7> ecrb0600
+ <7-8> ecrb0700
+ <8-9> ecrb0800
+ <9-10> ecrb0900
+ <10-12> ecrb1000
+ <12-17> ecrb1200
+ <17-> ecrb1728
+ }{}
+\DeclareFontShape{T1}{cmr}{bx}{n}{
+ <-6> ecbx0500
+ <6-7> ecbx0600
+ <7-8> ecbx0700
+ <8-9> ecbx0800
+ <9-10> ecbx0900
+ <10-12> ecbx1000
+ <12-> ecbx1200
+ }{}
+\DeclareFontShape{T1}{cmr}{bx}{sl}{
+ <-6> ecbl0500
+ <6-7> ecbl0600
+ <7-8> ecbl0700
+ <8-9> ecbl0800
+ <9-10> ecbl0900
+ <10-12> ecbl1000
+ <12-> ecbl1200
+ }{}
+\DeclareFontShape{T1}{cmr}{bx}{it}{
+ <-8> ecbi0700
+ <8-9> ecbi0800
+ <9-10> ecbi0900
+ <10-12> ecbi1000
+ <12-> ecbi1200
+ }{}
+\DeclareFontShape{T1}{cmr}{bx}{sc}{
+ <-6> ecxc0500
+ <6-7> ecxc0600
+ <7-8> ecxc0700
+ <8-9> ecxc0800
+ <9-10> ecxc0900
+ <10-12> ecxc1000
+ <12-> ecxc1200
+ }{}
+%
+% \end{macrocode}
+%
+% \paragraph{CM Sans}
+% \begin{macrocode}
+\DeclareFontFamily{T1}{cmss}{}
+\DeclareFontShape{T1}{cmss}{m}{n}{
+ <-9> ecss0800
+ <9-10> ecss0900
+ <10-12> ecss1000
+ <12-17> ecss1200
+ <17-> ecss1728
+ }{}
+\DeclareFontShape{T1}{cmss}{m}{sl}{
+ <-9> ecsi0800
+ <9-10> ecsi0900
+ <10-12> ecsi1000
+ <12-17> ecsi1200
+ <17-> ecsi1728
+ }{}
+\DeclareFontShape{T1}{cmss}{m}{it}
+ {<->ssub*cmss/m/sl}{}
+\DeclareFontShape{T1}{cmss}{m}{sc}
+ {<->sub*cmr/m/sc}{}
+\DeclareFontShape{T1}{cmss}{sbc}{n}{
+ <-> ecssdc10
+ }{}
+\DeclareFontShape{T1}{cmss}{bx}{n}{
+ <-10> ecsx0900
+ <10-> ecsx1000
+ }{}
+\DeclareFontShape{T1}{cmss}{bx}{sl}{
+ <-10> ecso0900
+ <10-> ecso1000
+ }{}
+\DeclareFontShape{T1}{cmss}{bx}{it}
+ {<->ssub*cmss/bx/sl}{}
+% \end{macrocode}
+% The following substitutions are not provided in the default
+% \file{.fd} files. I have included them, so that you can
+% easily use the EC fonts with the default bold series being
+% \file{b} rather than \file{bx}.
+% \begin{macrocode}
+\DeclareFontShape{T1}{cmss}{b}{n}
+ {<->ssub*cmss/bx/n}{}
+\DeclareFontShape{T1}{cmss}{b}{sl}
+ {<->ssub*cmss/bx/sl}{}
+\DeclareFontShape{T1}{cmss}{b}{it}
+ {<->ssub*cmss/bx/sl}{}
+% \end{macrocode}
+%
+% \paragraph{CM Typewriter}
+% \begin{macrocode}
+\DeclareFontFamily{T1}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{T1}{cmtt}{m}{n}{
+ <-9> ectt0800
+ <9-10> ectt0900
+ <10-12> ectt1000
+ <12-17> ectt1200
+ <17-> ectt1728
+ }{}
+\DeclareFontShape{T1}{cmtt}{m}{it}{
+ <-9> ecit0800
+ <9-10> ecit0900
+ <10-12> ecit1000
+ <12-17> ecit1200
+ <17-> ecit1728
+ }{}
+\DeclareFontShape{T1}{cmtt}{m}{sl}{
+ <-9> ecst0800
+ <9-10> ecst0900
+ <10-12> ecst1000
+ <12-17> ecst1200
+ <17-> ecst1728
+ }{}
+\DeclareFontShape{T1}{cmtt}{m}{sc}{
+ <-9> ectc0800
+ <9-10> ectc0900
+ <10-12> ectc1000
+ <12-17> ectc1200
+ <17-> ectc1728
+ }{}
+\DeclareFontShape{T1}{cmtt}{bx}{n}
+ {<->sub * cmtt/m/n}{}
+\DeclareFontShape{T1}{cmtt}{bx}{it}
+ {<->sub * cmtt/m/it}{}
+\DeclareFontShape{T1}{cmtt}{bx}{sl}
+ {<->sub * cmtt/m/sl}{}
+% \end{macrocode}
+% Substitutions not provided in the default \file{.fd} files:
+% \begin{macrocode}
+\DeclareFontShape{T1}{cmtt}{b}{n}
+ {<->sub * cmtt/m/n}{}
+\DeclareFontShape{T1}{cmtt}{b}{it}
+ {<->sub * cmtt/m/it}{}
+\DeclareFontShape{T1}{cmtt}{b}{sl}
+ {<->sub * cmtt/m/sl}{}
+% \end{macrocode}
+%
+% \paragraph{CM Typewiter (var.)}
+% \begin{macrocode}
+\DeclareFontFamily{T1}{cmvtt}{}
+\DeclareFontShape{T1}{cmvtt}{m}{n}{
+ <-9> ecvt0800
+ <9-10> ecvt0900
+ <10-12> ecvt1000
+ <12-17> ecvt1200
+ <17-> ecvt1728
+ }{}
+\DeclareFontShape{T1}{cmvtt}{m}{it}{
+ <-9> ecvi0800
+ <9-10> ecvi0900
+ <10-12> ecvi1000
+ <12-17> ecvi1200
+ <17-> ecvi1728
+ }{}
+% \end{macrocode}
+%
+% \subsection{TS1 encoding}
+%
+% \paragraph{CM Roman}
+% \begin{macrocode}
+\DeclareFontFamily{TS1}{cmr}{\hyphenchar\font\m@ne}
+\DeclareFontShape{TS1}{cmr}{m}{n}{
+ <-6> tcrm0500
+ <6-7> tcrm0600
+ <7-8> tcrm0700
+ <8-9> tcrm0800
+ <9-10> tcrm0900
+ <10-12> tcrm1000
+ <12-17> tcrm1200
+ <17-> tcrm1728
+ }{}
+\DeclareFontShape{TS1}{cmr}{m}{sl}{
+ <-6> tcsl0500
+ <6-7> tcsl0600
+ <7-8> tcsl0700
+ <8-9> tcsl0800
+ <9-10> tcsl0900
+ <10-12> tcsl1000
+ <12-17> tcsl1200
+ <17-> tcsl1728
+ }{}
+\DeclareFontShape{TS1}{cmr}{m}{it}{
+ <-8> tcti0700
+ <8-9> tcti0800
+ <9-10> tcti0900
+ <10-12> tcti1000
+ <12-17> tcti1200
+ <17-> tcti1728
+ }{}
+\DeclareFontShape{TS1}{cmr}{m}{ui}{
+ <-8> tcui0700
+ <8-9> tcui0800
+ <9-10> tcui0900
+ <10-12> tcui1000
+ <12-17> tcui1200
+ <17-> tcui1728
+ }{}
+\DeclareFontShape{TS1}{cmr}{b}{n}{
+ <-6> tcrb0500
+ <6-7> tcrb0600
+ <7-8> tcrb0700
+ <8-9> tcrb0800
+ <9-10> tcrb0900
+ <10-12> tcrb1000
+ <12-17> tcrb1200
+ <17-> tcrb1728
+ }{}
+\DeclareFontShape{TS1}{cmr}{bx}{n}{
+ <-6> tcbx0500
+ <6-7> tcbx0600
+ <7-8> tcbx0700
+ <8-9> tcbx0800
+ <9-10> tcbx0900
+ <10-12> tcbx1000
+ <12-> tcbx1200
+ }{}
+\DeclareFontShape{TS1}{cmr}{bx}{sl}{
+ <-6> tcbl0500
+ <6-7> tcbl0600
+ <7-8> tcbl0700
+ <8-9> tcbl0800
+ <9-10> tcbl0900
+ <10-12> tcbl1000
+ <12-> tcbl1200
+ }{}
+\DeclareFontShape{TS1}{cmr}{bx}{it}{
+ <-8> tcbi0700
+ <8-9> tcbi0800
+ <9-10> tcbi0900
+ <10-12> tcbi1000
+ <12-> tcbi1200
+ }{}
+% \end{macrocode}
+%
+% \paragraph{CM Sans}
+% \begin{macrocode}
+\DeclareFontFamily{TS1}{cmss}{\hyphenchar\font\m@ne}
+\DeclareFontShape{TS1}{cmss}{m}{n}{
+ <-9> tcss0800
+ <9-10> tcss0900
+ <10-12> tcss1000
+ <12-17> tcss1200
+ <17-> tcss1728
+ }{}
+\DeclareFontShape{TS1}{cmss}{m}{it}
+ {<->ssub*cmss/m/sl}{}
+\DeclareFontShape{TS1}{cmss}{m}{sl}{
+ <-9> tcsi0800
+ <9-10> tcsi0900
+ <10-12> tcsi1000
+ <12-17> tcsi1200
+ <17-> tcsi1728
+ }{}
+\DeclareFontShape{TS1}{cmss}{sbc}{n}{
+ <-> tcssdc10
+ }{}
+\DeclareFontShape{TS1}{cmss}{bx}{n}{
+ <-10> tcsx0900
+ <10-> tcsx1000
+ }{}
+\DeclareFontShape{TS1}{cmss}{bx}{sl}{
+ <-10> tcso0900
+ <10-> tcso1000
+ }{}
+\DeclareFontShape{TS1}{cmss}{bx}{it}
+ {<->ssub*cmss/bx/sl}{}
+% \end{macrocode}
+% Substitutions not provided in the default \file{.fd} files:
+% \begin{macrocode}
+\DeclareFontShape{TS1}{cmss}{b}{n}
+ {<->ssub*cmss/bx/n}{}
+\DeclareFontShape{TS1}{cmss}{b}{sl}
+ {<->ssub*cmss/bx/sl}{}
+\DeclareFontShape{TS1}{cmss}{b}{it}
+ {<->ssub*cmss/bx/sl}{}
+% \end{macrocode}
+%
+% \paragraph{CM Typewriter}
+% \begin{macrocode}
+\DeclareFontFamily{TS1}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{TS1}{cmtt}{m}{n}{
+ <-9> tctt0800
+ <9-10> tctt0900
+ <10-12> tctt1000
+ <12-17> tctt1200
+ <17-> tctt1728
+ }{}
+\DeclareFontShape{TS1}{cmtt}{m}{it}{
+ <-9> tcit0800
+ <9-10> tcit0900
+ <10-12> tcit1000
+ <12-17> tcit1200
+ <17-> tcit1728
+ }{}
+\DeclareFontShape{TS1}{cmtt}{m}{sl}{
+ <-9> tcst0800
+ <9-10> tcst0900
+ <10-12> tcst1000
+ <12-17> tcst1200
+ <17-> tcst1728
+ }{}
+\DeclareFontShape{TS1}{cmtt}{bx}{n}
+ {<->sub * cmtt/m/n}{}
+\DeclareFontShape{TS1}{cmtt}{bx}{it}
+ {<->sub * cmtt/m/it}{}
+\DeclareFontShape{TS1}{cmtt}{bx}{sl}
+ {<->sub * cmtt/m/sl}{}
+% \end{macrocode}
+% Substitutions not provided in the default \file{.fd} files:
+% \begin{macrocode}
+\DeclareFontShape{TS1}{cmtt}{b}{n}
+ {<->sub * cmtt/m/n}{}
+\DeclareFontShape{TS1}{cmtt}{b}{it}
+ {<->sub * cmtt/m/it}{}
+\DeclareFontShape{TS1}{cmtt}{b}{sl}
+ {<->sub * cmtt/m/sl}{}
+% \end{macrocode}
+%
+% \paragraph{CM Typewriter (var.)}
+% \begin{macrocode}
+\DeclareFontFamily{TS1}{cmvtt}{}
+\DeclareFontShape{TS1}{cmvtt}{m}{n}{
+ <-9> tcvt0800
+ <9-10> tcvt0900
+ <10-12> tcvt1000
+ <12-17> tcvt1200
+ <17-> tcvi1728
+ }{}
+\DeclareFontShape{TS1}{cmvtt}{m}{it}{
+ <-9> tcvi0800
+ <9-10> tcvi0900
+ <10-12> tcvi1000
+ <12-17> tcvi1200
+ <17-> tcvi1728
+ }{}
+% \end{macrocode}
+%
+% \subsection{OT1 encoding}
+%
+% \paragraph{CM Roman}
+% \begin{macrocode}
+\DeclareFontFamily{OT1}{cmr}{\hyphenchar\font45 }
+\DeclareFontShape{OT1}{cmr}{m}{n}{
+ <-6> cmr5
+ <6-7> cmr6
+ <7-8> cmr7
+ <8-9> cmr8
+ <9-10> cmr9
+ <10-12> cmr10
+ <12-17> cmr12
+ <17-> cmr17
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{sl}{
+ <-9> cmsl8
+ <9-10> cmsl9
+ <10-12> cmsl10
+ <12-> cmsl12
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{it}{
+ <-8> cmti7
+ <8-9> cmti8
+ <9-10> cmti9
+ <10-12> cmti10
+ <12-> cmti12
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{sc}{
+ <-> cmcsc10
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{ui}{
+ <-> cmu10
+ }{}
+\DeclareFontShape{OT1}{cmr}{b}{n}{
+ <-> cmb10
+ }{}
+\DeclareFontShape{OT1}{cmr}{bx}{n}{
+ <-6> cmbx5
+ <6-7> cmbx6
+ <7-8> cmbx7
+ <8-9> cmbx8
+ <9-10> cmbx9
+ <10-12> cmbx10
+ <12-> cmbx12
+ }{}
+\DeclareFontShape{OT1}{cmr}{bx}{sl}{
+ <-> cmbxsl10
+ }{}
+\DeclareFontShape{OT1}{cmr}{bx}{it}{
+ <-> cmbxti10
+ }{}
+\DeclareFontShape{OT1}{cmr}{bx}{ui}
+ {<->sub*cmr/m/ui}{}
+% \end{macrocode}
+%
+% \paragraph{CM Sans}
+% \begin{macrocode}
+\DeclareFontFamily{OT1}{cmss}{\hyphenchar\font45 }
+\DeclareFontShape{OT1}{cmss}{m}{n}{
+ <-9> cmss8
+ <9-10> cmss9
+ <10-12> cmss10
+ <12-17> cmss12
+ <17-> cmss17
+ }{}
+\DeclareFontShape{OT1}{cmss}{m}{it}
+ {<->sub*cmss/m/sl}{}
+\DeclareFontShape{OT1}{cmss}{m}{sl}{
+ <-9> cmssi8
+ <9-10> cmssi9
+ <10-12> cmssi10
+ <12-17> cmssi12
+ <17-> cmssi17
+ }{}
+\DeclareFontShape{OT1}{cmss}{m}{sc}
+ {<->sub*cmr/m/sc}{}
+\DeclareFontShape{OT1}{cmss}{m}{ui}
+ {<->sub*cmr/m/ui}{}
+\DeclareFontShape{OT1}{cmss}{sbc}{n}{
+ <-> cmssdc10
+ }{}
+\DeclareFontShape{OT1}{cmss}{bx}{n}{
+ <-> cmssbx10
+ }{}
+\DeclareFontShape{OT1}{cmss}{bx}{ui}
+ {<->sub*cmr/bx/ui}{}
+% \end{macrocode}
+%
+% \paragraph{CM Typewriter}
+% \begin{macrocode}
+\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{OT1}{cmtt}{m}{n}{
+ <-9> cmtt8
+ <9-10> cmtt9
+ <10-12> cmtt10
+ <12-> cmtt12
+ }{}
+\DeclareFontShape{OT1}{cmtt}{m}{it}{
+ <-> cmitt10
+ }{}
+\DeclareFontShape{OT1}{cmtt}{m}{sl}{
+ <-> cmsltt10
+ }{}
+\DeclareFontShape{OT1}{cmtt}{m}{sc}{
+ <-> cmtcsc10
+ }{}
+\DeclareFontShape{OT1}{cmtt}{m}{ui}
+ {<->ssub*cmtt/m/it}{}
+\DeclareFontShape{OT1}{cmtt}{bx}{n}
+ {<->ssub*cmtt/m/n}{}
+\DeclareFontShape{OT1}{cmtt}{bx}{it}
+ {<->ssub*cmtt/m/it}{}
+\DeclareFontShape{OT1}{cmtt}{bx}{ui}
+ {<->ssub*cmtt/m/it}{}
+% \end{macrocode}
+%
+% \paragraph{CM Typewriter (var.)}
+% \begin{macrocode}
+\DeclareFontFamily{OT1}{cmvtt}{\hyphenchar\font45 }
+\DeclareFontShape{OT1}{cmvtt}{m}{n}{
+ <-> cmvtt10
+ }{}
+\DeclareFontShape{OT1}{cmvtt}{m}{it}{
+ <-> cmvtti10
+ }{}
+% \end{macrocode}
+%
+% \subsection{OML and OMS encoded math fonts}
+% \begin{macrocode}
+\DeclareFontFamily{OML}{cmm}{\skewchar\font127 }
+\DeclareFontShape{OML}{cmm}{m}{it}{
+ <-6> cmmi5
+ <6-7> cmmi6
+ <7-8> cmmi7
+ <8-9> cmmi8
+ <9-10> cmmi9
+ <10-12> cmmi10
+ <12-> cmmi12
+ }{}
+\DeclareFontShape{OML}{cmm}{b}{it}{<-6>cmmib5<6-8>cmmib7<8->cmmib10}{}
+\DeclareFontShape{OML}{cmm}{bx}{it}
+ {<->ssub*cmm/b/it}{}
+% \end{macrocode}
+% \begin{macrocode}
+\DeclareFontFamily{OMS}{cmsy}{\skewchar\font48 }
+\DeclareFontShape{OMS}{cmsy}{m}{n}{
+ <-6> cmsy5
+ <6-7> cmsy6
+ <7-8> cmsy7
+ <8-9> cmsy8
+ <9-10> cmsy9
+ <10-> cmsy10
+ }{}
+\DeclareFontShape{OMS}{cmsy}{b}{n}{<-6>cmbsy5<6-8>cmbsy7<8->cmbsy10}{}
+% \end{macrocode}
+%
+% \subsection{\LaTeX{} symbols}
+% \begin{macrocode}
+\DeclareFontFamily{U}{lasy}{}
+\DeclareFontShape{U}{lasy}{m}{n}{
+ <-6> lasy5
+ <6-7> lasy6
+ <7-8> lasy7
+ <8-9> lasy8
+ <9-10> lasy9
+ <10-> lasy10
+ }{}
+\DeclareFontShape{U}{lasy}{b}{n}{
+ <-10> ssub * lasy/m/n
+ <10-> lasyb10
+ }{}
+% \end{macrocode}
+% \begin{macrocode}
+\endgroup
+%</fix-cm>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput