%% %% 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 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 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'.