%% 
%% This is file `babel.def',
%% generated with the docstrip utility.
%% 
%% The original source files were:
%% 
%% babel.dtx  (with options: `core')
%% 
%% 
%% This is a generated file. 
%% 
%% Copyright 1989-1995 Johannes L. Braams and any individual authors 
%% listed elsewhere in this file. All rights reserved. 
%% 
%% For further copyright information see any other copyright notices in 
%% this file. 
%% 
%% This file is part of the Babel system, release 3.5. 
%% --------------------------------------------------- 
%% This system is distributed in the hope that it will be useful, 
%% but WITHOUT ANY WARRANTY; without even the implied warranty of 
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
%% 
%% For error reports concerning UNCHANGED versions of this file no more 
%% than one year old, see bugs.txt. 
%% 
%% Please do not request updates from me directly. Primary 
%% distribution is through the CTAN archives. 
%% 
%% 
%% IMPORTANT COPYRIGHT NOTICE: 
%% 
%% You are NOT ALLOWED to distribute this file alone. 
%% 
%% You are allowed to distribute this file under the condition that it is 
%% distributed together with all the files listed in manifest.txt. 
%% 
%% If you receive only some of these files from someone, complain! 
%% 
%% Permission is granted to copy this file to another file with a clearly 
%% different name and to customize the declarations in that copy to serve 
%% the needs of your installation, provided that you comply with 
%% the conditions in the file legal.txt from the LaTeX2e distribution. 
%% 
%% However, NO PERMISSION is granted to generate or to distribute a 
%% modified version of this file under its original name. 
%% 
%% You are NOT ALLOWED to change this file. 
%% 
%% 
%% MODIFICATION ADVICE: 
%% 
%% If you want to customize this file, it is best to make a copy of the 
%% source file(s) from which it was produced. Use a different name for 
%% your copy(ies) and modify the copy(ies); this will ensure that your 
%% modifications do not get overwritten when you install a new release of 
%% the standard system. You should also ensure that your modified source 
%% file does not generate any modified file with the same name as a 
%% standard file. You can then easily distribute your modifications by 
%% distributing the modified and renamed copy of the source file, taking 
%% care to observe the conditions in legal.txt; this will ensure that 
%% other users can safely use your modifications. 
%% 
%% You will also need to produce your own, suitably named, .ins file to 
%% control the generation of files from your source file; this file 
%% should contain your own preambles for the files it generates, not 
%% those in the standard .ins files. 
%% 
%% The names of the source files used are shown above. 
%% 
%% 
%% 
%%%\iffalse
%%%  @LaTeX-file{
%%%     author          = "Johannes L. Braams",
%%%     version         = "3.5c",
%%%     date            = "21 june 1995",
%%%     time            = "23:55:00 MET",
%%%     filename        = "babel.dtx",
%%%     address         = "Kooienswater 62
%%%                        The Netherlands",
%%%     telephone       = "(70) 3432037",
%%%     FAX             = "(70) 3432395",
%%%     checksum        = "54332 2092 9869 81235",
%%%     email           = "JLBraams@cistron.nl (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "babel",
%%%     supported       = "yes",
%%%     docstring       = "This file, babel.dtx contains the core of
%%%                        the babel system as it was described in
%%%                        TuGboat Volume 12 no 2 and Volume 14 no 1.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%      }
%%% \fi
%%
%% Copyright (C) 1989 -- 1995 by Johannes Braams,
%%                            TeXniek
%%                            all rights reserved.
%% Please report errors to: J.L. Braams
%%                          JLBraams@cistron.nl
\ifx\ProvidesFile\undefined
  \def\ProvidesFile#1[#2 #3 #4]{\wlog{#4 #3 <#2>}}\fi
\ProvidesFile{babel.def}
                [1995/07/11 v3.5e
         Babel common definitions]
\ifx\AtBeginDocument\undefined
  \input plain.def\relax
\fi
\ifx\undefined\iflanguage
  \input switch.def\relax
\fi
\let\babel@core@loaded\relax
\def\main@language#1{\def\bbl@main@language{#1}}
\main@language{english}
\AtBeginDocument{%
  \expandafter\selectlanguage\expandafter{\bbl@main@language}}
\def\bbl@add@special#1{\begingroup
    \def\do{\noexpand\do\noexpand}%
    \def\@makeother{\noexpand\@makeother\noexpand}%
    \edef\x{\endgroup
      \def\noexpand\dospecials{\dospecials\do#1}%
      \expandafter\ifx\csname @sanitize\endcsname\relax \else
        \def\noexpand\@sanitize{\@sanitize\@makeother#1}%
      \fi}%
  \x}
\def\bbl@remove@special#1{\begingroup
    \def\x##1##2{\ifnum`#1=`##2\noexpand\empty
                 \else\noexpand##1\noexpand##2\fi}%
    \def\do{\x\do}%
    \def\@makeother{\x\@makeother}%
    \edef\x{\endgroup
      \def\noexpand\dospecials{\dospecials}%
      \expandafter\ifx\csname @sanitize\endcsname\relax \else
        \def\noexpand\@sanitize{\@sanitize}%
      \fi}%
  \x}
\def\bbl@afterelse#1\else#2\fi{\fi#1}
\def\bbl@afterfi#1\fi{\fi#1}
\begingroup
  \catcode`\~\active
  \def\x{\endgroup
    \def\initiate@active@char##1{%
      \ifcat\noexpand##1\noexpand~\relax
      \else
        \@activated{##1}%
        \@namedef{normal@char\string##1}{##1}%
        \ifx##1'%
          \let\pr@m@s\bbl@pr@m@s
        \fi
        \lccode`~=`##1%
        \lowercase{%
          \catcode`~\active
          \expandafter\bbl@add@special
            \csname \string##1\endcsname
          \expandafter\gdef
            \expandafter~%
            \expandafter{%
            \expandafter\active@prefix\expandafter##1%
            \csname normal@char\string##1\endcsname}}%
        \@namedef{active@char\string##1}{%
          \if@safe@actives
            \bbl@afterelse\csname normal@char\string##1\endcsname
          \else
            \bbl@afterfi\csname user@active\string##1\endcsname
          \fi}%
        \@namedef{user@active\string##1}{%
          \expandafter\ifx
          \csname \user@group @sh@\string##1@\endcsname
          \relax
            \bbl@afterelse\csname @sh@\string##1@sel\endcsname
              {user@active@arg\string##1}{language@active\string##1}%
          \else
            \bbl@afterfi\csname \user@group @sh@\string##1@\endcsname
          \fi}%
        \long\@namedef{user@active@arg\string##1}####1{%
          \expandafter\ifx
          \csname \user@group @sh@\string##1\string####1@\endcsname
          \relax
            \bbl@afterelse
            \csname language@active\string##1\endcsname####1%
          \else
            \bbl@afterfi
            \csname \user@group @sh@\string##1\string####1@%
            \endcsname
          \fi}%
        \@namedef{language@active\string##1}{%
          \expandafter\ifx
          \csname \language@group @sh@\string##1@\endcsname
          \relax
            \bbl@afterelse\csname @sh@\string##1@sel\endcsname
              {language@active@arg\string##1}{system@active\string##1}%
          \else
            \bbl@afterfi
            \csname \language@group @sh@\string##1@\endcsname
          \fi}%
        \long\@namedef{language@active@arg\string##1}####1{%
          \expandafter\ifx
          \csname \language@group @sh@\string##1\string####1@\endcsname
          \relax
            \bbl@afterelse
            \csname system@active\string##1\endcsname####1%
          \else
            \bbl@afterfi
            \csname \language@group @sh@\string##1\string####1@%
            \endcsname
          \fi}%
        \@namedef{system@active\string##1}{%
          \expandafter\ifx
          \csname \system@group @sh@\string##1@\endcsname
          \relax
            \bbl@afterelse\csname @sh@\string##1@sel\endcsname
              {system@active@arg\string##1}{normal@char\string##1}%
          \else
            \bbl@afterfi\csname \system@group @sh@\string##1@\endcsname
          \fi}%
        \long\@namedef{system@active@arg\string##1}####1{%
          \expandafter\ifx
          \csname \system@group @sh@\string##1\string####1@\endcsname
          \relax
            \bbl@afterelse\csname normal@char\string##1\endcsname####1%
          \else
            \bbl@afterfi
            \csname \system@group @sh@\string##1\string####1@\endcsname
          \fi}%
        \fi}%
    }\x
\def\active@prefix#1{%
  \ifx\protect\@typeset@protect
  \else
    \bbl@afterfi\protect#1\@gobble
  \fi}
\newif\if@safe@actives
\@safe@activesfalse
\def\bbl@activate#1{%
  \expandafter\def
  \expandafter#1\expandafter{%
    \expandafter\active@prefix
    \expandafter#1\csname active@char\string#1\endcsname}%
}
\def\bbl@deactivate#1{%
  \expandafter\def
  \expandafter#1\expandafter{%
    \expandafter\active@prefix
    \expandafter#1\csname normal@char\string#1\endcsname}%
}
\def\bbl@firstcs#1#2{\csname#1\endcsname}
\def\bbl@scndcs#1#2{\csname#2\endcsname}
\def\declare@shorthand#1#2{\@decl@short{#1}#2\@nil}
\def\@decl@short#1#2#3\@nil#4{%
  \def\tmp{#3}%
  \ifx\tmp\empty
    \expandafter\let\csname @sh@\string#2@sel\endcsname\bbl@scndcs
  \else
    \expandafter\let\csname @sh@\string#2@sel\endcsname\bbl@firstcs
  \fi
  \@namedef{#1@sh@\string#2\string#3@}{#4}}
\def\textormath#1#2{%
  \ifmmode
    \bbl@afterelse#2%
  \else
    \bbl@afterfi#1%
  \fi}
\def\user@group{}
\def\language@group{english}
\def\system@group{system}
\def\useshorthands#1{%
  \def\user@group{user}%
  \initiate@active@char{#1}%
  \bbl@activate{#1}}
\def\defineshorthand{\declare@shorthand{user}}
\def\languageshorthands#1{\def\language@group{#1}}
\declare@shorthand{system}{"}{\csname normal@char\string"\endcsname}
\declare@shorthand{system}{'}{%
  \textormath{\csname normal@char\string'\endcsname}%
             {\sp\bgroup\prim@s}}
\begingroup
  \catcode`\'\active\let'\relax
  \def\x{\endgroup
    \def\bbl@pr@m@s{%
      \ifx'\@let@token
        \expandafter\pr@@@s
      \else
        \ifx^\@let@token
          \expandafter\expandafter\expandafter\pr@@@t
        \else
          \egroup
        \fi
      \fi}%
    }
\x
\catcode`~12\relax
\initiate@active@char{~}
\declare@shorthand{system}{~}{\penalty\@M\ }
\bbl@activate{~}
\expandafter\def\csname OT1dqpos\endcsname{127}
\expandafter\def\csname T1dqpos\endcsname{4}
\ifx\f@encoding\undefined
  \def\f@encoding{OT1}
\fi
\def\babel@beginsave{\babel@savecnt\z@}
\newcount\babel@savecnt
\babel@beginsave
\def\babel@save#1{%
  \expandafter\let\csname babel@\number\babel@savecnt\endcsname #1\relax
  \begingroup
    \toks@\expandafter{\originalTeX \let#1=}%
    \edef\x{\endgroup
      \def\noexpand\originalTeX{\the\toks@ \expandafter\noexpand
         \csname babel@\number\babel@savecnt\endcsname\relax}}%
  \x
  \advance\babel@savecnt\@ne}
\def\babel@savevariable#1{\begingroup
    \toks@\expandafter{\originalTeX #1=}%
    \edef\x{\endgroup
      \def\noexpand\originalTeX{\the\toks@ \the#1\relax}}%
  \x}
\def\bbl@frenchspacing{%
  \ifnum\the\sfcode`\.=\@m
    \let\bbl@nonfrenchspacing\relax
  \else
    \frenchspacing
    \let\bbl@nonfrenchspacing\nonfrenchspacing
  \fi}
\let\bbl@nonfrenchspacing\nonfrenchspacing
\def\addto#1#2{%
  \ifx#1\undefined
    \def#1{#2}
  \else
  {\toks@\expandafter{#1#2}%
   \xdef#1{\the\toks@}}%
  \fi
}
\def\allowhyphens{\penalty\@M \hskip\z@skip}
\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}%
    \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@%
    \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@}
\def\save@sf@q#1{{\ifhmode
    \edef\@SF{\spacefactor\the\spacefactor}\else
    \let\@SF\empty \fi \leavevmode #1\@SF}}
\ProvideTextCommand{\quotedblbase}{OT1}{%
  \save@sf@q{\set@low@box{\textquotedblright\/}%
    \box\z@\kern-.04em\allowhyphens}}
\ProvideTextCommandDefault{\quotedblbase}{%
  \UseTextSymbol{OT1}{\quotedblbase}}
\ProvideTextCommand{\quotesinglbase}{OT1}{%
  \save@sf@q{\set@low@box{\textquoteright\/}%
    \box\z@\kern-.04em\allowhyphens}}
\ProvideTextCommandDefault{\quotesinglbase}{%
  \UseTextSymbol{OT1}{\quotesinglbase}}
\ProvideTextCommand{\guillemotleft}{OT1}{%
  \ifmmode
    \ll
  \else
    \save@sf@q{\penalty\@M
      \raise.2ex\hbox{$\scriptscriptstyle\ll$}\allowhyphens}%
  \fi}
\ProvideTextCommand{\guillemotright}{OT1}{%
  \ifmmode
    \gg
  \else
    \save@sf@q{\penalty\@M
      \raise.2ex\hbox{$\scriptscriptstyle\gg$}\allowhyphens}%
  \fi}
\ProvideTextCommandDefault{\guillemotleft}{%
  \UseTextSymbol{OT1}{\guillemotleft}}
\ProvideTextCommandDefault{\guillemotright}{%
  \UseTextSymbol{OT1}{\guillemotright}}
\ProvideTextCommand{\guilsinglleft}{OT1}{%
  \ifmmode
    <%
  \else
    \save@sf@q{\penalty\@M
      \raise.2ex\hbox{$\scriptscriptstyle<$}\allowhyphens}%
  \fi}
\ProvideTextCommand{\guilsinglright}{OT1}{%
  \ifmmode
    >%
  \else
    \save@sf@q{\penalty\@M
      \raise.2ex\hbox{$\scriptscriptstyle>$}\allowhyphens}%
  \fi}
\ProvideTextCommandDefault{\guilsinglleft}{%
  \UseTextSymbol{OT1}{\guilsinglleft}}
\ProvideTextCommandDefault{\guilsinglright}{%
  \UseTextSymbol{OT1}{\guilsinglright}}
\DeclareTextCommand{\ij}{OT1}{%
  \allowhyphens i\kern-0.02em j\allowhyphens}
\DeclareTextCommand{\IJ}{OT1}{%
  \allowhyphens I\kern-0.02em J\allowhyphens}
\DeclareTextCommand{\ij}{T1}{\char188}
\DeclareTextCommand{\IJ}{T1}{\char156}
\ProvideTextCommandDefault{\ij}{%
  \UseTextSymbol{OT1}{\ij}}
\ProvideTextCommandDefault{\IJ}{%
  \UseTextSymbol{OT1}{\IJ}}
\def\crrtic@{\hrule height0.1ex width0.3em}
\def\crttic@{\hrule height0.1ex width0.33em}
\def\dj@@#1#2#3{%
  \leavevmode\kern#1em\raise#2ex\vbox{\crrtic@}\kern#3em}
\def\dj@{%
  \ifcase\the\fam
  \dj@@{0.25}{1.28}{-0.50}\or %roman
  \dj@@{0.25}{1.28}{-0.50}\or %roman
  \dj@@{0.25}{1.28}{-0.50}\or %roman
  \dj@@{0.25}{1.28}{-0.50}\or %roman
  \dj@@{0.33}{1.29}{-0.63}\or %italic
  \dj@@{0.35}{1.30}{-0.65}\or %slanted
  \dj@@{0.25}{1.25}{-0.55}\or %bold
  \dj@@{0.25}{1.15}{-0.55}\or %tt
  \dj@@{-0.04}{0.72}{-0.26}\or%csc
  \dj@@{0.35}{1.30}{-0.65} %slanted
  \else\dj@@{0.25}{1.25}{-0.55}\fi}%bold
\def\DJ@@#1#2#3{%
  \leavevmode\kern#1em\raise#2ex\vbox{\crttic@}\kern#3em}
\def\DJ@{%
  \ifcase\the\fam
  \DJ@@{0.11}{0.92}{-0.36}\or
  \DJ@@{0.11}{0.92}{-0.36}\or
  \DJ@@{0.11}{0.92}{-0.36}\or
  \DJ@@{0.11}{0.92}{-0.36}\or
  \DJ@@{0.25}{0.92}{-0.50}\or
  \DJ@@{0.22}{0.92}{-0.47}\or
  \DJ@@{0.09}{0.90}{-0.34}\or
  \DJ@@{0.02}{0.85}{-0.27}\or
  \DJ@@{0.1}{0.86}{-0.35}\or
  \DJ@@{0.22}{0.92}{-0.47}\else
  \DJ@@{0.09}{0.90}{-0.34}\fi}
\DeclareTextCommand{\dj}{OT1}{\dj@ d}
\DeclareTextCommand{\DJ}{OT1}{\DJ@ D}
\ProvideTextCommandDefault{\dj}{%
  \UseTextSymbol{OT1}{\dj}}
\ProvideTextCommandDefault{\DJ}{%
  \UseTextSymbol{OT1}{\DJ}}
\DeclareRobustCommand{\glq}{%
  \ifmmode\mbox{\quotesinglbase}\else\quotesinglbase\fi}
\DeclareRobustCommand{\grq}{%
  \ifmmode\mbox{\textquoteleft}\else\textquoteleft\fi}
\DeclareRobustCommand{\glqq}{%
  \ifmmode\mbox{\quotedblbase}\else\quotedblbase\fi}
\DeclareRobustCommand{\grqq}{%
  \ifmmode\mbox{\textquotedblleft}\else\textquotedblleft\fi}
\DeclareRobustCommand{\flq}{%
  \ifmmode\mbox{\guilsinglleft}\else\guilsinglleft\fi}
\DeclareRobustCommand{\frq}{%
  \ifmmode\mbox{\guilsinglright}\else\guilsinglright\fi}
\DeclareRobustCommand{\flqq}{%
  \ifmmode\mbox{\guillemotleft}\else\guillemotleft\fi}
\DeclareRobustCommand{\frqq}{%
  \ifmmode\mbox{\guillemotright}\else\guillemotright\fi}
\def\umlauthigh{%
  \def\bbl@umlauta##1{{%
      \expandafter\accent\csname\f@encoding dqpos\endcsname
      ##1\allowhyphens}}%
  \let\bbl@umlaute\bbl@umlauta}
\def\umlautlow{%
  \def\bbl@umlauta{\protect\lower@umlaut}}
\def\umlautelow{%
  \def\bbl@umlaute{\protect\lower@umlaut}}
\umlauthigh
\expandafter\ifx\csname U@D\endcsname\relax
  \csname newdimen\endcsname\U@D
\fi
\def\lower@umlaut#1{%
  {\U@D 1ex%
  {\setbox\z@\hbox{%
      \expandafter\char\csname\f@encoding dqpos\endcsname}%
    \dimen@ -.45ex\advance\dimen@\ht\z@
  \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
  \expandafter\accent\csname\f@encoding dqpos\endcsname
  \fontdimen5\font\U@D #1}}
\AtBeginDocument{%
  \DeclareTextCompositeCommand{\"}{OT1}{a}{\bbl@umlauta{a}}%
  \DeclareTextCompositeCommand{\"}{OT1}{e}{\bbl@umlaute{e}}%
  \DeclareTextCompositeCommand{\"}{OT1}{i}{\bbl@umlaute{\i}}%
  \DeclareTextCompositeCommand{\"}{OT1}{\i}{\bbl@umlaute{\i}}%
  \DeclareTextCompositeCommand{\"}{OT1}{o}{\bbl@umlauta{o}}%
  \DeclareTextCompositeCommand{\"}{OT1}{u}{\bbl@umlauta{u}}%
  \DeclareTextCompositeCommand{\"}{OT1}{A}{\bbl@umlauta{A}}%
  \DeclareTextCompositeCommand{\"}{OT1}{E}{\bbl@umlaute{E}}%
  \DeclareTextCompositeCommand{\"}{OT1}{I}{\bbl@umlaute{I}}%
  \DeclareTextCompositeCommand{\"}{OT1}{O}{\bbl@umlauta{O}}%
  \DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}%
}
{\def\format{lplain}
\ifx\fmtname\format
\else
  \def\format{LaTeX2e}
  \ifx\fmtname\format
  \else
    \aftergroup\endinput
  \fi
\fi}
\let\bbl@newlabel\newlabel
\def\newlabel#1#2{%
  \@safe@activestrue\bbl@newlabel{#1}{#2}\@safe@activesfalse}
\let\bbl@@testdef\@testdef
\def\@testdef#1#2#3{%
  \@safe@activestrue\bbl@@testdef{#1}{#2}{#3}\@safe@activesfalse}
\let\bbl@ref\ref
\edef\ref{\noexpand\protect
  \expandafter\noexpand\csname bblref \endcsname}
\expandafter\def\csname bblref \endcsname#1{%
  \@safe@activestrue\bbl@ref{#1}\@safe@activesfalse}
\let\bbl@pageref\pageref
\edef\pageref{\noexpand\protect
  \expandafter\noexpand\csname bblpageref \endcsname}
\expandafter\def\csname bblpageref \endcsname#1{%
  \@safe@activestrue\bbl@pageref{#1}\@safe@activesfalse}
\def\loadlocalcfg#1{%
  \InputIfFileExists{#1.cfg}
           {\typeout{*************************************^^J%
                     * Local config file #1.cfg used^^J%
                     *}%
            }
           {}}
%%
%% \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
%% 
%% End of file `babel.def'.
