% ^^A Hey Emacs, this is a -*-LaTeX-*- file!
% \title{\CS\LaTeX}
% \author{Jaroslav \v Snajdr \and Zden\v ek Wagner \and
%   Ji\v r\'\i\ Zlatu\v ska \and The \LaTeX 3 Project}
% \maketitle
% \iffalse
%    \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
\newcommand\CS{$\cal C\kern-.1667em
  \lower.5ex\hbox{$\cal S$}\kern-.075em$}
\begin{document}
\overfullrule=10pt
\DocInput{cslatex.dtx}
\end{document}
%</driver>
%    \end{macrocode}
% \fi
%
% \section{Hyphenation---file \texttt{hyphen.cfg}}
% 
%    \begin{macrocode}
%<*hyphen>
\ProvidesFile{hyphen.cfg}[1997/01/30 CSLaTeX]
%    \end{macrocode}
%
% \begin{macro}{\@@T1Codes}
% This macro sets the correct uc/ls/sf codes for characters in the T1
% encoding.
%    \begin{macrocode}
\expandafter\def\csname @@T1Codes\endcsname{%
  \def\@tempa##1##2{%
    \@tempcnta=##1\relax\@tempcntb=##2\relax\@tempb}%
  \def\@tempb{%
    \ifnum\@tempcnta>\@tempcntb\else
    \@tempc\@tempcnta
    \advance\@tempcnta by 1
    \expandafter\@tempb
    \fi}%
  \def\@tempc##1{%
    \count@=##1\advance\count@ by -"20
    \uccode##1=\count@
    \lccode##1=##1 }%
  \@tempa{"A0}{"BC}
  \@tempa{"E0}{"FF}
  \def\@tempc##1{%
    \count@=##1\advance\count@ by "20
    \uccode##1=##1
    \lccode##1=\count@
    \sfcode##1=999 }%
  \@tempa{"80}{"9C}
  \@tempa{"C0}{"DF}
  \uccode25=`\I \lccode25=26    % dotless i
  \uccode26=`\J \lccode26=26    % dotless j, ae in OT1
  \lccode157=`\i \uccode157=157 % dotted I
  \lccode158=158 \uccode158=208 % d-bar
  \sfcode254=1000 \lccode254=254
  \sfcode255=1000 \lccode255=255
  \sfcode158=1000 \sfcode159=1000
  \let\@tempa=\@undefined
  \let\@tempb=\@undefined
  \let\@tempc=\@undefined}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@IL2Codes} 
% The same for IL2 (ISO-8859-2).
%    \begin{macrocode}
\expandafter\def\csname @@IL2Codes\endcsname{%
  \def\@tempa##1##2{%
    \lccode##1=##1 \uccode##2=##2
    \lccode##2=##1 \uccode##1=##2 }%
  \@tempa{181}{165}\@tempa{184}{152}\@tempa{185}{169}%
  \@tempa{187}{171}\@tempa{190}{174}%
  \sfcode254=0 \lccode254=0  % ,,
  \sfcode255=0 \lccode255=0  % ``
  \sfcode158=0 \lccode158=0  % <<
  \sfcode159=0 \lccode159=0 }% >>
%    \end{macrocode}
% \end{macro}
% Now we define macros that change the hyphenation patterns when
% encoding or language is switched.
%
% Token registers |\@@front@@| and |\@@end@@| contain commands which
% will be later contents of the |\@hyphenation| macro (see its
% definition).
%    \begin{macrocode}
\newtoks\@@front@@ \newtoks\@@end@@ \bgroup \count0=0
%    \end{macrocode}
% \begin{macro}{\DeclareLanguage}
% Command |\DeclareLanuage| loads hyphenation patterns for respective
% languages and encodings. First control sequences that redefine
% |\lang| to |\lang encoding| are appended to |\@@front@@|
% register. By command |\setup@hyphenation|, the patterns for
% all encodings noted in optional parameter of |\DeclareLanguage| are
% loaded.
%    \begin{macrocode}
\newcommand{\DeclareLanguage}[4][\undefined]{%
  \def\c@ding{#1}\def\und@fin@d{\undefined}%
  \ifx\c@ding\und@fin@d
    \setup@hyphenation{#3}{\expandafter\@gobble\string#2}{#4}%
  \else
    \global\@@front@@=\expandafter{\the\@@front@@
      \global\expandafter\expandafter\expandafter\def\expandafter
      \expandafter\expandafter#2\expandafter\expandafter\expandafter
      {\csname\expandafter\@gobble\string#2 \f@encoding\endcsname}}%
    \def\one@arg##1,##2\end{%
      \def\c@ding{##1}
      \ifx\c@ding\und@fin@d\else
        \setup@hyphenation[##1]{#3}{\expandafter\@gobble\string#2}{#4}%
        \one@arg##2\end
      \fi
    }
    \one@arg#1,\undefined,\end
  \fi
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\setup@hyphenation}
% This command updates the encoding (by calling |\enc@update|), which
% causes control sequences like |\'a| to expand to the right
% characters. After setting cat/uc/lc codes the hyphenation patterns are
% loaded. Last we add some code to |\@@end@@| for switching the
% |\language| register to right value when the encoding is changed.
%    \begin{macrocode}
\newcommand{\setup@hyphenation}[4][\undefined]{%
  \def\c@ding{#1}\def\und@fin@d{\undefined}%
  \ifx\c@ding\und@fin@d
    \def\c@ding{}
  \else
    \fontencoding{#1}\enc@update
    \csname @@\c@ding Codes\endcsname 
  \fi
  \enc@update
  \InputIfFileExists{#2}%
  {\message{^^JLoading #3 hyphenation patterns and exceptions}%
    \global\expandafter\expandafter\expandafter
      \def\expandafter\expandafter
      \csname#3 \c@ding\endcsname\expandafter
      {\expandafter\language\expandafter=\the\count0
      #4\relax}%
    \if\c@ding\relax\relax
      \expandafter\global\expandafter
        \let\csname#3\expandafter\endcsname\csname#3 \endcsname
      \else\message{for #1}%
      \global\expandafter\edef\csname#3 @\c@ding\endcsname
        {\noexpand\language=\the\count0\noexpand\relax}%
    \fi
    \language=\count0}%
   {\errhelp{The configuration for hyphenation is incorrectly
             installed.^^J%
             If you don't understand this error message you need
             to seek^^Jexpert advice.}%
   \errmessage{OOPS!! Hyphenation patterns file #2 for #3 not found!}}%
\if\c@ding\relax\relax\else
 \global\@@end@@=
   \expandafter\expandafter\expandafter
         {\expandafter
         \the\expandafter\@@end@@\expandafter
         \ifnum\expandafter\language\expandafter=\the\count0\relax
             \csname#3 @\f@encoding\endcsname
         \fi}
\fi
\advance\count0 by 1\relax
}%
\csname @@T1Codes\endcsname
%    \end{macrocode}
% \end{macro}
% Here we define languages and encodings that are loaded into the
% format. By default we load english, czech and slovak patterns in the
% IL2 encoding. These definitions are likery to be changed by the user.
%    \begin{macrocode}
%<hyphen>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%<hyphen>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareLanguage{\english}{hyphen.tex}{\lefthyphenmin=2
                                       \righthyphenmin=3
                                       \@splitrequestedfalse}%
\DeclareLanguage[IL2,T1]{\czech}{czhyphen.tex}{\lefthyphenmin=2
                                            \righthyphenmin=3
                                            \@requesthyphens}%
\DeclareLanguage[IL2,T1]{\slovak}{skhyphen.tex}{\lefthyphenmin=2
                                            \righthyphenmin=3
                                            \@requesthyphens}%
%<hyphen>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%<hyphen>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\egroup
%    \end{macrocode}
% \begin{macro}{\@hyphenation}
% The |\@hyphenation| macro is defined as contents of registers
% |\@@front@@| and |\@@end@@|. This macro is executed at every
% encoding change.
%    \begin{macrocode}
\@@front@@=\expandafter\expandafter\expandafter
  {\expandafter\the\expandafter\@@front@@\the\@@end@@}%
\expandafter\def\expandafter
  \@hyphenation\expandafter{\the\@@front@@}%
\@@front@@={}\@@end@@={}
\def\nolanguage{\lefthyphenmin=99\righthyphenmin=99\language=255
                \@splitrequestedfalse\relax}
\newif\if@splithyphens
\newif\if@splitrequested
%    \end{macrocode}
% \end{macro}
% Macros for splitting hyphens.
%    \begin{macrocode}
\def\minus{-}%
\bgroup\catcode`-=\active\expandafter\egroup
\expandafter\def\noexpand-{%
\ifx\protect\relax
  \ifhmode
    \ifinner
      \expandafter\expandafter\expandafter\expandafter
      \expandafter\expandafter\expandafter-%
    \else
      \expandafter\expandafter\expandafter\expandafter
      \expandafter\expandafter\expandafter\firstd@sh
    \fi
  \else%
    \expandafter\expandafter\expandafter-%
  \fi
\else
  \expandafter\string\expandafter\string-%
\fi}%
\def\@nehyph@n{-}
\def\splithyph@n{\ifnum\expandafter\hyphenchar\the\font>-1
  \discretionary{\char`-}{\char\hyphenchar\the\font}{\char`-}\else
  \discretionary{\char`-}{\char`-}{\char`-}\fi}
\def\b@xhyph@n{\hbox{-}}
\def\tw@hyph@ns{--}
\def\thr@@hyph@ns{---}
\catcode`-=\active
\def\firstd@sh{\ifnextch@r -\then\sec@ndd@sh\else
  \ifnum\expandafter\hyphenchar\the\font=`-
    \ifnum\righthyphenmin>2
      \if l\nextchar\b@xhyph@n  %   make sure we
      \else                     % don't chop off `-li'
        \splithyph@n
      \fi
    \else
      \splithyph@n
    \fi
  \else
    \@nehyph@n
  \fi
  \fii}
\def\sec@ndd@sh#1{\ifnextch@r-\then\thirdd@sh\else\tw@hyph@ns\fii}
\def\thirdd@sh#1{\ifnextch@r-\then\m@nyd@sh\else\thr@@hyph@ns\fii}
\def\m@nyd@sh#1{\thr@@hyph@ns\firstd@sh}
\def\ifnextch@r#1\then#2\else#3\fii
  {\def\c@mp@rech@rs{\ifx#1\nextchar
                       \def\next{#2}%
                     \else
                       \def\next{#3}%
                     \fi\next}%
  \futurelet\nextchar\c@mp@rech@rs}
\catcode`-=12
\def\standardhyphens{\catcode`-=12 \@splithyphensfalse}%
\def\splithyphens{\if@splitrequested\catcode`-\active\fi
                  \@splithyphenstrue}%
\def\@requesthyphens{\if@splithyphens\catcode`-=\active\fi
                     \@splitrequestedtrue}
\let\@looseness\looseness
\def\looseness{%
  \if@splithyphens
    \standardhyphens\afterassignment\splithyphens
  \fi
  \@looseness}
\expandafter\fontencoding\expandafter U\expandafter
            \fontencoding\expandafter{\f@encoding}\enc@update
\@hyphenation
\english
%</hyphen>
%    \end{macrocode}
%
% \section{Fonts---file \texttt{fonttext.cfg}}
%
% This is copy of original |fonttext.ltx| with definitions for IL2
% added.
%    \begin{macrocode}
%<*fonttext>
\ProvidesFile{fonttext.cfg}[1997/08/20 CSLaTeX]
\let\@hyphenation=\relax
%    \end{macrocode}
% Macro |\DeclareFontEncoding@| is changed to execute |\@hyphenation|
% and set proper uc/lc/catcodes at every encoding change. This can be
% also achieved by changing file |xxxenc.def|, but standard encoding
% definition file can't be changed because of \LaTeX\ copyright.
%    \begin{macrocode}
\def\DeclareFontEncoding@#1#2#3{%
  \expandafter
  \ifx\csname T@#1\endcsname\relax
     \def\cdp@elt{\noexpand\cdp@elt}%
     \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
                    {\default@family}{\default@series}%
                    {\default@shape}}%
     \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
  \else
     \@font@info{Redeclaring font encoding #1}%
  \fi
  \global\@namedef{T@#1}{#2\csname @@#1Codes\endcsname\@hyphenation}%
  \global\@namedef{M@#1}{\default@M#3}%
}
\input {omlenc.def}
\input  {t1enc.def}
\input {ot1enc.def}       % <- should come after T1 for speed
%    \end{macrocode}
% Definition of IL2 encoding.
%    \begin{macrocode}
\input {il2enc.def}
\input {omsenc.def}
\fontencoding{OT1}
\DeclareFontEncodingDefaults{}{}
\DeclareFontSubstitution{T1}{cmr}{m}{n}
\DeclareFontSubstitution{OT1}{cmr}{m}{n}
\DeclareFontSubstitution{IL2}{cmr}{m}{n}
\begingroup
\nfss@catcodes
\input  {t1cmr.fd}
\input  {ot1cmr.fd}
%    \end{macrocode}
% IL2 once again.
%    \begin{macrocode}
\input  {il2cmr.fd}
\endgroup
\begingroup
\nfss@catcodes
\input {ot1cmss.fd}
\input {ot1cmtt.fd}
\endgroup
\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
\newcommand\rmdefault{cmr}
\newcommand\sfdefault{cmss}
\newcommand\ttdefault{cmtt}
\newcommand\bfdefault{bx}
\newcommand\mddefault{m}
\newcommand\itdefault{it}
\newcommand\sldefault{sl}
\newcommand\scdefault{sc}
\newcommand\updefault{n}
\newcommand\encodingdefault{OT1}
\newcommand\familydefault{\rmdefault}
\newcommand\seriesdefault{\mddefault}
\newcommand\shapedefault{\updefault}
%</fonttext>
%    \end{macrocode}
%
% \section{Definition of the IL2 encoding---file \texttt{il2enc.def}}
%
%    \begin{macrocode}
%<*il2enc>
\ProvidesFile{il2enc.def}[1997/08/20 CSLaTeX]
\DeclareFontEncoding{IL2}{\uccode152=152 \lccode152=184
                          \uccode184=152 \lccode184=184
                          \uccode165=165 \lccode165=181
                          \uccode181=165 \lccode181=181
                          \uccode169=169 \lccode169=185
                          \uccode185=169 \lccode185=185
                          \uccode171=171 \lccode171=187
                          \uccode187=171 \lccode187=187
                          \uccode174=174 \lccode174=190
                          \uccode190=174 \lccode190=190
                          \sfcode254=0   \lccode254=0
                          \sfcode255=0   \lccode255=0
                          \sfcode158=0   \lccode158=0
                          \sfcode159=0   \lccode159=0 }{}
\DeclareTextAccent{\"}{IL2}{127}
\DeclareTextAccent{\'}{IL2}{19}
\DeclareTextAccent{\.}{IL2}{95}
\DeclareTextAccent{\=}{IL2}{22}
\DeclareTextAccent{\^}{IL2}{94}
\DeclareTextAccent{\`}{IL2}{18}
\DeclareTextAccent{\~}{IL2}{126}
\DeclareTextAccent{\H}{IL2}{125}
\DeclareTextAccent{\u}{IL2}{21}
\DeclareTextAccent{\v}{IL2}{20}
\DeclareTextAccent{\r}{IL2}{23}
\DeclareTextCommand{\b}{IL2}[1]
   {\oalign{\null#1\crcr\hidewidth\sh@ft{29}%
    \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}
\DeclareTextCommand{\c}{IL2}[1]
   {\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1%
    \else{\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}}\fi}
\DeclareTextCommand{\d}{IL2}[1]
   {\oalign{\null#1\crcr\hidewidth\sh@ft{08}.\hidewidth}}
\DeclareTextSymbol{\AE}{IL2}{29}
\DeclareTextSymbol{\OE}{IL2}{30}
\DeclareTextSymbol{\O}{IL2}{31}
\DeclareTextSymbol{\ae}{IL2}{26}
\DeclareTextSymbol{\i}{IL2}{16}
\DeclareTextSymbol{\j}{IL2}{17}
\DeclareTextSymbol{\oe}{IL2}{27}
\DeclareTextSymbol{\o}{IL2}{28}
\DeclareTextSymbol{\ss}{IL2}{25}
\DeclareTextSymbol{\textemdash}{IL2}{124}
\DeclareTextSymbol{\textendash}{IL2}{123}
\DeclareTextSymbol{\textexclamdown}{IL2}{60}
\DeclareTextSymbol{\textquestiondown}{IL2}{62}
\DeclareTextSymbol{\textquotedblleft}{IL2}{92}
\DeclareTextSymbol{\textquotedblright}{IL2}{`\"}
\DeclareTextSymbol{\textquoteleft}{IL2}{`\`}
\DeclareTextSymbol{\textquoteright}{IL2}{`\'}
\DeclareTextCommand{\L}{IL2}
   {\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}}
\DeclareTextCommand{\l}{IL2}{{\char32l}}
\DeclareTextCompositeCommand{\r}{IL2}{A}
   {\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex%
    \rlap{\raise.67\dimen@\hbox{\char'27}}A}
\DeclareTextCommand{\SS}{IL2}{SS}
\DeclareTextCommand{\textdollar}{IL2}{{%
    \ifdim \fontdimen\@ne\font >\z@
      \slshape
    \else
      \upshape
    \fi
    \char`\$}}
\DeclareTextCommand{\textsterling}{IL2}{{%
    \ifdim \fontdimen\@ne\font >\z@
      \itshape
    \else
      \fontshape{ui}\selectfont
    \fi
    \char`\$}}
\DeclareTextComposite{\'}{IL2}{l}{'345}%
\DeclareTextComposite{\'}{IL2}{r}{'340}%
\DeclareTextComposite{\'}{IL2}{a}{'341}%
\DeclareTextComposite{\'}{IL2}{e}{'351}%
\DeclareTextComposite{\'}{IL2}{\i}{'355}%
\DeclareTextComposite{\'}{IL2}{i}{'355}%
\DeclareTextComposite{\'}{IL2}{o}{'363}%
\DeclareTextComposite{\'}{IL2}{u}{'372}%
\DeclareTextComposite{\'}{IL2}{y}{'375}%
\DeclareTextComposite{\'}{IL2}{L}{'305}%
\DeclareTextComposite{\'}{IL2}{R}{'300}%
\DeclareTextComposite{\'}{IL2}{A}{'301}%
\DeclareTextComposite{\'}{IL2}{E}{'311}%
\DeclareTextComposite{\'}{IL2}{I}{'315}%
\DeclareTextComposite{\'}{IL2}{O}{'323}%
\DeclareTextComposite{\'}{IL2}{U}{'332}%
\DeclareTextComposite{\'}{IL2}{Y}{'335}%
\DeclareTextComposite{\`}{IL2}{a}{'270}%
\DeclareTextComposite{\`}{IL2}{A}{'230}%
\DeclareTextComposite{\v}{IL2}{c}{'350}%
\DeclareTextComposite{\v}{IL2}{d}{'357}%
\DeclareTextComposite{\v}{IL2}{e}{'354}%
\DeclareTextComposite{\v}{IL2}{n}{'362}%
\DeclareTextComposite{\v}{IL2}{r}{'370}%
\DeclareTextComposite{\v}{IL2}{s}{'271}%
\DeclareTextComposite{\v}{IL2}{z}{'276}%
\DeclareTextComposite{\v}{IL2}{t}{'273}%
\DeclareTextComposite{\v}{IL2}{l}{'265}%
\DeclareTextComposite{\v}{IL2}{u}{'371}%
\DeclareTextComposite{\v}{IL2}{C}{'310}%
\DeclareTextComposite{\v}{IL2}{D}{'317}%
\DeclareTextComposite{\v}{IL2}{E}{'314}%
\DeclareTextComposite{\v}{IL2}{N}{'322}%
\DeclareTextComposite{\v}{IL2}{R}{'330}%
\DeclareTextComposite{\v}{IL2}{S}{'251}%
\DeclareTextComposite{\v}{IL2}{T}{'253}%
\DeclareTextComposite{\v}{IL2}{Z}{'256}%
\DeclareTextComposite{\v}{IL2}{L}{'245}%
\DeclareTextComposite{\v}{IL2}{U}{'331}%
\DeclareTextComposite{\^}{IL2}{o}{'364}%
\DeclareTextComposite{\^}{IL2}{O}{'324}%
\DeclareTextComposite{\"}{IL2}{a}{'344}%
\DeclareTextComposite{\"}{IL2}{o}{'366}%
\DeclareTextComposite{\"}{IL2}{u}{'374}%
\DeclareTextComposite{\"}{IL2}{A}{'304}%
\DeclareTextComposite{\"}{IL2}{O}{'326}%
\DeclareTextComposite{\"}{IL2}{U}{'334}%
\DeclareTextComposite{\r}{IL2}{u}{'371}%
\DeclareTextComposite{\r}{IL2}{U}{'331}%
\DeclareTextSymbol{\flqq}{IL2}{158}%
\DeclareTextSymbol{\frqq}{IL2}{159}%
\DeclareTextSymbol{\clqq}{IL2}{254}%
\DeclareTextCommand{\crqq}{IL2}%
  {{\edef\@SF{\spacefactor\the\spacefactor}\char255 \@SF\relax}}%
%</il2enc>
%    \end{macrocode}
%
% \section{Font definition files for the \CS-fonts}
%
% These files are slightly modified font definitions files for CM
% fonts from \LaTeX---\texttt{ot1*.fd}
%    \begin{macrocode}
%<*il2cmr>
\ProvidesFile{il2cmr.fd}[1997/02/06 CSLaTeX font definitions]
\DeclareFontFamily{IL2}{cmr}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{cmr}{m}{n}
     {<5><6><7><8><9><10><12> gen*csr
      <10.95> csr10
      <14.4> csr12
      <17.28><20.74><24.88> csr17
     }{}
\DeclareFontShape{IL2}{cmr}{m}{sl}
     {<5><6><7> cssl8
      <8><9> gen*cssl
      <10><10.95> cssl10
      <12><14.4><17.28><20.74><24.88> cssl12
     }{}
\DeclareFontShape{IL2}{cmr}{m}{it}
     {<5><6><7> csti7
      <8> csti8
      <9> csti9
      <10><10.95> csti10
      <12><14.4><17.28><20.74><24.88> csti12
     }{}
\DeclareFontShape{IL2}{cmr}{m}{sc}
     {<5><6><7><8><9><10><10.95><12>
      <14.4><17.28><20.74><24.88> cscsc10
     }{}
\DeclareFontShape{IL2}{cmr}{m}{ui}
     {<5><6><7><8><9><10><10.95><12>
      <14.4><17.28><20.74><24.88> csu10
     }{}
\DeclareFontShape{IL2}{cmr}{b}{n}
     {<5><6><7><8><9><10><10.95><12>
      <14.4><17.28><20.74><24.88> csb10
     }{}
\DeclareFontShape{IL2}{cmr}{bx}{n}
     {<5><6><7><8><9> gen*csbx
      <10><10.95> csbx10
      <12><14.4><17.28><20.74><24.88> csbx12
     }{}
\DeclareFontShape{IL2}{cmr}{bx}{sl}
     {<5><6><7><8><9>
      <10><10.95><12><14.4><17.28><20.74><24.88> csbxsl10
     }{}
\DeclareFontShape{IL2}{cmr}{bx}{it}
     {<5><6><7><8><9>
      <10><10.95><12><14.4><17.28><20.74><24.88> csbxti10
     }{}
\DeclareFontShape{IL2}{cmr}{bx}{ui}
     {<->ssub * cmr/m/ui}{}
%</il2cmr>
%<*il2cmdh>
\ProvidesFile{il2cmdh.fd}[1997/08/20 CSLaTeX font definitions]
\DeclareFontFamily{IL2}{cmdh}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{cmdh}{m}{n}
     {<10> csdunh10}{}
%</il2cmdh>
%<*il2cmfib>
\ProvidesFile{il2cmfib.fd}[1997/08/20 CSLaTeX font definitions]
\DeclareFontFamily{IL2}{cmfib}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{cmfib}{m}{n}
     {<8> csfib8}{}
%</il2cmfib>
%<*il2cmfr>
\ProvidesFile{il2cmfr.fd}[1997/08/20 CSLaTeX font definitions]
\DeclareFontFamily{IL2}{cmfr}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{cmfr}{m}{n}
     {<10> csff10}{}
\DeclareFontShape{IL2}{cmfr}{m}{it}
     {<10> csfi10}{}
%</il2cmfr>
%<*il2cmss>
\ProvidesFile{il2cmss.fd}[1997/02/13 CsLaTeX font definitions]
\DeclareFontFamily{IL2}{cmss}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{cmss}{m}{n}
     {<5><6><7><8> csss8
      <9> csss9
      <10><10.95> csss10
      <12><14.4> csss12
      <17.28><20.74><24.88> csss17
     }{}
\DeclareFontShape{IL2}{cmss}{m}{it}
     {<->sub*cmss/m/sl}{}
\DeclareFontShape{IL2}{cmss}{m}{sl}
     {<5><6><7><8> csssi8
      <9> csssi9
      <10><10.95> csssi10
      <12><14.4> csssi12
      <17.28><20.74><24.88> csssi17
     }{}
\DeclareFontShape{IL2}{cmss}{m}{sc}
     {<->sub*cmr/m/sc}{}
\DeclareFontShape{IL2}{cmss}{m}{ui}
     {<->sub*cmr/m/ui}{}
\DeclareFontShape{IL2}{cmss}{sbc}{n}
     {<5><6><7><8><9> csssdc10
      <10><10.95><12><14.4><17.28><20.74><24.88> csssdc10
     }{}
\DeclareFontShape{IL2}{cmss}{bx}{n}
     {<5><6><7><8><9> csssbx10
      <10><10.95><12><14.4><17.28><20.74><24.88> csssbx10
     }{}
\DeclareFontShape{IL2}{cmss}{bx}{ui}
     {<->sub*cmr/bx/ui}{}
%</il2cmss>
%<*il2cmtt>
\ProvidesFile{il2cmtt.fd}[1997/08/20 CSLaTeX font definitions]
\DeclareFontFamily{IL2}{cmtt}{\hyphenchar \font\m@ne}
\DeclareFontShape{IL2}{cmtt}{m}{n}
     {<5><6><7><8> cstt8
      <9> cstt9
      <10><10.95> cstt10
      <12><14.4><17.28><20.74><24.88> cstt12
     }{}
\DeclareFontShape{IL2}{cmtt}{m}{it}
     {<5><6><7><8><9>
      <10><10.95><12><14.4><17.28><20.74><24.88> csitt10
     }{}
\DeclareFontShape{IL2}{cmtt}{m}{sl}
     {<5><6><7><8><9>
      <10><10.95><12><14.4><17.28><20.74><24.88> cssltt10
     }{}
\DeclareFontShape{IL2}{cmtt}{m}{sc}
     {<5><6><7><8><9>
      <10><10.95><12><14.4><17.28><20.74><24.88> cstcsc10
     }{}
\DeclareFontShape{IL2}{cmtt}{m}{ui}
     {<->ssub * cmtt/m/it}{}
\DeclareFontShape{IL2}{cmtt}{bx}{n}
     {<->ssub * cmtt/m/n}{}
\DeclareFontShape{IL2}{cmtt}{bx}{it}
     {<->ssub * cmtt/m/it}{}
\DeclareFontShape{IL2}{cmtt}{bx}{ui}
     {<->ssub * cmtt/m/it}{}
%</il2cmtt>
%<*il2cmvtt>
\ProvidesFile{il2cmvtt.fd}[1997/08/20 CSLaTeX font definitions]
\DeclareFontFamily{IL2}{cmvtt}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{cmvtt}{m}{n}
     {<5><6><7><8><9><10><10.95>
      <12><14.4><17.28><20.74><24.88> csvtt10
     }{}
\DeclareFontShape{IL2}{cmvtt}{m}{it}
     {<5><6><7><8><9><10><10.95>
      <12><14.4><17.28><20.74><24.88> csvtti10
     }{}
%</il2cmvtt>
%<*il2lcmss>
\ProvidesFile{il2lcmss.fd}[1997/08/20 CSLaTeX slide font definitions]
\DeclareFontFamily{IL2}{lcmss}{\hyphenchar\font45 }
\DeclareFontShape{IL2}{lcmss}{m}{n}
     {<7><8><10><12><13.82><16.59>
      <19.907><23.89><28.66><34.4><41.28> lcsss8
     }{}
\DeclareFontShape{IL2}{lcmss}{m}{In}
     {<7><8><10><12><13.82><16.59>
      <19.907><23.89><28.66><34.4><41.28> ilcsss8
     }{}
\DeclareFontShape{IL2}{lcmss}{m}{sl}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> lcsssi8
     }{}
\DeclareFontShape{IL2}{lcmss}{m}{Isl}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> ilcsssi8
     }{}
\DeclareFontShape{IL2}{lcmss}{m}{it}
     {<-> sub * lcmss/m/sl }{}
\DeclareFontShape{IL2}{lcmss}{m}{Iit}
     {<-> sub * lcmss/m/Isl }{}
\DeclareFontShape{IL2}{lcmss}{bx}{n}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> lcsssb8
     }{}
\DeclareFontShape{IL2}{lcmss}{bx}{In}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> ilcsssb8
     }{}
\DeclareFontShape{IL2}{lcmss}{m}{ui}
     {<-> sub * cmr/m/ui }{}
\DeclareFontShape{IL2}{lcmss}{bx}{ui}
     {<-> sub * cmr/m/ui }{}
%</il2lcmss>
%<*il2lcmtt>
\ProvidesFile{il2lcmtt.fd}[1997/08/20 CSLaTeX slide font definitions]
\DeclareFontFamily{IL2}{lcmtt}{\hyphenchar\font\m@ne}
\DeclareFontShape{IL2}{lcmtt}{m}{n}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> cstt8
     }{}
\DeclareFontShape{IL2}{lcmtt}{m}{In}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> icstt8
     }{}
\DeclareFontShape{IL2}{lcmtt}{m}{it}
     {<13.82><16.59><19.907>
      <23.89><28.66><34.4><41.28> csitt10
     }{}
\DeclareFontShape{IL2}{lcmtt}{m}{ui}
     {<-> sub * cmtt/m/it }{}
\DeclareFontShape{IL2}{lcmtt}{bx}{ui}
     {<-> sub * cmtt/m/it }{}
%</il2lcmtt>
%    \end{macrocode}
%
% \section{Czech and slovak style files---\texttt{czech.sty} and
% \texttt{slovak.sty}}
%
% These packages can be used either with plain \TeX\ or with both
% \LaTeX es. First we check if the file is not loaded twice.
%    \begin{macrocode}
%<czech>\ifx\dateczech\undefined\else\endinput\fi
%<slovak>\ifx\dateslovak\undefined\else\endinput\fi
%    \end{macrocode}
% Our packages are not yet fully compatible with Babel. Following code
% loads Babel's |ldf| file when the package is loaded from
% Babel-ized \LaTeX\ format.
%    \begin{macrocode}
\ifx\addlanguage\undefined\else
  \ifx\LdfInit\@undefined
    \def\LdfInit{%
      \chardef\atcatcode=\catcode`\@
      \catcode`\@=11\relax
      \input babel.def\relax
      \catcode`\@=\atcatcode \let\atcatcode\relax
      \LdfInit}
  \fi
%<czech>\input czech.ldf
%<slovak>\input slovak.ldf
\endinput\fi
%    \end{macrocode}
% Some definitions have to be different in different \TeX\ formats.
% |\iflte| is true when the style is loaded from \LaTeXe.
%    \begin{macrocode}
%<*czech|slovak>
\newif\iflte
\ifx\documentclass\undefined\else\ltetrue\fi
\iflte
  \NeedsTeXFormat{LaTeX2e}
%</czech|slovak>
%<*czech>
  \ProvidesPackage{czech}[1999/03/29 v2.3 CSTeX czech style]
\else
  \message{Document Style Option `czech' ver. 2.3 <March 1999>.}
%</czech>
%<*slovak>
  \ProvidesPackage{slovak}[1999/03/29 v2.3 CSTeX slovak style]
\else
  \message{Document Style Option `slovak' ver. 2.3 <March 1999>.}
%</slovak>
%<*czech|slovak>
  \edef\origcatcodeat{\the\catcode`\@}\catcode`\@=11
  \let\providecommand=\def
  \let\protect=\relax
\fi
\iflte
%    \end{macrocode}
% Options for selecting font encoding. The default is |IL2|.
%    \begin{macrocode}
  \def\defaultcsoption{IL2}
  \DeclareOption{IL2}{\def\encodingdefault{IL2}}
  \DeclareOption {T1}{\def\encodingdefault {T1}}
  \DeclareOption{OT1}{\def\encodingdefault{OT1}}
%    \end{macrocode}
% May we split the hyphens or not? (je-li $\rightarrow$ je-/-li)
%    \begin{macrocode}
  \DeclareOption{nosplit}{\standardhyphens}
  \DeclareOption{split}{\splithyphens}
  \DeclareOption{nocaptions}{\let\cap@unchgd=\relax}
  \DeclareOption{olduv}{\let\cs@olduv=\relax}
  \DeclareOption{cstex}{\relax} % Removed, lasts for compatibility
  \ExecuteOptions{IL2}
  \ProcessOptions
  \def\dms#1#2{\DeclareMathSymbol{#1}{\mathalpha}{letters}{#2}}
%    \end{macrocode}
% For IL2, the encoding of mathematical fonts is changed to IL2
% (this encoding is equivalent to OT1 in slots 0--127). This allows
% using accented letter in some font families. Another
% consequence is that document does not use CM fonts where there are
% equivalents in \CS-fonts, so there is no need to have both bitmaps of
% CM-font and \CS-font. |\@font@warning| and |\@font@info| are
% redefined for a while to avoid annoying font warnings.
%    \begin{macrocode}
  \ifx\encodingdefault\defaultcsoption
    \let\cs@warn=\@font@warning \let\@font@warning=\@gobble
    \let\cs@info=\@font@info    \let\@font@info=\@gobble
    \SetSymbolFont{operators}{normal}{IL2}{cmr}{m}{n}
    \SetSymbolFont{operators}{bold}{IL2}{cmr}{bx}{n}
    \SetMathAlphabet\mathbf{normal}{IL2}{cmr}{bx}{n}
    \SetMathAlphabet\mathit{normal}{IL2}{cmr}{m}{it}
    \SetMathAlphabet\mathrm{normal}{IL2}{cmr}{m}{n}
    \SetMathAlphabet\mathsf{normal}{IL2}{cmss}{m}{n}
    \SetMathAlphabet\mathtt{normal}{IL2}{cmtt}{m}{n}
    \SetMathAlphabet\mathbf{bold}{IL2}{cmr}{bx}{n}
    \SetMathAlphabet\mathit{bold}{IL2}{cmr}{bx}{it}
    \SetMathAlphabet\mathrm{bold}{IL2}{cmr}{m}{n}
    \SetMathAlphabet\mathsf{bold}{IL2}{cmss}{bx}{n}
    \SetMathAlphabet\mathtt{bold}{IL2}{cmtt}{m}{n}
    \let\@font@warning=\cs@warn \let\cs@warn=\undefined
    \let\@font@info=\cs@info    \let\cs@info=\undefined
%    \end{macrocode}
% Accented letters are declared as math symbols. The purpose of this
% is only the backward compatibility.
%    \begin{macrocode}
    \dms{^^e1}{"E1}\dms{^^c1}{"C1}\dms{^^e8}{"E8}\dms{^^c8}{"C8}
    \dms{^^ef}{"EF}\dms{^^cf}{"CF}\dms{^^e9}{"E9}\dms{^^c9}{"C9}
    \dms{^^ec}{"EC}\dms{^^cc}{"CC}\dms{^^ed}{"ED}\dms{^^cd}{"CD}
    \dms{^^b5}{"B5}\dms{^^a5}{"A5}\dms{^^f2}{"F2}\dms{^^d2}{"D2}
    \dms{^^f3}{"F3}\dms{^^d3}{"D3}\dms{^^f8}{"F8}\dms{^^d8}{"D8}
    \dms{^^b9}{"B9}\dms{^^a9}{"A9}\dms{^^bb}{"BB}\dms{^^ab}{"AB}
    \dms{^^fa}{"FA}\dms{^^da}{"DA}\dms{^^f9}{"F9}\dms{^^d9}{"D9}
    \dms{^^fd}{"FD}\dms{^^dd}{"DD}\dms{^^be}{"BE}\dms{^^ae}{"AE}
  \fi
\else
  \def\gobble#1{}
  \def\DeclareRobustCommand#1#2{\expandafter\def
    \csname @\expandafter\gobble\string#1\endcsname{#2}
    \edef#1{\noexpand\protect\expandafter\noexpand
      \csname @\expandafter\gobble\string#1\endcsname}}
  \ifx\ou\undefined \def\ou{\accent23u} \fi
  \def\temp#1#2#3:{#1#2}
  \edef\tempa{\string c\string s}
  \edef\tempb{\expandafter\temp\fontname\tenrm:}
  \ifx\tempa\tempb
    \chardef\clqq=254  \sfcode254=0 \lccode254=0
    \chardef\crqq=255  \sfcode255=0 \lccode255=0
    \chardef\flqq=158  \sfcode158=0 \lccode158=0
    \chardef\frqq=159  \sfcode159=0 \lccode159=0
    \def\ogonek #1{\setbox0\hbox{#1}\ifdim\ht0=1ex\accent157 #1%
       \else{\ooalign{\unhbox0\crcr\hss\char157}}\fi}
    \chardef\promile=141
    \def\DeclareTextCommandDefault#1#2{}
  \else
    \let\DeclareTextCommandDefault=\DeclareRobustCommand
  \fi
\fi
%</czech|slovak>
%    \end{macrocode}
% Czech captions.
%    \begin{macrocode}
%<*czech>
\def\captionsczech{%
  \def\abstractname{Abstrakt}%
  \def\appendixname{P\v{r}\'{\i}loha}%
  \def\bibname{Literatura}%
  \def\ccname{Na v\v{e}dom\'{\i}}
  \def\chaptername{Kapitola}%
  \def\contentsname{Obsah}%
  \def\enclname{P\v{r}\'{\i}loha}%
  \def\figurename{Obr\'azek}%
  \def\headpagename{Strana}%
  \def\headtoname{Komu}%
  \def\indexname{Rejst\v{r}\'{\i}k}%
  \def\listfigurename{Seznam obr\'azk\r{u}}%
  \def\listtablename{Seznam tabulek}%
  \def\partname{\v{C}\'ast}%
  \def\prefacename{P\v{r}edmluva}%
  \def\proofname{D\r{u}kaz}%
  \def\seename{viz}%
  \def\alsoseename{viz tak\'e}%
  \def\refname{Reference}%
  \def\tablename{Tabulka}}
%</czech>
%    \end{macrocode}
% Slovak captions.
%    \begin{macrocode}
%<*slovak>
\def\captionsslovak{%
\def\prefacename{Predhovor}%
\def\refname{Literat\'ura}%
\def\appendixname{Dodatok}%
\def\listfigurename{Zoznam obr\'azkov}%
\def\listtablename {Zoznam tabuliek}%
\def\indexname{Register}%
\def\tablename{Tabu\v{l}ka}%
\def\partname{\v{C}as\v{t}}%
\def\enclname{Pr\'{\i}loha}%
\def\headtoname{Pre}%
\def\alsoname{vi\v{d} tie\v{z}}%
\def\abstractname{Abstrakt}%
\let\bibname\refname
\def\chaptername{Kapitola}%
\def\contentsname{Obsah}%
\def\figurename{Obr.}%
\def\ccname{cc.}%
\def\pagename{Str.}%
\def\seename{vi\v{d}}}
%</slovak>
%    \end{macrocode}
% English captions
%    \begin{macrocode}
%<*czech|slovak>
\providecommand\captionsenglish{%
  \def\prefacename{Preface}%
  \def\refname{References}%
  \def\abstractname{Abstract}%
  \def\bibname{Bibliography}%
  \def\chaptername{Chapter}%
  \def\appendixname{Appendix}%
  \def\contentsname{Contents}%
  \def\listfigurename{List of Figures}%
  \def\listtablename{List of Tables}%
  \def\indexname{Index}%
  \def\figurename{Figure}%
  \def\tablename{Table}%
  \def\partname{Part}%
  \def\enclname{encl}%
  \def\ccname{cc}%
  \def\headtoname{To}%
  \def\pagename{Page}%
  \def\headpagename{Page}%
  \def\prefacename{Preface}%
  \def\seename{see}%
  \def\alsoname{see also}}
%</czech|slovak>
%    \end{macrocode}
% Czech date.
%    \begin{macrocode}
%<*czech>
\def\dateczech{%
  \def\today{\number\day. \ifcase\month\or ledna\or \'unora\or
    b\v{r}ezna\or dubna\or kv\v{e}tna\or \v{c}ervna\or \v{c}ervence\or
    srpna\or z\'a\v{r}\'\i\or \v{r}\'{\i}jna\or listopadu\or
    prosince\fi \space\number\year}}
%    \end{macrocode}
% Switching on the czech captions and date (if not requested else)
%    \begin{macrocode}
\iflte\ifx\cap@unchgd\undefined\captionsczech\dateczech\fi\fi
%</czech>
%    \end{macrocode}
% Slovak date
%    \begin{macrocode}
%<*slovak>
\def\dateslovak{\def\today{\number\day.~\ifcase\month\or
  janu\'ara\or febru\'ara\or marca\or apr\'{\i}la\or m\'aja\or j\'una\or
  j\'ula\or augusta\or septembra\or okt\'obra\or
  novembra\or decembra\fi
  \space\number\year}}
%    \end{macrocode}
% Switching on the slovak captions and date (if not requested else)
%    \begin{macrocode}
\iflte\ifx\cap@unchgd\undefined\captionsslovak\dateslovak\fi\fi
%</slovak>
%    \end{macrocode}
% English (19th April 1997) and US (April 19, 1997) date
%    \begin{macrocode}
%<*czech|slovak>
\providecommand\dateUSenglish{\def\today{\ifcase\month\or
    January\or February\or March\or April\or May\or June\or July\or
    August\or September\or October\or November\or December\fi
    \space\number\day, \number\year}}
\providecommand\dateenglish{\def\today{\ifcase\day\or 1st\or 2nd\or
    3rd\or 4th\or 5th\or 6th\or 7th\or 8th\or 9th\or 10th\or 11th\or
    12th\or 13th\or 14th\or 15th\or 16th\or 17th\or 18th\or 19th\or
    20th\or 21st\or 22nd\or 23rd\or 24th\or 25th\or 26th\or 27th\or
    28th\or 29th\or 30th\or 31st\fi ~\ifcase\month\or January\or
    February\or March\or April\or May\or June\or July\or August\or
    September\or October\or November\or December\fi \space
    \number\year}}
%    \end{macrocode}
% 7bin cs quotes (for OT1)
%    \begin{macrocode}
\DeclareTextCommandDefault\clqq{\leavevmode
  \set@low@box{''}%
  \setbox1=\hbox{l\/}\dimen1=\wd1
  \setbox1=\hbox{l}\advance\dimen1 by -\wd1
  \ifdim\dimen1>0pt\kern-.1em\box0\kern.1em
    \else\kern.1em\box0\kern-.1em\fi\nobreak\hskip0pt}
\DeclareTextCommandDefault\crqq{\edef\@SF{\spacefactor\the\spacefactor}%
  \nobreak\kern-.07em\hbox{``}\kern.07em\@SF\relax}
%    \end{macrocode}
% Lowers the box to ... of ...
%    \begin{macrocode}
\def\set@low@box#1{\setbox2=\hbox{,}\setbox0=\hbox{#1}%
  \dimen0=\ht0 \advance\dimen0 by -\ht2
  \setbox0=\hbox{\lower\dimen0 \box0}\ht0=\ht2\dp0=\dp2}
%    \end{macrocode}
% Single CS quotes.
%    \begin{macrocode}
\DeclareRobustCommand\clq{\leavevmode\set@low@box{\char'047 }%
  \box0 \kern.04em\nobreak\hskip0pt\relax}
\DeclareRobustCommand\crq{{\edef\@SF{\spacefactor\the\spacefactor}%
  \nobreak\char'140 \kern.17em\@SF\relax}}
%    \end{macrocode}
% CS quotes in T1 encoding.
%    \begin{macrocode}
\iflte
  \DeclareTextCommand{\clqq}{T1}{\leavevmode\kern.1em
    \char18 \kern-.0158em\nobreak\hskip0pt}
  \DeclareTextCommand{\crqq}{T1}
    {{\edef\@SF{\spacefactor\the\spacefactor}%
      \nobreak\kern.06em \char16 \kern.024em \@SF\relax}}
\fi
%    \end{macrocode}
% Command for making quotes. There are two versions of |\uv|: the old,
% which uses |\aftergroup|, allows using |\verb| inside quotes
% (because there is no command with parameter), but violates kerning
% in \CS-fonts. The new version defines |\uv| as command with one
% parameter and its properties are the exact opposite of the old
% version -- |\verb| not, kerning yes. The new version is the default in
% \LaTeXe\ (where it can be overrided by the |olduv| option).
% In plain \TeX\ and in \LaTeX\,2.09 compatibility mode, the old
% version is default, for backward compatibility (current csplain
% format does not need |czech/slovak.sty| at all).
%    \begin{macrocode}
\iflte\else\let\if@compatibility=\iffalse{\let\fi=\fi}\fi
\ifx\cs@olduv\undefined
  \iflte
    \if@compatibility
      \DeclareRobustCommand\uv{\bgroup\aftergroup\closequotes
        \leavevmode\clqq\let\next=}
    \else
      \DeclareRobustCommand\uv[1]{{\leavevmode\clqq#1\crqq}}
    \fi
  \else
    \ifx\uv\undefined
      \def\uv{\bgroup\aftergroup\closequotes
        \leavevmode\clqq\let\next=}
    \fi
  \fi
\else
  \DeclareRobustCommand\uv{\bgroup\aftergroup\closequotes
    \leavevmode\clqq\let\next=}
\fi
\def\closequotes{\unskip\crqq\relax}
%    \end{macrocode}
% Active quotes (``'' $\to$ ,,``)
%    \begin{macrocode}
\def\prim@s{\prime\futurelet\next\pr@m@s}
{\catcode`\'=\active
\gdef\csprimeson{\catcode96=\active \catcode39=\active
  \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t
    \else\let\nxt\egroup\fi\fi \nxt}}}
\def\csprimesoff{\catcode96=12 \catcode39=12
  \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t
    \else\let\nxt\egroup\fi\fi \nxt}}
{\csprimeson
  \gdef'{\ifmmode\let\n@xt=\mathprim@\else\let\n@xt=\textprim@\fi\n@xt}%
%    \end{macrocode}
% Activeness of the character `|'|' requires redefinition of macros
% for converting |f'''| to |f^{\prime\prime\prime}| in math mode.
%    \begin{macrocode}
  \gdef\mathprim@{^\bgroup\prim@s}%
  \gdef\textprim@{\futurelet\nxt\rightprim@}%
  \gdef\rightprim@{\ifx'\nxt\let\next=\douvr@
    \else\let\next\crq\fi\next}%
  \gdef`{\futurelet\nxt\leftprim@}%
  \gdef\leftprim@{\ifx`\nxt\let\next=\douvl@
    \else\let\next=\clq\fi\next}}
\def\douvr@{\crqq\let\next= }%
\def\douvl@{\clqq\let\next= }%
\csprimesoff
%    \end{macrocode}
% Should tilde in math mode expand to space?
%    \begin{macrocode}
\def\cstieon{\def~{\ifmmode\else\penalty\@M\ \fi}}
\def\cstieoff{\def~{\penalty\@M \ }}
%    \end{macrocode}
% Hyphenation and language switching
%    \begin{macrocode}
\iflte
%</czech|slovak>
%<czech>\AtBeginDocument{\czech}
%<slovak>\AtBeginDocument{\slovak}
%<*czech|slovak>
  \frenchspacing
\else
  \def\setthisl@nguage#1#2#3#4{%
  \ifx#2\undefined \immediate\write\sixt@@n
    {Warning: I do not speak #1, (the style is not inputted)}
  \else
  \ifx#4\undefined \immediate\write\sixt@@n
    {Warning: I do not speak #1,
      (the hyphenation patterns are not included)}
  \else#2#3#4\fi\fi}
\def\selectlanguage#1{\language #1\relax
  \ifcase #1\relax          \dateUSenglish\captionsenglish\ehyph\or
  \setthisl@nguage{german}  \dategerman   \captionsgerman \ghyph\or
  \setthisl@nguage{austrian}\dateaustrian \captionsgerman \ahyph\or
  \setthisl@nguage{french}  \datefrench   \captionsfrench \fhyph\or
  \setthisl@nguage{english} \dateenglish  \captionsenglish\ehyph\or
  \setthisl@nguage{czech}   \dateczech    \captionsczech  \chyph\or
  \setthisl@nguage{slovak}  \dateslovak   \captionsslovak \shyph\fi}
\def\originalTeX{\selectlanguage{\USenglish}
  \csname cmaccents\endcsname}
\def\czechTeX{\selectlanguage{\czech}\csname csaccents\endcsname}
\def\slovakTeX{\selectlanguage{\slovak}\csname csaccents\endcsname}
\catcode`\@=\origcatcodeat
%<czech>\czechTeX
%<slovak>\slovakTeX
\fi
\endinput
%</czech|slovak>
%    \end{macrocode}
