summaryrefslogtreecommitdiff
path: root/macros/latex/required/babel/base/bbcompat.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/required/babel/base/bbcompat.dtx')
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx591
1 files changed, 591 insertions, 0 deletions
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
new file mode 100644
index 0000000000..063767ea93
--- /dev/null
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -0,0 +1,591 @@
+% \iffalse meta-comment
+%
+% Copyright 1989-2008 Johannes L. Braams and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the Babel system.
+% --------------------------------------
+%
+% It 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".
+%
+% The Current Maintainer of this work is Javier Bezos.
+%
+% The list of all files belonging to the Babel system is
+% given in the file `manifest.bbl. See also `legal.bbl' 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
+% \CheckSum{263}
+%
+% \iffalse
+%<*dtx>
+\ProvidesFile{bbcompat.dtx}[2019/07/19 v3.33]
+%</dtx>
+%
+%% File 'bbcompat.dtx'
+%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% TeXniek
+%% all rights reserved.
+%<*filedriver>
+\documentclass{ltxdoc}
+\newcommand*\TeXhax{\TeX hax}
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\file[1]{\texttt{#1}}
+\newcommand*\pkg[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{bbcompat.dtx}
+\end{document}
+%</filedriver>
+% \fi
+%
+% \GetFileInfo{bbcompat.dtx}
+% \changes{bbcompat-1.2j}{2006/06/05}{Small documentation fix}
+%
+% \StopEventually{}
+%
+% \changes{bbcompat-1.2}{1996/11/02}{Added the check for \cs{LdfInit}}
+% \changes{bbcompat-1.2d}{1999/04/12}{When these files are read by a
+% non-babel plain format the @ has still category code `other' so
+% can't use \cs{@undefined}}
+% \begin{macrocode}
+\ifx\LdfInit\undefined
+ \def\LdfInit{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \input babel.def\relax
+ \catcode`\@=\atcatcode \let\atcatcode\relax
+ \LdfInit}
+\fi
+% \end{macrocode}
+% It seems that these files, although meant for compatibility with
+% \file{plain.tex} are also used as packages in \LaTeXe. The
+% disadvantage of that is that a number of compatibility measures
+% with other packages that are part of \file{babel.sty} are not
+% present. Therefore we issue an error and then load
+% \file{babel.def} to let the user continue processing his
+% document (at his own risk).
+%
+% First we determine whether we are loaded from \LaTeX\ by checking
+% whether |\PackageError| is defined.
+% \begin{macrocode}
+\ifx\PackageError\undefined
+% \end{macrocode}
+% In this case we are not being loaded by \LaTeXe, so just define
+% |\ProvidesLanguage| to prevent an error when the \file{.ldf} file
+% is loaded.
+% \begin{macrocode}
+ \def\ProvidesLanguage#1[#2 #3 #4]{%
+ \wlog{Language: #1 #4 #3 <#2>}}%
+\else
+% \end{macrocode}
+% Now we define an error message which `deletes' itself from
+% memory.
+% \changes{bbcompat-1.2l}{2013/07/28}{Raise a more useful error.}
+%
+% \begin{macrocode}
+ \def\bblstyerror{%
+ \PackageError{babel}%
+ {You are loading directly a language style.\MessageBreak
+ This syntax is deprecated and you must use\MessageBreak
+ \string\usepackage[language]\string{babel\string}}%
+ {You could proceed but don't complain if you run into errors}%
+ \let\bblstyerror\@undefined
+ }
+% \end{macrocode}
+% Now we can issue the error, it should appear when these files are
+% loaded from \LaTeXe, with \emph{or} without \file{hyphen.cfg}
+% preloaded in the format.
+% \changes{bbcompat-1.2e}{1999/04/20}{Added a check for
+% \cs{ProvidesLanguage}}
+% \begin{macrocode}
+ \ifx\ProvidesLanguage\undefined
+% \end{macrocode}
+% In this case \file{hyphen.cfg} wasn't loaded in the \LaTeXe\
+% format so we also need to provide a suitable definition for
+% |\ProvidesLanguage|.
+% \begin{macrocode}
+ \bblstyerror
+ \def\ProvidesLanguage{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \input babel.def\relax
+ \catcode`\@=\atcatcode \let\atcatcode\relax
+ \ProvidesLanguage}
+% \end{macrocode}
+% When we end up here, \file{hyphen.cfg} was loaded into the
+% format; we only need to issue the error from \LaTeXe.
+% \begin{macrocode}
+ \else
+ \bblstyerror
+ \fi
+\fi
+% \end{macrocode}
+% \changes{bbcompat-1.2}{1996/07/13}{Added \file{.sty} files and
+% definition of \cs{CurrentOption} for language definition files
+% that are loaded by more than one option.}
+% \changes{bbcompat-1.2}{1996/12/14}{Added \file{welsh.sty}}
+% \changes{bbcompat-1.2b}{1997/02/07}{Added \file{sanskrit.sty}}
+% \changes{bbcompat-1.2c}{1998/03/24}{Added \file{hebrew.sty}}
+% \changes{bbcompat-1.2d}{1999/03/09}{Added \file{ukraineb.sty}}
+% \changes{bbcompat-1.2d}{1999/04/10}{Added \file{ngerman.sty} and
+% \file{naustrian.sty}}
+% \changes{bbcompat-1.2f}{2000/09/26}{Added \file{icelandic.sty},
+% \file{bulgarian.sty} and \file{samin.sty}}
+% \changes{bbcompat-1.2f}{2000/09/27}{Define \cs{CurrentOption} in
+% each file}
+% \changes{bbcompat-1.2g}{2001/01/19}{Added code for usenglish and
+% ukenglish.sty}
+% \changes{bbcompat-1.2h}{2003/11/13}{Added \file{interlingua.sty}}
+% \changes{bbcompat-1.2i}{2005/11/23}{Added \file{albanian.sty} and
+% \file{bahasam.sty}}
+% \changes{bbcompat-1.2k}{2008/07/06}{Added \file{latin.sty}}
+% \begin{macrocode}
+%<+albanian>\def\CurrentOption{albanian}
+%<+albanian>\input albanian.ldf\relax
+%<+american>\def\CurrentOption{american}
+%<+USenglish>\def\CurrentOption{USenglish}
+%<+british>\def\CurrentOption{british}
+%<+english>\def\CurrentOption{english}
+%<+UKenglish>\def\CurrentOption{UKenglish}
+%<american|british|english|UKenglish|USenglish>\input english.ldf\relax
+%<+bahasa>\def\CurrentOption{bahasai}
+%<+bahasa>\input bahasai.ldf\relax
+%<+bahasam>\def\CurrentOption{bahasam}
+%<+bahasam>\input bahasam.ldf\relax
+%<+breton>\def\CurrentOption{breton}
+%<+breton>\input breton.ldf\relax
+%<+bulgarian>\def\CurrentOption{bulgarian}
+%<+bulgarian>\input bulgarian.ldf\relax
+%<+catalan>\def\CurrentOption{catalan}
+%<+catalan>\input catalan.ldf\relax
+%<+croatian>\def\CurrentOption{croatian}
+%<+croatian>\input croatian.ldf\relax
+%<+czech>\def\CurrentOption{czech}
+%<+czech>\input czech.ldf\relax
+%<+danish>\def\CurrentOption{danish}
+%<+danish>\input danish.ldf\relax
+%<+afrikaans>\def\CurrentOption{afrikaans}
+%<+dutch>\def\CurrentOption{dutch}
+%<+afrikaans|dutch>\input dutch.ldf\relax
+%<+esperanto>\def\CurrentOption{esperanto}
+%<+esperanto>\input esperanto.ldf\relax
+%<+estonian>\def\CurrentOption{estonian}
+%<+estonian>\input estonian.ldf\relax
+%<+finnish>\def\CurrentOption{finnish}
+%<+finnish>\input finnish.ldf\relax
+%<+francais>\def\CurrentOption{french}
+%<+francais>\input french.ldf\relax
+%<+galician>\def\CurrentOption{galician}
+%<+galician>\input galician.ldf\relax
+%<+austrian>\def\CurrentOption{austrian}
+%<+german>\def\CurrentOption{german}
+%<+germanb>\def\CurrentOption{german}
+%<+austrian|german|germanb>\input germanb.ldf\relax
+%<+naustrian>\def\CurrentOption{naustrian}
+%<+ngerman>\def\CurrentOption{ngerman}
+%<+naustrian|ngerman>\input ngermanb.ldf\relax
+%<+greek>\def\CurrentOption{greek}
+%<+greek>\input greek.ldf\relax
+%<+icelandic>\def\CurrentOption{icelandic}
+%<+icelandic>\input icelandic.ldf\relax
+%<+interlingua>\def\CurrentOption{interlingua}
+%<+interlingua>\input interlingua.ldf\relax
+%<+irish>\def\CurrentOption{irish}
+%<+irish>\input irish.ldf\relax
+%<+italian>\def\CurrentOption{italian}
+%<+italian>\input italian.ldf\relax
+%<+latin>\def\CurrentOption{latin}
+%<+latin>\input latin.ldf\relax
+%<+lsorbian>\def\CurrentOption{lsorbian}
+%<+lsorbian>\input lsorbian.ldf\relax
+%<+magyar>\def\CurrentOption{magyar}
+%<+hungarian>\def\CurrentOption{hungarian}
+%<+magyar|hungarian>\input magyar.ldf\relax
+%<+norsk>\def\CurrentOption{norsk}
+%<+nynorsk>\def\CurrentOption{nynorsk}
+%<+norsk|nynorsk>\input norsk.ldf\relax
+%<+polish>\def\CurrentOption{polish}
+%<+polish>\input polish.ldf\relax
+%<+portuges>\def\CurrentOption{portuges}
+%<+portuguese>\def\CurrentOption{portuguese}
+%<+brazil>\def\CurrentOption{brazil}
+%<+brazilian>\def\CurrentOption{brazilian}
+%<+portuges|portuguese|brazil|brazilian>\input portuges.ldf\relax
+%<+romanian>\def\CurrentOption{romanian}
+%<+romanian>\input romanian.ldf\relax
+%<+russianb>\def\CurrentOption{russianb}
+%<+russianb>\input russianb.ldf\relax
+%<+ukraineb>\def\CurrentOption{ukraineb}
+%<+ukraineb>\input ukraineb.ldf\relax
+%<+samin>\def\CurrentOption{samin}
+%<+samin>\input samin.ldf\relax
+%<+sanskrit>\def\CurrentOption{sanskrit}
+%<+sanskrit>\input sanskrit.ldf\relax
+%<+scottish>\def\CurrentOption{scottish}
+%<+scottish>\input scottish.ldf\relax
+%<+slovak>\def\CurrentOption{slovak}
+%<+slovak>\input slovak.ldf\relax
+%<+slovene>\def\CurrentOption{slovene}
+%<+slovene>\input slovene.ldf\relax
+%<+spanish>\def\CurrentOption{spanish}
+%<+spanish>\input spanish.ldf\relax
+%<+swedish>\def\CurrentOption{swedish}
+%<+swedish>\input swedish.ldf\relax
+%<+turkish>\def\CurrentOption{turkish}
+%<+turkish>\input turkish.ldf\relax
+%<+usorbian>\def\CurrentOption{usorbian}
+%<+usorbian>\input usorbian.ldf\relax
+%<+welsh>\def\CurrentOption{welsh}
+%<+welsh>\input welsh.ldf\relax
+%<+hebrew>\def\CurrentOption{hebrew}
+%<+hebrew>\input rlbabel.def\input hebrew.ldf\relax
+% \end{macrocode}
+%
+% \section{Internationalizing \LaTeX{} 2.09}
+%
+% Now that we're sure that the code is seen by \LaTeX\ only, we
+% have to find out what the main (primary) document style is
+% because we want to redefine some macros. This is only necessary
+% for releases of \LaTeX\ dated before December~1991. Therefore
+% this part of the code can optionally be included in
+% \file{babel.def} by specifying the \texttt{docstrip} option
+% \texttt{names}.
+%
+% The standard styles can be distinguished by checking whether some
+% macros are defined. In table~\ref{styles} an overview is given of
+% the macros that can be used for this purpose.
+% \begin{table}[htb]
+% \begin{center}
+% \DeleteShortVerb{\|}
+% \begin{tabular}{|lcp{8cm}|}
+% \hline
+% article & : & both the \verb+\chapter+ and \verb+\opening+
+% macros are undefined\\
+% report and book & : & the \verb+\chapter+ macro is defined and
+% the \verb+\opening+ is undefined\\
+% letter & : & the \verb+\chapter+ macro is undefined and
+% the \verb+\opening+ is defined\\
+% \hline
+% \end{tabular}
+% \caption{How to determine the main document style}\label{styles}
+% \MakeShortVerb{\|}
+% \end{center}
+% \end{table}
+%
+% \noindent The macros that have to be redefined for the
+% \texttt{report} and \texttt{book} document styles happen to be
+% the same, so there is no need to distinguish between those two
+% styles.
+%
+% \begin{macro}{\doc@style}
+% First a parameter |\doc@style| is defined to identify the current
+% document style. This parameter might have been defined by a
+% document style that already uses macros instead of hard-wired
+% texts, such as \file{artikel1.sty}~\cite{BEP}, so the existence of
+% |\doc@style| is checked. If this macro is undefined, i.\,e., if
+% the document style is unknown and could therefore contain
+% hard-wired texts, |\doc@style| is defined to the default
+% value~`0'.
+% \changes{babel~3.0d}{1991/10/29}{Removed use of \cs{@ifundefined}}
+% \begin{macrocode}
+%<*names>
+\ifx\@undefined\doc@style
+ \def\doc@style{0}%
+% \end{macrocode}
+% This parameter is defined in the following \texttt{if}
+% construction (see table~\ref{styles}):
+%
+% \begin{macrocode}
+ \ifx\@undefined\opening
+ \ifx\@undefined\chapter
+ \def\doc@style{1}%
+ \else
+ \def\doc@style{2}%
+ \fi
+ \else
+ \def\doc@style{3}%
+ \fi%
+\fi%
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{babel~3.1}{1991/11/05}{Removed definition of
+% \cs{if@restonecol}}
+%
+% Now here comes the real work: we start to redefine things and
+% replace hard-wired texts by macros. These redefinitions should be
+% carried out conditionally, in case it has already been done.
+%
+% For the \texttt{figure} and \texttt{table} environments we have
+% in all styles:
+% \begin{macrocode}
+\@ifundefined{figurename}{\def\fnum@figure{\figurename{} \thefigure}}{}
+\@ifundefined{tablename}{\def\fnum@table{\tablename{} \thetable}}{}
+% \end{macrocode}
+%
+% The rest of the macros have to be treated differently for each
+% style. When |\doc@style| still has its default value nothing
+% needs to be done.
+% \begin{macrocode}
+\ifcase\doc@style\relax
+\or
+% \end{macrocode}
+%
+% This means that \file{babel.def} is read after the
+% \texttt{article} style, where no |\chapter| and |\opening|
+% commands are defined\footnote{A fact that was pointed out to me
+% by Nico Poppelier and was already used in Piet van Oostrum's
+% document style option~\texttt{nl}.}.
+%
+% First we have the |\tableofcontents|,
+% |\listoffigures| and |\listoftables|:
+% \begin{macrocode}
+\@ifundefined{contentsname}%
+ {\def\tableofcontents{\section*{\contentsname\@mkboth
+ {\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
+ \@starttoc{toc}}}{}
+\@ifundefined{listfigurename}%
+ {\def\listoffigures{\section*{\listfigurename\@mkboth
+ {\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}%
+ \@starttoc{lof}}}{}
+\@ifundefined{listtablename}%
+ {\def\listoftables{\section*{\listtablename\@mkboth
+ {\uppercase{\listtablename}}{\uppercase{\listtablename}}}%
+ \@starttoc{lot}}}{}
+% \end{macrocode}
+%
+% Then the |\thebibliography| and |\theindex| environments.
+%
+% \begin{macrocode}
+\@ifundefined{refname}%
+ {\def\thebibliography#1{\section*{\refname
+ \@mkboth{\uppercase{\refname}}{\uppercase{\refname}}}%
+ \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}}%
+ \def\newblock{\hskip.11em plus.33em minus.07em}%
+ \sloppy\clubpenalty4000\widowpenalty\clubpenalty
+ \sfcode`\.=1000\relax}}{}
+\@ifundefined{indexname}%
+ {\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule \z@
+ \columnsep 35pt\twocolumn[\section*{\indexname}]%
+ \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%
+ \thispagestyle{plain}%
+ \parskip\z@ plus.3pt\parindent\z@\let\item\@idxitem}}{}
+% \end{macrocode}
+%
+% The |abstract| environment:
+%
+% \begin{macrocode}
+\@ifundefined{abstractname}%
+ {\def\abstract{\if@twocolumn
+ \section*{\abstractname}%
+ \else \small
+ \begin{center}%
+ {\bf \abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \quotation
+ \fi}}{}
+% \end{macrocode}
+%
+% And last but not least, the macro |\part|:
+%
+% \begin{macrocode}
+\@ifundefined{partname}%
+{\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart
+ \hspace{1em}#1}\else
+ \addcontentsline{toc}{part}{#1}\fi
+ {\parindent\z@ \raggedright
+ \ifnum \c@secnumdepth >\m@ne
+ \Large \bf \partname{} \thepart
+ \par \nobreak
+ \fi
+ \huge \bf
+ #2\markboth{}{}\par}%
+ \nobreak
+ \vskip 3ex\@afterheading}%
+}{}
+% \end{macrocode}
+%
+% This is all that needs to be done for the \texttt{article} style.
+%
+% \begin{macrocode}
+\or
+% \end{macrocode}
+%
+% The next case is formed by the two styles \texttt{book} and
+% \texttt{report}. Basically we have to do the same as for the
+% \texttt{article} style, except now we must also change the
+% |\chapter| command.
+%
+% The tables of contents, figures and tables:
+% \begin{macrocode}
+\@ifundefined{contentsname}%
+ {\def\tableofcontents{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \fi\chapter*{\contentsname\@mkboth
+ {\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
+ \@starttoc{toc}%
+ \csname if@restonecol\endcsname\twocolumn
+ \csname fi\endcsname}}{}
+\@ifundefined{listfigurename}%
+ {\def\listoffigures{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \fi\chapter*{\listfigurename\@mkboth
+ {\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}%
+ \@starttoc{lof}%
+ \csname if@restonecol\endcsname\twocolumn
+ \csname fi\endcsname}}{}
+\@ifundefined{listtablename}%
+ {\def\listoftables{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \fi\chapter*{\listtablename\@mkboth
+ {\uppercase{\listtablename}}{\uppercase{\listtablename}}}%
+ \@starttoc{lot}%
+ \csname if@restonecol\endcsname\twocolumn
+ \csname fi\endcsname}}{}
+% \end{macrocode}
+%
+% Again, the |bibliography| and |index| environments; notice that
+% in this case we use |\bibname| instead of |\refname| as in the
+% definitions for the \texttt{article} style. The reason for this
+% is that in the \texttt{article} document style the term
+% `References' is used in the definition of |\thebibliography|. In
+% the \texttt{report} and \texttt{book} document styles the term
+% `Bibliography' is used.
+% \begin{macrocode}
+\@ifundefined{bibname}%
+ {\def\thebibliography#1{\chapter*{\bibname
+ \@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}%
+ \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}%
+ \leftmargin\labelwidth \advance\leftmargin\labelsep
+ \usecounter{enumi}}%
+ \def\newblock{\hskip.11em plus.33em minus.07em}%
+ \sloppy\clubpenalty4000\widowpenalty\clubpenalty
+ \sfcode`\.=1000\relax}}{}
+\@ifundefined{indexname}%
+ {\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule \z@
+ \columnsep 35pt\twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%
+ \thispagestyle{plain}%
+ \parskip\z@ plus.3pt\parindent\z@ \let\item\@idxitem}}{}
+% \end{macrocode}
+%
+% Here is the |abstract| environment:
+% \begin{macrocode}
+\@ifundefined{abstractname}%
+ {\def\abstract{\titlepage
+ \null\vfil
+ \begin{center}%
+ {\bf \abstractname}%
+ \end{center}}}{}
+% \end{macrocode}
+%
+% And last but not least the |\chapter|, |\appendix| and
+% |\part| macros.
+% \begin{macrocode}
+\@ifundefined{chaptername}{\def\@chapapp{\chaptername}}{}
+%
+\@ifundefined{appendixname}%
+ {\def\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \def\@chapapp{\appendixname}%
+ \def\thechapter{\Alph{chapter}}}}{}
+%
+\@ifundefined{partname}%
+ {\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart
+ \hspace{1em}#1}\else
+ \addcontentsline{toc}{part}{#1}\fi
+ \markboth{}{}%
+ {\centering
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bf \partname{} \thepart
+ \par
+ \vskip 20pt \fi
+ \Huge \bf
+ #1\par}\@endpart}}{}%
+\or
+% \end{macrocode}
+%
+% Now we address the case where \file{babel.def} is read after the
+% \texttt{letter} style. The \texttt{letter} document style
+% defines the macro |\opening| and some other macros that are
+% specific to \texttt{letter}. This means that we have to redefine
+% other macros, compared to the previous two cases.
+%
+% First two macros for the material at the end of a letter, the
+% |\cc| and |\encl| macros.
+% \begin{macrocode}
+\@ifundefined{ccname}%
+ {\def\cc#1{\par\noindent
+ \parbox[t]{\textwidth}%
+ {\@hangfrom{\rm \ccname : }\ignorespaces #1\strut}\par}}{}
+\@ifundefined{enclname}%
+ {\def\encl#1{\par\noindent
+ \parbox[t]{\textwidth}%
+ {\@hangfrom{\rm \enclname : }\ignorespaces #1\strut}\par}}{}
+% \end{macrocode}
+%
+% The last thing we have to do here is to redefine the
+% \texttt{headings} pagestyle:
+% \changes{babel~3.3}{1993/07/11}{\cs{headpagename} should be
+% \cs{pagename}}
+% \begin{macrocode}
+\@ifundefined{headtoname}%
+ {\def\ps@headings{%
+ \def\@oddhead{\sl \headtoname{} \ignorespaces\toname \hfil
+ \@date \hfil \pagename{} \thepage}%
+ \def\@oddfoot{}}}{}
+\fi
+%</names>
+% \end{macrocode}
+%
+% This was the last of the four standard document styles, so if
+% |\doc@style| has another value we do nothing and just close the
+% \texttt{if} construction. Here ends the code that can be optionally
+% included when a version of \LaTeX\ is in use that is dated
+% \emph{before} December~1991.
+%
+% We also need to redefine a number of commands to ensure that the
+% right font encoding is used, but this can't be done before
+% \file{babel.def} is loaded.
+% \changes{babel~3.6o}{1999/04/07}{Moved the rest of the font encoding
+% related definitions to their original place}
+%
+%%
+%% \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 \~}
+\endinput