%%
%% This is file `switch.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% babel.dtx (with options: `kernel')
%% Copyright 1989-1997 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.6.
%% --------------------------------------------------
%% 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.6h",
%%% date = "23 January 1997",
%%% time = "23:49:49 MET",
%%% filename = "babel.dtx",
%%% address = "Kooienswater 62
%%% The Netherlands",
%%% telephone = "(3179) 352 28 19",
%%% FAX = "(3170) 343 23 95",
%%% checksum = "20446 4113 18260 157597",
%%% 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 -- 1997 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{switch.def}
[1997/01/23 v3.6h
Babel language switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
\expandafter\ifx\csname iflanguage\endcsname\relax \else
\expandafter\endinput
\fi
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
\ifx\newlanguage\@undefined
\csname newcount\endcsname\last@language
\else
\countdef\last@language=19
\fi
\ifx\newlanguage\@undefined
\def\addlanguage#1{%
\global\advance\last@language \@ne
\ifnum\last@language<\@cclvi
\else
\errmessage{No room for a new \string\language!}%
\fi
\global\chardef#1\last@language
\wlog{\string#1 = \string\language\the\last@language}}
\else
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\wlog{\string#1 = a dialect from \string\language#2}}
\def\iflanguage#1#2#3{%
\expandafter\ifx\csname l@#1\endcsname\relax
\@nolanerr{#1}%
\else
\ifnum\csname l@#1\endcsname=\language #2%
\else#3\fi
\fi}
\edef\selectlanguage{%
\noexpand\protect
\expandafter\noexpand\csname selectlanguage \endcsname
}
\ifx\@undefined\protect\let\protect\relax\fi
\ifx\documentclass\@undefined
\def\xstring{\string\string\string}
\else
\let\xstring\string
\fi
\expandafter\def\csname selectlanguage \endcsname#1{%
\edef\languagename{%
\ifnum\escapechar=\expandafter`\string#1\@empty
\else \string#1\@empty\fi}%
\select@language{\languagename}%
\if@filesw
\protected@write\@auxout{}{\string\select@language{\languagename}}%
\addtocontents{toc}{\xstring\select@language{\languagename}}%
\addtocontents{lof}{\xstring\select@language{\languagename}}%
\addtocontents{lot}{\xstring\select@language{\languagename}}%
\fi}
\def\select@language#1{%
\expandafter\ifx\csname date#1\endcsname\relax
\@nolanerr{#1}%
\else
\language=\csname l@#1\endcsname\relax
\originalTeX
\expandafter\def\expandafter\originalTeX
\expandafter{\csname noextras#1\endcsname
\let\originalTeX\@empty}%
\languageshorthands{none}%
\babel@beginsave
\csname captions#1\endcsname
\csname date#1\endcsname
\csname extras#1\endcsname\relax
\babel@savevariable\lefthyphenmin
\babel@savevariable\righthyphenmin
\expandafter\ifx\csname #1hyphenmins\endcsname\relax
\lefthyphenmin\tw@\righthyphenmin\thr@@\relax
\else
\expandafter\expandafter\expandafter\set@hyphenmins
\csname #1hyphenmins\endcsname\relax
\fi
\fi}
\long\def\otherlanguage#1{%
\def\languagename{#1}%
\csname selectlanguage \endcsname{#1}%
\ignorespaces
}
\long\def\endotherlanguage{%
\originalTeX
\global\@ignoretrue\ignorespaces
}
\expandafter\def\csname otherlanguage*\endcsname#1{%
\foreign@language{#1}%
}
\expandafter\def\csname endotherlanguage*\endcsname{%
\csname noextras\languagename\endcsname
}
\def\foreignlanguage{\protect\csname foreignlanguage \endcsname}
\expandafter\def\csname foreignlanguage \endcsname#1#2{%
\begingroup
\foreign@language{#1}%
#2%
\csname noextras#1\endcsname
\endgroup
}
\def\foreign@language#1{%
\def\languagename{#1}%
\expandafter\ifx\csname l@#1\endcsname\relax
\@nolanerr{#1}%
\else
\language=\csname l@#1\endcsname\relax
\languageshorthands{none}%
\csname extras#1\endcsname
\expandafter\ifx\csname #1hyphenmins\endcsname\relax
\lefthyphenmin\tw@\righthyphenmin\thr@@\relax
\else
\expandafter\expandafter\expandafter\set@hyphenmins
\csname #1hyphenmins\endcsname\relax
\fi
\fi
}
\def\set@hyphenmins#1#2{\lefthyphenmin#1\righthyphenmin#2}
\def\LdfInit{%
\chardef\atcatcode=\catcode`\@
\catcode`\@=11\relax
\input babel.def\relax
\catcode`\@=\atcatcode \let\atcatcode\relax
\LdfInit}
\ifx\originalTeX\@undefined\let\originalTeX\@empty\fi
\ifx\babel@beginsave\@undefined\let\babel@beginsave\relax\fi
\ifx\PackageError\@undefined
\def\@nolanerr#1{%
\errhelp{Your command will be ignored, type <return> to proceed}%
\errmessage{You haven't defined the language #1\space yet}}
\def\@nopatterns#1{%
\message{No hyphenation patterns were loaded for}
\message{the language `#1'}
\message{I will use the patterns loaded for \string\language=0
instead}}
\def\@activated#1{%
\wlog{Package babel Info: Making #1 an active character}}
\else
\newcommand*{\@nolanerr}[1]{%
\PackageError{babel}%
{You haven't defined the language #1\space yet}%
{Your command will be ignored, type <return> to proceed}}
\newcommand*{\@nopatterns}[1]{%
\PackageWarningNoLine{babel}%
{No hyphenation patterns were loaded for\MessageBreak
the language `#1'\MessageBreak
I will use the patterns loaded for \string\language=0
instead}}
\newcommand*{\@activated}[1]{%
\PackageInfo{babel}{%
Making #1 an active character}}
\fi
%%
%% \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 `switch.def'.
|