summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/fixltx2e.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/fixltx2e.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/fixltx2e.dtx2283
1 files changed, 0 insertions, 2283 deletions
diff --git a/Master/texmf-dist/source/latex/base/fixltx2e.dtx b/Master/texmf-dist/source/latex/base/fixltx2e.dtx
deleted file mode 100644
index 0898f5c1303..00000000000
--- a/Master/texmf-dist/source/latex/base/fixltx2e.dtx
+++ /dev/null
@@ -1,2283 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright 1993-2014
-% 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
-% http://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{fixltx2e.dtx}
-%</dtx>
-%<fixltx2e,fix-cm>\NeedsTeXFormat{LaTeX2e}
-%<fixltx2e>\ProvidesPackage{fixltx2e}
-%<fix-cm>\ProvidesPackage{fix-cm}
-%<driver>\ProvidesFile{fixltx2e.drv}
-% \fi
-% \ProvidesFile{fixltx2e.dtx}
- [2014/09/29 v1.1s 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{fixltx2e.dtx}
- \end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{1221}
-%
-%% \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 \~}
-%
-%
-%
-% \let\package\textsf
-%
-%
-% \GetFileInfo{fixltx2e.dtx}
-%
-% \title{The \Lpack{fixltx2e} and \Lpack{fix-cm} packages\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}
-% \maketitle
-%
-% \begin{abstract}
-% These packages provides fixes to \LaTeXe{} which are desirable
-% but cannot be integrated into the \LaTeXe{} kernel or the
-% font definition files directly as they would produce a version
-% incompatible to earlier releases (either in formatting or
-% functionality).
-%
-% By providing these fixes in the form of packages, users can benefit
-% from them without the danger that their documents will fail or
-% produce unexpected results at other sites since the documents
-% contain a clear indication (the |\usepackage| line, preferably
-% with a required date) that the fixes are needed.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \newpage
-%
-% \section{Introduction}
-%
-% In the newsletter \texttt{ltnews07.tex}, which accompanied the
-% \LaTeXe{} maintenance release of June 1997, we wrote:
-% \begin{quote}
-% Many of the problem reports we receive concerning the standard
-% classes are not concerned with bugs but are suggesting, more or
-% less politely, that the design decisions embodied in them are
-% `not optimal' and asking us to modify them.
-%
-% There are several reasons why we have decided not to make such
-% changes to these files.
-% \begin{itemize}
-% \item However misguided, the current behaviour is clearly what
-% was intended when these classes were designed. \item It is not
-% good practice to change such aspects of `standard classes'
-% because many people will be relying on them.
-% \end{itemize}
-%
-% We have therefore decided not to even consider making such
-% modifications, nor to spend time justifying that decision. This
-% does not mean that we do not agree that there are many
-% deficiencies in the design of these classes, but we have many
-% tasks with higher priority than continually explaining why the
-% standard classes for \LaTeX{} cannot be changed.
-% \end{quote}
-%
-% Back then we probably should have said that this decision also
-% covers changes to the \LaTeX{} kernel and font definitions,
-% if the change results in
-% noticeable differences in the formatting of documents or otherwise
-% produces severe incompatibilities between releases. The important
-% point to stress here is that ``people rely on the fact that a
-% document formatted at one site produces identical output at a
-% different site''. By fixing a certain problem in version
-% \meta{date}, people making use of the fix will get incorrectly
-% formatted documents if they send them to others who still run on a
-% version prior to \meta{date}.
-%
-% In theory one could get around this by adding a line like
-% \begin{quote}
-% |\NeedsTeXFormat{latex2e}[|\meta{date}|]|
-% \end{quote}
-% on top of the document. However, this fails for two reasons. Firstly,
-% most people will not be aware that they make use of a feature or fix
-% that is only available in their version of \LaTeX{}; and thus do not
-% add such a line in their documents. Secondly, even if there is such a
-% line the receiving site might not be able to upgrade their \LaTeX{}
-% in time to process the document properly (the latter is a sad fact
-% of life).
-%
-% By providing the \Lpack{fixltx2e} and \Lpack{fix-cm} packages
-% we hope to help people in this respect since, when they
-% are used, a document will contain a clear
-% indication that special features/fixes are needed and if the
-% receiving site does not have the packages available (or not available
-% with the right version) it is far easier to download and install them
-% from some archive than to upgrade \LaTeX{} in a rush.
-%
-% The packages are independent from each other and deal with different
-% subjects:
-% \Lpack{fixltx2e} provides general changes to the \LaTeX{} kernel,
-% while \Lpack{fix-cm} improves the definitions of the Computer Modern
-% font families.
-%
-% We will try to maintain the packages in such a way that they can be used
-% with all maintenance releases of \LaTeXe{} so that, if urgently
-% needed, people can simply add them to the current directory in case
-% they cannot upgrade their \LaTeX{} for whatever reason.
-%
-% The packages are \textbf{NOT} provided so that people can stop
-% upgrading their \LaTeX{} system. They will contain only fixes of a
-% certain nature, others will still go into the kernel and extensions
-% in form of packages, and support files will still be added to the
-% base system at regular intervals.
-%
-%
-% \subsection{Using \Lpack{fixltx2e}}
-%
-% To use the \Lpack{fixltx2e} package include the line
-% \begin{quote}
-% |\usepackage{fixltx2e}[|\meta{date}|]|
-% \end{quote}
-% into the preamble of your document, where \meta{date} is the date of
-% the \Lpack{fixltx2e} package that you are using.
-% This way your document will produce a warning if processed at a site
-% that only has an older version of of this package.
-%
-% \subsection{Using \Lpack{fix-cm}}
-%
-% \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}
-% \textbf{Do not to load any other package before the document class},
-% unless you have a thorough understanding of the \LaTeX{} internals
-% and know exactly what you are doing!
-%
-%
-% \section{Fixes added}
-%
-% This section describes all the fixes/features that have been added
-% to the initial release of the package. If applicable the bug report
-% info (see \texttt{bugs.txt}) is given.
-%
-%
-%
-%
-% \subsection{2-col: 1-col fig can come before earlier 2-col fig
-% (pr/2346)}
-%
-%\begin{verbatim}
-% >Number: 2346
-% >Category: latex
-% >Synopsis: 2-col: 1-col fig can come before earlier 2-col fig
-% >Arrival-Date: Wed Dec 18 15:41:07 1996
-% >Originator: w.l.kleb@larc.nasa.gov (bil kleb)
-% >Description:
-% as documented in lamport's book, p. 198, concerning figure
-% placement, "a figure will not be printed before an earlier
-% figure, and a table will not be printed before an earlier
-% table." however, there is a footnote stating, "However,
-% in two-column page style, a single-column figure can come before
-% an earlier double-column figure, and vice versa."
-%
-% this twocolumn behavior is undesireable---at least by me and
-% most professional organizations i publish in. ed snyzter developed
-% a hack fix for 2.09 several years ago which links the two
-% counters, but i have not run across a similar "fix" for 2e...
-% \end{verbatim}
-%
-% Originally fixed in package \Lpack{fix2col} which was merged into
-% this package. Documentation and code from this package have been
-% merged into this file.
-%
-% \subsubsection{Notes on the Implementation Strategy}
-%
-% The standard output routine maintains two lists of floats that have
-% been `deferred' for later consideration. One list for single column
-% floats, and one for double column floats (which are always
-% immediately put onto their deferred list). This mechanism means
-% that \LaTeX\ `knows' which type of float is contained in each box
-% by the list that it is processing, but having two lists means
-% that there is no mechanism for preserving the order between the
-% floats in each list.
-%
-% The solution to this problem consists of two small changes to
-% the output routine.
-%
-% Firstly, abandon the `double column float list' |\@dbldeferlist|
-% and change every command where it is used so that instead the
-% same |\@deferlist| is used as for single column floats.
-% That one change ensures that double and single column floats
-% stay in the same sequence, but as \LaTeX\ no longer `knows'
-% whether a float is double or single column, it will happily
-% insert a double float into a single column, overprinting the
-% other column, or the margin.
-%
-% The second change is to provide an alternative mechanism for
-% recording the two column floats. \LaTeX\ already has a compact
-% mechanism for recording float information, an integer count register
-% assigned to each float records information about the `type' of float
-% `figure', `table' and the position information `htp' etc.
-%
-% The type information is stored in the `high' bits, one bit position
-% (above `32') allocated to each float type. The `low' bits store
-% information about the allowed positions, one bit each allocated for
-% |h t b p|. In the \LaTeX2.09 system, the bit corresponding to `16'
-% formed a `boundary' between these two sets of information, and it
-% was never actually used by the system. Ed Sznyter's
-% \package{fixfloats} package not unreasonably used this position to
-% store the double column information, setting the bit for double
-% column floats. Then at each point in the output routine at which a
-% float is committed to a certain region, an additional check must be
-% made to check that the float is (or is not) double column. If it
-% spans the wrong number of columns it is deferred rather than being
-% added.
-%
-% Unfortunately the bit `16' is not available in \LaTeXe. It is used
-% to encode the extra float position possibility `|!|' that was added
-% in that system. It would be possible to use position `32' and to
-% move the flags for `table', `figure',\ldots\ up one position, to
-% start at 64, but this would mean that in principle one less float
-% type would be supported, and more importantly is likely to break
-% any other packages that assume anything about the output routine
-% internals. So here I instead use another mechanism for flagging
-% double column floats: By default all floats have depth 0pt.
-% This package arranges that double column ones have depth 1sp.
-% This information may then be used in the same manner as in
-% the \package{fixfloats} package, to defer any floats that are not of
-% the correct column spanning type.
-%
-%
-%
-% \subsection{Wrong header for twocolumn (pr/2613)}
-%
-%\begin{verbatim}
-% >Number: 2613
-% >Category: latex
-% >Synopsis: wrong headline for twocolumn
-% >Arrival-Date: Mon Sep 22 16:41:09 1997
-% >Originator: daniel@cs.uni-bonn.de (Daniel Reischert)
-% >Description:
-% When setting the document in two columns
-% the headline shows the top mark of the second column,
-% but it should show the top mark of the first column.
-% \end{verbatim}
-%
-% Originally fixed in package \Lpack{fix2col} which was merged into
-% this package. Documentation and code from this package have been
-% merged into this file.
-%
-% \subsubsection{Notes on the Implementation Strategy}
-%
-% The standard \LaTeX\ twocolumn system works internally by making
-% each column a separate `page' that is passed independently to \TeX's
-% pagebreaker. (Unlike say the \package{multicol} package, where all
-% columns are gathered together and then split into columns later,
-% using |\vsplit|.) This means that the primitive \TeX\ marks that are
-% normally used for header information, are globally reset after the
-% first column. By default \LaTeX\ does nothing about this.
-% A good solution is provided by Piet van Oostrum (building on earlier
-% work of Joe Pallas) in his \package{fixmarks} package.
-%
-% After the first column box has been collected the mark information
-% for that box is saved, so that any |\firstmark| can be
-% `artificially' used to set the page-level marks after the second
-% column has been collected. (The second column |\firstmark| is not
-% normally required.) Unfortunately \TeX\ does not provide a direct
-% way of knowing if any marks are in the page, |\firstmark| always has a
-% value from previous pages, even if there is no mark in this page.
-% The solution is to make a copy of the box and then |\vsplit| it
-% so that any marks show up as |\splitfirstmark|.
-%
-% The use of |\vsplit| does mean that the output routine will globally
-% change the value of |\splitfirstmark| and
-% |\splitbotmark|. The \package{fixmarks} package goes to some trouble
-% to save and restore these values so that the output routine does
-% \emph{not} change the values. This part of \package{fixmarks} is not
-% copied here as it is quite costly (having to be run on every page) and
-% there is no reason why anyone writing code using |\vsplit| should
-% allow the output routine to be triggered before the split marks have
-% been accessed.
-%
-%
-% \subsection{\texttt{\textbackslash @} discards spaces when moving
-% (pr/3039)}
-%
-%\begin{verbatim}
-% >Number: 3039
-% >Category: latex
-% >Synopsis: \@ discards spaces when moving
-% >Arrival-Date: Sat May 22 09:01:06 1999
-% >Originator: asnd@triumf.ca (Donald Arseneau)
-% >Description:
-% The \@ command expands to \spacefactor\@m in auxiliary files,
-% which then ignores following spaces when it is reprocessed.
-%\end{verbatim}
-%
-% \subsection{\texttt{\textbackslash setlength} produces error if
-% used with registers like \texttt{\textbackslash dimen0} (pr/3066)}
-%
-%\begin{verbatim}
-% >Number: 3066
-% >Category: latex
-% >Synopsis: \setlength{\dimen0}{10pt}
-% >Arrival-Date: Tue Jul 6 15:01:06 1999
-% >Originator: oberdiek@ruf.uni-freiburg.de (Heiko Oberdiek)
-% >Description:
-% The current implementation of \setlength causes an error,
-% because the length specification isn't terminated properly.
-% More safe:
-% \def\setlength#1#2{#1=#2\relax}
-%\end{verbatim}
-%
-% \subsection{\texttt{\textbackslash addpenalty} ruins flush-bottom (pr/3073)}
-%
-%\begin{verbatim}
-% >Number: 3073
-% >Category: latex
-% >Synopsis: \addpenalty ruins flush-bottom
-% >Arrival-Date: Sat Jul 17 05:11:05 1999
-% >Originator: asnd@triumf.ca (Donald Arseneau)
-% >Description:
-% Just to keep in mind for further development eh?
-% A page break at an \addpenalty after \vspace does *not*
-% give a flush-bottom page. (The intent of \addpenalty is
-% apparently just to preserve the flush bottom by putting
-% the breakpoint `above' the skip.)
-%\end{verbatim}
-%
-%
-%
-% \section{Fixes added for 2003/06/01}
-%
-% \subsection{\texttt{\textbackslash fnsymbol} should use text symbols
-% if possible (pr/3400)}
-%
-%\begin{verbatim}
-% >Number: 3400
-% >Category: latex
-% >Synopsis: \fnsymbol should use text symbols if possible
-% >Arrival-Date: Fri Jan 04 20:41:00 CET 2002
-% >Originator: was@VR-Web.de ( Walter Schmidt )
-%
-% The \fnsymbol command can be used in both text and math
-% mode. The symbols produced are, however, always taken from
-% the math fonts. As a result, they may not match the text
-% fonts, even if the symbols are actually available, for
-% instance from the TS1 encoding. Since \fnsymbol is
-% primarily used for footnotes in text, this should be fixed,
-% IMO.
-%\end{verbatim}
-%
-%
-% \subsection{No hyphenation in first word after float environment (pr/3498)}
-%
-%\begin{verbatim}
-% >Number: 3498
-% >Category: latex
-% >Synopsis: No hyphenation in first word after float environment
-% >Arrival-Date: Thu Jan 30 13:21:00 CET 2003
-% >Originator: h.harders@tu-bs.de (Harald Harders)
-%
-% If a float environment (figure, table) is written within a paragraph,
-% the first word after the environment is not hyphenated.
-%\end{verbatim}
-%
-%
-%
-% \subsection{Allowing \texttt{\textbackslash emph} to produce small
-% caps, etc}
-%
-% By default |\em| or |\emph| switches to roman in an italic
-% context but some designers prefer a switch to small caps in that
-% case. This can be achieved by setting |\eminnershape|, e.g.,
-%
-%\begin{verbatim}
-%\renewcommand\eminnershape{\scshape}
-%\end{verbatim}
-%
-%
-% \subsection{Using EC fonts (T1 encoding) makes my documents look
-% bl**dy horrible (from c.t.t.)\\
-% I can't use arbitrary sizes with CM fonts (from c.t.t.)}
-%
-% 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 \section{The macro package \textsf{fix-cm} for \LaTeXe}
-%
-%^^A The documentation in this section was prepared by Walter Schmidt.
-%
-%
-%
-% \subsubsection{What \Lpack{fix-cm} does}
-%
-% ^^A Are you bothered by the T1 and TS1 encoded Computer Modern fonts,
-% ^^A which look partially worse than the traditional ones? Would you
-% ^^A like to use the CM fonts with arbitrary sizes? If so, the macro
-% ^^A package \Lpack{fix-cm} can help you.
-%
-% 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}
-%
-% \subsubsection{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}
-%
-% \subsubsection{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.
-%
-%
-%
-% \section{Fixes added for 2005/12/01}
-%
-% \subsection{\texttt{\textbackslash textsubscript} not defined in
-% latex.ltx (pr/3492)}
-%
-%\begin{verbatim}
-% >Number: 3492
-% >Category: latex
-% >Synopsis: \textsubscript not defined in latex.ltx
-% >Arrival-Date: Tue Jan 14 23:01:00 CET 2003
-% >Originator: tgakic@chem.tue.nl (Ionel Mugurel Ciobica)
-%
-% I use \textsubscript much more often than \textsuperscript, and
-% \textsubscript it is not defined in latex.ltx. Could you please
-% consider including the definition of \textsubscript in the latex.ltx
-% for the next versions of LaTeX. Thank you.
-%\end{verbatim}
-%
-% \subsection{\texttt{\textbackslash DeclareMathSizes} only take pts.
-% (pr/3693)}
-%
-%\begin{verbatim}
-% >Number: 3693
-% >Category: latex
-% >Synopsis: \DeclareMathSizes only take pts.
-% >Arrival-Date: Fri Jun 11 16:21:00 CEST 2004
-% >Originator: moho01ab@student.cbs.dk (Morten Hoegholm)
-%
-% The last three arguments of \@DeclareMathSizes cannot take a dimension
-% as argument, making it inconsistent with the rest of the font changing
-% commands and itself, as the second argument can take a dimension
-% specification.
-%\end{verbatim}
-%
-% \subsection{\texttt{\textbackslash addpenalty} ruins flush-bottom (pr/3073)}
-%
-%\begin{verbatim}
-% >Number: 3073
-% >Category: latex
-% >Synopsis: \addpenalty ruins flush-bottom
-% >Arrival-Date: 20 Oct 2005 14:46:35 -0700
-% >Originator: asnd@triumf.ca (Donald Arseneau)
-% >Description:
-% The (revised) definition of \addpenalty has been
-% incorporated into fixltx2e, but now Plamen Tanovski has found a
-% problem: since the \vskip is increased by the previous depth,
-% consecutive \addpenalty and \addvspace commands keep enlarging
-% the \vskip.
-%\end{verbatim}
-%
-% \subsection{\texttt{\textbackslash footnotemark[x]} crashes with fixltx2e.sty
-% (pr/3752)}
-%
-%\begin{verbatim}
-% >Number: 3752
-% >Category: tools
-% >Synopsis: feature \footnotemark[x] crashes with fixltx2e.sty
-% >Arrival-Date: Fri Dec 17 10:11:00 +0100 2004
-% >Originator: stefan.pofahl@zsw-bw.de (Stefan Pofahl)
-%
-% If I use /fnsymbol together with fixltx2e.sty I can not use
-% optional parameter [num]
-% \footnotemark[1] is not showing the mark number 1 but
-% the mark \value{footnote}.
-%\end{verbatim}
-% This bug was related to pr/3400, where |\@fnsymbol| was made robust.
-%
-% \subsubsection{Notes on the implementation strategy}
-%
-% Pr/3400 made |\@fnsymbol| decide between text-mode and math-mode,
-% which requires a certain level of robustness somewhere as the
-% decision between text and math must be made at typesetting time and
-% not when inside |\protected@edef| or similar commands. One way of
-% dealing with this is to make sure the value seen by |\@fnsymbol| is
-% a fully expanded number, which could be handled by code such as
-% \begin{verbatim}
-% \def\fnsymbol#1{\expandafter\@fnsymbol
-% \expandafter{\the\csname c@#1\endcsname}}
-% \end{verbatim}
-% This would be a good solution if everybody used the high level
-% commands only by writing code like |\fnsymbol{footnote}|. Unfortunately
-% many classes (including the standard classes) and packages use the
-% internal forms directly as in |\@fnsymbol\c@footnote| so the easy
-% solution of changing |\fnsymbol| would break code that had worked for
-% the past 20~years.
-%
-% Therefore the implementation here makes |\@fnsymbol| itself a
-% non-robust command again and instead uses a new robust command
-% \DescribeMacro{\TextOrMath}|\TextOrMath|, which will take care of
-% typesetting either the math or the text symbol. In order to do so,
-% we face an age old problem and unsolvable problem in \TeX: A
-% reliable test for math mode that doesn't destroy
-% kerning. Fortunately this problem can be solved when using e\TeX\ so
-% if you use this as engine for your \LaTeX\ format, as recommended by
-% the \LaTeX3 Project, you will get a fully functioning |\TextOrMath|
-% command with no side effects. If you use regular \TeX\ as engine for
-% your \LaTeX\ format then we have to choose between the lesser of two
-% evils: 1)~breaking ligatures and preventing kerning or 2)~face the
-% risk of choosing text-mode at the beginning of an alignment cell,
-% which was supposed to be math-mode. We have decided upon 1) as is
-% customary for regular robust commands in \LaTeX.
-%
-%
-% \subsection{Fewer fragile commands}
-%
-%\begin{verbatim}
-% >Number: 3816
-% >Category: latex
-% >Synopsis: Argument of \@sect has an extra }.
-% >Arrival-Date: Sat Oct 22 23:11:01 +0200 2005
-% >Originator: susi@uriah.heep.sax.de (Susanne Wunsch)
-%
-% Use of a \raisebox in \section{} produces the error message
-% mentioned in the subject.
-%
-% PR latex/1738 described a similar problem, which has been solved
-% 10 years ago. Protecting the \raisebox with \protect solved my
-% problem as well, but wouldn't it make sense to have a similar fix
-% as in the PR?
-%
-% It is particularly confusing, that an unprotected \raisebox in a
-% \section*-environment works fine, while in a \section-environment
-% produces error.
-%\end{verbatim}
-%
-% While not technically a bug, in this day and age there are few
-% reasons why commands taking optional arguments should not be robust.
-%
-% \subsubsection{Notes on the implementation strategy}
-%
-% Rather than changing the kernel macros to be robust, we have decided
-% to add the macro \DescribeMacro{\MakeRobust}|\MakeRobust| in
-% \Lpack{fixltx2e} so that users can easily turn fragile macros into
-% robust ones. A macro |\foo| is made robust by doing the simple
-% |\MakeRobust{\foo}|. \Lpack{fixltx2e} makes the following kernel
-% macros robust: |\(|, |\)|, |\[|, |\]|, |\makebox|, |\savebox|,
-% |\framebox|, |\parbox|, |\rule| and |\raisebox|.
-%
-%
-% \section{Fixes added for 2014/05/01}
-%
-% \subsection{Check the optional arguments of floats}
-%
-% By default LaTeX silently ignores unknown letters in the optional
-% arguments of floats. |\begin{figure}[tB]| the |B| is ignored so it
-% acts like |\begin{figure}[t]| However |\begin{figure}[B]| does
-% \emph{not} act like |\begin{figure}[]| as the check for an empty
-% argument, or unsupplied argument, is earlier. |[]| causes the
-% default float placement to be used, but |[B]| means that \emph{no}
-% float area is allowed and so the float will not be placed until the
-% next |\clearpage| or end of document, no warning is given.
-%
-% This package adds a check on each letter, and if it not one of
-% |!tbhp| then an error is given and the code acts as if |p| had been
-% used, so that the float may be placed somewhere.
-%
-% \subsection{Infinite glue found (pr/4023 and pr/2346)}
-%
-% The fix for pr/2346 had an issue when used in conjunction with
-% |\enlargethispage| as the latter introduced an infinite negative
-% glue at the bottom of the page. That in turn make a |\vsplit|
-% operation to get at the column marks invalid.
-%
-%
-% \section{Fixes added after 2014/05/01}
-%
-% \subsection{Within counters only reset next level down (pr4393)}
-%
-% This is actually implicitly documented behavior in the \LaTeX{}
-% Manual that states that |\stepcounter| resets all counters marked
-% ``within''. However it means that if, for example, theorems are
-% numbered within sections and you start a new chapter in a book, the
-% section counter is reset to zero but the theorem counter is not
-% until the first section appears. Thus a theorem directly within the
-% chapter body (without a new section) would show an incremented
-% number relative to the last theorem of the previous chapter.
-%
-%
-% For this reason we are now resetting all levels of within in one go
-% even if that means that some of these resets may happen several times
-% unnecessarily.
-%
-%
-% \StopEventually{}
-%
-% \section{Implementation}
-%
-% We require at least a somewhat sane version of \LaTeXe{}. Earlier
-% ones where really quite different from one another.
-% \begin{macrocode}
-%<*fixltx2e>
-\NeedsTeXFormat{LaTeX2e}[1996/06/01]
-% \end{macrocode}
-%
-%
-%
-% \subsection{2-col: 1-col fig can come before earlier 2-col fig
-% (pr/2346) \\
-% Wrong headline for twocolumn (pr/2613)}
-%
-% Originally fixed in package \Lpack{fix2col} which was merged into
-% this package. Code and documentation are straight copies from that
-% package.
-%
-% \subsubsection{Preserving Marks}
-%
-% This is just a change to the single command |\@outputdblcol|
-% so that it saves mark information for the first column and restores
-% it in the second column.
-% \begin{macrocode}
-\def\@outputdblcol{%
- \if@firstcolumn
- \global\@firstcolumnfalse
-% \end{macrocode}
-% Save the left column
-% \begin{macrocode}
- \global\setbox\@leftcolumn\copy\@outputbox
-% \end{macrocode}
-%
-% Remember the marks from the first column
-% \begin{macrocode}
- \splitmaxdepth\maxdimen
- \vbadness\maxdimen
-% \end{macrocode}
-% In case of |\enlargethispage| we will have infinite negative glue
-% at the bottom of the page (coming from |\vss|) and that will earn
-% us an error message if we |\vsplit| to get at the marks. So we
-% need to remove thek last glue (if any) at the end of |\@outputbox|
-% as we are only interested in marks that change doesn't matter.
-% \changes{v1.1o}{2014/04/18}{Handle infinite glue from
-% \cs{enlargethispage} (pr/4023)}
-% \begin{macrocode}
- \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}%
- \setbox\@outputbox\vsplit\@outputbox to\maxdimen
-% \end{macrocode}
-%
-% One minor difference from the current \package{fixmarks}, pass the
-% marks through a token register to stop any |#| tokens causing an
-% error in a |\def|.
-% \begin{macrocode}
- \toks@\expandafter{\topmark}%
- \xdef\@firstcoltopmark{\the\toks@}%
- \toks@\expandafter{\splitfirstmark}%
- \xdef\@firstcolfirstmark{\the\toks@}%
-% \end{macrocode}
-%
-% This test does not work if truly empty marks have been inserted, but
-% \LaTeX\ marks should always have (at least) two brace groups.
-% (Except before the first mark is used, when the marks are empty,
-% but that is OK here.)
-% \begin{macrocode}
- \ifx\@firstcolfirstmark\@empty
- \global\let\@setmarks\relax
- \else
- \gdef\@setmarks{%
- \let\firstmark\@firstcolfirstmark
- \let\topmark\@firstcoltopmark}%
- \fi
-% \end{macrocode}
-%
-% End of change
-% \begin{macrocode}
- \else
- \global\@firstcolumntrue
- \setbox\@outputbox\vbox{%
- \hb@xt@\textwidth{%
- \hb@xt@\columnwidth{\box\@leftcolumn \hss}%
- \hfil
-% \end{macrocode}
-% \changes{v1.1m}{2006/09/13}{Ensure that rule is in \cs{normalcolor}}
-% The color of the \cs{vrule} should be \cs{normalcolor} as to not
-% inherit the color from the column.
-% \begin{macrocode}
- {\normalcolor\vrule \@width\columnseprule}%
- \hfil
- \hb@xt@\columnwidth{\box\@outputbox \hss}}}%
- \@combinedblfloats
-% \end{macrocode}
-% Override current first and top with those of first column if necessary
-% \begin{macrocode}
- \@setmarks
-% \end{macrocode}
-% End of change
-% \begin{macrocode}
- \@outputpage
- \begingroup
- \@dblfloatplacement
- \@startdblcolumn
- \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}%
- \endgroup
- \fi}
-% \end{macrocode}
-%
-% \subsubsection{Preserving Float Order}
-%
-% Changes |\@dbldeferlist| to |\@deferlist| are not explicitly noted
-% but are flagged by blank comment lines around the changed line.
-%
-%
-% \begin{macrocode}
-\def\end@dblfloat{%
- \if@twocolumn
- \@endfloatbox
- \ifnum\@floatpenalty <\z@
- \@largefloatcheck
-% \end{macrocode}
-%
-% Force the depth of two column float boxes.
-% \begin{macrocode}
- \global\dp\@currbox1sp %
-% \end{macrocode}
-% What follows is essentially |\end@float| without a starting
-% |\@endfloatbox|.
-% \changes{v1.1d}{2000/09/24}{FMi: use output routine to
-% defer float}
-% \changes{v1.1p}{2014/04/27}{Inline the code to allow some
-% coexistence with packages that hook into \cs{end@float} and do not
-% know about the algorithm change}
-% \begin{macrocode}
- \@cons\@currlist\@currbox
- \ifnum\@floatpenalty <-\@Mii
- \penalty -\@Miv
- \@tempdima\prevdepth
- \vbox{}%
- \prevdepth\@tempdima
- \penalty\@floatpenalty
- \else
- \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack
- \fi
-% \end{macrocode}
-% \changes{v1.1r}{2014/06/10}{missing \cs{fi} added}
-% \begin{macrocode}
- \fi
- \else
- \end@float
- \fi
-}
-% \end{macrocode}
-%
-% Test if the float box has the wrong width. (Actually as noted above
-% the test is for a conventional depth setting rather than for the
-% width of the float).
-% \begin{macrocode}
-\def\@testwrongwidth #1{%
- \ifdim\dp#1=\f@depth
- \else
- \global\@testtrue
- \fi}
-% \end{macrocode}
-%
-% Normally looking for single column floats, which have zero depth.
-% \begin{macrocode}
-\let\f@depth\z@
-% \end{macrocode}
-%
-% but when making two column float area, look for floats with 1sp
-% depth.
-% \begin{macrocode}
-\def\@dblfloatplacement{\global\@dbltopnum\c@dbltopnumber
- \global\@dbltoproom \dbltopfraction\@colht
- \@textmin \@colht
- \advance \@textmin -\@dbltoproom
- \@fpmin \dblfloatpagefraction\textheight
- \@fptop \@dblfptop
- \@fpsep \@dblfpsep
- \@fpbot \@dblfpbot
-% \end{macrocode}
-%
-% \begin{macrocode}
- \def\f@depth{1sp}}
-% \end{macrocode}
-%
-% All the remaining changes are replacing the double column defer list
-% or inserting the extra test |\@testwrongwidth|\marg{box} at suitable
-% places. That is at places where a box is taken off the deferlist.
-% \begin{macrocode}
-\def \@doclearpage {%
- \ifvoid\footins
- \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
- \setbox\@tempboxa\box\@cclv
- \xdef\@deferlist{\@toplist\@botlist\@deferlist}%
- \global \let \@toplist \@empty
- \global \let \@botlist \@empty
- \global \@colroom \@colht
- \ifx \@currlist\@empty
- \else
- \@latexerr{Float(s) lost}\@ehb
- \global \let \@currlist \@empty
- \fi
- \@makefcolumn\@deferlist
- \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}%
- \if@twocolumn
- \if@firstcolumn
-% \end{macrocode}
-%
-% \begin{macrocode}
- \xdef\@deferlist{\@dbltoplist\@deferlist}%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global \let \@dbltoplist \@empty
- \global \@colht \textheight
- \begingroup
- \@dblfloatplacement
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@makefcolumn\@deferlist
- \@whilesw\if@fcolmade \fi{\@outputpage
- \@makefcolumn\@deferlist}%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \endgroup
- \else
- \vbox{}\clearpage
- \fi
- \fi
-% \end{macrocode}
-% the next line is needed to avoid losing floats in certain
-% circumstances a single call to the original |\doclearpage|
-% will now no longer output all floats.
-% \changes{v1.1d}{2000/09/24}{FMi: ensure \cs{doclearpage}
-% is called again until all floats are output.}
-% \begin{macrocode}
- \ifx\@deferlist\@empty \else\clearpage \fi
- \else
- \setbox\@cclv\vbox{\box\@cclv\vfil}%
- \@makecol\@opcol
- \clearpage
- \fi
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def \@startdblcolumn {%
- \@tryfcolumn \@deferlist
- \if@fcolmade
- \else
- \begingroup
- \let \reserved@b \@deferlist
- \global \let \@deferlist \@empty
- \let \@elt \@sdblcolelt
- \reserved@b
- \endgroup
- \fi
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@addtonextcol{%
- \begingroup
- \@insertfalse
- \@setfloattypecounts
- \ifnum \@fpstype=8
- \else
- \ifnum \@fpstype=24
- \else
- \@flsettextmin
- \@reqcolroom \ht\@currbox
- \advance \@reqcolroom \@textmin
- \ifdim \@colroom>\@reqcolroom
- \@flsetnum \@colnum
- \ifnum\@colnum>\z@
- \@bitor\@currtype\@deferlist
- \@testwrongwidth\@currbox
- \if@test
- \else
- \@addtotoporbot
- \fi
- \fi
- \fi
- \fi
- \fi
- \if@insert
- \else
- \@cons\@deferlist\@currbox
- \fi
- \endgroup
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@addtodblcol{%
- \begingroup
- \@insertfalse
- \@setfloattypecounts
- \@getfpsbit \tw@
- \ifodd\@tempcnta
- \@flsetnum \@dbltopnum
- \ifnum \@dbltopnum>\z@
- \@tempswafalse
- \ifdim \@dbltoproom>\ht\@currbox
- \@tempswatrue
- \else
- \ifnum \@fpstype<\sixt@@n
- \advance \@dbltoproom \@textmin
- \ifdim \@dbltoproom>\ht\@currbox
- \@tempswatrue
- \fi
- \advance \@dbltoproom -\@textmin
- \fi
- \fi
- \if@tempswa
- \@bitor \@currtype \@deferlist
-% \end{macrocode}
-%
-% not in fixfloats?
-% \begin{macrocode}
- \@testwrongwidth\@currbox
-% \end{macrocode}
-%
-% \begin{macrocode}
- \if@test
- \else
- \@tempdima -\ht\@currbox
- \advance\@tempdima
- -\ifx \@dbltoplist\@empty \dbltextfloatsep \else
- \dblfloatsep \fi
- \global \advance \@dbltoproom \@tempdima
- \global \advance \@colht \@tempdima
- \global \advance \@dbltopnum \m@ne
- \@cons \@dbltoplist \@currbox
- \@inserttrue
- \fi
- \fi
- \fi
- \fi
- \if@insert
- \else
- \@cons\@deferlist\@currbox
- \fi
- \endgroup
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def \@addtocurcol {%
- \@insertfalse
- \@setfloattypecounts
- \ifnum \@fpstype=8
- \else
- \ifnum \@fpstype=24
- \else
- \@flsettextmin
- \advance \@textmin \@textfloatsheight
- \@reqcolroom \@pageht
- \ifdim \@textmin>\@reqcolroom
- \@reqcolroom \@textmin
- \fi
- \advance \@reqcolroom \ht\@currbox
- \ifdim \@colroom>\@reqcolroom
- \@flsetnum \@colnum
- \ifnum \@colnum>\z@
- \@bitor\@currtype\@deferlist
-% \end{macrocode}
-% We need to defer the float also if its width
-% doesn't fit.
-% \changes{v1.1d}{2000/09/24}{FMi: test for wide float was
-% in wrong place}
-% \begin{macrocode}
- \@testwrongwidth\@currbox
-% \end{macrocode}
-%
-% \begin{macrocode}
- \if@test
- \else
- \@bitor\@currtype\@botlist
- \if@test
- \@addtobot
- \else
- \ifodd \count\@currbox
- \advance \@reqcolroom \intextsep
- \ifdim \@colroom>\@reqcolroom
- \global \advance \@colnum \m@ne
- \global \advance \@textfloatsheight \ht\@currbox
- \global \advance \@textfloatsheight 2\intextsep
- \@cons \@midlist \@currbox
- \if@nobreak
- \nobreak
- \@nobreakfalse
- \everypar{}%
- \else
- \addpenalty \interlinepenalty
- \fi
- \vskip \intextsep
- \box\@currbox
- \penalty\interlinepenalty
- \vskip\intextsep
- \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
- \outputpenalty \z@
- \@inserttrue
- \fi
- \fi
- \if@insert
- \else
- \@addtotoporbot
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \if@insert
- \else
- \@resethfps
- \@cons\@deferlist\@currbox
- \fi
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@xtryfc #1{%
- \@next\reserved@a\@trylist{}{}%
- \@currtype \count #1%
- \divide\@currtype\@xxxii
- \multiply\@currtype\@xxxii
- \@bitor \@currtype \@failedlist
- \@testfp #1%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@testwrongwidth #1%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifdim \ht #1>\@colht
- \@testtrue
- \fi
- \if@test
- \@cons\@failedlist #1%
- \else
- \@ytryfc #1%
- \fi}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@ztryfc #1{%
- \@tempcnta\count #1%
- \divide\@tempcnta\@xxxii
- \multiply\@tempcnta\@xxxii
- \@bitor \@tempcnta {\@failedlist \@flfail}%
- \@testfp #1%
-% \end{macrocode}
-%
-% not in fixfloats?
-% \begin{macrocode}
- \@testwrongwidth #1%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@tempdimb\@tempdima
- \advance\@tempdimb\ht #1%
- \advance\@tempdimb\@fpsep
- \ifdim \@tempdimb >\@colht
- \@testtrue
- \fi
- \if@test
- \@cons\@flfail #1%
- \else
- \@cons\@flsucceed #1%
- \@tempdima\@tempdimb
- \fi}
-% \end{macrocode}
-%
-%
-%
-%
-%
-%
-% \subsection{\texttt{\textbackslash @} discards spaces when moving
-% (pr3039)}
-%
-% \begin{macro}{\@}
-% Ensure that |\@m| can't eat spaces. Alternative would be to make
-% |\@| robust but that takes more space.
-% \begin{macrocode}
-\def\@{\spacefactor\@m{}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{\texttt{\textbackslash setlength} produces error if
-% used with registers like \texttt{\textbackslash dimen0} (pr/3066)}
-%
-% \begin{macro}{\setlength}
-% Add space after register (|#1|) but only if this is still the
-% original definition. When, for example, \Lpack{calc} was already
-% loaded this wouldn't be a good idea any more.
-% \changes{v1.0c}{2000/09/21}{Don't change if definition was
-% modified already}
-% \begin{macrocode}
-\def\@tempa#1#2{#1#2\relax}
-\ifx\setlength\@tempa
- \def\setlength#1#2{#1 #2\relax}
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{\texttt{\textbackslash addpenalty} ruins flush-bottom
-% (pr/3073)}
-%
-% \begin{macro}{\addpenalty}
-% Fix provided by Donald (though the original fix was not good
-% enough). In 2005 Plamen Tanovski discovered that this fix wasn't
-% good enough either as the \cs{vskip} kept getting bigger if
-% several \cs{addpenalty} commands followed each other. Donald
-% kindly send a new fix.
-% \begin{macrocode}
-\def\addpenalty#1{%
- \ifvmode
- \if@minipage
- \else
- \if@nobreak
- \else
- \ifdim\lastskip=\z@
- \penalty#1\relax
- \else
- \@tempskipb\lastskip
-% \end{macrocode}
-% \changes{v1.1l}{2005/11/10}{Add the correct \cs{vskip}}
-% We have to make sure the final \cs{vskip} seen by \TeX\ is the
-% correct one, namely \cs{@tempskipb}. However we may have to
-% adjust for \cs{prevdepth} when placing the penalty but that
-% should not affect the skip we pass on to \TeX.
-% \begin{macrocode}
- \begingroup
- \advance \@tempskipb
- \ifdim\prevdepth>\maxdepth\maxdepth\else
-% \end{macrocode}
-% If |\prevdepth| is -1000pt due to |\nointerlineskip| we better
-% not add it!
-% \changes{v1.0c}{2000/09/21}{Don't add \cs{prevdepth} if it is a
-% senile value!}
-% \begin{macrocode}
- \ifdim \prevdepth = -\@m\p@ \z@ \else \prevdepth \fi
- \fi
- \vskip -\@tempskipb
- \penalty#1%
- \vskip\@tempskipb
- \endgroup
- \vskip -\@tempskipb
- \vskip \@tempskipb
- \fi
- \fi
- \fi
- \else
- \@noitemerr
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \subsection{\texttt{\textbackslash fnsymbol} should use text symbols
-% if possible (pr/3400)}
-% \begin{macro}{\@fnsymbol}
-%
-% This macro is another example of an ever recurring problem in
-% \TeX: Determining if something is text-mode or math-mode. It is
-% imperative for the decision between text and math to be delayed
-% until the actual typesetting is done as the code in question may
-% go through an |\edef| or |\write| where an |\ifmmode| test would
-% be executed prematurely. Hence in the implementation below,
-% |\@fnsymbol| is not robust in itself but the parts doing the
-% actual typesetting are.
-%
-% In the case of |\@fnsymbol| we make use of the robust command
-% |\TextOrMath| which takes two arguments and typesets the first if
-% in text-mode and the second if in math-mode. Note that in order
-% for this command to make the correct decision, it must insert a
-% |\relax| token if run under regular \TeX, which ruins any kerning
-% between the preceding characters and whatever awaits
-% typesetting. If you use e\TeX\ as engine for \LaTeX\ (as
-% recommended) this unfortunate side effect is not present.
-% \begin{macrocode}
-\def\@fnsymbol#1{%
- \ifcase#1\or \TextOrMath\textasteriskcentered *\or
- \TextOrMath \textdagger \dagger\or
- \TextOrMath \textdaggerdbl \ddagger \or
- \TextOrMath \textsection \mathsection\or
- \TextOrMath \textparagraph \mathparagraph\or
- \TextOrMath \textbardbl \|\or
- \TextOrMath {\textasteriskcentered\textasteriskcentered}{**}\or
- \TextOrMath {\textdagger\textdagger}{\dagger\dagger}\or
- \TextOrMath {\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger}\else
- \@ctrerr \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\TextOrMath}
-% \changes{v1.1m}{2006/01/08}{Add command to solve robustness
-% issues (pr/3752)}
-% When using regular \TeX, we make this command robust so that it
-% always selects the correct branch in an |\ifmmode| switch with
-% the usual disadvantage of ruining kerning. For the application we
-% use it for here that shouldn't matter. The alternative would be
-% to mimic |\IeC| from \textsf{inputenc} but then it wil have the
-% disadvantage of choosing the wrong branch if appearing at the
-% beginning of an alignment cell. However, users of e\TeX\ will be
-% pleasantly surprised to get the best of both worlds and no bad
-% side effects.
-%
-% First some code for checking if we are running e\TeX\ but making
-% sure not to permanently turn |\eTeXversion| into |\relax|.
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname eTeXversion\endcsname\relax
-% \end{macrocode}
-% In case of ordinary \TeX\ we define |\TextOrMath| as a robust
-% command but make sure it always grabs its arguments. If we didn't do
-% this it might very well gobble spaces in the input stream.
-% \begin{macrocode}
-\DeclareRobustCommand\TextOrMath{%
- \ifmmode \expandafter\@secondoftwo
- \else \expandafter\@firstoftwo \fi}
-\protected@edef\TextOrMath#1#2{\TextOrMath{#1}{#2}}
-\else
-% \end{macrocode}
-% For e\TeX\ the situation is similar. The robust macro is a hidden
-% one so that we again avoid problems of gobbling spaces in the input.
-% \begin{macrocode}
-\protected\expandafter\def\csname TextOrMath\space\endcsname{%
- \ifmmode \expandafter\@secondoftwo
- \else \expandafter\@firstoftwo \fi}
-\edef\TextOrMath#1#2{%
- \expandafter\noexpand\csname TextOrMath\space\endcsname
- {#1}{#2}}
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{No hyphenation in first word after float environment(pr/3498)}
-%
-% \begin{macro}{\@esphack}
-% \begin{macro}{\@Esphack}
-% Fix suggested by Donald Arseneau.
-% \changes{v1.1g}{2003/09/19}{Fix for \cs{@esphack} (pr/3498)}
-% \changes{v1.1h}{2004/02/13}{Fix for \cs{@Esphack} (pr/3498)}
-% \begin{macrocode}
-\def\@esphack{%
- \relax
- \ifhmode
- \spacefactor\@savsf
- \ifdim\@savsk>\z@
- \nobreak \hskip\z@skip % <------
- \ignorespaces
- \fi
- \fi}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@Esphack{%
- \relax
- \ifhmode
- \spacefactor\@savsf
- \ifdim\@savsk>\z@
- \nobreak \hskip\z@skip % <------
- \@ignoretrue
- \ignorespaces
- \fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Allowing \texttt{\textbackslash emph} to produce small
-% caps, etc}
-% \begin{macro}{\em}
-% \begin{macro}{\eminnershape}
-% \changes{v1.1g}{2003/09/19}{Allow \cs{emph} to produce small caps}
-% \begin{macrocode}
-\DeclareRobustCommand\em
- {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
- \eminnershape \else \itshape \fi}
-\def\eminnershape{\upshape}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{\texttt{\textbackslash textsubscript} not defined in
-% latex.ltx (pr/3492)}
-%
-% \begin{macro}{\textsubscript}
-% \changes{v1.1j}{2005/07/13}{Add \cs{textsubscript}}
-% \changes{v1.1k}{2005/09/29}{Fixed blank lines}
-% This macro is almost identical to \cs{textsuperscript} from the
-% kernel.
-% \begin{macrocode}
-\DeclareRobustCommand*\textsubscript[1]{%
- \@textsubscript{\selectfont#1}}
-\def\@textsubscript#1{%
- {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{\texttt{\textbackslash DeclareMathSizes} only take pts.
-% (pr/3693)}
-%
-% \begin{macro}{\@DeclareMathSizes}
-% \changes{v1.1k}{2005/09/29}{Fixed blank lines}
-% This fix given by Michael J. Downes on comp.text.tex on 2002/10/17
-% allows the user to have settings such as
-% \verb=\DeclareMathSizes{9.5dd}{9.5dd}{7.4dd}{6.6dd}=.
-% \begin{macrocode}
-\def\@DeclareMathSizes #1#2#3#4#5{%
- \@defaultunits\dimen@ #2pt\relax\@nnil
- \if $#3$%
- \expandafter\let\csname S@\strip@pt\dimen@\endcsname\math@fontsfalse
- \else
- \@defaultunits\dimen@ii #3pt\relax\@nnil
- \@defaultunits\@tempdima #4pt\relax\@nnil
- \@defaultunits\@tempdimb #5pt\relax\@nnil
- \toks@{#1}%
- \expandafter\xdef\csname S@\strip@pt\dimen@\endcsname{%
- \gdef\noexpand\tf@size{\strip@pt\dimen@ii}%
- \gdef\noexpand\sf@size{\strip@pt\@tempdima}%
- \gdef\noexpand\ssf@size{\strip@pt\@tempdimb}%
- \the\toks@
- }%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Fewer fragile macros}
-%
-% \begin{macro}{\MakeRobust}
-% \changes{v1.1n}{2006/03/24}{Added macro}
-%
-% The macro firstly checks if the controls sequence in question exists
-% at all.
-% \begin{macrocode}
-\providecommand*\MakeRobust[1]{%
- \@ifundefined{\expandafter\@gobble\string#1}{%
- \@latex@error{The control sequence `\string#1' is undefined!%
- \MessageBreak There is nothing here to make robust}%
- \@eha
- }%
-% \end{macrocode}
-% Then we check if the macro is already robust. We do this by testing
-% if the internal name for a robust macro is defined, namely
-% \verb*=\foo =. If it is already defined do nothing, otherwise set
-% \verb*=\foo = equal to \verb*=\foo= and redefine \verb*=\foo= so
-% that it acts like a macro defined with \verb=\DeclareRobustCommand=.
-% \begin{macrocode}
- {%
- \@ifundefined{\expandafter\@gobble\string#1\space}%
- {%
- \expandafter\let\csname
- \expandafter\@gobble\string#1\space\endcsname=#1%
- \edef\reserved@a{\string#1}%
- \def\reserved@b{#1}%
- \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
- \edef#1{%
- \ifx\reserved@a\reserved@b
- \noexpand\x@protect\noexpand#1%
- \fi
- \noexpand\protect\expandafter\noexpand
- \csname\expandafter\@gobble\string#1\space\endcsname}%
- }%
- {\@latex@info{The control sequence `\string#1' is already robust}}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% Here we make some kernel macros robust.
-% \begin{macrocode}
-\MakeRobust\(
-\MakeRobust\)
-\MakeRobust\[
-\MakeRobust\]
-\MakeRobust\makebox
-\MakeRobust\savebox
-\MakeRobust\framebox
-\MakeRobust\parbox
-\MakeRobust\rule
-\MakeRobust\raisebox
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</fixltx2e>
-% \end{macrocode}
-%
-% \subsection{Using EC fonts (T1 encoding) makes my documents look
-% bl**dy horrible}
-%
-% \subsubsection{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}
-%
-% \subsubsection{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}
-%
-% \subsubsection{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}
-%
-% \subsubsection{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}
-%
-% \subsubsection{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}
-%
-% \subsubsection{\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}
-%
-%
-% \subsection{Check the optional argument to floats}
-%
-% The default definition of |\@xfloat| allows
-% |\begin{figure}[abt23WD]| silently ignoring all but |t|. If you use
-% |\begin{figure}[T]| you get no warning but the float is not allowed
-% \emph{anywhere} so will go to the end of document (or
-% |\clearpage|). This change gives an error message for undefined
-% options.
-%
-% \begin{macrocode}
-%<*fixltx2e>
-% \end{macrocode}
-%
-% \changes{v1.1n}{2013/12/13}{Check float optional argument.}
-% \changes{v1.1q}{2014/05/13}{Fix DocStrip guards.}
-% \begin{macrocode}
-\def\@xfloat #1[#2]{%
- \@nodocument
- \def \@captype {#1}%
- \def \@fps {#2}%
- \@onelevel@sanitize \@fps
- \def \reserved@b {!}%
- \ifx \reserved@b \@fps
- \@fpsadddefault
- \else
- \ifx \@fps \@empty
- \@fpsadddefault
- \fi
- \fi
- \ifhmode
- \@bsphack
- \@floatpenalty -\@Mii
- \else
- \@floatpenalty-\@Miii
- \fi
- \ifinner
- \@parmoderr\@floatpenalty\z@
- \else
- \@next\@currbox\@freelist
- {%
- \@tempcnta \sixt@@n
- \expandafter \@tfor \expandafter \reserved@a
- \expandafter :\expandafter =\@fps
- \do
-% \end{macrocode}
-% Start of changes, use a nested if structure, ending in an error.
-% \begin{macrocode}
- {%
- \if \reserved@a h%
- \ifodd \@tempcnta
- \else
- \advance \@tempcnta \@ne
- \fi
- \else\if \reserved@a t%
- \@setfpsbit \tw@
- \else\if \reserved@a b%
- \@setfpsbit 4%
- \else\if \reserved@a p%
- \@setfpsbit 8%
- \else\if \reserved@a !%
- \ifnum \@tempcnta>15
- \advance\@tempcnta -\sixt@@n\relax
- \fi
- \else
- \@latex@error{Unknown float option `\reserved@a'}%
- {Option `\reserved@a' ignored and `p' used.}%
- \@setfpsbit 8%
- \fi\fi\fi\fi\fi
- }%
-% \end{macrocode}
-% End of changes
-% \begin{macrocode}
- \@tempcntb \csname ftype@\@captype \endcsname
- \multiply \@tempcntb \@xxxii
- \advance \@tempcnta \@tempcntb
- \global \count\@currbox \@tempcnta
- }%
- \@fltovf
- \fi
- \global \setbox\@currbox
- \color@vbox
- \normalcolor
- \vbox \bgroup
- \hsize\columnwidth
- \@parboxrestore
- \@floatboxreset
-}
-% \end{macrocode}
-%
-% \subsection{Within counters only reset next level down}
-%
-% \changes{v1.1s}{2014/08/30}{Reset all within counters in one go}
-%
-% Rather than resetting the ``within'' counter to zero we set it to
-% $-1$ and then run |\stepcounter| that moves it to $0$ and also
-% initiates resetting the next level down.
-% \begin{macrocode}
- \def\@stpelt#1{\global\csname c@#1\endcsname \m@ne\stepcounter{#1}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</fixltx2e>
-% \end{macrocode}
-% \Finale
-%
-\endinput