diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:03:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:03:17 +0000 |
commit | ecf966f305f6aeff2bbdf42c82d8425921aa9eda (patch) | |
tree | db606a57e3619610e4c35cae849d41cf4e0937d5 /Master/texmf-dist/source/cslatex | |
parent | ac3c55a3216b5988f0e48ba9414ddb059f19a699 (diff) |
source 1
git-svn-id: svn://tug.org/texlive/trunk@105 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/cslatex')
-rw-r--r-- | Master/texmf-dist/source/cslatex/base/cslatex.dtx | 1076 | ||||
-rw-r--r-- | Master/texmf-dist/source/cslatex/base/cslatex.ins | 52 | ||||
-rw-r--r-- | Master/texmf-dist/source/cslatex/base/cslatex.txt | 209 |
3 files changed, 1337 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/cslatex/base/cslatex.dtx b/Master/texmf-dist/source/cslatex/base/cslatex.dtx new file mode 100644 index 00000000000..2906d68abc6 --- /dev/null +++ b/Master/texmf-dist/source/cslatex/base/cslatex.dtx @@ -0,0 +1,1076 @@ +% ^^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}[2002/07/19 v2.4 CSTeX czech style] +\else + \message{Document Style Option `czech' ver. 2.4 <July 2002>.} +%</czech> +%<*slovak> + \ProvidesPackage{slovak}[2002/07/19 v2.4 CSTeX slovak style] +\else + \message{Document Style Option `slovak' ver. 2.4 <July 2002>.} +%</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}{bx}{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} diff --git a/Master/texmf-dist/source/cslatex/base/cslatex.ins b/Master/texmf-dist/source/cslatex/base/cslatex.ins new file mode 100644 index 00000000000..8eaee533536 --- /dev/null +++ b/Master/texmf-dist/source/cslatex/base/cslatex.ins @@ -0,0 +1,52 @@ +% -*-LaTeX-*- +\input docstrip +\preamble + +Tento soubor je soucasti baliku CsLaTeX a je vygenerovan z +distribucniho souboru cslatex.dtx. + +Copyright (c) 1994--98, 2002 +Jaroslav Snajdr, Zdenek Wagner, Jiri Zlatuska a The LaTeX3 Project + +Tento soubor NENI soucasti systemu LaTeX2e +------------------------------------------ + +Dalsi informace naleznete na www.cstug.cz/cslatex. + +\endpreamble +\keepsilent +\Msg{* Rozbaluji konfiguracni soubory pro CsLaTeX...} +\generate{\file {hyphen.cfg}{\from{cslatex.dtx}{hyphen}} + \file{fonttext.cfg}{\from{cslatex.dtx}{fonttext}} + \file {il2enc.def}{\from{cslatex.dtx}{il2enc}} + \file {il2cmr.fd}{\from{cslatex.dtx}{il2cmr}} + \file {il2cmdh.fd}{\from{cslatex.dtx}{il2cmdh}} + \file {il2cmfib.fd}{\from{cslatex.dtx}{il2cmfib}} + \file {il2cmfr.fd}{\from{cslatex.dtx}{il2cmfr}} + \file {il2cmss.fd}{\from{cslatex.dtx}{il2cmss}} + \file {il2cmtt.fd}{\from{cslatex.dtx}{il2cmtt}} + \file {il2cmvtt.fd}{\from{cslatex.dtx}{il2cmvtt}} + \file {il2lcmss.fd}{\from{cslatex.dtx}{il2lcmss}} + \file {il2lcmtt.fd}{\from{cslatex.dtx}{il2cmtt}} + \file {czech.sty}{\from{cslatex.dtx}{czech}} + \file {slovak.sty}{\from{cslatex.dtx}{slovak}}} +\Msg{*******************************************************} +\Msg{* Presunte soubory} +\Msg{* \space\space hyphen.cfg} +\Msg{* \space\space fonttext.cfg} +\Msg{* \space\space il2enc.def} +\Msg{* \space\space il2cmr.fd} +\Msg{* \space\space il2cmdh.fd} +\Msg{* \space\space il2cmfib.fd} +\Msg{* \space\space il2cmfr.fd} +\Msg{* \space\space il2cmss.fd} +\Msg{* \space\space il2cmtt.fd} +\Msg{* \space\space il2cmvtt.fd} +\Msg{* \space\space il2lcmss.fd} +\Msg{* \space\space il2lcmtt.fd} +\Msg{* \space\space czech.sty} +\Msg{* \space\space slovak.sty} +\Msg{* do adresare s rozbalenymi vstupnimi soubory LaTeXu} +\Msg{* Format vygenerujte pomoci initex latex.ltx} +\Msg{*******************************************************} +\endbatchfile
\ No newline at end of file diff --git a/Master/texmf-dist/source/cslatex/base/cslatex.txt b/Master/texmf-dist/source/cslatex/base/cslatex.txt new file mode 100644 index 00000000000..bb011889d58 --- /dev/null +++ b/Master/texmf-dist/source/cslatex/base/cslatex.txt @@ -0,0 +1,209 @@ +CSLaTeX --- úpravy LaTeXu 2e pro českou a slovenskou sazbu + Verze pro LaTeX z prosince '96 +========================================================== +28.10.1997 Jaroslav Šnajdr + +CSLaTeX je sada konfiguračních souborů pro LaTeX2e, které umožňují v +tomto systému připravovat české a slovenské dokumenty. Balík je +distribuován (jak je u LaTeXu zvykem) v souboru cslatex.dtx, který +obsahuje příslušná makra i s důkladnou dokumentací. Soubor cslatex.ins +je dávka pro program docstrip, který z dtx zdroje vygeneruje vlastní +soubory. + +Instalace +--------- + +Pro instalaci potřebujete (kromě TeXu): + +o CS-fonty. + +o české a slovenské vzory dělení czhyphen.tex a skhyphen.tex. Jsou + součástí csplainu. + +o LaTeXové "obrázkové" fonty lasy, lcircle a line. + +o Originální LaTeX2e. Distribuční soubory jsou k nalezení na CTANu v + adresáři /tex-archive/macros/latex/base/. + +Pokud toto všechno máte, můžete začít instalovat: + +o Smažte (zazálohujte) starou verzi LaTeXu. POZOR! Toto se netýká + podpůrných balíčků, např. graphics, tools nebo psnfss. Jejich + upgrade (je-li k dispozici novější verze) je samostatnou záležitostí + a není bezpodmínečně nutný. Pokud máte nainstalovanou starší verzi + CSLaTeXu, měly by zmizet adresáře texmf/tex/latex/cslatex, input a + src. Máte-li v adresáři input některé styly, které nejsou standardní + součástí LaTeXu (např. a4, a4wide, fancyhdr), vytvořte adresář + texmf/tex/latex/misc a přesuňte je tam. + +o Pokud váš TeX používá ke hledání v adresářovém stromu hashovací + soubor (např. v teTeXu ls-R), nechte ho znovu vytvořit, aby se + projevily provedené změny -- smazané soubory. V teTeXu k tomuto + slouží příkaz texhash. + +o Vytvořte si někde v /tmp dočasný adresář, do kterého zkopírujete + distribuční soubory LaTeXu a CSLaTeXové soubory cslatex.dtx a + cslatex.ins. + +o V tomto adresáři rozbalte distribuci LaTeXu příkazy "initex + unpack.ins" a "initex cslatex.ins". + +o V normální konfiguraci používá LaTeX v kódování T1 dc-fonty. Máte-li + novější ec-fonty, vytvořte příslušně upravené definiční soubory + příkazem "initex ec.ins". Tento krok musí následovat až PO + zpracování unpack.ins. + +o Vytvořte formát LaTeX příkazem "initex latex.ltx". + +Nyní máme v našem adresáři 266 souborů, z nichž ty potřebné přesuneme +na příslušná místa do adresářové struktury TeXu: + +o Soubor latex.fmt přesuňte do adresáře s formáty -- v teTeXu + texmf/web2c. + +o Konfigurační soubory pro češtinu přesuneme do adresáře + texmf/tex/latex/cslatex. Jsou to tyto: + + fonttext.cfg + hyphen.cfg + il2enc.def + il2*.fd + lczech.sty + lslovak.sty + +o Do adresáře texmf/tex/latex/input dáme vstupní soubory LaTeXu: + + docstrip.tex + *.cls + *.clo + *.sty + *.fd + *.ist + *.def + *.cfg + +o Zdrojové soubory LaTeXu + + fontmath.ltx + fonttext.ltx + hyphen.ltx + latex.ltx + ltpatch.ltx + preload.ltx + +nejsou třeba pro normální práci, ale budeme je potřebovat, pokud +chceme vygenerovat znovu formát. Tento případ může nastat, když budeme +do LaTeXu přidávat nové vzory dělení, nebo když si fmt soubor prostě +omylem smažeme. Proto je přesuneme do adresáře /texmf/tex/latex/src. + +Ostatní soubory nebudeme potřebovat, proto je můžeme smazat. + +Vygenerujeme hashovací soubor pro TeX příkazem "texhash" +(teTeX). LaTeX je nainstalován a můžeme ho otestovat na nějakém +krátkém dokumentíku. + + +Konfigurace dělení slov +----------------------- + +Konfigurační příkazy se nacházejí v souboru cslatex/hyphen.cfg. +Příslušná část souboru je viditelně ohraničena komentářovými +řádkami. K zavedení vzorů dělení slouží příkaz + + \DeclareLanguage[seznam kódování]{jméno příkazu zapnutí vzorů}% + {jméno souboru se vzory a výjimkami}% + {\lefthyphenmin=číslo \righthyphenmin=číslo + \@requesthyphens <nebo> \@splitrequestedfalse} + +Vzory dělení načtené s \@requesthyphens umí využívat funkci přenášení +pomlčky při dělení (viz níže). + +Implicitně je zavedena americká angličtina, čeština a slovenština v +kódování IL2. Pro zavedení češtiny v IL2 i T1 použijte: + + \DeclareLanguage[IL2,T1]{\czech}{czhyphen.tex}% + {\lefthyphenmin=2 \righthyphenmin=3 + \@requesthyphens}% + +V běžném TeXu může být maximálně 4 až 5 vzorů najednou -- víc se do +jeho paměti nevejde. + + +Styl czech.sty/slovak.sty +------------------------- + +Bez zavedení tohoto stylu se CSLaTeX chová jako normální LaTeX a +používá cm-fonty bez českých znaků. + +Pomocný styl zavedeme pomocí + + \usepackage[parametry]{czech} +popř. + \usepackage[paremetry]{slovak} + +Parametry můžou být: + +T1 + Cork kódování. Budou se používat dc(ec) fonty. Aby se správně + dělila slova, musí být vzory dělení nataženy také pro T1 (viz + výše). Bez tohoto parametru je použito kódování IL2. + +split + Zapíná přenášení pomlčky při dělení slov typu propan- + -butan. Tato vlastnost funguje skoro bez problémů -- výjimkou + je použití `-' jako minus v čísle, které čte TeX v + horizontálním módu (tak bývá zadáváno např. \looseness=-1); v + těchto případech je při zapnutém přenášení dělítka možné + napsat \minus. + +nosplit + Vypíná přenášení pomlčky. To je také implicitní chování. + +nocaptions + Nebudou předefinovány texty vkládané LaTeXem jako "Kapitola" + nebo "Obsah". Zůstanou tedy původní "Chapter" nebo "Contents". + +olduv + Příkaz \uv je (nově) definován tak, že zajistí správný kerning + kolem uvozovek, ale uvnitř jeho argumentu nelze použít příkaz + \verb. Použitím volby olduv dostaneme starou definici, která + se chovala přesně obráceně -- špatný kerning, lze použít \verb. + Oba tyto požadavky se navzájem vylučují a nikdo dosud + nevymyslel řešení, kde by fungovalo obojí najednou. + +Volba 'cstex', která umožňovala používání příkazů \csprimeson/off, +byla zrušena a tyto příkazy lze používat rovnou. Kvůli zpětné +kompatibilitě je stále deklarována, ale vůbec nic nedělá -- její +použití pouze nezpůsobí chybu. + +Příkazy definované ve stylu czech/slovak.sty +-------------------------------------------- + +\dateczech + Příkaz \today expanduje na české datum, např. 30. srpna 1977. + +\dateslovak + Slovenské datum, např. 30. augusta 1977. + +\dateUSenglish + Americké \today, např. August 30th, 1977. + +\dateenglish + Britské \today, např. 30th August 1977. + +\captionsczech + České captions -- Předmluva, Tabulka. + +\captionsslovak + Slovenské captions -- Predhovor, Tabuľka. + +\captionsenglish + Anglické captions -- Preface, Table. + +\csprimeson, \csprimesoff + ``Anglické'' uvozovky se (ne)budou sázet jako české 99 66. + +\cstieon, \cstieoff + Předefinuje vlnku ~, aby se v mat. módu (ne)sázela mezera. + +-- |