summaryrefslogtreecommitdiff
path: root/macros/cstex/doc/cstexman.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/cstex/doc/cstexman.tex')
-rw-r--r--macros/cstex/doc/cstexman.tex3269
1 files changed, 3269 insertions, 0 deletions
diff --git a/macros/cstex/doc/cstexman.tex b/macros/cstex/doc/cstexman.tex
new file mode 100644
index 0000000000..6cdd0656a5
--- /dev/null
+++ b/macros/cstex/doc/cstexman.tex
@@ -0,0 +1,3269 @@
+
+\chyph % pouzijte csplain
+
+\mag=\magstephalf
+
+\csaccents
+\raggedbottom
+
+\hsize=30pc % 30 pica
+\vsize=46pc % 46 řádků po 12pt (zhruba)
+\hoffset=.8cm
+
+\emergencystretch=4em
+\parindent=12pt
+
+\widowpenalty=10000
+\clubpenalty=10000
+\exhyphenpenalty=10000
+
+\newcount\subnum \newcount\subsubnum
+\newwrite\fileref \newread\testin
+\newcount\numlink
+\newif\iflinecolor \linecolorfalse
+
+\def\beglink#1{}
+\def\endlink{}
+\def\aimlink#1{}
+\def\urllink#1{{\tt#1}}
+\def\zalozka#1{}
+
+\def\subtitle #1 | #2\par{\subsubnum=0 \advance\subnum by1
+ \bigskip\noindent{\llap{\raise15pt\hbox{\zalozka{#2}}\kapfont\the\subnum. }%
+ \kapfont #1}%
+ \writetoc\refsub{\ifnum\subnum=0 \else\the\subnum. \fi#1}%
+ \par\nobreak\medskip}
+\def\subsub#1| #2\par{\advance\subsubnum by1
+ \bigskip\noindent{\llap{\raise15pt\hbox{\zalozka{ \space#2}}%
+ \bf\the\subnum.\the\subsubnum\space}%
+ \bf\let\CS=\bCS \let\AMS=\bAMS \let\LaTeX=\bLaTeX #1}%
+ \writetoc\refsubsub{\the\subnum.\the\subsubnum\space #1}%
+ \par\nobreak\medskip}
+\def\writetoc #1#2{{\noexpandcs\xdef\act{%
+ \write\fileref{\noexpand\noexpand\noexpand#1{%
+ \noexpand\the\noexpand\pageno}{#2}}}}\act}
+
+\def\url#1{{\tt #1}}
+
+\def\delejobsah{\bgroup \subnum=-1
+ \noindent {\kapfont Obsah} \bigskip
+ \softinput \jobname.ref
+ \immediate\openout\fileref\jobname.ref
+ \egroup \vfil\break}
+\def\softinput #1 {\let\next=\relax \openin\testin=#1
+ \ifeof\testin \message{VAROVÁNÍ: pro vytvoření obsahu TeXujte ještě jednou.}%
+ \else \closein\testin \def\next{\input #1 }\fi
+ \next}
+\def\tocfill{\leaders\hbox{ . }\hfill}
+\def\refsub#1#2{\advance\subnum by1
+ \line{#2\unskip\tocfill\space#1}}
+\def\refsubsub#1#2{\advance\subnum by1
+ \line{\indent#2\unskip\tocfill\space#1}}
+\def\noexpandcs{\let\csplain=\relax \let\cslatex=\relax \let\CSfont=\relax \let\tt=\relax
+ \let\AMS=\relax \let\TeX=\relax \let\LaTeX=\relax \let~=\relax \let\mf=\relax}
+\output={\noexpandcs \plainoutput}
+
+
+\font\mflogo=logo10 % METAFONT logo
+\font\boldsy=cmbsy10 % Tučné \CS, \AMS.
+\font\titulfontinternal=csb10 scaled\magstep4
+\font\titulboldsy=cmbsy10 scaled\magstep4
+\def\titulfont{\titulfontinternal \let\CS=\bCS \let\boldsy=\titulboldsy}
+\font\kapfontinternal=csbx12
+\font\kapboldsy=cmbsy10 at12pt
+\font\kaptt=cstt12
+\def\kapfont{\kapfontinternal \let\CS=\bCS \let\boldsy=\kapboldsy
+ \let\tt=\kaptt \let\sevenbf=\tenbf \let\LaTeX=\bLaTeX}
+
+
+\def\CS{$\cal C\kern-.1667em\lower.5ex\hbox{$\cal S$}\kern-.075em $}
+\def\bCS{{\boldsy C\kern-.1667em\lower.5ex\hbox{S}\kern-.04em}}
+\def\CSTeX{\CS\TeX}
+\def\CSTUG{\CS TUG}
+\def\CSfont{\CS\kern.1em font}
+\def\csplain{\CS\kern.1em plain}
+\def\mf{{\mflogo META}\-{\mflogo FONT}}
+\def\mp{{\mflogo META}\-{\mflogo POST}}
+\def\LaTeX{L\kern-.36em\raise.5ex\hbox{\sevenrm A}\kern-.12em\TeX}
+\def\twoe{$2_{\textstyle\varepsilon}$}
+\def\LaTeXe{\LaTeX\thinspace\twoe}
+\def\bLaTeX{L\kern-.3em\raise.5ex\hbox{\sevenbf A}\kern-.12em\TeX}
+\def\cslatex{\CS\LaTeX}
+\def\twoe{$2_{\textstyle\varepsilon}$}
+\def\LaTeXe{\LaTeX\thinspace\twoe}
+\def\AMS{$\cal A\kern-.166em\lower.5ex\hbox{$\cal M$}\kern-.075em S$}
+\def\bAMS{{\boldsy A\kern-.166em\lower.5ex\hbox{M}\kern-.075em S}}
+\def\ps{Post\-Script}
+\let\copyleft=\copyright
+
+%% Definice verbatim prostředí %% !verb.
+\catcode`\"=13
+\def"{\hbox\bgroup\let"=\egroup\setverb\tt}
+\def\setverb{\def\do##1{\catcode`##1=12}\dospecials\obeyspaces}
+\def\begtt{\medskip\bgroup
+ \nobreak\setverb \parskip=0pt %\parindent=0pt
+ \def\par{\endgraf\penalty500 }
+ \catcode`\"=12 \obeylines
+ \startverb}
+{\catcode`\|=0 \catcode`\\=12
+ |gdef|startverb#1\endtt{%
+ |tt#1|nobreak|egroup|penalty0|medskip|scannexttoken}}
+{\obeyspaces\gdef {\ }}
+\long\def\scannexttoken#1{\ifx#1\par\else\noindent#1\fi}
+
+
+%% Prostředí s puntíkatými nebo číslovanými položkami %%
+\def\begitems{\medskip\bgroup\catcode`\*=13 \narrower}
+\def\enditems{\par\egroup\medskip}
+{\catcode`\*=13 \gdef*{\par\noindent\llap{$\bullet$\ }\ignorespaces}
+\gdef\numerate{% \numerate napsat těsně za \begitems
+ \def*{\par\advance\itemnum by1\noindent
+ \llap{\bf\the\itemnum. }\ignorespaces}}}
+
+\newcount\bibnum
+\def\cit#1{\expandafter\ifx \csname b:#1\endcsname \relax
+ \message{Warning: The bibitem #1 is not defined}[??#1]%
+ \else [\csname b:#1\endcsname]\fi}
+
+\def\bib #1 {\smallskip\advance\bibnum by1
+ \immediate\write\fileref{\noexpand\bibref{#1}{\the\bibnum}}
+ \noindent \llap{[\the\bibnum]\enspace}\ignorespaces}
+\def\bibref #1#2{\expandafter\gdef \csname b:#1\endcsname{#2}}
+
+\def\reference{\subtitle Reference | REFERENCE\par}
+
+\let\Red=\relax \let\Black=\relax
+\def\startcolor#1{} \def\stopcolor#1{}
+
+\def\newstart{\startcolor{Red}}
+\def\newstop{\stopcolor{Black}}
+\def\startcc#1#2{}
+\def\stopcc#1#2{}
+
+
+\def\new#1{\leavevmode\newstart#1\newstop}
+\def\newAbox#1{\Red\hbox{#1}\Black}
+
+\def\skrt#1{\let\barva=\Red
+ \dimen0=\maxdimen \leavevmode \skrtslovo #1 {} }
+
+\def\skrtrule{\vrule height2.8pt depth-2.5pt}
+
+\def\skrtslovo #1 {\def\tmp{#1}\ifx\tmp\empty \else
+ \ifdim\dimen0=\maxdimen \else
+ \linecolortrue\barva \leaders\skrtrule\hskip
+ \fontdimen2\the\font plus\fontdimen3\the\font minus\fontdimen4\the\font
+ \Black\linecolorfalse
+ \fi
+ \setbox0=\hbox{#1}\dimen0=\wd0%
+ \rlap{\box0}%
+ {\linecolortrue\barva\skrtrule width\dimen0\Black\linecolorfalse}%
+ \expandafter\skrtslovo\fi}
+
+\def\setbrackets{\catcode`!=0 \catcode`\[=1 \catcode`\]=2 }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Makra pro pdfTeX %%%%%%%%%%%%%%%%%%%%%%%
+
+\ifx\pdfoutput\undefined\else %%%% pdfTeX is used %%%%%%%%%%
+\ifnum\pdfoutput>0
+
+\pdfhorigin=3mm \pdfvorigin=10mm
+\pdfpagewidth=14.5cm
+\pdfpageheight=22cm
+
+\ifx\pdfannotlink\undefined %%% Backward compatibility
+ \let\pdfannotlink=\pdfstartlink
+\fi
+
+\def\beglink#1{% % Začátek textu odkazu, #1 je klíč odkazu
+ \Green \pdfannotlink height9pt depth3pt
+ attr{/Border[0 0 0]} goto name{#1}\relax}
+\def\endlink{\pdfendlink\Black}
+\def\aimlink#1{% % Místo cíle odkazu, #1 je klíč odkazu
+ \expandafter\ifx \csname aim:#1\endcsname \relax
+ \expandafter\gdef \csname aim:#1\endcsname {}%
+ \vbox to0pt{\vss\hbox{\pdfdest name{#1} fith}\kern15pt}%
+ \fi
+}
+\def\zalozka#1{\global\advance\numlink by1
+ \pdfdest num\numlink fith\relax
+ {\let~=\space\pdfoutline goto num\numlink {#1}}}
+
+\def\pdfsetcmykcolor#1{\special{PDF:#1 \iflinecolor K\else k\fi}}
+\def\Red{\pdfsetcmykcolor{0.1 0.9 0.9 0.3}}
+\def\Black{\pdfsetcmykcolor{0 0 0 1}}
+\def\Green{\pdfsetcmykcolor{0.9 0.1 0.9 .3}}
+\def\Blue{\pdfsetcmykcolor{0.9 0.9 0.1 0}}
+\def\Orange{\pdfsetcmykcolor{0 0.7 1 .5}}
+
+\footline={\hss\Black\tenrm\folio\hss}
+\headline={\hss \csname cc:\the\pageno\endcsname}
+\edef\footnoterule{\noexpand\Black\footnoterule}
+
+\csname newcount\endcsname\ccnum
+
+\def\startcc#1#2{\def\ccval{#1}\ccnum=#2 }
+\def\stopcc#1#2{\loop \ifnum\ccnum<#2
+ \advance\ccnum by1
+ \expandafter\xdef\csname cc:\the\ccnum\endcsname
+ {\noexpand\csname\ccval\noexpand\endcsname}\repeat}
+
+\def\startcolor#1{\csname#1\endcsname
+ \write\fileref{\string\startcc{#1}{\the\pageno}}}
+\def\stopcolor#1{\csname#1\endcsname
+ \write\fileref{\string\stopcc{#1}{\the\pageno}}}
+
+\pdfcompresslevel=9
+\pdfinfo{/Author (Petr Olsak)
+ /CreationDate (September 2002)
+ /ModDate (\the\year-\the\month-\the\day)
+ /Creator (TeX)
+ /Producer (pdfTeX)
+ /Title (CSTeX Manual)
+ /Subject (Documentation)
+ /Keywords (TeX, Czech+Sloavk localisation)
+}
+\pdfcatalog{/PageMode /UseOutlines}\relax
+
+
+\fi\fi %%%%%%%%%%%%%%%%%%%%%%%%%%%% Konec maker PDFTeXu %%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%% Titulni strana %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+{\nopagenumbers \vglue 5cm
+
+\centerline{\titulfont Manuál k \CS\TeX{}u}
+
+\vskip 2cm
+
+\centerline{\titulfont Petr Olšák}
+
+\vfill
+
+\hrule
+\bigskip
+
+\noindent
+\hfil Hněvanice, Morávka, Praha -- léto 2002, \newAbox{podzim 2012}
+
+\vfil\break
+
+Autor \TeX{}u je profesor Donald Knuth.
+\bigskip
+
+\TeX{} je ochranná známka American Mathematical Society.
+\bigskip
+
+Ostatní v manuálu použité názvy programových produktů, firem
+apod. mohou být ochrannými známkami nebo registrovanými ochrannými
+známkami příslušných vlastníků.
+
+\vfill
+
+Tento text je volně šířen společně s~balíkem \CSTeX. Jedná se
+o~referenční manuál k tomuto balíku. Text je k~dispozici ve
+formátech "tex" (\csplain), PostScript a PDF. Výchozí adresa textu je
+\url{ftp://math.feld.cvut.cz/pub/cstex/doc}.
+
+Text můžete tisknout a jinak používat pro soukromé účely. V~nezměněném
+stavu v elektronické podobě jej můžete také distribuovat bez dalšího
+omezení. Není dovoleno tento text zveřejňovat v~pozměněném stavu a
+publikovat jej v~papírové podobě bez předchozí dohody s~autorem.
+
+\bigskip
+
+This document is free distributed as a part of the \CSTeX{} package.
+It is a reference manual of the \CSTeX. It is available
+in formats "tex" (\csplain), PostScript and PDF. The base URL of it
+is \url{ftp://math.feld.cvut.cz/pub/cstex/doc}.
+
+You can print this document or use it in another way only as an individual
+end-user. If you don't do any change in this document then you can
+distribute it in electronical form without any limitation.
+It is not permitted to distribute this document in changed versions or to
+publish it in hardcopy form without previous agreement with the
+author.
+
+\bigskip
+
+This original is written in Czech language.
+The translation into other languages are welcome.
+
+
+\vfill
+
+Verze textu 15. 5. 2003
+
+\leavevmode\newAbox{Verze textu 30. 11. 2012}
+\bigskip
+
+\copyleft{} RNDr. Petr Olšák, 2002\newAbox{, 2012}
+
+\bigskip
+
+%\leavevmode\newAbox{\bf Upozornění: tato verze textu je provizorní.}
+
+%\leavevmode\newAbox{\bf Během několika týdnů se ještě bude měnit.}
+
+\break
+
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\delejobsah
+
+
+\subtitle Úvod | ÚVOD
+%%%%%%%%%%%%%%%%%%%%%
+
+\new{Po skoro deseti letech se k tomuto textu vracím, abych jej
+aktualizoval. Veškeré změny jsou vyznačeny touto barvou. Černý text je
+naopak původní z roku 2003. Nabízím čtenáři dva bonbónky v jednom: podrobnou
+technickou dokumentaci i pohled do historie.}
+
+V~tomto manuálu se pokusím vyčerpávajícím způsobem popsat
+vlastnosti \CSTeX{}u. Z~tohoto důvodu to asi nebude jednoduché čtení
+pro \TeX{}ové začátečníky. Těm doporučuji nejprve přečíst~\cit{prvni}.
+
+\CSTeX{} je sada \TeX{}ových maker, fontů, vzorů dělení slov a
+doplňujícího software pro podporu české a slovenské sazby
+v~\TeX{}u. Je vytvořen tak, aby mohl být použit na libovolné \TeX{}ové
+distribuci na libovolném operačním systému.
+
+Dříve byla slovem \CSTeX{} označována také kompletní em\TeX{}ová
+distribuce doplněná o~zmíněná makra, fonty a vzory dělení. To bylo
+v~roce 1993, kdy sdružení \CSTUG{} rozesílalo pod tímto názvem em\TeX{}ovou
+distribuci na disketách svým členům. V~té době většina členů používala
+DOS, takže em\TeX{} pro DOS byl pro ně vyhovující. V~dnešní době uživatelé
+pracují s~nejrůznějšími operačními systémy a s~různými distribucemi
+\TeX{}u pro tyto systémy. Z~toho důvodu se v~tomto manuálu přidržíme
+jen užšího významu slova \CSTeX, definovaného v~předchozím odstavci.
+
+\CSTeX{} sestává ze \skrt{tří} \new{dvou}
+základních pilířů: \CSfont{}y, \csplain{} \skrt{a \CS\LaTeX}.
+\CSfont{}y jsou konzervativním rozšířením Knuthových Computer Modern
+fontů, \csplain{} je konzervativním rozšířením Knuthova formátu plain
+a konečně \cslatex{} \skrt{je} \new{byl} jistou modifikací běžně používaného formátu
+\LaTeX. Tyto \skrt{tři} pilíře jsou podrobně dokumentovány v~následujících
+kapitolách. K~těmto pilířům \CSTeX{}u je ještě připojena podpora
+použití základních 35 PostScriptových fontů v~češtině a slovenštině
+prostřednictvím virtuálních fontů.
+
+Základní balíčky \CSTeX{}u přístupné na Internetu mají následující názvy:
+
+{\setbrackets
+\begtt
+csfonts.tar.gz ... CSfonty -- Metafontové soubory a metriky.
+csplain.tar.gz ... Makra pro formát CSplain a vzory dělení slov.
+cslatex.tar.gz ... Makra pro formát CSLaTeX. !newAbox[-- zastaralé]
+cspsfonts.tar.gz ... Virtuální fonty základních 35 PostScriptových
+ fontů v~kódování podle CSfontů.
+\endtt
+\par}
+
+Pokud někdo řekne, že má na své distribuci \TeX{}u instalován \CSTeX,
+pak to znamená, že má určitě instalovány tyto čtyři balíky.
+Kromě toho k~\CSTeX{}u řadíme i následující doplňující software,
+který už nemusejí mít všichni uživatelé \CSTeX{}u instalován:
+
+{\setbrackets
+\begtt
+csfonts-t1.tar.gz .. Varianta CSfontů ve formátu PostScript Type1.
+enctex.tar.gz ... Makra a návod na modifikaci tex.ch souboru !skrt[na]
+ !skrt[zahrnutí podpory přímého přístupu k vektorům]
+ !skrt[xord/xchr prostřednictvím primitivů.]
+ !new[pro vícebytové překódování v input procesoru.]
+cstrip.tar.gz ... Test funkcionality formátu CSplain.
+csindex-19980713.tar.gz ... Zdrojové soubory v~jazyce C programu
+ csindex, který je modifikací programu
+ makeindex se zahrnutou podporou českého a
+ slovenského řazení.
+vlna.tar.gz ... Zdrojové soubory v~jazyce C a v~jazyce cweb
+ programu vlna na automatické doplňování vlnek
+ za neslabičné předložky.
+\endtt
+\par}
+
+Na Internetu naleznete všechny uvedené balíky na
+
+\begtt
+ftp://math.feld.cvut.cz/pub/cstex/base
+\endtt
+
+Základní balíčky a {\tt csfonts-t1.tar.gz} obsahují adresářovou strukturu
+podle TDS (\TeX{} directory standard), takže pokud vaše distribuce
+\TeX{}u používá tento standard, pak rozbalení balíčků nad adresářem
+{\tt texmf} povede automaticky k~zařazení všech souborů na správná
+místa v~{\tt texmf} stromu.
+
+Starší verze uvedených balíků najdete na
+
+\begtt
+ftp://math.feld.cvut.cz/pub/cstex/base/old
+\endtt
+
+Dokumentaci k~\CSTeX{}u (včetně tohoto manuálu) najdete na
+
+\begtt
+ftp://math.feld.cvut.cz/pub/cstex/doc
+\endtt
+
+Adresář "ftp://math.feld.cvut.cz/pub/cstex/"\new{{\tt old/}} obsahuje kromě
+zmíněných věcí kompletní distribuci em\TeX{}u s~podporou \CSTeX{}u
+(v~podadresáři {\tt emtex}), minimalizovanou distribuci
+em\TeX{}u+\CSTeX{}u pro pouhé tři instalační diskety (v~podadresáři
+{\tt minitex}), návody a software na instalaci web2c \TeX{}u
+(v~podadresáři {\tt web2c}) a RPM balíky te\TeX{}u podporující \CSTeX{}
+pro různé distribuce Linuxu (v~podadresáři {\tt tetex-rpm}). Tyto
+podadresáře vznikaly postupně v~poslední dekádě minulého
+tisíciletí podle potřeby a zájmu o~uvedené distribuce \TeX{}u.
+Podle toho, jak rostla a klesala popularita jednotlivých distribucí,
+jsou tyto podadresáře aktualizovány (nebo spíše neaktualizovány).
+Na druhé straně mohou vzniknout další adresáře s~balíčky dalších
+distribucí \TeX{}u obsahujících \CSTeX{}~-- stačí, když je někdo udělá a
+pošle o~tom informaci na mou elektronickou adresu. Mohu třeba založit
+podadresář {\tt miktex-zip} analogicky k~adresáři {\tt tetex-rpm},
+pokud se to někomu bude hodit a pokud ty archivy samozřejmě udělá.
+
+
+\subtitle \CSfont{}y | CSFONTY
+%%%%%%%%%%%%%%%%%%%%
+
+\CSfont{}y jsou konzervativním rozšířením CM fontů Donalda Knutha. Tím je
+míněno, že každý \CSfont{} má svůj protějšek v~nějakém CM fontu,
+přičemž se naprosto shoduje v~kódování, tvarech a šířkách znaků na
+prvních 128 pozicích (kódy 0~až~127), tj. na všech pozicích, které
+jsou tímto CM fontem použity. \CSfont{} tedy pouze doplňuje další
+znaky do pozic s~kódem větším než 127. Tam jsou umístěny znaky české
+a slovenské abecedy podle kódování ISO~8859-2.
+Některé pozice stále zůstávají neobsazeny.
+Níže uvádím tabulku \CSfont{}u. Druhý znak na
+pozicích 0B~až 0F se vyskytuje namísto prvního znaku ve fontech
+bez ligatur typu fi ({\tt csr5}, {\tt cstt*} a {\tt cssltt*}),
+druhý znak na pozicích~20, 3C, 3E, 5C, 5F a
+7B~až~7D najdeme ve strojopisných fontech ({\tt cstt*} a {\tt cslstt*}) a
+konečně libra místo dolaru na pozici~24 se vyskytuje v kurzívách
+({\tt csti*}). Tyto nejednoznačnosti v~kódování mají samozřejmě i
+původní CM fonty.
+
+%------------------------------------------------------------
+
+\newcount\colnum \newcount\linenum \newcount\posnum
+\def\tabfont #1{\posnum=0
+ \vbox\bgroup \offinterlineskip #1
+ \line{\hfil {\tt \space\space\space}\vrule depth.4em
+ \loop
+ \ifnum\colnum<16
+ \hbox to.055\hsize{\hfil\tentt\hex\colnum\hfil}\vrule
+ \advance\colnum by1
+ \repeat
+ }% end of \line
+ \loop
+ \ifnum\linenum<16
+ \hrule
+ \line{\hfil{\tentt \hex\linenum x }%
+ \vrule height 1.0em depth .4em\tabline}
+ \advance\linenum by1
+ \repeat
+ \hrule
+ \egroup
+}
+\def\tabline{
+ \colnum=0
+ \loop
+ \ifnum\colnum<16
+ \tabitem
+ \advance\colnum by1
+ \repeat
+}
+\def\tabitem{\hbox to.055\hsize{\hfil\char\posnum\altchar\hfil}%
+ \vrule\global\advance\posnum by1}
+\def\altchar{\ifcase\posnum
+ \or\or\or\or\or\or\or\or\or\or\or\a\or\a\or\a\or\a\or\a\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \a\or\or\or\or\kern2pt{\it\$}\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\a\or\or\a\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\a\or\or\or\a\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\a\or\a\or\a\or\or\or
+ \fi}
+\def\a{\kern2pt{\tt\char\posnum}}
+\def\hex#1{\ifcase#1\relax 0\or1\or2\or3\or4\or5\or6\or7\or8\or
+ 9\or A\or B\or C\or D\or E\or F\fi}
+\bigskip
+\tabfont {\font\f=csr10 \font\it=csti10 \font\tt=cstt10 \f}
+\bigskip
+%----------------------------------------------------------------
+
+Následuje seznam všech CM fontů. Pokud není vpravo uveden alternativní název
+\CSfont{}u, jedná se o~matematický font, který nemá v~\CSfont{}ech alternativu.
+Také ji nepotřebuje.
+
+\begtt
+CM font CSfont
+------------------------------------------------------------------
+cmr17, 12, 10, 9, 8, 7, 6, 5 csr17, 12, 10, 9, 8, 7, 6, 5
+cmbx12, 10, 9, 8, 7, 6, 5 csbx12, 10, 9, 8, 7, 6, 5
+cmsl12, 10, 9, 8 cssl12, 10, 9, 8
+cmtt12, 10, 9, 8 cstt12, 10, 9, 8
+cmsltt10, cmvtt10 cssltt10, csvtt10
+cmss17, 12, 10, 9, 8 csss17, 12, 10, 9, 8
+cmssi17, 12, 10, 9, 8 csssi17, 12, 10, 9, 8
+cmssdc10, cmssbx10 csssdc10, csssbx10
+cmssqi8, cmssq8 csssqi8, csssq8
+cmdunh10, cmbxsl10, cmb10 csdunh10, csbxsl10, csb10
+cmff10, cmfib10 csff10, csfib10
+------------------------------------------------------------------
+cmti12, 10, 9, 8, 7 csti12, 10, 9, 8, 7
+cmbxti10, cmitt10 csbxti10, csitt10
+cmu10, cmfi10 csu10, csfi10
+------------------------------------------------------------------
+cmcsc10, cmtcsc10 cscsc10, cstcsc10
+------------------------------------------------------------------
+cminch10 csinch10
+------------------------------------------------------------------
+cmmi12, 10, 9, 8, 7, 6, 5
+cmmib10
+------------------------------------------------------------------
+cmtex10, 9, 8
+------------------------------------------------------------------
+cmsy10, 9, 8, 7, 6, 5
+cmbsy10
+------------------------------------------------------------------
+cmex10
+------------------------------------------------------------------
+\endtt
+
+Mezi soubory metrik \CSfont{}ů navíc najdeme metriky vytvořené Sauterovou
+extrapolací, které nemají přímou obdobu mezi CM fonty:
+
+\begtt
+ CSfont
+------------------------------------------------------------------
+ csb17, 12, 9, 8, 7, 6, 5
+ csbxsl12, 5, 6, 7, 8, 9
+ csbxti17, 12
+ cscsc17, 12
+ csdunh17, 12, 5, 6, 7, 8, 9
+ csfib12, 10, 9
+ csitt12, 17, 8, 9
+ cssl17, 5, 6, 7
+ cssltt12, 8, 9
+ csssbx12, 17, 9
+ cstcs12, 17
+ csti17
+ csu12, 17, 7, 8, 9
+ csvtt12, 8, 9
+------------------------------------------------------------------
+\endtt
+
+\mf{}ová makra pro Sauterovu extrapolaci jsou součástí balíčku
+s~\CSfont{}y {\tt csfonts.tar.gz}. Princip této extrapolace je například
+popsán v~\cit{tst}.
+\new{Fonty vytvořené Sauterovou extrapolací nedoporučujeme používat, protože
+nemají svou implementaci pomocí PostScriptového fontu. Do výstupního PDF se
+při použití takového fontu zavede bitmapový výstup z \mf{}u, což může vést
+ke komplikacím.}
+
+
+\subsub Odlišnosti od CM fontů | Odlisnosti od CMfontu
+%-----------------------------
+
+Nelze tvrdit, že text používající jen znaky z~pozic 0--127 bude
+100\% shodně zpracován při použití CM fontů i \CSfont{}ů. Odlišnosti existují,
+ale jsou tak nepatrné, že je velmi malá prvaděpodobnost, že by při běžném
+užívání byla pozorovatelná rozdílnost. Nicméně přesto zde všechny
+odlišnosti uvádím včetně komentářů. Uvedené hodnoty jsou příkladem
+při srovnání fontu "csr10" s~"cmr10".
+
+\medskip{\bf 1. Kerningové páry}
+
+Mezi tečkami ("..") je v "csr10" implicitní kern, aby bylo možno sázet
+ elipsu. Kern~$0,011111$pt. V cmr10 není.
+
+Dvojice "ka" -- "csr10": $-0,0027777$pt, "cmr10": $-0,0055555$pt.
+
+Dvojice "P." a "P," -- "csr10": $-0,0027777$pt, "cmr10" není.
+
+Dvojice "F.", "F,", "V.", "V,", "W." a "W," -- "csr10": $-0,0055555$pt, "cmr10" není.
+
+Dvojice "Av" a "Aw" -- "csr10": $-0,011111$pt, "cmr10" není.
+
+
+\medskip{\bf 2. Ligatury}
+
+Dvojice "<<" vede v csr10 na francouzské uvozovky, kód 158, v cmr10 není.
+
+Dvojice ">>" vede v csr10 na francouzské uvozovky, kód 159, v cmr10 není.
+
+
+\medskip{\bf 3. Výšky znaků}
+
+Formát "tfm" je omezen na maximálně 16 různých výšek znaků v~jednom fontu.
+V~"cmr10" je obsazeno všech 16 různých výšek. Přitom v~"csr10" přicházejí další
+výšky znaků dané akcentovanými znaky. Proto \mf{} provedl v~"csr10" jistá
+zaokrouhlení, která způsobí odlišnost výšek od výšek v~"cmr10" maximálně
+o~0,007779pt. Jedná se o~tyto znaky:
+
+\begitems
+* $\Gamma$ až $\Omega$, \AE, \OE{} a všechny kapitálky:
+ v~"csr10" jsou menší o~0,00773pt.
+
+* Nadržítko (kód 22), nadpuntík (kód 95) a přehláska (kód 127):
+ v~"csr10" větší o~0,007779pt.
+
+* Písmena i, j jsou v~"csr10" větší o~0,007779pt.
+
+* Znak plus (+) je v~"csr10" menší o~0,007778pt.
+\enditems
+
+Rozdílnost výšek není kritická, protože při sazbě se většinou berou v~úvahu
+jen šířky znaků. Pouze výjimečně promluví do sazby i výška (většinou když
+objekt v~řádku je větší než "\baselineskip").
+
+
+\subsub Struktura \mf{}ových zdrojových souborů \CSfont{}ů |
+%---------------------------------------------------------
+ Struktura METAFONTovych zdrojovych souboru CSfontu
+
+\mf{} čte nejprve soubor, který má stejné jméno, jako je jméno
+generovaného fontu, a má příponu {\tt mf}. Například {\tt csr10.mf}.
+Takovému souboru říkáme hlavní soubor generování fontu. V~\CSfont{}ech je
+takových hlavních souborů celkem 121. Všechny mají stejný dvouřádkový
+obsah:
+
+\begtt
+input cscode
+use_driver;
+\endtt
+
+V~souboru {\tt cscode.mf} se načtou jména a kódy akcentovaných znaků
+(jsou uspořádány podle ISO~8859-2) a definuje se "use_driver"
+v~závislosti na jménu hlavního souboru tak, že se načte odpovídající
+hlavní soubor CM fontů (tj. odpojí se předpona "cs" a připojí předpona
+"cm"). V~případě fontu "csr10" se tedy načte v~tuto chvíli
+soubor~{\tt cmr10.mf}. Navíc je v~souboru {\tt cscode.mf}
+předefinováno {\tt generate} (v~CM fontech má význam {\tt input}) tak,
+že poslední řádek {\tt cmr10.mf} s~textem
+
+\begtt
+generate roman
+\endtt
+%
+neprovede {\tt input roman.mf}, ale provede {\tt input kmroman.mf}.
+Další průběh výpočtu je tedy zase v~režii \CSfont{}ů. Kromě souboru
+{\tt kmroman.mf} jako alternativy k~souboru {\tt roman.mf} z~CM fontů
+najdeme analogické alternativy s~názvy {\tt kmtextit.mf},
+{\tt kmcsc.mf}, {\tt kmtexset.mf} a {\tt kmtitle.mf}.
+
+Z~uvedených souborů se postupně načítají soubory generující tvary
+jednotlivých znaků. Jedná o~všechny odpovídající soubory
+z~CM fontů a navíc soubory uvedené v~následující tabulce.
+
+\begitems
+* {\tt csaccent.mf} definuje makra pro akcenty,
+* {\tt csacutl.mf} generuje á, é, í, ó, \'r, ú, ý,
+* {\tt csacutu.mf} generuje Á, É, Í, \'L, Ó, \'R, Ú, Ý,
+* {\tt cshachel.mf} generuje č, ě, ň, ř, š, ž,
+* {\tt cshacheu.mf} generuje Č, Ď, Ě, Ň, Ř, Š, Ť, Ž,
+* {\tt csotherl.mf} generuje \^o, ů, \`a, \'l, \v t, \v d, \v l, \"a,
+ \"o, \"u,
+* {\tt csotheru.mf} generuje \^O, Ů, \`A, \v L, \"A, \"O, \"U,
+* {\tt csadded.mf} generuje \clqq\kern2pt, \crqq, >>, <<, \promile, \ogonek{},
+* {\tt cshyph.mf} generuje alternativní hyphenchar.
+\enditems
+
+V~souboru {\tt kmroman.mf} a jemu podobných souborech jsou ještě zapsány
+kernové páry a údaje pro tabulku ligatur. V~tomto souboru činnost
+\mf{}u končí příkazem {\tt bye}.
+
+
+\subsub Alternativní hyphenchar | Alternativni hyphenchar
+%------------------------------
+
+Na pozici 156 je v~\CSfont{}ech spojovník s~úplně stejnou kresbou a
+metrikou, jako na pozici~45. Nastavíme-li
+"\hyphenchar\beznyfont=156", budeme mít zaručeno, že ve slovech
+\uv{je-li} nebude \TeX{} dělit slovo. Bez tohoto nastavení by \TeX{}
+rozdělil \uv{je-/li}, což není v~souladu s~požadavky na českou sazbu.
+Mnoho dalších způsobů řešení tohoto problému najdeme v~\cit{tbn}.
+
+Další aplikací znaku 156 je modifikace jeho metriky tak, aby kresba
+přesahovala přes šířku znaku výrazně doprava. Pak nastavením
+"\hyphenchar\beznyfont=156" dosáhneme tzv.~visící interpunkce,
+viz například~\cit{texbook} nebo~\cit{tbn}. V~poslední době se visící
+interpunkce stává módní záležitostí, protože to umí i nejnovější verze
+programu Adobe InDesign. Metriku \CSfont{}u můžete pro vlastní potřeby
+modifikovat například programy tftopl a pltotf. Takto modifikovanou
+metriku ovšem nesmíte distribuovat pod stejným názvem, jaký má
+původní metrika \CSfont{}u.
+
+
+\subsub Anabáze UNIXových hard-linků | Anabase UNIXovych hard-linku
+%-----------------------------------
+
+Jak jsme uvedli v předchozí sekci,
+hlavní \mf{}ové soubory \CSfont{}ů mají jednu zvláštnost: ačkoli zde existuje
+121 různě nazvaných souborů, všechny obsahují stejný dvouřádkový text.
+
+Rozhodl jsem se těch 121 stejných různě nazvaných souborů
+implementovat pro úsporu inodů v~UNIXu jako hard linky. Takto jsem
+fonty zabalil do balíčku {\tt csfonts.tar.gz} a dal k~dispozici
+internetové veřejnosti.
+
+Pokud je systém, na který se balíček {\tt csfonts.tar.gz} instaluje,
+rovněž UNIXo\-vého typu, pak program {\tt tar} vytvoří v~cílovém
+adresáři 121 hard linků a je vše v~pořádku. Systém ušetřil 120 inodů,
+které nemusel alokovat.
+
+Jestliže ale cílový systém nepracuje s~hard linky, mohou nastat
+potíže. Osobně se ale domnívám, že pokud tento systém provozuje
+nějakou implementaci programu {\tt tar}, měla by se tato implementace
+s~problémem hard linků vyrovnat například tak, že místo hard linků
+vytvoří při extrahování archivu stejné soubory.
+
+Proto považuji stížnosti uživatelů MS Windows na podivnost archivu
+{\tt csfonts.tar.gz} za neopodstatněné. Tito uživatelé si stěžují, že
+se jim rozbalí z~těch 121 souborů jen jeden, přičemž používají jakýsi
+"Wintar". Odpovídám: nechť si tito uživatelé stěžují u~svého dodavatele
+implementace programu {\tt tar}. Odmítám kvůli Windowsovým uživatelům
+balit \CSfont{}y jinak a opustit tak možnost šetření inodů na UNIXových
+systémech. Navíc se mi doneslo, že Windowsoví uživatelé mají možnost
+použít jiné implementace programu {\tt tar}, které popsanou chybu
+neobsahují, a skutečně na Windowsovém filesystému založí 121 různých
+souborů se stejným obsahem.
+
+
+\subsub Virtuální fonty přidané do balíčku \CSfont{}ů |
+%----------------------------------------------------
+ Virtualni fonty pridane do balicku CSfontu
+
+V~balíčku {\tt csfonts.tar.gz} jsou přítomny dvě skupiny virtuálních
+fontů. Jedny mapují \CSfont{}y na CM fonty a druhé mapují CM fonty na
+\CSfont{}y. V~tomto odstavci vysvětlím důvody existence obou skupin a
+způsob jejich použití.
+
+Až donedávna bylo potřeba při prohlížení "dvi" souborů programem "xdvi"
+(a~jemu podobnými programy) počkat, až se pomocí \mf{}u a programu
+"gftopk" vygenerují potřebné bitmapy fontů, a teprve pak jsme je viděli
+v~prohlížeči. Teprve od roku 2002 má program "xdvi" schopnost přímo
+zobrazovat Type1 verze fontů, ale popisované virtuální fonty vznikly
+v~době, kdy tomu tak nebylo a kdy \CSfont{}y ještě neměly svou Type1
+variantu. Pokud jsme tehdy nemuseli čekat na generování nových fontů
+\mf{}em, pak jen proto, že už byly fonty vygenerovány dříve a zůstaly
+uloženy na disku v~podobě {\tt pk} souborů.
+
+Za této situace bylo výhodné udržovat na disku co nejméně {\tt pk}
+souborů. Protože uživatel \CSTeX{}u obvykle používá \CSfont{}y, dá se
+předpokládat, že jejich {\tt pk} soubory má na disku v~hojném
+množství. Když pak jednou za čas potřebuje takový uživatel prohlédnout
+{\tt dvi} soubor odkazující na CM fonty, pak je přeci zbytečné pro ně
+generovat nové bitmapy, když \CSfont{}y jsou nadmnožinou CM fontů a
+bitmapy \CSfont{}ů pravděpodobně na disku už vygenerované jsou. Stačí pro
+zobrazení znaků CM fontů čerpat z~bitmap \CSfont{}ů.
+
+Právě k~tomu účelu slouží první skupina virtuálních fontů označovaná
+jako cm2cs. Po rozbalení {\tt csfonts.tar.gz} je tato skupina
+virtuálních fontů uložena do adresáře {\tt fonts/vf/public} a je tedy aktivní.
+Každý "dvi"-ovladač, který potřebuje vykreslit znak z~CM fontu, pak
+použije tyto virtuální fonty, které jej nasměrují na \CSfont{}y. Takže
+"dvi"-ovladač bude tyto znaky nakonec čerpat z~\CSfont{}ů. K~žádnému
+zkreslení informace přitom nedochází, protože všechny znaky CM fontů
+jsou v~odpovídajících \CSfont{}ech na stejných pozicích a vypadají úplně
+stejně.
+
+Pokud \CSfont{}y vůbec nepoužíváte (nebo jen občas), bude pro vás
+asi výhodné virtuální fonty cm2cs z~adresáře {\tt fonts/vf/public}
+odstranit. Stejně tak se nehodí mít tyto virtuální fonty aktivní
+v~mezinárodních \TeX{}ových distribucích, kde většina uživatelů \CSfont{}y
+nikdy nepoužije. Tito uživatelé by asi byli velmi překvapeni, že při
+prohlížení {\tt dvi} souboru se standardními CM fonty jim distribuce
+generuje na disk bitmapy jakýchsi \CSfont{}ů.
+
+Druhá skupina virtuálních fontů s~označením cs2cm není po rozbalení
+balíčku s~\CSfont{}y aktivní, protože není v~adresáři {\tt fonts/vf}, ale
+v~adresáři {\tt fonts/vf-cnv}, který dvi-ovladače s~obvyklou konfigurací
+neprocházejí.
+
+Tuto skupinu virtuálních fontů použijeme v~případě, že jsme vytvořili
+v~\CSTeX{}u dokument odkazující na \CSfont{}y, a nyní jej chceme ve
+formátovaném tvaru (jako soubor {\tt dvi}) poslat například do
+zahraničí. Přitom předpokládáme, že příjemce nebude mít ve své \TeX{}ové
+distribuci \CSfont{}y.
+
+Virtuální fonty cs2cm mapují všechny znaky \CSfont{}ů
+na odpovídající znaky z~CM fontů. Pokud znak v~CM fontech
+neexistuje, virtuální font jej nahradí kompozitem (například
+písmeno+háček). Pokud tedy aplikujeme například program "dvicopy" s~těmito
+virtuálními fonty, dostáváme nový {\tt dvi} soubor, který už odkazuje
+jen na CM fonty, a akcentovaná písmena jsou v~tomto {\tt dvi} souboru
+nahrazena kompozity. Takový "dvi" soubor můžeme poslat do zahraničí a máme
+jistotu, že bude zpracovatelný na libovolné \TeX{}ové distribuci,
+protože každá distribuce obsahuje CM fonty. Kvalita sazby se ovšem
+zhorší, protože akcenty (coby samostatné znaky) jsou v~CM fontech
+takové poněkud nedomrlé, zatímco v~\CSfont{}ech jsou kresleny společně
+s~písmenem s~velikou péčí. Informace v~dokumentu
+ovšem není uvedenou modifikací {\tt dvi} souboru
+vůbec změněna. Výjimkou je případ výskytu jednoho z těchto čtyř znaků:
+promile, ogonek (ocásek pod polské a), levá a pravá francouzská
+uvozovka. Tyto znaky nelze nijak pomocí CM fontů nahradit. Pokud
+dokument některý z~těchto znaků obsahuje, pak program
+"dvicopy" ohlásí \uv{{\tt---missing character packet}} a ponechá místo
+těchto znaků prázdná místa.
+
+Ve web2c distribuci \TeX{}u v UNIXu můžete pro uvedenou
+konverzi "dvi" souboru z~\CSfont{}ů na CM~fonty použít příkaz:
+
+\begtt
+VFFONTS=\$TEXMF/fonts/vf-cnv// dvicopy vstup.dvi vystup.dvi
+\endtt
+
+Poznamenejme, že v~žádném případě nesmí "dvi" ovladač najít současně
+virtuální fonty cm2cs i cs2cm. V~takovém případě dojde k~havárii,
+neboť odkazy ve virtuálních fontech se dostanou do nekonečného cyklu.
+
+
+
+
+\subsub Historie a budoucnost \CSfont{}ů | Historie a budoucnost CSfontu
+%------------------------------------
+
+Tvary akcentů \CSfont{}ů byly vytvořeny a implementovány v~jazyce
+\mf{}u Petrem Novákem ve spolupráci s~českými typografy někdy na
+začátku 90.~let. Autor přenechal \CSfont{}y \CSTUG{}u, který s~nimi
+může libovolně nakládat.
+
+\mf{}ový kód byl pak v~letech 1992--1993 dále upraven Karlem Horákem.
+Karel se inspiroval z~\mf{}ových zdrojů pro fonty vytvořené v~Polsku.
+Zapracoval tam možnost nastavení kódování fontu a vytvořil makra
+umožňující mít všechny hlavní {\tt mf} soubory se stejným
+dvouřádkovým obsahem.
+
+Na schůzce tvůrců \CSTeX{}u na FEL v~roce 1993 bylo rozhodnuto, že
+\CSfont{}y budou mít kódování podle ISO~8859-2. Později, při
+implementaci \CSTeX{}u do UNIXo\-vých distribucí nepodporujících
+změny xord/xchr vektorů, se ukázalo, že to bylo velmi prozíravé
+rozhodnutí.
+
+V~roce 1993 jsem převzal údržbu \CSfont{}ů do svých rukou. Udělal jsem
+jen velmi drobné změny. Poslední 28.~9.~1996:
+
+Písmeno Č a další akcentované kapitálky měly před tímto datem větší
+výšku než kresba o~1,2pt. Opravil jsem.
+Také jsem tehdy odstranil nevhodné záporné kerny:
+ Tě, Tř, T\"o, T\"u, T\"a, T\`a (analogicky pro Ť, Y, Ý).
+ Vě, Vř, V\"o, V\"u (analogicky pro F, W)
+a redukoval jsem přílišné záporné kerny:
+ Té, Tó, Tů, Tŕ, Tá, Tú (analogicky pro Ť, Y, Ý).
+
+Pak jsem vývoj \CSfont{}ů zmrazil podobným způsobem, jako Knuth přestal
+měnit CM~fonty. Prioritním požadavkem je, aby dokument opírající se
+o~\CSfont{}y byl od roku 1996 formátován naprosto stejně dnes i kdykoli
+v~budoucnu. Aby byl tento požadavek splněn, není tedy možné zasáhnout
+do rozměrů znaků, kernů a ligaturních tabulek.
+
+V~roce 1996 jsem do \CSfont{}ů přidal virtuální fonty podporující náhradu
+Computer Modern fonty a naopak.
+
+V~roce 1998 se podařilo dohodnout s~autorem te\TeX{}u Thomassem
+Esserem, aby zařadil do své distribuce \CSfont{}y a celý \CSTeX.
+Od této chvíle jsou distribuce odvozené z~te\TeX{}u implicitně
+vybaveny \CSfont{}y.
+
+V~roce 1998 jsem také pro potřeby výstupu do formátu PDF vytvořil
+variantu \CSfont{}ů, tentokrát ve formátu PostScript
+Type1. Vyšel jsem z~BaKoMa Type1 implementace
+CM~fontů a vytvořil jsem si program {\tt t1accent}, který k~písmenkům
+přidával akcenty podle vzorových PostScriptových tahů generovaných
+z~původních \CSfont{}ů \mp{}em. Na mnoha místech jsem byl nucen přistoupit
+k~mikrotypografickým kompromisům~-- v~drobnostech se kresby některých znaků
+\CSfont{}ů z~Type1 liší od svých originálních \mf{}ových protějšků.
+Proto jsem distribuci Type1 \CSfont{}ů označil jako \uv{alpha} a do
+komentáře jsem dal důrazné varování, že tyto fonty je možné používat
+na vlastní riziko. Z~toho důvodu jsem také ponechal
+implicitní konfiguraci programu "dvips" tak, aby program používal
+léty osvědčený výstup z~\mf{}u, tedy bitmapy formátu "pk".
+Type1 \CSfont{}y byly původně konfigurovány jen pro pdf\TeX.
+
+Rozhodnutí ponechat "dvips" pracovat implicitně s~bitmapami naráželo na
+problémy. Neustále dokola se uživaté ptali, jak je možné, že výstup
+z~pdf\TeX{}u je dobrý, ale při cestě dvips~-- pstopdf dostávají
+roztřesená písmenka. Protože jsem byl uondán velmi častým
+odpovídáním na tuto otázku, ani jsem se nakonec nezlobil, když v~roce
+2001 autor te\TeX{}u rozhodl, že bude \CSfont{}y pro "dvips" implicitně
+konfigurovat ve verzi Type1. Asi ty mikrotypografické kompromisy ani
+tak moc nevadí, zatímco roztřesená písmenka v~PDF způsobovala oheň na
+střeše.
+
+V~současné době existují volně dostupné nástroje, jako například
+"textrace" opírající se o~"autotrace". Tyto nástroje umožní převést
+\mf{}ový font do Type1 \uv{obtahováním bitmap} skoro automaticky.
+Vyzkoušel jsem to na \CSfont{}ech a s~výsledkem jsem nebyl vůbec
+spokojen: výsledné {\tt pfb} soubory byly asi pětkrát větší než ty
+moje \uv{ručně} vyrobené. Proto jsem zatím alpha verzi Type1 formátu
+\CSfont{}ů z~roku 1998 neopustil.
+
+Do budoucna bych velmi rád do \CSfont{}ů přidal znak euro a paragraf.
+Taková změna by byla zpětně kompatibilní, takže bych se jí nebránil.
+\mf{}ové zdroje pro paragraf ověřené na všech \CSfont{}ech už několik
+let mám, ale nezveřejnil jsem je. \mf{}ové zdroje znaku euro by se
+snadno daly převzít z~jiného \mf{}ového fontu. Největší potíž je ovšem
+v~tom, že s~uvedením nové verze \CSfont{}ů dnes nestačí zveřejnit jen
+\mf{}ové zdroje a metriky, ale je třeba mít okamžitě s~tím
+konzistentní Type1 varianty fontů. Do manuální práce na nové verzi
+Type1 varianty \CSfont{}ů se mi ale moc nechce. Je to nevděčná a rozsáhlá
+práce: {\tt pfb} souborů je v~balíčku 57 a každý je třeba disassemblovat,
+v~editoru přidat nové znaky a znovu převést na {\tt pfb}.
+Přitom s~automatickými nástroji, jak jsem uvedl před chvílí, nejsem
+spokojen.
+
+
+
+\subtitle {\tt cspsfonts.tar.gz} -- 35 základních PostScriptových fontů |
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CSPSFONTS - 35 ZAKLADNICH FONTU
+
+Každý \ps{}ový RIP musí být vybaven aspoň 35 základními fonty ze sady
+\uv{base~35}. Sada mimo jiné obsahuje sedm rodin textových fontů,
+každá rodina obsahuje čtyři fonty (základní, kurzíva, tučný a tučná
+kurzíva, \new{Helvetica navíc čtyři zúžené varianty}).
+Strojopis se obvykle kombinuje z~rodiny Courier.
+Pro tyto fonty je vytvořena podpora ve formě metrik v~kódování
+\CSfont{}ů a virtuálních fontů, které tyto metriky mapují na
+skutečné fonty, kódované samozřejmě úplně jinak. Tato podpora je
+v~balíčku {\tt cspsfonts.tar.gz}, který je povinnou součástí \CSTeX{}u.
+
+Kódování těchto metrik je inspirováno kódováním \CSfont{}ů, ale chybí
+matematické znaky ze začátku tabulky a znaky, které v běžných
+\ps{}ových fontech nenajdeme (např. pozice 20: škrtátko polského l).
+Na druhé straně jsou přidány znaky s~kódy 80--86 (hexadecimálně) a
+některé další (např. kompletní polské \L{} a~\l). Viz následující tabulku
+fontu "ptmr8z", implementující písmo Times-Roman pro \CSTeX.
+
+Fonty rodiny Courier mají kódování inspirováno \CSfont{}em "cstt10",
+takže se na pozicích 3C, 3E, 5C, 5F a 7B až 7D znaky poněkud liší.
+Toto kódování je označeno "8u" na rozdíl od kódování ostatních
+PostScriptových fontů z balíčku "cspsfonts.tar.gz", které je nazváno
+"8z". Tuto nejednotnost kódování známe už u~\CSfont{}ů a prapůvodně
+existuje u~Computer Modern fontů. Znak vlevo na zmíněných pozicích
+odpovídá kódování "8z" a znak vpravo kódování "8u". Na ostatních
+pozicích je kódování "8z" a "8u" shodné.
+
+\def\tabitem{\hbox to.055\hsize{\hfil
+ \if|\testchar|\char\posnum\fi
+ \if A\testchar \newAbox{\char\posnum}\fi
+ \altchar\hfil}%
+ \vrule\global\advance\posnum by1}
+\def\altchar{\ifcase\posnum
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\a\or\or\a\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\a\or\or\or\a\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\a\or\a\or\a\or\or\or
+ \fi}
+\def\testchar{\ifcase\posnum
+ \or.\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or\or\or\or\or\or\or\or\or\or\or
+ \or\or\or\or\or\or A\or.\or A\or A\or A\or.\or.\or\or A\or A\or
+ .\or.\or.\or.\or.\or.\or.\or.\or\or.\or A\or A\or\or\or\or\or
+ .\or A\or.\or\or\or\or.\or\or.\or\or.\or\or.\or.\or\or.\or
+ .\or A\or.\or\or.\or\or.\or.\or\or\or.\or\or.\or.\or\or.\or
+ \or\or\or.\or\or\or.\or\or\or\or.\or\or\or\or\or\or
+ .\or.\or\or\or\or.\or\or.\or\or\or\or.\or\or\or.\or.\or
+ \or\or\or.\or\or\or.\or\or\or\or.\or\or\or\or\or\or
+ .\or.\or\or\or\or.\or\or.\or\or\or\or.\or\or\or\or\or
+ \fi}
+\bigskip
+\tabfont {\font\f=ptmr8z \font\tt=pcrr8u \f}
+\bigskip
+
+{\bf Upozornění:} Ve výše uvedené tabulce jsou prázdná místa, na
+kterých mohou být umístěny nedokumentované znaky. Když si vytisknete
+například skutečnou tabulku fontu "ptmr8z", zjistíte, že tomu tak
+skutečně je. Pokud chcete mít dokument zpracovatelný i v budoucích
+verzích \CSTeX{}u, nemůžete se o tyto nedokumentované znaky opírat.
+Tyto znaky byly obsazeny v rámci soukromé iniciativy Zdeňka Wagnera,
+který potřeboval použít font pro více jazyků. Bohužel umístil některé
+znaky na pozice, které nejsou pro budoucí rozšíření fontů vhodné.
+Každý si může do volných pozic doplnit co potřebuje, ovšem s tím
+rizikem, že jeho dokumenty využívající tyto pozice nemusejí být
+kompatibilní s~\CSTeX{}em.
+
+Sada metrik balíčku "cspsfonts.tar.gz" zahrnuje následující fonty:
+
+{\setbrackets \catcode`/=13 \def/#1/{\skrt{#1}}
+\begtt
+Metrika /odkazuje na/ Odpovídající PostScriptový font
+-----------------------------------------------------------
+pagk8z /rpagk/ AvantGarde-Book
+pagko8z /rpagko/ AvantGarde-BookOblique
+pagd8z /rpagd/ AvantGarde-Demi
+pagdo8z /rpagdo/ AvantGarde-DemiOblique
+pagkc8z * /rpagk/ AvantGarde-Book Caps & Small Caps
+pagdc8z * /rpagd/ AvantGarde-Demi Caps & Small Caps
+pbkl8z /rpbkl/ Bookman-Light
+pbkli8z /rpbkli/ Bookman-LightItalic
+pbkd8z /rpbkd/ Bookman-Demi
+pbkdi8z /rpbkdi/ Bookman-DemiItalic
+pbklc8z * /rpbkl/ Bookman-Light Caps & Small Caps
+pbkdc8z * /rpbkd/ Bookman-Demi Caps & Small Caps
+pcrr8u /rpcrr/ Courier
+pcrro8u /rpcrro/ Courier-Oblique
+pcrb8u /rpcrb/ Courier-Bold
+pcrbo8u /rpcrbo/ Courier-BoldOblique
+pcrrc8u * /rpcrr/ Courier Caps & Small Caps
+pcrbc8u * /rpcrb/ Courier-Bold Caps & Small Caps
+phvr8z /rphvr/ Helvetica
+phvro8z /rphvro/ Helvetica-Oblique
+phvb8z /rphvb/ Helvetica-Bold
+phvbo8z /rphvbo/ Helvetica-BoldOblique
+phvrc8z * /rphvr/ Helvetica Caps & Small Caps
+phvbc8z * /rphvb/ Helvetica-Bold Caps & Small Caps
+phvrn8z !skrt[*] /rphvrrn/ Helvetica-Narrow
+phvron8z !skrt[*] /rphvron/ Helvetica-Narrow-Oblique
+phvbn8z !skrt[*] /rphvbrn/ Helvetica-Narrow-Bold
+phvbon8z !skrt[*] /rphvbon/ Helvetica-Narrow-BoldOblique
+phvrnc8z * /rphvrrn/ Helvetica-Narrow Caps & Small Caps
+phvbnc8z * /rphvbrn/ Helvetica-Narrow-Bold Narrow C & Small C
+pncr8z /rpncr/ NewCenturySchlbk-Roman
+pncri8z /rpncri/ NewCenturySchlbk-Italic
+pncb8z /rpncb/ NewCenturySchlbk-Bold
+pncbi8z /rpncbi/ NewCenturySchlbk-BoldItalic
+pncrc8z * /rpncr/ NewCenturySchlbk-Roman Caps & Small Caps
+pncbc8z * /rpncb/ NewCenturySchlbk-Bold Caps & Small Caps
+pplr8z /rpplr/ Palatino-Roman
+pplri8z /rpplri/ Palatino-Italic
+pplb8z /rpplb/ Palatino-Bold
+pplbi8z /rpplbi/ Palatino-BoldItalic
+pplrc8z * /rpplr/ Palatino-Roman Caps & Small Caps
+pplbc8z * /rpplb/ Palatino-Bold Caps & Small Caps
+ptmr8z /rptmr/ Times-Roman
+ptmri8z /rptmri/ Times-Italic
+ptmb8z /rptmb/ Times-Bold
+ptmbi8z /rptmbi/ Times-BoldItalic
+ptmrc8z * /rptmr/ Times-Roman Caps & Small Caps
+ptmbc8z * /rptmb/ Times-Bold Caps & Small Caps
+pzcmi8z /rpzcmi/ ZapfChancery-MediumItalic
+\endtt
+\par}
+
+V tabulce jsou hvězdičkou označeny ty metriky, které neodkazují \new{přímo} na
+speciální \ps{}ový font, ale jsou implementovány pomocí
+virtuálního fontu (Caps \& Small Caps). \skrt{Nebo se jedná o~Narrow varianty fontu
+Helvetica, které jsou konfigurovány v "psfonts.map" pomocí \ps{}ové
+transformace.}
+
+České a slovenské znaky \skrt{jsou} \new{byly} ve fontech
+"8z" a "8u" implementovány
+jako kompozity (tj. virtuální font je posklád\skrt{á}\new{al}
+ze samostatného akcentu
+a základního písmene).
+\new{Tento přístup přinášel problémy: ve výsledném PDF nebylo možno
+vyhledávat český text a nebylo možno přenést text clipboardem do jiné
+aplikace. Proto jsem v roce 2012 zveřejnil novou verzi fontů, které
+odkazují přímo na PostScriptový font, který překódovávají pomocí {\tt
+/Encoding} vektoru. Bývalý argument, že nemáme jistotu, zda ve fontu naše
+akcentované znaky jsou, už dávno neplatí.}
+%
+\skrt{Použité segmenty jsou přítomny v~každém
+PostScriptovém fontu. Proto virtuální fonty po sestavení kompozitů
+odkazují na metriky fontů (s písmenem "r" na začátku), které jsou již
+kódovány podle StandardEncoding. Fonty v~PostScriptovém RIPu tedy
+nepotřebujeme mít počeštěny ani poslovenštěny a také nepotřebujeme
+měnit Encoding vektor těchto fontů na úrovni \ps{}u.}
+
+Program {\tt dvips} je obvykle konfigurován tak, že do výstupního
+\ps{}ového kódu nezavádí žádný z~fontů \uv{base~35} a ponechá tam
+jenom odkaz. Starost o~font přenechá \ps{}ovému RIPu. PostScriptové
+fonty z~\uv{base35} tedy principiálně není nutné pro provoz v \TeX{}u
+instalovat na disk a nejsou tedy ani obsaženy v~balíčku
+"cspsfonts.tar.gz". \new{Programu {\tt dvips} je doporučeno nabídnout
+mapovací soubor {\tt cs-a35-nodownload.map}.}
+
+\new{Program {\tt pdftex} je naopak konfigurován tak, že do výstupního PDF
+vkládá všechny použité fonty. Pokud je použit Adobe font z~\uv{base35}, je za něj
+připravena a zavedena náhrada z~dílny URW, která je přítomna v běžných
+\TeX{}ových distribucích. Programu {\tt pdftex} je tedy potřeba nabídnout
+jiný mapovací soubor {\tt cs-a35-urwdownload.map}.}
+
+Pokud \skrt{si chcete prohlížet} \new{jste si prohlíželi}
+{\tt dvi} soubor odkazující na fonty
+z~\uv{base~35} například starší verzí programu {\tt xdvi}, pak tento
+program potřeb\skrt{uje}\new{oval} (alespoň na přechodnou dobu) bitové mapy těchto fontů.
+Pokud bitové mapy v~instalaci ještě \skrt{neexistují} \new{nebyly},
+program zavol\skrt{á}\new{al} skript
+{\tt mktexpk}, který pro vytvoření rastru vol\skrt{á}\new{al} dále Ghostscript.
+To je implementace \ps{}ového RIPu, která musí obsahovat fonty
+z~\uv{base~35}.%
+\footnote*{Z licenčních důvodů Ghostscript neobsahuje originální fonty od
+ Adobe, ale jen jejich hodně dobré náhražky od firmy URW.
+ Rozdíl většinou pouhým okem nerozeznáte.}
+Odtud se fonty konvertují do bitových map {\tt pk} a odtud je
+nakonec použije program {\tt xdvi}.
+
+Poznamenejme ještě, že novější verze programu {\tt xdvi} obsahují
+tzv.~modul "t1lib", díky němuž {\tt xdvi} umí přímo číst PostScriptové
+fonty a vykreslovat je na obrazovku. Není tedy potřeba vůbec vyrábět
+{\tt pk} bitmapy fontů, ani na přechodnou dobu. Náhražky fontů od
+firmy URW z~\uv{base~35} jsou proto v~novějších distribucích
+\TeX{}u přímo instalovány a nespoléhá se v~tomto případě
+na Ghostscript. Nemusíte pak ani spoléhat na přítomnost fontů
+v PostScriptovém RIPu v tiskárně. Novější verze web2c \TeX{}u
+nabízejí pro takový případ možnost použít u~programu
+"dvips" přepínač "-Pdownload"\new{{\tt35}}.
+
+
+\subsub Historie a budoucnost balíčku {\tt cspsfonts.tar.gz} |
+%-----------------------------------------------------------
+ Historie a budoucnost balicku cspsfonts
+
+Balíček "cspsfonts.tar.gz" má méně bohatou historii než \CSfont{}y.
+Tento balíček začal vznikat v~září roku 1994. Tehdy jsem zjistil, že
+popisy kompozitů v~"AFM" metrice pomocí řádků "CC" jsou správně převáděny
+programem "afm2tfm" na odpovídající kompozity ve vytvářeném virtuálním
+fontu. Problém byl jen v tom, že originální "AFM" metriky od Adobe
+neobsahovaly popisy všech kompozitů potřebných pro český a slovenský
+jazyk. Z toho důvodu jsem si vytvořil program "a2ac"~\cit{a2ac}, který
+na základě přehledné tabulky kompozity do "AFM" metrik doplnil a
+současně doplnil kerningové informace pro nově vytvářené znaky. Za
+použití tohoto programu pak vznikla sada metrik a virtuálních fontů
+s~písmenem "c" na začátku (např. "cptmr"). \new{České a slovenské znaky měly
+plovoucí akcenty.}
+
+V roce 1996 pak uveřejnil pan Wagner nové metriky generované stejným
+způsobem, ovšem opravil několik estetických nedostatků a navíc metriky
+nazval podle doporučení Karla Berryho ("8z" a "8t" na konci). Od té
+doby jsou v balíčku "cspsfonts.tar.gz" obsaženy metriky pana Wagnera.
+
+\skrt{Konečně v} \new{V} roce 1999 jsem musel po konzultaci s~Karlem Berrym metriky
+pro rodinu Courier přejmenovat z původního "*8t" na nynější "*8u",
+protože názvy s~"8t" na konci nám kolidovaly s~názvy stejných fontů
+v~kódování podle Corku. To je zatím poslední změna v tomto
+balíčku.
+
+Chyst\skrt{ám} \new{al jsem} doplnění balíčku {\tt cspsfonts.tar.gz} o~nové metriky kódované
+jako "8z", které mapují další běžně používané \ps{}ové fonty.
+Jako první na řadě se nabízí přidání metrik "8z" pro volně
+šířenou rodinu fontů Charter písmolijny BitStream.
+
+\newstart
+V roce 2012 jsem přidal do merik fontů z tohoto balíčku znak Euro a další
+znaky (viz vybarvené znaky v tabulce). Bohužel po letech už nebyly k
+dispozici zdroje, ze kterých metriky generoval kdysi pan Wagner.
+Zejména nebyl k dohledání správný soubor {\tt xl2.enc}. V metrikách tedy bylo
+plno nedokumentovatelných slotů, o kterých jsem těžko mohl soudit, co byly
+zač. Takové sloty považuji za chybu. Proto jsem ustoupil od zpětné
+kompatibility a přegeneroval všechny metriky kompletně znovu. Je možné že sazba
+těmito fonty někdy
+výjde mírně jinak než kdysi, ale aspoň máme metriky, které přesně
+korespondují souboru {\tt xl2.enc}. Protože se mi nepodařilo dohledat AFM
+metriky fontů přímo od adobe takové, které obsahují znak {rcaron}, fonty
+jsem vygeneroval z metrik URW. Generující skript je obsahem balíčku.
+
+Z balíčku {\tt cspsfonts.tar.gz} jsem přemístil soubory {\tt ctimes.tex}
+atd. do balíčku {\tt csplain.tar.gz}, kam jsem přidal další podobné soubory.
+
+\newstop
+
+\subtitle Formát \csplain{} | FORMAT CSPLAIN
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\new{Formát \csplain{} má svou stránku na
+{\tt http://petr.olsak.net/csplain.html}. Je tam poněkud stručněji řečeno
+víceméně totéž, jako zde.}
+
+Popíšu \skrt{jenom} \new{zejména} odlišnosti formátu \csplain{} (povel {\tt csplain}) od
+Knuthova formátu plain (povel {\tt tex}), popsaného
+v~\TeX{}booku~\cit{texbook}.
+
+
+\subsub Překódování v~input procesoru \TeX{}u | Prekodovani v input procesoru TeXu
+%--------------------------------------------
+
+\skrt{Vstupní text pro formát \csplain{} se předpokládá 8bitový.} Kódování
+češtiny nebo slovenštiny vstupního textu je takové, jaké
+běžně používáte v~systému, kde je váš \TeX{} instalován. O~tomto kódování
+budeme nadále mluvit jako o~{\it vstupním kódování}.
+
+Ze vstupního kódování je třeba text překódovat do {\it vnitřního
+kódování}, se kterým interně pracuje \TeX. Toto vnitřní kódování je
+v~\csplain{}u implicitně nastaveno na ISO-8859-2 nezávisle na operačním
+systému. V~tomto kódování musí být připraveny fonty použité
+v~dokumentu. \CSfont{}y a fonty zaváděné pomocí "\input ctimes",
+"\input cbookman" atd. tuto vlastnost mají.
+
+Překódování textu \skrt{do vnitřního kódování můžete udělat ručně před
+spuštěním \TeX{}u (to moc nedoporučuji) nebo} je \skrt{tato konverze}
+implementován\skrt{a}\new{o} do input procesoru samotného \TeX{}u. Jak je to uděláno
+závisí na použité distribuci \TeX{}u. Nejběžnější metody nastavení
+input procesoru budou zmíněny níže.
+
+Problém vztahu vstupního a vnitřního kódování ilustruji na
+příkladě. Nechť je ve vstupním souboru napsáno "\char174=Ž". Po
+zpracování \csplain{}em musím na výstupu dostat: Ž=Ž. Tímto příkladem
+jsem naznačil dvě věci. Za prvé: některá makra mohou být závislá na
+zvoleném vnitřním kódování \TeX{}u (zde makro "\char174", které má
+vytisknout písmeno Ž). Pokud použiju v~systému povel {\tt csplain} bez
+doplňujících maker, pak předpokládám, že kód 174 znamená písmeno~Ž.
+
+Za druhé: pokud vpravo od rovnítka vidím v~editoru, kterým zpracovávám
+vstupní dokument, písmeno~Ž, pak se tento znak musí dostat do
+vnitřních částí \TeX{}u pod kódem 174, ačkoli v~tom editoru je třeba
+kódován úplně jinak. Konverze by měla být implementována (závisle
+na použitém vstupním kódování) v~input procesoru
+\TeX{}u. Důležité je, že to ve svém editoru {\it vidím jako Ž\/} a
+očekávám na základě této vizuální informace jednotné chování \csplain{}u
+na všech systémech, kde existují editory, kterými se mohu do zdrojového
+textu podívat a vidět~Ž (ačkoli různé operační systémy mohou toto~Ž
+kódovat různě).
+
+\new{Pokud se zdrojový soubor \csplain{}u přenáší mezi systémy s různým
+kódováním, pak předpokládáme, že příjemce se na soubor podívá ve svém
+editoru a když uvidí rozsypaný čaj, nejprve si obdržený soubor
+opraví}.
+
+\new{Jak bylo řečeno, konverze mezi vstupním kódováním a vnitřním kódováním
+probíhá na úrovni input procesoru \TeX{}u. To}
+\skrt{Konverzi do jednotného vnitřního kódování} je možné realizovat
+v~různých distribucích \TeX{}u různě. Pročtěte si dokumentaci k~použité
+distribuci. V~em\TeX{}u se pro tyto účely používá tzv.~TCP tabulka
+zaváděná při inicializaci formátu. Ve velmi starých web2c distribucích
+\TeX{}u (léta 1992--1997) můžete najít tzv.~Škarvadovu záplatu, která
+nastavovala kódování podle proměnné prostředí systému. Později se pro
+překódování používal enc\TeX (rok 1997), který nastavoval
+xord/xchr vektor input procesoru \TeX{}u pomocí
+přidaných primitivů (viz~\cit{enctex} a \cit{putovani}). \skrt{Dnes}
+\new{Ještě později}
+(po roce 1998) se v~distribucích web2c, te\TeX{}, \TeX{}live a
+odvozených používají tzv.~TCX tabulky,
+které se vyvolají z~příkazového řádku pomocí přepínače
+"-translate-file" nebo "-default-translate-file".
+\new{Dnes doporučuji se k enc\TeX{}u vrátit, protože jeho současná verze nabízí
+(na rozdíl od TCX tabulek) novou možnost: konverzi vícebytového kódování na vnitřní jednobytové,
+takže zvládne vstup kódovaný v UTF-8. Toto kódování je od roku 2012
+doporučeno jako implicitní vstupní kódování \csplain{}u.}
+
+Se správným nastavením překódovací tabulky úzce souvisí schopnost
+\TeX{}u zapisovat přímo znaky použité abecedy \skrt{8bitový text}
+do logů a do "\write" souborů \new{zpětně ve vstupním kódování.}
+\skrt{(tam musí být text zpětně konvertován do vstupního kódování).}
+\TeX{} implicitně pro výstup do těchto souborů používá pro znaky
+s~kódem větším než 127 hexadecimální přepis uvozený dvěma znaky "^".
+To je pro \csplain{} nepřípustné, a proto je nutné v~\TeX{}u rozšířit
+tzv.~tabulku znaků povolených pro tisk do logů a pracovních
+souborů. Ta je ve web2c distribuci rozšířena automaticky zavedením~TCX
+tabulky: znaky, které jsou v~této tabulce zmíněny, se stávají povolenými pro
+tisk. To vysvětluje nutnost používání tabulky "il2-cs.tcx" v~UNIXových
+distribucích, přestože tabulka pouze deklaruje překódování
+\uv{jedna ku jedné}. \new{Detekuje-li \csplain{} při generování formátu
+aktivovaný enc\TeX, nastaví se tisknutelnost znaků s kódem větším než 127
+automaticky}.
+
+Věnujte prosím při implementaci \csplain{}u do jiných \TeX{}ových
+distribucí zvýšenou pozornost právě problémům překódování v~input
+procesoru a problému množiny povolených znaků pro tisk do logů a
+pracovních souborů. Pokud se chcete přesvědčit o~správnosti
+implementace \csplain{}u, vyzkoušejte test cstrip (viz~\cit{cstrip}).
+
+
+\subsub Inicializace formátu | Inicializace formatu
+%---------------------------
+
+Pokud se vám podařilo \csplain{}em zpracovat tento dokument, pak máte
+formát \csplain{} již inicializovaný a můžete směle tuto sekci
+přeskočit. Pokud používáte \skrt{nejnovější verzi} \TeX{}live, pak stačí
+napsat na příkazový řádek {\tt csplain dokument} a \new{použije se
+předgenerovaný formát, nebo se}
+\skrt{pokud tak činíte
+poprvé,} formát \skrt{se} automaticky vytvoří. Také můžete inicializovat
+formát \csplain{} pomocí nástroje {\tt texconfig} například
+tak, že odstraníte komentářové znaky u~slova {\tt csplain} v~souboru
+{\tt texmf/web2c/fmtutil.cnf} a spustíte "texconfig init".
+
+Následující text popisuje možnost vytvoření formátu \uv{ručně}.
+\newstart
+\csplain{} v \TeX{}live se vstupním kódováním UTF-8 vygenerujete za použití
+enc\TeX{}u (přepínač {\tt-enc}) z příkazové řádky takto:
+
+{\font\tt=cstt9
+\begtt
+pdfetex -ini -enc "\let\enc=u \input csplain.ini"
+\endtt
+\par}
+
+Takto vygenerovaný formát implicitně vystupuje do DVI. Dále pdf\csplain{}
+vygenerujete z příkazové řádky:
+
+{\font\tt=cstt9
+\begtt
+pdfetex -jobname=pdfcsplain -ini -enc "\let\enc=u \input csplain.ini"
+\endtt
+\par}
+
+Pozorování: těsně před "\dump" je ve výpisu a v~log souboru napsáno toto hlášení:
+{\tt jobname=pdfcsplain, PDF output initialised.} Takže nyní je implicitně
+nastaven výstup do PDF.
+
+Soubory {\tt csplain.fmt} a {\tt pdfcsplain.fmt} je třeba umístit někam, kde je
+\TeX{}ová distribuce najde. Místo použití výše uvedených příkazů se můžete pokusit
+editovat konfigurační soubor v~\TeX{}ové distribuci a spustit generování
+formátu prostředky, které k tomu účelu nabízí distribuce.
+
+Spuštění \csplain{}u (resp. pdf\csplain{}u) provedete jedním z příkazů
+
+\begtt
+pdfetex -fmt=csplain.fmt dokument
+csplain dokument
+pdfetex -fmt=pdfcsplain.fmt dokument
+pdfcsplain dokument
+\endtt
+
+Druhý a čtvrtý řádek obsahuje typické zkratky implementované různým způsobem
+v~závislosti na operačním systému a \TeX{}ové distribuci.
+
+Další možností je vygenerovat csplain s jednobytovým vstupním kódováním pomocí tcx
+tabulek. To se dělá přepínačem "-translate-file", za kterým následuje
+název použité tcx tabulky.
+Zbylý text v této sekci většinou dokresluje situaci před deseti a více lety.
+
+\newstop
+
+Příkazem {\tt initex} označuji v tomto textu spuštění \TeX{}u
+v~inicializačním módu, kdy \TeX{} dokáže načítat tabulky vzorů dělení pro
+různé jazyky a ukládat nabyté vědomosti příkazem "\dump" do
+binárních souborů, tzv. formátů. Dříve na to existoval zvláštní
+program ini\TeX, dnes se často používá nějaký přepínač:
+{\tt tex -ini}, {\tt tex /i} atd.
+
+Formát \csplain{} (soubor {\tt csplain.fmt}) vygenerujete jednoduše:
+
+\begtt
+initex csplain.ini
+\endtt
+
+Používat jej pak můžete pomocí příkazu
+
+\begtt
+tex &csplain dokument
+\endtt
+
+V~UNIXu musíte použít "tex \&csplain dokument", aby se znak "&"
+neinterpretoval na úrovni shellu. Nezapomeňte ale
+nastavit správnou překódovací \new{tcx} tabulku způsobem obvyklým v~použité
+\TeX{}ové distribuci. Níže uvádím několik příkladů.
+
+\begitems \parindent=0pt
+* {\bf te\TeX{}, \TeX{}Live, vstupní kódování ISO-8859-2}:
+
+\skrt{inicializace: {\tt tex -ini csplain.ini}}
+
+\skrt{obsah skriptu {\tt csplain}:}\hfil\break\null\hfil
+ \skrt{{\tt tex -fmt=csplain -default-translate-file=il2-cs \char`\$@}}
+
+\newstart
+inicializace: "tex -ini -translate-file=il2-cs csplain.ini"
+
+instalace povelu {\tt csplain}:\quad
+ "ln -s tex csplain"
+\newstop
+
+spuštění \csplain{}u: "csplain dokument"
+
+\medskip
+* {\bf te\TeX{}, \TeX{}Live, vstupní kódování podle Kamenických}
+(hypotetický příklad):
+
+inicializace: "tex -ini csplain.ini"
+
+obsah skriptu {\tt csplain}:\hfil\break\null\hfil
+ "tex -fmt=csplain -default-translate-file=kam-cs $@"
+
+spuštění \csplain{}u: "csplain dokument"
+
+\medskip
+* {\bf web2c\TeX{} s~enc\TeX{}em, vstupní kódování ISO-8859-2}:
+
+inicializace: "tex -ini csplain.ini"
+
+instalace povelu {\tt csplain}:\quad
+ "ln -s tex csplain"
+
+spuštění \csplain{}u: "csplain dokument"
+
+\medskip
+* {\bf web2\TeX{} s~enc\TeX{}em, vstupní kódování podle Kamenických}:
+
+inicializace: {\tt tex -ini \newAbox{-enc}} "'\let\enc=k \input csplain.ini'"
+
+instalace povelu {\tt csplain}:\quad
+ "ln -s tex csplain"
+
+spuštění \csplain{}u: "csplain dokument"
+
+\medskip
+* {\bf em\TeX{}, vstupní kódování podle Kamenických}:
+
+inicializace: "htex386 /i /8 /mt26000 /Ckamenic.tcp csplain.ini"
+
+obsah dávky {\tt csplain.bat}:\hfil\break\null\hfil
+ "htex386 /mt26000 &csplain %1 %2 %3 %4 %5 %6 %7"
+\enditems
+
+Zastavím se na chvíli u~em\TeX{}u. Parametr {\tt /mt} zde zvětšuje
+prostor pro ukládání vzorů dělení slov tak, aby se do formátu vešlo
+celkem pět vzorů dělení: anglické vzory dělení a dále české i
+slovenské vzory dělení obě v~kódování ISO-8859-2 a Cork%
+ \footnote*{Možnost zapnout kódování Cork jako alternativní
+ vnitřní kódování \csplain{}u je implementována od verze "<Feb 2000>".
+ Podrobněji se o~tom zmiňuji v~sekci~4.5.}.
+Paměť pro vzory dělení v~\TeX{}u se skládá ze dvou částí. První
+je nastavována interní \TeX{}ovou proměnnou trie\_size (ta
+koresponduje s~přepínačem {\tt/mt}) a druhá proměnnou trie\_op\_size
+(viz~\cit{tbn}, str.~301). Bohužel, hodnota trie\_op\_size není
+v~em\TeX{}u měnitelná a je ve verzích "tex.exe" a "tex386.exe" nastavena na
+malou hodnotu: pět vzorů dělení slov se tam nevejde. Proto jsem
+v~příkladu použil "htex386.exe", ve kterém je trie\_op\_size nastavena na
+dostatečně velkou hodnotu. Pokud chcete v~em\TeX{}u použít "tex.exe"
+nebo "tex386.exe", pak musíte generovat formát \csplain{} jen se třemi
+vzory dělení -- vyloučit alternativní kódování Cork. Toho lze
+dosáhnout jednak tím, že použijete verzi \csplain{}u starší než
+"<Feb. 2000>", nebo tak, že potlačíte opakované volání vzorů
+dělení pro Cork pomocí "\let\Cork=\relax" takto:
+
+\begtt
+tex /i/8/mt17000/Ckamenic.tcp \let\Cork=\relax \input csplain.ini
+\endtt
+
+Poznamenejme, že potlačit načítání vzorů dělení v~alternativním
+kódování (Cork) lze pomocí "\let\Cork=\relax" ve všech distribucích
+\TeX{}u. Nejedná se tedy jen o~em\TeX{}ovou záležitost. Nicméně
+v~ostatních mě dostupných distribucích nejsou problémy s~výchozí
+hodnotou paměti \TeX{}u pro vzory dělení a je možno načíst bez
+nutnosti cokoli nastavovat všech pět vzorů dělení.
+
+
+\subsub Výchozí nastavení v~\csplain{}u | Vychozi nastaveni v CSplainu
+%--------------------------------------
+
+Aby byla zachována co největší kompatibilita s~mezinárodním formátem
+plain a aby se necítili Češi nebo Slováci vzájemně utlačováni, jsou při
+startu \csplain{}u inicializovány americké vzory dělení slov a zapnuto
+větší mezerování za tečkami (tzv.~"\nonfrenchspacing").
+
+Pro přepnutí na české vzory dělení slov použijte povel "\chyph" a
+do slovenštiny přepnete pomocí "\shyph". Oba povely navíc zapnou
+stejnoměrné mezerování i za tečkou (tzv.~"\frenchspacing"). Takové
+mezerování je v~české a slovenské sazbě obvyklejší. Zpět na americké
+vzory dělení a větší mezerování za tečkou přejdete pomocí povelu
+"\ehyph".
+
+Příklad: Chceme-li v~\csplain{}u zpracovat český dokument, stačí na
+začátku dokumentu uvést "\chyph":
+
+\begtt
+\chyph
+Tady už bude vše fungovat česky.
+\bye
+\endtt
+
+\newstart
+Přepínače "\chyph", resp. "\shyph", resp. "\ehyph" je možné v dokumentu používat kdekoli
+(například i uvnitř odstavce) na oddělení částí dokumentu, které podléhají
+českým resp. slovenským resp. anglickým pravidlům dělené slov.
+
+Příkazy pro akcenty "\v", "\^", "\`", "\'", "\v", {\tt\char`\\\char`\"}
+mají implicitně původní význam z~plainu, tj. pracují s primitivem "\accent",
+který sestavuje znak z akcentu a základu.
+To menusí být žádoucí, protože pak nefunguje dělení slov. Příkazem
+"\csaccents" se uvedené příkazy předefinují tak, že expandují přímo na
+akcentované znaky jako celek. Začne fungovat dělení slov v případech, kdy
+jsou slova napsána "takov\'ym podivn\'ym zp\r usobem".~
+Nově je po "\csaccents" definován příkaz "\r" pro
+akcent kroužku. Konečně se správně vysázejí i sekvence "\v d" nebo "\'i", které
+původně činily potíže.
+
+\newstop
+
+\skrt{{\bf Upozornění:} nedoporučuji v~dokumentech pro \csplain{} používat styl
+{\tt czech.sty} resp. {\tt slovak.sty}.
+Tím se totiž dokument zcela zbytečně stává
+závislým na externím balíku maker, který není příliš stabilní. Pokud
+k~tomu nemáte vážné důvody, styl {\it nepoužívejte}. Styl je
+vyvíjen
+spíše pro uživatele \LaTeX{}u, zatímco uživatel \csplain{}u si vystačí
+s~povely {\tt\char`\\chyph} a {\char`\\shyph}. V~budoucnu přestěhuji tyto styly
+z~archivního souboru {\tt csplain.tar.gz} (kam nepatří a jsou tam jen
+z~historických důvodů) do archivu {\tt cslatex.tar.gz}.}
+
+Rozměr tiskového zrcadla (výška a šířka textu) je implicitně nastaven
+tak, aby všechny čtyři okraje měly velikost 1~palec na papíru formátu
+A4. To je významný rozdíl oproti nastavení ve formátu plain, kde se sice
+také předpokládají okraje 1~in, ale na papíru US-letter. Níže uvádím
+tabulku nastavení rozměrů zrcadla v~\csplain{}u a pro srovnání tytéž parametry
+v~originálním plainu:
+
+\begtt
+ CSplain plain
+-----------------------------------------------------
+\hsize = 159.2mm \hsize = 6.5in (165.1mm)
+\vsize = 239.2mm \vsize = 8.9in (226.06mm)
+\hoffset = 0mm \hoffset = 0in
+\voffset = 0mm \voffset = 0in
+\endtt
+
+\newstart
+Kromě znaků anglické abecedy jsou v \csplain{}u za písmena považovány i
+všechny akcentované znaky české a slovenské abecedy, takže i tyto znaky mají
+nastaven "\catcode=11" a dále mají nastaveny odpovídající "\lccode" a "\uccode".
+\newstop
+
+Výchozí fonty zavedené do formátu \csplain{} jsou \CSfont{}y. Pro matematiku
+jsou zavedeny původní Computer Modern fonty. Na rozdíl od plainu formát
+\csplain{} nezavádí do paměti při inicializaci desítky dalších fontů
+označených jako "\preloaded", protože další fonty se dají zavést
+povelem "\font" až v~době potřeby. Na starodávných strojích bylo možná
+užitečné zavést fonty \uv{do rezervy} už při inicializaci formátu, aby
+pak příkaz "\font" použitý v~dokumentu moc nezdržoval. Při dnešních
+rychlostech počítačů je toto opatření zcela zbytečné, a proto
+v~\csplain{}u nepoužité.
+
+Matematická sazba funguje v~\csplain{}u zcela stejně, jako v~originálním
+plainu. Je to díky tomu, že implicitně zavedené \CSfont{}y jsou
+konzervativním rozšířením Computer Modern fontů. Při zavádění jiných
+fontů do dokumentu je potřeba počítat při matematické sazbě
+s~některými obtížemi (viz následující dvě sekce).
+
+
+\newstart
+
+\subsub Makro {\tt opmac.tex} |
+%----------------------------
+ Makro opmac.tex
+
+Makro {\tt opmac.tex} je od konce roku 2012 součástí balíčku \csplain{}u.
+Napíšete-li do záhlaví dokumentu
+
+\begtt
+\chyph \input opmac
+\endtt
+%
+pak máte k dispozici další makra, která řeší následující věci:
+automatickou tvorbu obsahu, číslování, kapitoly, sekce, křížové reference,
+verbatim prostředí, vkládání obrázků, bibtexové odkazy. Tuto sadu svých maker
+dávám k dispozici s tím, že jsem si vědom, že makra neřeší všechno a ve
+všech souvislostech, nicméně kladu důraz na jednoduchost a srozumitelnost
+maker. Předpokládám, že si je uživatelé předefinují k obrazu svému, nicméně
+usnadním začínajícímu uživateli první kroky směrem k \csplain{}u.
+
+WWW stránka nabízející OPmac je {\tt http://petr.olsak.net/opmac.html}.
+Uživatelká dokumentace k makrům je v souboru {\tt opmac-u.pdf}
+a technická dokumentace v souboru {\tt opmac-d.pdf}.
+\newstop
+
+
+\subsub Použití \ps{}ových fontů v~\csplain{}u |
+%------------------------------------------
+ Pouziti PostScriptovych fontu v CSplainu
+
+Součástí \CSTeX{}u v~balíčku {\tt cspsfonts.tar.gz} jsou kromě metrik
+také soubory, které předefinují textové fonty z~výchozích \CSfont{}ů na
+fonty některé rodiny z~\uv{base~35}. Jak jsme již uvedli v předchozí
+kapitole, fonty z balíčku {\tt cspsfonts.tar.gz} jsou kódovány
+v~ISO-8859-2, tedy v~souladu s~vnitřním kódováním použitým
+v~\csplain{}u. Níže je tabulka souborů, které zavádějí \ps{}ové
+fonty do \TeX{}u primitivem "\font":
+
+\begtt
+soubor Rodina fontů
+--------------------------------
+cavantga.tex Avantgarde Book
+cbookman.tex Bookman
+chelvet.tex Helvetica
+cncent.tex New Century
+cpalatin.tex Palatino
+ctimes.tex Times Roman
+\endtt
+%
+Chcete-li například přepnout do písma Bookman, stačí napsat na začátek
+dokumentu:
+
+\begtt
+\input cbookman
+\endtt
+
+Pokud sami pracujete s~primitivem "\font" například pro zavedení
+větších velikostí fontů u nadpisů, doporučuji použít následující
+konstrukci:
+
+\begtt
+\font\titulfont=\fontname\tenbf\space scaled \magstep2
+\endtt
+%
+Tato konstrukce není závislá na konkrétním fontu, takže když později
+změníte před takovou konstrukcí "\input bookman" například na
+"\input cpalatin", změní se automaticky i font pro nadpisy.
+
+\newstart
+Uvedené soubory {\tt cavantga.tex}, \dots, {\tt ctimes.tex}
+zavádějí čtyři běžné varianty textových fontů "\tenrm", "\tenit",
+"\tenbf", "\tenbi" a k nim pátou variantu "\tentt" implicitně ve velikosti
+10pt. Uživatel místo přímého použití uvedených přepínačů používá obvykle makra
+"\rm", "\it", "\bf", "\bi", "\tt".
+
+Je možné tyto jednou zavedené fonty kdykoli později změnit do jiné velikosti.
+Například po "\def\sizespec{at12pt}\resizeall" bude všech pět variant fontů
+připraveno ve velikosti 12pt. Individuálně lze změnit velikost každému fontu
+zvlášť příkazem "\resizefont" jehož parametr je fontový přepínač (nikoli
+makro). Přepínač změní velikost svého fontu podle makra "\sizespec".
+Pozor: makra "\resizefont" a "\resizeall" sice změní velikosti fontů
+odpovídajícím přepínačům, ale nenastaví aktuální sazbu novým fontem, takže
+bez následného použití přepínače nevidíte výsledek. Je tedy nutno například
+psát: "\def\sizespec{at12pt}\resizeall\tenrm".
+
+Změna velikosti fontů má lokální
+platnost, takže třeba makro pro sazbu titulu může vypadat takto:
+
+{\font\tt=cstt9
+\begtt
+\def\titul#1{\centerline{\def\sizespec{at20pt}\resizefont\tenbf\tenbf#1}}
+\endtt
+\par}
+
+Makro "\resizeall" lze rozšiřovat o další fontové přepínače mimo uvedených
+pět. O toto rozšíření se postará makro "\regfont <přepínač>". Po použití
+tohoto makra je "<přepínač>" tzv. \uv{registrovaný}, takže bude měnit
+velikost svého fontu po spuštění makra "\resizeall". Fontové
+soubory {\tt cavantga.tex}, \dots,
+{\tt ctimes.tex} nastavují obvykle jen základních pět variant a žádné nové
+přepínače neregistrují. Zavádí-li ale
+fontový soubor fonty i pro další varianty, měl by použít "\regfont".
+
+Fontové soubory {\tt cavantga.tex}, \dots, {\tt ctimes.tex} automaticky načtou
+další soubor maker {\tt tx-math.tex}.
+Tato makra zavedou do matematické sazby TXfonty. Ty jsou vizuálně
+kompatibilní s Times\-Roman a mnoha dalšími fonty.
+
+Po zavedení makra "tx-math.tex" jsou k dispozici stovky příkazů pro jednotlivé
+znaky matematické sazby (nadmnožina znaků z AMS\TeX{}u) a dále jsou
+(kromě přepínače "\cal" z plain\TeX{}u) k dispozici
+následující přepínače matematických abeced:
+
+\begtt
+\frak % matematická fraktura
+\script % skript mnohem zakroucenější než \cal
+\bbchar % písmena kreslená dvěma tahy
+\bf % bold sans-serif písmo
+\bi % bold slanted sans-serif písmo, někdo tím značí vektory
+\endtt
+
+Kompletní soubor matematických fontů je makrem "tx-math.tex" zaveden ve
+velikosti 10/7/5pt (základní/indexová/indexindexová velikost). Ovšem tuto
+implicitní volbu je možné kdykoli v dokumentu změnit pomocí (například):
+
+\begtt
+\setmathsizes[12/8.4/6]\normalmath
+\endtt
+
+Příkaz "\normalmath" pozmění všechny matematické fonty do potřebných nových
+velikostí deklarovaných pomocí "\setmathsizes". Příkaz "\boldmath" dělá
+totéž, ale připraví místo \uv{normálních} fontů jejich tučné varianty. Tento
+příkaz se hodí použít do maker s nadpisy. Změny fontů mají lokální platnost.
+
+Kromě "tx-math.tex" je k dispozici analogické makro "ams-math.tex", které
+ponechává v matematické sazbě \CS{}fonty a přidává k nim kompletní sadu
+\AMS{} fontů. Toto makro nabízí pro práci s fonty (volba matematické abecedy,
+změna velikostí a duktu) stejné příkazy jako makro "tx-math.tex".
+
+Obě makra navíc nabízejí dva přepínače, které mění chování proměnných,
+číslic a fontů pro sazbu $\sin$, $\cos$, $\lim$, atd.:
+
+\begtt
+\itvariables % proměnné a \rm z aktuálního textového fontu
+\mitvariables % proměné ze speiálního fontu, \rm taky.
+\endtt
+
+Volba "\itvariables" je implicitní v "tx-math.tex", protože se předpokládá,
+že \uv{kolem} je textový font se kterým by měly být proměnné v matematice v
+souladu. Naopak v "ams-math.tex" je implicitní "\mitvrariables", aby se
+využilo mírně modifikované kurzívy vyvinuté speciálně pro matematickou sazbu
+v Computer Modern. \uv{Kolem} se totiž předpokládá běžný text v
+\CS{}fontech nebo ve vizuálně kompatibilních fontech.
+
+Kromě souborů {\tt cavantga.tex}, \dots, {\tt ctimes.tex} jsou v balíčku
+\csplain{}u připraveny další obdobné, jejichž názvy větčinou začínají na
+{\tt cs-}. Například {\tt cs-antt.tex} zavádí fonty Antykwy Toru\'nske.
+Přehled o všech takových souborech by se měl objevit na terminálu po
+{\tt\char`\\input cs-all}. Toto makro nevykoná nic, jen vypíše seznam
+dostupných fontových souborů. Iniciativě k přidání dalších fontových souborů
+se meze nekladou.
+
+\newstop
+
+
+\skrt{%
+Po zavedení rodiny \ps{}ových fontů je potřeba dát pozor na
+matematickou sazbu. Jedná se o~veškerou sazbu realizovanou ve
+zdrojovém textu mezi dolary. Ta i po změně textových fontů pracuje
+s~původními \CSfont{}y a Computer Modern fonty. Jedině tak je dosaženo,
+že realizace všech matematických symbolů z~plainu zůstává zachována.
+%
+Napíšete-li po zavedení nového textového fontu v~textu například
+číslovku 2 bez použití dolarů, dostanete dvojku z~nového
+fontu. Použijete-li ale "$2$", na výstupu bude dvojka z~\CSfont{}ů.
+Toto míchání fontů není estetické. Chcete-li se mu aspoň částečně
+vyhnout, použijte po zavedení rodiny fontů povel {\tt\char`\\setsimplemath},
+například:}
+
+{\catcode`/=0 \catcode`[=1 \catcode`]=2
+\begtt
+/skrt[\input cbookman \setsimplemath]
+\endtt
+\relax}%
+\skrt{Příkaz zavede i pro fonty, které \TeX{} používá při sazbě mezi dolary
+(\TeX{}ová rodina 0 a 1), odkazy na nově použité \ps{}ové fonty. Tento
+příkaz je ale potřeba použít s~velkou opatrností, protože bude fungovat
+zřejmě jen jednoduchá matematika. Například řecké symboly, které
+použité rodiny fontů neobsahují, nenávratně ztratíte. Navíc matematické
+symboly a natahovací závorky (\TeX{}ová rodina 2 a 3) zůstávají i
+nadále v~Computer Modern, takže se míchání typů fontů zcela nevyhnete.}
+
+\skrt{Pokud chcete používat složitější matematickou sazbu kombinovanou
+s~Post-}\break\skrt{Scriptovými fonty, pak máte dvě možnosti:}
+
+\skrt{1. Nastavit {\tt\char`\\mathcode} všech matematických
+ symbolů tak, aby byly
+ použity například znaky z~PostScriptového fontu Symbol. Matematické
+ znaky z~tohoto fontu jsou navrženy jako doplněk k~fontu Times Roman,
+ ale hodí se i k~jiným PostScriptovým fontům. Bohužel, natahovací
+ závorky a velké operátory (jedna ze specialit \TeX{}u) v~tomto fontu
+ nejsou, takže tyto objekty je nutné ponechat v~Computer Modern.
+ Abyste nemuseli {\tt\char`\\mathcode} pracně nastavovat, doporučuji použít
+ makro OFS~\cit{OFS}.}
+
+\skrt{2. Zakoupit nějaký komerční matematický font včetně natahovacích
+ závorek. Vhodný je například MathTimes firmy Y\&Y.
+ Pro šťastné majitele této sady fontů je v~\csplain{}u
+ distribuován soubor {\tt cmt.tex}, takže pokud na začátku dokumentu
+ uvedete}
+
+{\setbrackets
+\begtt
+!skrt[\input ctimes]
+!skrt[\input cmt]
+\endtt
+%
+\relax}\skrt{pak budete mít i matematickou sazbu v~\uv{Times-Roman stylu} se vším
+ všudy včetně řeckých symbolů a natahovacích závorek. Jen některé
+ drobnosti (například skákavé číslice v~plainu dosažené pomocí
+ "\fam=1") musíte udělat jinak. Přečtěte si manuál k~zakoupené sadě
+ fontů.
+}
+
+\skrt{Matematické fonty v~\uv{Times-Roman stylu} se dají kombinovat i
+ s~mnoha textovými \ps{}ovými fonty dynamické antikvy s~dostačujícím
+ estetickým výsledkem. Podstatně horší je kombinovat dynamickou antikvu
+ textového \ps{}ového fontu se statickou antikvou Computer Modern. To
+ je důvod, proč se nákup sady fontů MathTime vyplatí.}
+{\hbadness=4000\par}
+
+\new{Pokud chcete používat rozsáhlé množství fontů sofistikovaným
+způsobem v matematické i textové sazbě, můžete
+použít balíček OFS~\cit{OFS}.}
+
+
+\newstart
+
+\subsub UTF-8 kódovaný \csplain{} | UTF-8 kodovany csplain
+%--------------------------------
+
+Od roku 2012 je doporučeno implicitně generovat \csplain{} se vstupním
+kódováním UTF-8 pomocí enc\TeX{}u. Každý znak mimo ASCII je v UTF-8 kódován
+dvěma nebo více byty. Tato sekce pojednává o vlastnostech takto generovaného
+formátu. Poznáte jej podle toho, že do logu a na terminál napíše:
+
+\begtt
+The utf8->iso8859-2 re-encoding of Czech+Slovak alphabet
+ activated by encTeX
+\endtt
+
+Vygenerovaný formát zaručí správné zpracování ASCII znaků. Dále je při
+výchozím nastavení zaručeno správné zpracování jen znaků české a
+slovenské abecedy, tedy znaků:
+
+\medskip
+{\spaceskip=2pt
+Á á Ä ä Č č Ď ď É é Ě ě Í í Ĺ ĺ Ľ ľ Ň ň Ó ó Ö ö Ô ô
+Ŕ ŕ Ř ř Š š Ť ť Ú ú Ů ů Ü ü Ý ý Ž ž
+}\medskip
+
+Tyto znaky jsou z UTF-8 kódu mapovány na interní jeden byte podle kódování
+\CS{}fontů. Dále jsou implicitně mapovány UTF-8 kódy všech znaků, které
+mají svou řídicí sekvenci definovanou v plainu nebo v \csplain{}u. Jsou
+to tyto znaky:
+
+{\catcode`/=13 \def/#1/{{\rm \csname#1\endcsname}}
+\begtt
+plain: \ss /ss/ \l /l/ \L /L/ \ae /ae/ \oe /oe/ \AE /AE/ \OE /OE/
+ \o /o/ \O /O/ \i /i/ \j /j/ \aa /aa/ \AA /AA/
+ \S /S/ \P /P/ \copyright /copyright/ \dots /dots/ \dag /dag/ \ddag /ddag/
+csplain: \clqq /clqq/ \crqq /crqq/ \flqq /flqq/ \frqq /frqq/ \promile /promile/
+\endtt
+\par}
+
+Pokud je na vstupu jakýkoli jiný UTF-8 kód, implicitně je nemá \csplain{}
+mapován, takže se vypíše na terminál a do logu následující varování:
+
+\begtt
+WARNING: unknown UTF-8 code: `X = ^^xx^^xx' (line: ??)
+\endtt
+%
+a do tiskového výstupu se vloží na dané místo černý čtvereček. Uživatel si musí
+takový znak dodefinovat. Například po hlášení:
+
+{\catcode`!=0
+\begtt
+WARNING: unknown UTF-8 code: `!~N = ^^c3^^91' (line: 42)
+\endtt
+\relax}%
+si uživatel do záhlaví dokumentu například doplní definici:
+
+\begtt
+\mubyte\Ntilde ^^c3^^91\endmubyte % UTF-8 kód mapován na \Ntilde
+\def\Ntilde{{\~N}} % sekvence \Ntilde definována
+\endtt
+%
+Po této úpravě se
+při zpracování dokumentu už varování neobjeví a vstupní kód se zpracuje jako
+řídicí sekvence "\Ntilde", která expanduje na "\~N", takže v tiskovém
+výstupu se objeví~\~N.
+
+Pokud se řídicí sekvence mapovaná pomocí "\mubyte" objeví v argumentu
+"\write" souboru, nebude expandovat, ale promění se při zápisu do souboru
+zpětně do odpovídajícího UTF-8 kódu.
+
+Během "\write" a při zápisu do logu se také zpět na UTF-8 kódy proměňují
+interní byte, které byly mapovány. Implicitně tedy jsou to znaky české a
+slovenské abecedy vyjmenované výše. Ostatní nemapované interní byte s kódem
+větším jak 127 se přepisují podle dvouzobákové konvence např.~takto:~"^^ad".
+Jestliže do deklarace dokumentu napíšete
+"\xprncodes=1", budou se ostatní nemapované byty vypisovat přímo.
+
+Příkazy "\mubytein", "\mubyte" a "\endmubyte" jsou součástí enc\TeX{}u a
+jsou popsány v jeho dokumentaci. Stručně řečeno
+"\mubytein=0" vypíná přechodně použití kódovací tabulky a
+"\mubyte token string\endmubyte" zařadí do kódovací tabulky
+další údaj: "string" bude na vstupu převeden na interní "token" v~\TeX{}u
+a při činnosti "\write" bude "token" zpětně převeden na "string".
+
+Při použití jiných fontů pomocí "\input ctimes" (atd., viz sekci 4.5) je zavolán
+soubor "chars-8z.tex", který mapuje další UTF-8 kódy na řídicí sekvence,
+jež jsou pomocí "\chardef" propojeny se znakem fontu. Jsou to tyto znaky:
+
+{\font\f=ptmr8z
+\catcode`/=13 \def/#1/{{\f\char#1}}
+\begtt
+\euro /134/ \trademark /136/ \registered /138/ \ellipsis /128/
+\textbullet /131/ \sterling /132/ \currency /164/
+\endtt
+\par}
+
+Soubor "chars-8z.tex" navíc předefinovává makra plainu "\P", "\S",
+"\dag", "\ddag", "\copyright", "\lslash", "\Lslash" pomocí "\chardef", aby
+tyto řídicí sekvence vedly přímo na znak ve fontu.
+
+V balíčku {\tt enctex.tar.gz} (a podruhé i v {\tt csplain.tar.gz}) jsou
+připraveny soubory, které mapují UTF-8 kódy celých bloků UNICODE tabulky na
+řídicí sekvence a definují jejich výchozí chování. Můžete použít:
+
+\begtt
+\input utf8lat1 % Latin-1 Supplement U+0080--U+00FF
+\input utf8lata % Latin Extended-A U+0100--U+017F
+\endtt
+%
+a možná v budoucnu i další. Po zavedení těchto souborů se nově deklarované
+UTF-8 kódy mapují na řídicí sekvenci, např. \"e se mapuje na "\edieresis" a
+tato sekvence expanduje na příslušné sestavení akcentu, v tomto příkladě na
+{\tt\char`\\\char`\"e}. Na interní byte zůstávají mapovány jen znaky české a
+slovenské abecedy. Pokud ale {\it před zavedením těchto souborů\/} použijete
+"\input t1code" (přechod na interní kódování T1, tj. podle Corku), pak se na
+interní byte mapují také všechny znaky definované v T1 kódování. Pro nově
+mapované řídicí sekvence jsou použity definice ze souborů {\tt utf8lat*.tex}
+jen tehdy, pokud tyto řídicí sekvence nejsou definovány dříve.
+
+Pokud předložíte \csplain{}u (generovaném pro UTF-8 kodování vstupu)
+dokument kódovaný jinak, než v UTF-8, skoro jistě se dočkáte chybového
+hlášení:
+
+{\font\tt=cstt9
+\begtt
+! UTF-8 INPUT IS CORRUPTED ! May be you are using another input encoding.
+\endtt
+\par}
+
+Je ovšem možné snadno přejít do módu, při němž UTF-8 kódovaný \csplain{}
+pracuje stejně jako \csplain{} s kódováním ISO-8859-2. Stačí na začátek
+dokumentu napsat:
+\begtt
+\mubytein=0 \mubyteout=0 \mubytelog=0 \xprncodes=1
+\endtt
+%
+Tuto práci vykoná také soubor "utf8off.tex", tj. stačí napsat "\input utf8off".
+Tento soubor navíc definuje makro "\clearmubyte", které vymaže
+data deklarovaná pomocí "\mubyte...\endmubyte".
+
+Je dokonce možné mít na vstupu při sazbě jediného dokumentu různé soubory
+různě kódované. Není nutné při přechodu z jednoho kódování přepínat na
+druhé. Stačí na začátek dokumentu napsat:
+\begtt
+\input mixcodes
+\endtt
+a od této chvíle je možné na vstupu střídat texty kódované dle UTF-8,
+ISO-8859-2 nebo CP1250 dle libosti. Všechny výstupy pomocí "\write" jsou
+kódovány podle UTF-8 a jsou tedy opět připraveny k načtení.
+
+V předchozím odstavci není zcela přesná formulace \uv{střídat kódování dle libosti}.
+Platí to jen pro český text. Slovákům nefunguje \frqq\v l\flqq{} v~CP1250. Pokud jim to
+vadí, napíšou "\shyph" před voláním "\input mixcodes". Pak ale zase
+nefunguje \frqq ž\flqq{} v~ISO-8859-2. Tyto dva znaky jsou v uvedených dvou kódováních
+poněkud v~konfliktu. UTF-8 vstup ale funguje bez problémů.
+
+\newstop
+
+
+\subsub Použití fontů kódovaných podle Corku (T1 kódování) nebo v Unicode |
+%--------------------------------------------------------------------
+ Pouziti fontu kodovanych podle Corku nebo v Unicode
+
+Od verze \csplain{}u "<Feb. 2000>" načítá tento formát při
+inicializaci tabulky vzorů dělení nejen v~ISO-8859-2, ale též
+v~kódování podle Corku (tzv.~T1 kódování). Tyto tabulky \uv{čekají} na
+případ, kdy uživatel bude chtít použít ve svém dokumentu fonty,
+jejichž metriky jsou kódované v~T1. Může se totiž stát, že uživatel
+nebude chtít připravovat metriky a virtuální fonty pro nově zakoupené
+\skrt{\ps{}ové} fonty ručně (pomocí programů "a2ac" a "afm2tfm" nebo pomocí
+"fontinst"), ale bude chtít využít již hotové metriky nabízené
+v~\TeX{}ových archivech. Tyto hotové metriky jsou ale většinou v~T1
+kódování.
+
+\newstart
+
+Od verze \csplain{}u "<Nov. 2012>" načítá tento formát při své inicializaci
+tabulky vzorů dělení také v UNICODE, pokud detekuje, že je použit \TeX{}ový
+program, který interně dovede pracovat v UNICODE. Takovým \TeX{}ovým
+programem může být Lua\TeX{}, Xe\TeX{} nebo Omega.
+
+\newstop
+
+Upozorňuji na určitá omezení použití \csplain{}u s~T1 kódovanými fonty:
+
+\begitems
+* Všechny fonty v~celém dokumentu musejí být kódovány jednotně
+ v~ISO-8859-2 nebo v~T1 \new{nebo v UNICODE}.
+ V~dokumentu nelze fonty \skrt{obou}\new{těchto} kódování jednoduše míchat.
+* \csplain{} {\it implicitně} nastavuje vnitřní kódování do
+ ISO-8859-2. Změníte-li tuto vlastnost, pak použitý povel v~systému
+ se už nesmí nazývat {\tt csplain}.
+* Změnit vnitřní kódování \TeX{}u příkazem "%&" na prvním řádku
+ dokumentu je možné ve web2c distribucích \TeX{}u a odvozených.
+ V~jiných instalacích nemusí být tato vlastnost možná. Proto je
+ třeba počítat s~tím, že dokument opírající se o~tento příkaz
+ nemusí být zcela přenositelný na jiné implementace \TeX{}u.
+\enditems
+
+
+
+Přepnutí na vnitřní kódování podle Corku uděláte příkazem
+"\input t1code". \newstart Přepnutí na kódování UNICODE provedete pomocí
+"\input ucode". Toto by měl být první příkaz v dokumentu, pak teprve
+následuje "\chyph" nebo "\input opmac" nebo načítání fontových souborů.
+\newstop
+
+\skrt{Kromě toho,} \new{Nemáte-li UTF-kódovaný csplain,}
+\skrt{se} musíte \new{se} postarat o~to, aby se vstupní
+kódování správně konvertovalo na vnitřní kódování \TeX{}u. Například
+ve web2c distribuci použijete volbu "-translate-file".
+Příklad použití T1 kódovaného fontu:
+
+\begtt
+%&csplain -translate-file=il2-t1
+\input t1code %% Některé definice závislé na kódování
+\chyph %% Příkaz nyní zapne tabulku 15 místo tabulky 5
+\font\f=ptmr8t %% Zavedení T1 kódovaného fontu Times-Roman
+\f
+Tady je český text zpracovaný uvnitř \TeX{}u v kódování T1
+včetně použití správné tabulky pro dělení slov.
+\end
+\endtt
+
+Takto připravený soubor \TeX{}ujte na web2c instalaci nikoli povelem
+{\tt csplain}, ale raději povelem {\tt tex}, tedy:
+
+\begtt
+tex dokument
+\endtt
+
+Program {\tt tex} z~web2c implementace se podívá do prvního řádku dokumentu
+a pokud tam najde dvojici "%&", zavede formát a TCX tabulku (která
+pozměňuje xord/xchr vektor) podle toho, co je za touto dvojicí napsáno.
+Pokud byste použili skript {\tt csplain} obsahující přepínač
+"-translate-file=il2-cs", nebude to fungovat,
+protože přepínač na příkazovém řádku má vyšší prioritu než v~dokumentu.
+V~novějších implemetacích příkazu {\tt csplain} je použit skript,
+který obsahuje přepínač
+"-default-translate-file=il2-cs". Ten má prioritu nižší, takže
+pak lze při zpracování dokumentu s~konstrukcí "%&" použít i příkaz
+{\tt csplain}.
+
+Do distribuce \csplain{}u jsou zařazeny soubory {\tt dcfonts.tex},
+{\tt ecfonts.tex} \skrt{a pro inspiraci též {\tt ttimes.tex}}. Pokud na
+začátku dokumentu například napíšete:
+
+\begtt
+%&csplain -translate-file=il2-t1
+\input ecfonts
+\chyph
+\endtt
+\noindent
+převádíte celou sazbu do EC fontů kódovaných podle Corku. V~zaváděném
+souboru "ecfonts.tex" je proveden "\input t1code", takže se o~to
+přímo v~dokumentu už není potřeba starat.
+
+\skrt{Při zavádění \ps{}ových fontů (například použitím {\tt ttimes.tex})
+nastávají stejné problémy s~matematickou sazbou, jako při použití
+\ps{}ových fontů kódovaných v~ISO-8859-2. Tyto problémy jsou popsány
+v~předchozí sekci.}
+
+\newstart
+Pokud dáte "\input t1code" před "\input ctimes", (nebo "\input cavantga",
+atd.), budou požadované fonty zavedeny v T1 kódování. Takže k sazbě
+Bookmanem v T1 kódování stačí v UTF-8 kódovaném \csplain{}u napsat:
+
+\begtt
+\input t1code \input cbookan
+\endtt
+
+Bohužel T1 kódované fonty jsou generovány programem fontinst, který má ve
+svých konfiguračních souborech chybu pro písmena ť a ď. Tato písmena jediná nejsou
+v těchto fontech realizovaná jako přímé znaky a jsou poskládána z komponent
+naprosto odstrašujícím způsobem. Kdo opraví tuto chybu ve fontinstu, nechť o
+tom, prosím, reportuje na příslušných místech, aby mohli správci distribucí
+přegenerovat {\tt 8t}~metriky.
+
+Pokud dáte v 16bitovém \TeX{}u (tj. Xe\TeX, Lua\TeX{} nebo v něčem podobném)
+"\input ucode" před "\chyph" a "\input lmfonts", bude čeština uvnitř \TeX{}u
+zpracována v Unicode a tištěna Latin Modern Unicode fonty.
+Jiné soubory pro čtení fontů zatím pro 16bitový \TeX{} upraveny nejsou.
+
+
+\subsub Vzory dělení slov v různých jazycích a kódováních |
+%------------------------------------------------------
+ Vzory deleni slov v ruznych jazycich a kodovanich
+
+Implicitně načítá \csplain{} při generování formátu následující
+vzory dělení:
+
+\begitems
+* "\enPatt=0" ... (implicitní vzor z plain\TeX{}u) v ASCII kódování
+* "\csILtwo=5" ... čeština v ISO-8859-2
+* "\skILtwo=6" ... slovenština v ISO-8859-2
+* "\csCork=15" ... čeština v T1 kódování
+* "\skCork=16" ... slovenština v T1 kódování
+* "\csUnicode=115" ... čeština v Unicode (jen, pokud je detekován
+ Xe\TeX, Lua\TeX, nebo jiný 16bitový \TeX)
+* "\skUnicode=116" ... slovenština v Unicode (jen, pokud je detekován
+ Xe\TeX, Lua\TeX, nebo jiný 16bitový \TeX)
+\enditems
+
+Jednotlivé vzory dělení se v dokumentu zapínají pomocí "\uslang", "\cslang"
+a "\sklang". Příkaz "\uslang" zapne také "\nonfrenchspacing" a ostatní
+zapínají "\frenchspacing". Jsou zachovány staré názvy těchto přepínačů:
+"\ehyph=\uslang", "\chyph=\cslang" a "\shyph=\sklang". Přechod k novým
+názvům s aspoň dvěma písmenky pro jazyk je důsledkem nové
+možnosti v \csplain{}u použít 54 různých jazyků.
+
+V roce 2012 byl zcela přepracován soubor "hyphen.lan", který je použit
+\csplain{}em pro čtení vzorů dělení slov. Na řádcích 48 až 160
+tohoto souboru jsou za dvojtečkami skryty jazyky a kódování zhruba ve tvaru:
+
+\begtt
+\let\csCork=y % Czech
+\let\skCork=y % Slovak
+:\let\deCork=y % German
+:\let\frCork=y % French
+:\let\plCork=y % Polish
+:\let\cyCork=y % Welsh
+:\let\daCork=y % Danish
+...
+:\let\saUnicode=y % Sanskrit
+:\let\ruUnicode=y % Russian
+:\let\ukUnicode=y % Ukrainian
+:\let\hyUnicode=y % Armenian
+:\let\asUnicode=y % Assamese
+\endtt
+
+Stačí si vybrat jazyky, odstranit příslušnou dvojtečku a znovu vygenerovat
+formát \csplain{}. Nebo můžete přidat vzor bez zásahu do souboru
+"hyphen.lan" vhodně zvolenou zprávou na příkazovém řádku při generování
+formátu. Například:\par\nobreak
+
+{\font\tt=cstt9
+\begtt
+pdftex -ini -enc "\let\plCork=y \let\enc=u \input csplain.ini"
+nebo
+pdftex -ini -enc "\let\allpatterns=y \let\enc=u \input csplain.ini"
+
+\endtt
+
+}
+Jakmile je načten vzor dělení pro nový jazyk, je automaticky připraven k
+tomu odpovídající přepínač, tedy například "\delang" po načtení "\deCork".
+Seznam všech načtených vzorů dělení je v makru "\pattlist".
+
+Na začátku zpracování dokumentu jsou inicializovány vzory dělení "\..ILtwo".
+Vzory dělení typu "\..Cork" budou fungovat až po "\input t1code" a vzory
+dělení "\..Unicode" budou fungovat až po "\input ucode". Pozor: \csplain{}
+neřeší správné nastavení "\lccode" a "\uccode" v~16bitovém \TeX{}u v rozsahu
+větším, než jsou znaky z české a slovenské abecedy. Takže při použití
+exotických jazyků si uživatel musí nastavit k tomu správná "\lccode".
+
+\csplain{} definuje pro každý jazyk s načtenými vzory dělení makro "\lan:<číslo>" jako
+"<zkratku jazyka>", například "\lan:5" stejně jako "\lan:15" expandují na
+"cs". Programátor maker toho může využít. Programátor maker dále může využít
+toho, že makra "\cslang", "\delang" atd. volají makro
+"\initlanguage{<zkratka jazyka>}". Toto makro implicitně neudělá nic, ale
+programátor maker si je může předefinovat dle svého. Protože je
+"\initlanguage" zavolán těsně za "\language=<číslo>" v~kontextu:
+
+\begtt
+\..lang -> \language=<číslo>\relax
+ \initlanguage{<značka>}\frenchspacing
+ \lefthyphenmin=<lhm>\righthyphenmin=<rhm>%
+ \message{<text>}
+\endtt
+%
+je možné, aby programátor maker odebral další inteligenci maker "\..lang"
+a převzal je do vlastnívch rukou. Třeba definuje:
+
+\begtt
+\def\initlanguage #1#2#3\message#4{#3\csname lg:#1\endcsname}
+\endtt
+
+Toto řešení přebírá z makra "\..lang" jen nastavení registrů "\lefthyphenmin" a
+"\righthyphenmin", ale ruší implicitní "\message" i nastavení
+"\frenchspacing". Místo toho se předpokládá, že budou definována makra
+"\lg:<značka>", ve kterých budou tyto věci (a možná mnoho dalších jako třeba
+nastavení implicitního fontu) řešeny pro každý jazyk individuálně.
+
+Přepínání mezi kódováními funguje pomocí "\corklangs" ... "\cslang"
+(nyní je aktivní vzor dělení "\csCork") a dále třeba ... "\iltwolangs"
+... "\cslang" (nyní je aktivní vzor dělení "\csILtwo").
+Makra "\iltwolangs", "\corklangs", a "\unicodelangs" jsou spuštěna při
+"\input il2code", "\input t1code" a "\input ucode", takže uživatel to nemusí
+řešit.
+
+Je potřeba si uvědomit, že 8bitovým \TeX{}em sice můžete vynutit načtení
+Unicodových vzorů dělení slov, ale bude vám to málo platné, tedy k ničemu.
+Dále je potřeba vědět, že v 16bitovém \TeX{}u můžete načíst vzory dělení
+"\..ILtwo" a "\..Cork" korektně jen pro češtinu a slovenštinu, protože další
+vzory dělení jsou čteny pomocí triku s aktivními znaky, který dekóduje
+8bitový vstup. Nicméně typicky v~16bitovém \TeX{}u není inicializován
+8bitový vstup, takže se to poláme.
+
+\newstop
+
+\subsub Nové řídicí sekvence \csplain{}u oproti Knuthovu plainu |
+%-----------------------------------------------------------
+ Nove ridici sekvence CSplainu
+
+\bgroup \leftskip=\parindent \parindent=0pt
+
+\hbox{\skrt{\tt\char`\\austrian}} \skrt{Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ rakouskou němčinu (hodnota 2).
+ Vzory dělení pro tento jazyk implicitně nejsou zavedeny.}
+
+\newstart
+"\bi" Přejde na tučnou krurzívu. Příkaz doplňuje sadu příkazů "\rm", "\it" a
+"\bf" definovanou v plain\TeX{}u.
+\newstop
+
+"\cmaccents"\nobreak Nastaví řídicí sekvence "\^", "\`", "\'", "\v" a
+ "\"{\tt\char`\"} tak, aby fungovaly stejně, jako
+ v~originálním plainu (použití primitivu "\accent").
+ Sekvence "\r" je nedefinována. Toto je defaultní
+ nastavení. Pokud slovo obsahuje akcentovaný znak zapsaný
+ některou z~těchto sekvencí, pak pro ně nefunguje
+ automatické dělení.
+
+"\cmaccentsmesage" Způsobí výpis informace do logu a na terminál
+ o~použití příkazu "\cmaccents". Pokud vás tato zpráva
+ obtěžuje, nastavte "\let\cmaccentsmesage=\relax" před
+ vyvoláním příkazu "\cmaccents".
+
+\newstart
+"\corklangs" Inicializace vzorů dělení podle T1 kódování (Cork). \newstop
+
+"\csaccents"\nobreak Nastaví řídicí sekvence "\^", "\`", "\'", "\v",
+ "\"{\tt\char`\"} a "\r" tak, aby expandovaly na
+ odpovídající 8bitové reprezentace znaků podle ISO-8859-2
+ (po "\input t1code" pak expandují na kódování podle
+ Corku). Sekvence "\r u" expanduje na ů. Pokud slovo
+ obsahuje akcentovaný znak zapsaný některou z~těchto
+ sekvencí, pak pro ně funguje i automatické dělení slov.
+
+"\csaccentsmesage" Způsobí výpis informace do logu a na terminál
+ o~použití příkazu "\csaccents". Pokud vás tato zpráva
+ obtěžuje, nastavte "\let\csaccentsmesage=\relax" před
+ vyvoláním příkazu "\csaccents".
+
+"\clqq" Vytiskne levé české uvozovky (\clqq).
+
+"\crqq" Vytiskne pravé české uvozovky (\crqq).
+
+\hbox{"\chyph" \new{=\skrt{{\tt\char`\\czlang}}={\tt\char`\\cslang}}}
+ Aktivuje tabulku dělení slov podle registru "\czech" a
+ nastaví stejnoměrné mezerování za tečkami
+ (tzv.~"\frenchspacing"). \new{Dále nastavuje
+ {\tt\char`\\lefthyphenmin=2} a {\tt\char`\\righthyphenmin=3}. Druhý registr
+ lze změnit na dvojku, vzory dělení jsou na to připraveny.}
+
+"\czech" \nobreak Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ češtinu (hodnota "\iltwoczech" nebo "\toneczech" podle toho,
+ zda nebylo nebo bylo použito "\input t1code").
+
+\hbox{"\ehyph" \new{={\tt\char`\\enlang}}}\nobreak
+ Aktivuje tabulku dělení slov podle registru "\enPatt" a
+ nastaví větší mezerování za tečkami
+ (tzv.~"\nonfrenchspacing"). Toto nastavení je výchozí.
+
+\hbox{\skrt{\tt\char`\\english}}
+\nobreak \skrt{Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ britskou angličtinu (hodnota 4).
+ Vzory dělení pro tento jazyk implicitně nejsou zavedeny.}
+
+"\enPatt" Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ americkou angličtinu (hodnota 0).
+
+"\extrahyphenchar" Alternativní znak spojovníku (-). Kód 156.
+ Po "\input t1code" není toto makro definováno.
+
+"\extrahyphens"\nobreak Nastaví rozdělovací znak pro běžné textové fonty na
+ "\extrahyphenchar". Defaultně je v~plainu jako rozdělovací znak
+ nastaven znak minus (ASCI~45), což může činit v~českém
+ textu komplikace. \TeX{} totiž v~případě rozdělovacího znaku
+ přímo ve vstupním textu může dělit tak, že znak neopakuje
+ na dalším řádku. Po "\extrahyphens" bude mít dělicí
+ znak kód 156, což je kód, který se na vstupu nevyskytuje.
+ Máme tím zaručeno, že ve slovech \uv{je-li} nebude \TeX{}
+ dělit vůbec. Jinou aplikací je použití speciální metriky
+ nebo dokonce speciálního tvaru pro "\extrahyphenchar".
+
+"\flqq" Levé francouzské uvozovky (\flqq), které se v~češtině a
+ němčině používají vpravo.
+
+"\frqq" Pravé francouzské uvozovky (\frqq), které se v~češtině a
+ němčině používají vlevo, tedy \frqq takto\flqq.
+
+\hbox{\skrt{\tt\char`\\french}}
+ \skrt{Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ francouzštinu (hodnota 3).
+ Vzory dělení pro tento jazyk implicitně nejsou zavedeny.}
+
+\hbox{\skrt{\tt\char`\\german}}
+ \skrt{Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ němčinu (hodnota 1).
+ Vzory dělení pro tento jazyk implicitně nejsou zavedeny.}
+
+\hbox{"\iltwoczech"\new{=\skrt{{\tt\char`\\czILtwo}}={\tt\char`\\csILtwo}}}
+ Konstanta 5 rezervovaná pro číslo tabulky vzorů dělení slov
+ pro češtinu při kódování fontů podle ISO-8859-2.
+
+\newstart
+"\iltwolangs" Inicializace vzorů dělení podle ISO-8859-2 (implicitní).\newstop
+
+\hbox{"\iltwoslovak"\new{={\tt\char`\\skILtwo}}}
+ Konstanta 6 rezervovaná pro číslo tabulky vzorů dělení slov
+ pro slovenštinu při kódování fontů podle ISO-8859-2.
+
+"\ogonek" Vytvoří polský akcent pod písmenem: \ogonek a.
+
+\newstart
+"\pattlist" Seznam všech načtených vzorů dělení. \newstop
+
+"\promile" Vytiskne znak \promile.
+
+\newstart
+"\regfont <přepínač>" Provede registraci fontového přepínače. Tedy přidá
+do existujícího makra "\resizefontall" další dva tokeny:
+"\resizefont <přepínač>".
+
+"\resizeall" Provede "\resizefont" podle aktuláně nastaveného "\sizespec" na
+sekvence "\tenrm", "\tenit", "\tenbf", "\tenbi" a "\tentt" a případně další
+registované fontové přepínače. Příklad:\hfil\break
+"\def\sizespec{at12pt}\resizeall \tenrm"\hfil\break
+"Nastavená \it velikost 12pt \bf funguje \bi všude."
+
+"\resizefont <přepínač>"\nobreak Argumentem musí být fontový "<přepínač>", tj. sekvence
+ dříve deklarovaná pomocí "\font". Tento "<přepínač>" pozmění
+po činnosti příkazu "\resizefont" svůj význam: odkazuje na stejný font ale ve velikosti nastavené podle obsahu
+makra "\sizespec". Naříklad: "\def\sizespec{at14pt}\resizefont\tenbf".
+Od této chvíle je "\tenbf" tučný font (stejný, jako byl původní "\tenbf")
+ve velikosti 14pt. Změna významu je lokální.
+
+"\resizefontskipat"\nobreak Pomocné makro pro "\resizefont".
+\newstop
+
+\hbox{"\shyph"\new{={\tt\char`\\sklang}}}
+ Aktivuje tabulku dělení slov podle registru "\slovak" a
+ nastaví stejnoměrné mezerování za tečkami
+ (tzv.~"\frenchspacing").
+
+\newstart
+"\sizespec" Makro spolupracující s příkazem "\resizefont". Makro
+"\sizespec" je buď prázdné, nebo
+obsahuje \uv{{\tt at<dimen>}}, nebo \uv{{\tt scaled<number>}}. Nezapomeňte
+na klíčová slova {\tt at} resp. {\tt scaled}.
+
+\newstop
+
+"\slovak" Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ slovenštinu (hodnota "\iltwoslovak" nebo "\toneslovak" podle toho,
+ zda nebylo nebo bylo použito "\input t1code").
+
+\newstart
+"\tenbi" Font-selector definovaný jako "\font\tenbi=csbxti10". Je totiž
+užitečné mít preloadovanou fontovou čtveřici "\tenrm", "\tenit", "\tenbf" a
+"\tenbi".
+\newstop
+
+\hbox{"\toneczech"\new{={\tt\char`\\csCork}}}
+ Konstanta 15 rezervovaná pro číslo tabulky vzorů dělení slov
+ pro češtinu při kódování fontů podle Corku.
+
+\hbox{"\toneslovak"\new{={\tt\char`\\skCork}}}
+ Konstanta 16 rezervovaná pro číslo tabulky vzorů dělení slov
+ pro slovenštinu při kódování fontů podle Corku.
+
+\newstart
+"\unicodelangs" Inicializace vzorů dělení v Unicode.\newstop
+
+\hbox{\skrt{\tt\char`\\USenglish}}
+ \skrt{Registr rezervovaný pro číslo tabulky vzorů dělení slov pro
+ americkou angličtinu (hodnota 0).}
+
+"\uv"\nobreak Makro pro uvozovky. Používá se "\uv{takto}". Makro je
+ definováno tak, aby se uvnitř jeho argumentu dala použít
+ verbatim konstrukce. To ale způsobí, že je potlačen
+ kerning před pravou uvozovkou. Pokud nepoužíváte verbatim
+ konstrukce v~argumentu uvozovek, doporučuji makro
+ předefinovat jednoduše na:
+
+\begtt
+\long\def\uv#1{\clqq#1\crqq}.
+\endtt
+
+{\bf Poznámka:} \csplain{} nedefinuje makro pro ,jednoduché` uvozovky, protože
+ \CSfont{}y neobsahují pro tyto uvozovky speciální znaky. Můžete
+ ale místo nich použít čárku a apostrof třeba takto:
+
+\begtt
+\long\def\singleuv#1{,#1`}
+\endtt
+\par\egroup
+
+
+
+\newstart
+Při generování UTF-8 \csplain{}u se použije enc\TeX, který přidává primitivy
+"\mubyte", "\endmubyte", "\mubytein", "\mubyteout", "\mubytelog",
+"\specialout", "\noconvert", "\xordcode", "\xchrcode" a "\xprncode".
+Během generování je načten soubor {\tt utf8unkn.tex}, který mapuje
+neznámé kódy na "\warntwobytes" a "\warnthreebytes" a tyto sekvence definuje
+jako makra. Dále definuje makra "\badutfinput", "\missingutfchar" a
+"\xprncodes".{\hbadness=4000\par}
+\newstop
+
+\bigskip
+\skrt{{\bf Přidání vzorů dělení slov dalších jazyků}}
+\par\nobreak\bigskip
+
+
+\skrt{\csplain{} implicitně načítá jen anglické vzory dělení (US) a české a
+slovenské. Od verze {\tt <Feb. 2000>} navíc načítá české a slovenské vzory
+dělení nejen v~kódování ISO-8859-2, ale i v~kódování podle Corku.
+Anglické vzory dělení jsou implicitně aktivní a přepínáme na ně pomocí
+{\tt\char`\\ehyph}. České vzory dělení se zapínají pomocí
+{\tt\char`\\chyph} a slovenské
+pomocí {\tt\char`\\shyph}.}
+
+\skrt{Pokud potřebujete přidat další jazyk, pak před generováním formátu
+\csplain{} editujte soubor {\tt hyphen.lan}. Tam najdete příklady doplnění
+vzorů dělení němčiny nebo francouzštiny (stačí odkomentovat
+odpovídající řádky). Podle těchto příkladů můžete analogicky zařadit
+potřebný další jazyk. Nezapomeňte v~souboru {\tt hyphen.lan} také
+definovat přepínač na nové vzory dělení.
+Pro němčinu definujeme například přepínač {\tt ghyph} takto:}
+{\hbadness=3000\par}
+
+
+
+{\catcode`!=\active \def!#1!{\skrt{#1}}
+\begtt
+!\def\ghyph{\language=\german!
+ !\lccode`\'=`\'!
+ !\frenchspacing!
+ !\lefthyphenmin=2!
+ !\righthyphenmin=2 }!
+\endtt
+
+}
+\skrt{Nakonec přegenerujte formát způsobem popsaným v~sekci 4.2.}
+
+\skrt{Vzory dělení západoevropských jazyků jsou většinou kódovány podle
+ISO-8859-1, přičemž kódování Cork je nadmnožinou tohoto kódování. Je
+tedy možné přepnout pomocí {\tt\char`\\input t1code} na začátku dokumentu do
+Corku, použít fonty kódované podle Corku a pak přepínat mezi češtinou
+a třeba němčinou střídavě pomocí přepínačů
+{\tt\char`\\chyph} a {\tt\char`\\ghyph}.}{\hbadness=6500 \par}
+
+\skrt{Vzory dělení exotických jazyků jsou kódovány ve svém specifickém
+kódování, ke kterému musíme sehnat font stejně kódovaný. Po přepnutí
+do nového jazyka musíme přepnout i na tento font. Dále je nutno řešit
+otázku možné kolize vstupního kódování češtiny/slovenštiny se vstupním
+kódováním pro nový jazyk. Je proto bezpečnější si pro speciální znaky
+jazyka udělat makra, která expandují na znak podle kódování fontu, a
+psát vstupní text pomocí těchto maker.}
+
+
+\subsub \csplain{} a \AMS\TeX | CSplain a AMSTeX
+%-------------------------
+
+\AMS\TeX{} můžete používat v~plainu i \csplain{}u bez nutnosti generovat
+kvůli tomu formátový soubor. Máte-li dokument v~\AMS\TeX{}u, napište
+jednoduše na jeho začátek:
+
+\begtt
+\input amstex
+\endtt
+%
+a dále můžete dokument zpracovat příkazem \csplain{}.
+
+
+\subsub pdf\TeX{} + \csplain{} = pdf\csplain{} |
+%---------------------------------------
+ pdfTeX + CSplain = pdfCSplain
+
+Pokud vygenerujete formát \csplain{} pdf\TeX{}em, je potřeba jej nazvat
+jinak, aby byl odlišen od formátu \csplain{} pro originální
+\TeX{}. Proto je v~\CSTeX{}u zvoleno jméno "pdfcsplain.fmt".
+Dále je potřeba připravit příkaz "pdfcsplain", který spustí
+pdf\TeX{} s~formátem "pdfcsplain.fmt" a zajistí případné překódování
+na úrovni input procesoru pdf\TeX{}u stejně, jako do dělá příkaz
+"csplain". Pokud uživatel nepoužil ve svých makrech
+konstrukce měnící sazbu při použití pdf\TeX{}u, měl by dostat
+příkazem "pdfcsplain" naprosto stejný výstup jako při použití
+příkazu "csplain". Pouze s~tím rozdílem, že výstup nebude v~"dvi"
+souboru, ale v~"pdf".
+
+Ve web2c \TeX{}u a odvozených distribucích lze generovat formát
+příkazem
+
+\begtt
+pdftex -ini -fmt pdfcsplain csplain.ini
+\endtt
+%
+a příkaz "pdfcsplain" v~UNIXu implementovat jako skript s~obsahem
+
+\begtt
+pdftex -fmt pdfcsplain -default-translate-file=il2-cs $@
+\endtt
+
+Toto je pouze příklad implementace. Na jiných operačních systémech a
+jiných \TeX{}ových distribucích se situace může trochu lišit.
+
+Poznamenejme, že v~te\TeX{}u a odvozených distribucích většinou
+stačí napsat "pdfcsplain dokument", a pokud jste "pdfcsplain"
+ještě nepoužili, vygeneruje se automaticky.
+
+
+
+\subsub Historie a budoucnost \csplain{}u | Historie a budoucnost CSplainu
+%-------------------------------------
+
+\csplain{} vznikl v~roce 1992 jako jednoduché a minimální rozšíření
+Knuthova \hbox{plainu} používající \CSfont{}y a akceptující 8bitový vstup.
+Jeho vytvoření bylo motivováno zařazením do em\TeX{}ové distribuce,
+která se připravovala k~rozesílání členům \CS{}TUGu.
+
+\csplain{} se opíral a stále opírá o~starší makra {\tt hyphen.lan} a
+{\tt plaina4.tex}, která už měl Olin Ulrych vytvořena dříve.
+\csplain{} v~době svého vzniku načítal české vzory dělení, které
+vytvořil Láďa Lhotka heuristicky bez použití slovníků a programu
+"patgen". Já jsem pro \csplain{} vytvořil {\tt csplain.ini} a makro
+{\tt csfonts.tex}, umožňující při generování formátu číst přímo Knuthovo
+makro {\tt plain.tex}, a přitom natáhnout místo CMfontů \CSfont{}y.
+
+V~roce 1994 byly vzory dělení slov Ládi Lhotky vyměněny za nové české
+vzory dělení od Pavla Ševečka, který na to použil slovník a "patgen".
+V~rámci své firmy tyto vzory dělení prodává komerčním firmám pro
+potřeby DTP programů, jako byly Ventura, PageMaker nebo Quark. Dnes
+jsou tyto vzory dělení také například ve Wordu. Aby Pavel Ševeček
+odlišil volně šířené vzory dělení pro \CSTUG{} od komerčně šířených,
+volně šířené vzory dělení mírně modifikoval. Tvrdí se, že běžný
+uživatel nepozná rozdíl v~kvalitě vzorů dělení komerčních a volně
+šířených. Ševečkovy vzory dělení slov jsou výrazně kvalitnější než
+původní Lhotkovy, a proto jsme u~těchto vzorů dělení zůstali.
+
+Opuštěním Lhotkových vzorů dělení došlo k~poslední změně
+v~\csplain{}u, která může způsobit zpětnou nekompatibilitu: tj. dokumenty
+vytvořené v~\csplain{}u před rokem 1994 mohly dopadnout jinak než dnes,
+protože některá slova mohla být rozdělena jinak. Od této doby je
+\csplain{} fixován a stabilní podobně, jako Knuthův plain.
+
+Protože jsem autorem názvu \csplain{}, souborů {\tt csplain.ini},
+"csfonts.tex" a množství dokumentace k~\csplain{}u a protože jej od
+jeho vzniku udržuji, rozhodl jsem se přísně dbát na zpětnou
+kompatibilitu. Změny do \csplain{}u dělám jen takové, které jsou
+opravdu nezbytné. To se stává jednou za několik let (viz historické
+poznámky v~{\tt csplain.ini}). Změny dělám tak, že pouze přidám další
+nejnutnější makra, ale stávající makra a jejich význam nechávám
+nezměněna. Uživatelům \csplain{}u ručím, že jejich dokumenty napsané
+v~\csplain{}u a opírající se o~neměnné fonty (např. \CSfont{}y nebo
+base 35 PostScriptové fonty, metriky z~\CSTeX{}u), budou i v~budoucnu
+\csplain{}em formátovány naprosto stejně, jako dnes.
+
+Abych mohl takovou záruku uživatelům poskytnout, není \csplain{}
+zveřejněn pod GNU GPL, ale jedná se o~licenci velmi podobnou Knuthově.
+Přesné znění licence je uvedeno na konci souboru {\tt csplain.ini}.
+Zhruba řečeno, jedná se o~\uv{patent na název}. \csplain{} můžete svobodně
+distribuovat, používat a měnit, ale pokud jej změníte, nesmíte jej
+dále distribuovat pod názvem \csplain{}. Změny v~\csplain{}u může dělat jen
+tzv.~\uv{současný administrátor \CSTeX{}u}, což jsem zatím stále já.
+Pokud bych v~budoucnu toto břímě někomu předal, pak určitě jen takovému
+člověku, který má na budoucnost \csplain{}u stejný názor jako já.
+
+\csplain{} i nadále považuji za minimální rozšíření Knuthova plainu a
+nikdy do něj nepřidám žádné složitější makro vylepšující uživatelský
+komfort (jako například eplain). Zastávám názor, že uživatel plainu a
+\csplain{}u chce mít všechna makra pod svou vlastní kontrolou a raději si
+je udělá sám, než aby spoléhal na hotová, ale méně stabilní, řešení.
+Uživatel plainu/\csplain{}u si vytváří vlastní stále znovu používaná
+makra, která mu musí fungovat ve všech i budoucích verzích
+\csplain{}u. Proto se snažím \csplain{} pokud možno neměnit.
+
+Lákavá je například změna definice uvozovek v~\csplain{}u jednoduše na
+
+\begtt
+\long\def\uv#1{\clqq#1\crqq}
+\endtt
+
+aby fungoval automatický kerning s~oběma stranami uvozovek. Tuto
+změnu ale nikdy v~\csplain{}u neudělám, protože není zpětně kompatibilní
+se stávajícím řešením. Raději budu psát do omrzení do dokumentace, že
+taková jednoduchá definice je asi lepší, než ta z~\csplain{}u, a že si ji
+každý může zařadit do svých maker.
+
+Změnu v~\csplain{}u z~"<Feb. 2000>" považuji za asi největší, kterou
+jsem byl ochoten udělat. K~zařazení alternativního kódování Cork
+(které samozřejmě není a nikdy nebude v~\csplain{}u implicitní), mě
+motivovala skutečnost, že se kolem mě pohybovalo mnoho uživatelů
+plainu, kteří rádi používají fonty v~tomto alternativním
+kódování. Svým krokem jsem jim umožnil používat \csplain{}, takže si
+nemusejí vytvářet své vlastní formáty.
+
+
+
+\subtitle Formát \cslatex{} | FORMAT CSLATEX
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newstart Významní uživatelé \LaTeX{}u sice v elektronické konferenci v roce 2012
+přiznali, že už \cslatex{} dávno nepoužívají, nicméně se stále přimlouvají,
+aby v \CS\TeX{}u zůstal. Nebude ale dále rozvíjen a všem uživatelům je
+kladeno silné doporučení, aby přešli na \uv{normální} \LaTeX. Navrhoval jsem
+\cslatex{} zrušit úplně (aby to lidi nepletlo), ale nebyl jsem vyslyšen.
+
+Od roku 2012 napíše \cslatex{} při každém spuštění na terminál a do
+logu toto:
+
+\begtt
+**** WARNING ******* CSLaTeX is obsolete, don't use it please.
+**** You can use ``normal'' LaTeX+Babel or XeLaTeX+polyglossia.
+\endtt
+
+Pokud použijete \LaTeX{}, pak záhlaví dokumentu může vypadat třeba
+takto:
+
+\begtt
+\documentclass[a4paper,12pt,twoside]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[czech]{babel}
+\endtt
+
+Při použití Xe\LaTeX{}u s balíčkem {\tt polyglossia} může
+záhlaví dokumentu být například takové:
+
+\begtt
+\documentclass[a4paper,12pt,twoside]{article}
+\usepackage{polyglossia}
+\setdefaultlanguage{czech}
+\usepackage{fontspec}
+\usepackage{xunicode}
+\endtt
+
+Následující text až do konce kapitoly bych mohl celý škrtnout, ale
+nechám jej beze změny. Čtenář to možná ocení jako materiál ke studiu historie
+\CS\TeX{}u.
+
+\newstop
+
+
+\subsub Různé \LaTeX{}y | Ruzne LaTeXy
+%----------------------
+
+Do roku 1992 byl \LaTeX{} udržován Leslie Lamportem. Naposledy měl
+jeho \LaTeX{} verzi 2.09. Typické pro tento \uv{starý} \LaTeX{} bylo
+použití příkazu "\documentstyle" namísto "\documentclass" v~záhlaví
+dokumentu. Tato větev \LaTeX{}u není dále udržována a podporována.
+Dnes převzali iniciativu nad \LaTeX{}em Němci Frank Mittelbach a
+Rainer Sch\"opf a nazvali jej \LaTeXe. Každý půlrok
+vytvářejí novou verzi (většinou obsahující jen opravy předchozí verze)
+a názvem dávají najevo, že se jedná o~předchůdce \LaTeX{}u~3, na němž
+už deset let pracují. Dokument napsaný pro \LaTeXe{} poznáme vesměs
+podle toho, že začíná příkazem "\documentclass" místo "\documentstyle".
+\LaTeXe{} ovšem také akceptuje příkaz "\documentstyle",
+přechází přitom do pokusu o~emulaci starého \LaTeX{}u~2.09, a navíc
+uživatele upozorní na to, že použil zastaralé záhlaví dokumentu.
+
+V~\LaTeX{}u~\twoe{} je zabudovaná \uv{časovaná bomba} s~rozbuškou
+na rok a půl. Ta se projeví při generování formátu, nikoli při běžném
+provozu. Pokud generujete formát ze zdrojů \LaTeX{}u, které jsou
+starší než rok a půl, generování končí chybou a na terminálu se objeví
+varování, že máte instalován příliš starý \LaTeX{} a že je vhodné si
+obstarat nový. Pokud na toto hlášení odpovíte klávesou Enter, formát
+se přesto vygeneruje.
+
+V~tomto manuálu se budeme dále zabývat jen dnes asi nejpoužívanějším
+\LaTeX{}em~\twoe. Pojmem \LaTeX{} tedy budeme rozumět
+\LaTeXe. I~za těchto okolností budeme nuceni
+rozlišovat mezi třemi \uv{druhy} \LaTeX{}ů:
+
+\begitems
+* vanilla \LaTeX
+* babelizovaný \LaTeX
+* \cslatex{}
+\enditems
+
+Vanilla \LaTeX{} (nedotčený \LaTeX) vzniká vygenerováním formátu
+\LaTeX{} pouze za přítomnosti souborů z~adresáře {\tt latex/base}, tj. při
+generování nejsou čteny žádné soubory ovlivňující generování
+formátu. V~distribuci tedy zcela chybí tyto soubory:
+{\tt fonttext.cfg}, {\tt fontmath.cfg},
+{\tt preload.cfg} a {\tt hyphen.cfg}.
+Tento formát obsahuje pouze anglické dělení slov. Pro český nebo
+slovenský jazyk není tedy příliš použitelný. Není často používaný.
+
+Babelizovaný \LaTeX{} vzniká generováním formátu \LaTeX{} za
+přítomnosti souborů {\tt fonttext.cfg}, {\tt fontmath.cfg} a
+{\tt preload.cfg} z~balíčku generic a {\tt hyphen.cfg} z~balíčku Babel.
+Tento formát obsahuje vzory dělení těch jazyků, které jsou v~době
+generování formátu uvedeny v~konfiguračním souboru Babelu s~názvem
+{\tt language.dat}. Je běžně používaný.
+
+Formát \cslatex{} vzniká generováním formátu \LaTeX{} za přítomnosti souborů
+"fonttext.cfg" a "hyphen.cfg" z~balíčku \cslatex{}. Ostatní
+soubory ovlivňující generování formátu mohou chybět nebo být z~balíčku
+generic. Obvykle je formát \cslatex{}u nazván {\tt cslatex.fmt} a nikoli
+{\tt latex.fmt}, aby bylo možno jej odlišit od běžně používaného
+babelizovaného \LaTeX{}u. Z~toho důvodu je v~balíčku \cslatex{}u
+k~dispozici soubor {\tt cslatex.ini}, který provede
+"\input latex.ltx". \cslatex{} obsahuje vzory dělení anglického,
+českého a slovenského jazyka. Navíc příkaz "cslatex" musí zajistit
+konverzi ze vstupního kódování (podle použitého systému) na
+vnitřní kódování ISO~8859-2 na úrovni vstupního preprocesoru
+\TeX{}u. Tento princip je tedy shodný s~\csplain{}em.
+
+Je patrno, že absolutní jistotu o~tom, jaký \LaTeX{} vlastně
+používáme, získáme jen pečlivým pročtením logu po vygenerování
+formátu. Koncept, kdy vlastnosti formátu jsou závislé na obsahu
+nějakých dodatečných souborů v~distribuci v~době generování
+formátů, se mi nelíbí, ale nelze proti tomu nic dělat. Takto
+to navrhli tvůrci \LaTeX{}u a je to tedy jejich věc. Důsledek tohoto
+rozhodnutí je, že pokud řekneme: \uv{používám \LaTeX}, nikdy není
+zcela přesně řečeno, co se tím vlastně myslí. Tím se tento koncept
+diametrálně liší od Knuthova plainu nebo též \csplain{}u.
+
+Co se stane, pokud jsou například v~\TeX{}ové distribuci přítomny
+hned dva soubory {\tt hyphen.cfg}~-- jeden z~balíčku Babel a druhý
+z~balíčku \cslatex{}? Není-li taková situace v~distribuci řešena speciální
+konfigurací, není definováno, který z~těchto souborů se vlastně načte,
+a tudíž není dopředu známo, jaký vygenerujeme \LaTeX.
+
+V~novějších web2c distribucích \TeX{}u lze konfigurovat způsob
+prohledávání {\tt texmf} stromu podle názvu použitého programu nebo
+podle názvu použitého (resp. generovaného) formátu. Nejčastěji jsou
+tyto rozdílnosti konfigurovány v~souboru {\tt web2c/texmf.cnf}.
+Tam je (mimo jiné) řečeno:
+
+\begtt
+% cstex, from Petr Olsak
+TEXINPUTS.cslatex= .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.csplain= .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.pdfcslatex= \
+ .;$TEXMF/{pdftex,tex}/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.pdfcsplain= \
+ .;$TEXMF/{pdftex,cstex,tex}/{csplain,plain,generic,}//
+\endtt
+%
+což znamená, že pokud použijeme nebo generujeme formát \cslatex{}, pak se
+vstupní soubory přednostně čtou z~adresáře {\tt tex/cslatex} a {\tt
+tex/csplain} a teprve potom v~ostatních adresářích. Takže {\tt
+hyphen.cfg} a {\tt fonttext.cfg} si ini\TeX{} vezme přednostně
+z~adresáře {\tt tex/cslatex}. Při provozu \cslatex{}u pak bude stylový soubor
+{\tt czech.sty} nebo {\tt slovak.sty} při použití formátu \cslatex{}
+přečten z~adresáře {\tt tex/csplain} a nikoli z~adresáře
+{\tt tex/generic/babel}, kde se nalézá soubor stejného jména, ovšem
+pro balík Babel.
+
+Aby se hledací algoritmy přizpůsobily názvu generovaného formátu, je
+nutné tento formát při generování \cslatex{}u explicitně specifikovat na
+příkazový řádek. Nestačí tedy napsat:
+
+\begtt
+$ tex -ini cslatex.ini
+\endtt
+%
+ale musíme psát
+
+\begtt
+$ tex -ini -fmt cslatex cslatex.ini
+\endtt
+%
+Při provozu formátu pak stačí psát
+
+\begtt
+$ tex -fmt cslatex dokument
+\endtt
+%
+Ve web2c distribuci jsou k~babelizovanému \LaTeX{}u v~konfiguračním
+souboru {\tt web2c/texmf.cnf} uvedeny následující řádky:
+
+\begtt
+TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdflatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}//
+TEXINPUTS = .;$TEXMF/tex/{generic,}//
+\endtt
+%
+což znamená, že formát přednostně hledá vstupní soubory v~adresáři
+{\tt tex/generic} a tam je podadresář {\tt babel}. Dokonce je babel
+upřednostněn i v~případě, kdy neuvedeme na příkazové řádce
+žádný název formátu.
+
+S~uvedenou konfigurací je možné bezproblémové soužití babelizovaného
+\LaTeX{}u s~\cslatex{}em v~jediné distribuci. \cslatex{} pak obvykle voláme
+skriptem {\tt cslatex}, který provede {\tt tex -fmt cslatex}, zatímco
+babelizovaný \LaTeX{} voláme skriptem {\tt latex}, což spustí
+{\tt tex -fmt latex}.
+
+Pokud nelze ve vaší \TeX{}ové distribuci konfigurovat prohledávací
+algoritmy podle názvu formátu, pak je možné soužití babelizovaného
+\LaTeX{}u s~\cslatex{}em za předpokladu, že budete dodržovat
+následující zásady:
+
+\begitems
+* Babelizovaný \LaTeX{} vygenerujte v~době, kdy není v~distribuci
+přítomen \cslatex{}. Tak máte jistotu, že ini\TeX{} nenajde soubor
+{\tt hyphen.cfg} z~\cslatex{}u, ale z~balíku Babel.
+
+* \cslatex{} pak vygenerujte nad adresářem {\tt cslatex}.
+Aktuální adresář má totiž ve všech distribucích \TeX{}u přednost před
+ostatními adresáři v~{\tt texmf} stromu. Proto si ini\TeX{} přečte soubory
+{\tt fonttext.cfg} a {\tt hyphen.cfg} z~balíčku \cslatex{}.
+
+* Po instalaci \cslatex{}u do {\tt texmf} stromu je nutno ještě vymazat
+soubory
+
+\begtt
+tex/generic/babel/czech.sty
+tex/generic/babel/slovak.sty
+\endtt
+%
+protože soubory s~těmito názvy jsou v~{\tt texmf} stromu
+dvojmo. Přitom v~balíčku Babel je nikdy nevyužijete, pokud budete psát
+korektní záhlaví dokumentu pro babelizovaný \LaTeX{} (o~tom pojednám
+podrobněji v~následující sekci). Na druhé straně soubory
+{\tt czech.sty} a {\tt slovak.sty} z~\cslatex{}u budete potřebovat velmi
+často, takže tyto soubory nemažte.
+\enditems
+
+
+\subsub Záhlaví \LaTeX{}ového dokumentu | Zahlavi LaTeXoveho dokumentu
+%--------------------------------------
+
+Pokud používáte \cslatex{}, pak záhlaví dokumentu může mít tvar
+
+\begtt
+\documentclass{article}
+\usepackage{czech} % nebo \usepackage{slovak}
+... další příkazy záhlaví dokumentu
+\begin{document}
+...
+\end{document}
+\endtt
+
+Jestliže zapomenete na "\usepackage{czech}" nebo "\usepackage{slovak}",
+pak v~dokumentu nebudou fungovat akcentovaná písmena, nebude zapnuto
+české ani slovenské dělení slov a automaticky generované názvy
+(kapitoly, sekce, obrázky,~...) nebudou přeloženy do národního jazyka.
+V~tomto případě tedy \cslatex{} bude pracovat stejně jako vanilla \LaTeX{}.
+
+Pokud naopak používáte babelizovaný \LaTeX{}, pak záhlaví dokumentu
+může mít tvar
+
+\begtt
+\documentclass{article}
+\usepackage[czech]{babel} % nebo \usepackage[slovak]{babel}
+\usepackage[T1]{fontenc}
+\usepackage[kódování-vstupu]{inputenc}
+... další příkazy záhlaví dokumentu
+\begin{document}
+...
+\end{document}
+\endtt
+
+Všimněte si jiného způsobu volání stylového souboru "czech" nebo "slovak".
+V~tomto případě se slovo "czech" či "slovak" zapíše pouze jako volba balíčku
+"babel". Prakticky je to realizováno načtením souboru "czech.lfd" nebo
+"slovak.lfd". Pro fungování Babelu tedy není vůbec nutná existence
+souboru "czech.sty" nebo "slovak.sty". Tyto soubory v~balíčku Babel
+sice existují, ale jejich funkce spočívá pouze v~tom, že \uv{vynadají}
+uživateli za nesprávné použití příkazu "\usepackage" a dále načítají
+odpovídající "lfd" soubor.
+
+Volba "[czech]" nebo "[slovak]" v~balíčku Babel ještě nemusí zajistit
+přepnutí na odpovídající dělení slov. K~tomu je navíc potřeba, aby byl
+babelizovaný \LaTeX{} s~těmito vzory dělení už vygenerován.
+
+Na rozdíl od \cslatex{}u není v~babelizovaném \LaTeX{}u řešena
+synchronizace vstupního kódování dokumentu s~vnitřním kódováním
+\LaTeX{}u. \LaTeX{} implicitně pracuje s~vnitřním
+kódováním podle CM fontů (tzv.~"OT1"), což pro většinu jazyků není
+užitečné. Je tedy třeba při použití babelizovaného \LaTeX{}u přepnout
+do vnitřního kódování podle Corku (tzv.~"T1"), protože v~tomto
+kódování jsou načteny vzory dělení. Použijeme tedy balíček fontenc
+s~volbou "[T1]". Pak se automaticky použijí též fonty v~tomto kódování.
+Babelizovaný \LaTeX{} nepodporuje (na rozdíl od \cslatex{}u) žádné jiné
+vnitřní kódování vhodné pro češtinu nebo slovenštinu.
+
+Dále je potřeba v~babelizovaném \LaTeX{}u na vnitřní kódování "[T1]"
+navázat vstupní kódování dokumentu. Pokud například máte dokument
+napsán v~kódování ISO~8859-2, pak je potřeba použít balíček inputenc
+s~volbou "[latin2]". Pokud máte dokument v~kódování MS~Windows CP~1250,
+napište volbu "[cp1250]".
+
+
+\subsub Vlastnosti \cslatex{}u | Vlastnosti CSLaTeXu
+%--------------------------
+
+Uvedeme podrobně rozdíly mezi vanilla \LaTeX{}em a \cslatex{}em.
+
+Oba formáty deklarují vnitřní kódování CM fontů jako implicitní
+(tzv.~"OT1") a oba načítají ještě deklaraci kódování podle
+Corku (tzv.~"T1"). \cslatex{} navíc načítá deklaraci vnitřního kódování
+podle \CSfont{}ů (tzv.~"IL2").
+
+\cslatex{} má ve svém souboru "hyphen.cfg" u~příkazu "\DeclareLanguage"
+pro jazyky czech a slovak možnost použít kromě volby "IL2" ještě volbu
+"T1". V~novějších distribucích \cslatex{}u jsou již obě volby implicitně
+napsány. V~takovém případě se při generování formátu načtou vzory
+dělení češtiny a slovenštiny nejen v~kódování "IL2", ale
+také v~kódování "T1". \cslatex{} dále definuje mechanismy přepínání mezi
+těmito vzory dělení poté, co uživatel přepne vnitřní kódování
+z~"T1" na "IL2" nebo naopak standardními \LaTeX{}ovými prostředky.
+Kvůli tomu je v~\cslatex{}u předefinováno interní makro \LaTeX{}u
+"\DeclareFontEncoding", protože vanilla \LaTeX{} nepředpokládá,
+že je po přepnutí kódování nutné přepnout i vzory dělení slov.
+
+V~\cslatex{}u je navíc definováno makro "\splithyphens" a
+"\standardhyphens". Po použití makra "\splithyphens" se
+nastaví znak~"-" jako aktivní a funguje podobně jako
+"\discretionary{-}{-}{-}". Znamená to, že slova jako
+\uv{je-li} se rozdělí správně česky: \uv{je-/-li}. Spojovník se
+opakuje na následujícím řádku. Makro navíc složitě ošetřuje výskyt
+"--" a "---", který tiskne \uv{normálně} jako za sebou následující
+znaky s~kódem~45, které se promění v~ligaturu pomlčky nebo dlouhé
+pomlčky. Makro "\standardhyphens" dává vše do původního stavu,
+tj. po jeho použití znak~"-" není aktivní. (Uživatelé \csplain{}u mohou
+pro tyto potřeby použít makro podle~\cit{tbn} na straně~217.)
+
+Příkaz "cslatex" musí také zajistit konverzi z~kódování
+češtiny/slovenštiny obvyklé v~použitém systému do vnitřního
+kódování ISO~8859-2 alias~"IL2".
+Ve web2c distribuci \TeX{}u je proto ve skriptu
+"cslatex" resp.~dávce "cslatex.bat" použit přepínač
+"-default-translate-file". Pro systémy MS~Windows je vedle tohoto
+přepínače použita hodnota "cp1250cs", zatímco pro UNIXové systémy se
+používá hodnota "il2-cs", což nastavuje konverzi \uv{jedna ku jedné}.
+V~jiných distribucích se musí implementovat konverze na úrovni
+vstupního procesoru \TeX{}u způsobem závislým na použité
+distribuci. Například v~em\TeX{}u je možné použít TCP tabulky.
+
+
+\subsub Vlastnosti stylových souborů {\tt czech.sty} a {\tt slovak.sty} |
+%--------------------------------------------------------------
+ Vlastnosti stylovych souboru
+
+V~této sekci budu z~důvodu stručnosti mluvit o~češtině a souboru
+"czech.sty", ale to samé samozřejmě platí i pro slovenštinu a stylový
+soubor "slovak.sty".
+
+Načtení souboru "czech.sty" z~\cslatex{}u pomocí
+"\usepackage{czech}" způsobí následující změny:
+
+\begitems
+* Nastaví se vnitřní kódování \LaTeX{}u na "IL2", takže se
+ implicitně použijí \CSfont{}y.
+* Inicializuje se české dělení slov v~kódování "IL2".
+* Mezerování se nastaví na "\frenchspacing", tj. rovnoměrné mezerování
+ mezi slovy i za tečkami.
+* Nastaví se české názvy pro jména \uv{Kapitola}, \uv{Obsah} atd.
+ Viz následující tabulka.
+* Makro "\today" expanduje na český datum.
+* Definují se makra "\clqq" a "\crqq" pro dvojité české uvozovky,
+ a to i jejich nouzová varianta pro případ, kdy není použito
+ kódování "IL2". Definují se též makra
+ "\clq" a "\crq" pro jednoduché české uvozovky.
+* Definuje se makro "\uv" jako "\def\uv#1{\clqq#1\crqq}".
+* Definují se přepínače "\csprimeson" a "\csprimesoff" (popis viz níže).
+\enditems
+
+Tabulka automaticky generovaných slov \LaTeX{}u, která jsou změněna po
+načtení "czech.sty" na české názvy:
+
+\begtt
+Původní název czech.sty slovak.sty
+-------------------------------------------------------------
+Preface Předmluva Predhovor
+References Reference Literatúra
+Abstract Abstrakt Abstrakt
+Bibliography Literatura Literatúra
+Chapter Kapitola Kapitola
+Appendix Příloha Dodatok
+Contents Obsah Obsah
+List of Figures Seznam obrázků Zoznam obrázkov
+List of Tables Seznam tabulek Zoznam tabuliek
+Index Rejstřík Register
+Figure Obrázek Obr.
+Table Tabulka Tabuľka
+Part Část Časť
+encl Příloha Príloha
+cc Na vědomí cc.
+To Komu Pre
+Page Strana Str.
+see viz viď
+see also viz také viď tiež
+\endtt
+
+Kromě toho styl "czech.sty" akceptuje následující volby:
+
+\bgroup\medskip\leftskip=\parindent \parindent=0pt
+"T1" místo implicitního vnitřního kódování \LaTeX{}u~"IL2"
+ se použije kódování "T1".
+
+"IL2" nemusíte psát, je to implicitní volba.
+
+"OT1" použije se vnitřní kódování podle CM fontů. Pak samozřejmě
+ nefunguje dělení slov češtiny a slovenštiny.
+
+"split" zapne "\splithyphens".
+
+"nocaptions" výstup makra "\today" a automaticky generovaná slova zůstanou
+ v~angličtině.
+
+"olduv" použije se stará definice makra "\uv", která umožňuje
+ použít v~argumentu verbatim konstrukce.
+%"primeson" zapne "\csprimeson". V současné verzi "czech.sty" není
+% tato volba implementována, ale počítáme s ní do budoucí verze.
+\medskip\par\egroup
+
+Například "\usepackage[split,olduv]{czech}" zapne navíc zdvojování
+spojovníku při rozdělení a definuje makro "\uv" tak, že jsou možné
+verbatim konstrukce uvnitř argumentu.
+
+Nyní vysvětlím vlastnosti přepínačů "\csprimeson" a "\csprimesoff".
+Po po\-užití příkazu "\csprimeson" jsou přiděleny znakům
+\uv{"`"} a \uv{"'"} aktivní
+kategorie, aby "``takto po anglicku''" zapsané uvozovky se převedly na
+\uv{takové} uvozovky. Rovněž "`jednoduché'" anglické uvozovky
+jsou pak vytištěny ,jednoduše`. Makro "\csprimesoff" vrací vše do
+původního stavu, kdy jsou uvedené znaky neaktivní. Po načtení
+"czech.sty" je implicitně nastaveno "\csprimesoff".
+
+Uvedený popis chování stylového souboru "czech.sty" se týká jen
+případu, kdy je tento stylový soubor načten z~\cslatex{}u. Pokud je
+načten z~babelizovaného \LaTeX{}u, pak se provede "\input czech.lfd",
+takže veškeré definice \uv{češtiny} jsou v~režii balíku Babel. Tam
+například vůbec není definováno makro "\uv". Pokud je "czech.sty"
+načten z~\csplain{}u, pak se provede "\chyph", definuje se "\csprimeson",
+"\csprimesof" a makro "\today" expanduje na datum po česku. Je-li
+načten "czech.sty" z~originálního plainu, pak se provede totéž jen
+s~tím rozdílem, že místo "\chyph" se objeví na terminálu varování
+o~nemožnosti přepnout na české vzory dělení.
+
+
+\subsub PostScriptové fonty v~\cslatex{}u | PostScriptove fonty v CSLaTeXu
+%-------------------------------------
+
+Při práci s~PostScriptovými fonty v~\cslatex{}u stačí použít standardní
+nástroje NFSS. Například pro zapnutí do fontů rodiny Times~Roman stačí
+napsat do záhlaví dokumentu "\usepackage{times}". Protože \cslatex{} při
+"\usepackage{czech}" implicitně pracuje
+s~vnitřním kódováním podle ISO~8859-2, použijí se v~tomto případě
+virtuální fonty z~balíčku "cspsfonts.tar.gz". Z~toho důvodu jsou
+v~balíčku \cslatex{}u přítomny potřebné "fd" soubory. Následující tabulka
+ukazuje parametry příkazu "\usepackage" pro rodiny fontů ze
+standardní skupiny 35~PostScriptových fontů.
+
+\begtt
+Rodina fontů parametr
+--------------------------
+Avantgarde Book avant
+Bookman bookman
+Helvetica helvet
+New Century newcent
+Palatino palatino
+Times Roman times
+\endtt
+
+
+\subsub Použití fontů kódovaných podle Corku (T1 kódování) v~\cslatex{}u |
+%--------------------------------------------------------------------
+ Pouziti fontu kodovanych podle Corku v CSLaTeXu
+
+Máte-li vzory dělení v~\cslatex{}u načteny i pro kódování T1
+(viz příkaz "\DeclareLanguage" v souboru "hyphen.cfg"), pak můžete
+místo implicitního vnitřního kódování "IL2" použít kódování "T1".
+V~takovém případě se automaticky použijí místo \CSfont{}ů fonty kódované
+podle Corku. Vnitřní kódování "T1" inicializujete zápisem:
+
+\begtt
+\usepackage[T1]{czech} % nebo \usepackage[T1]{slovak}
+\endtt
+
+Protože ale input procesor \TeX{}u při použití příkazu "cslatex"
+konvertuje vstupní kódování dokumentu na ISO~8859-2, je v~tomto
+případě nutné navázat na to další konverzí pomocí balíčku inputenc takto:
+
+\begtt
+\usepackage[latin2]{inputenc}
+\endtt
+
+Zde je potřeba vždy psát "[latin2]", ať je vstupní kódování dokumentu
+jakékoli, protože vstupní procesor \TeX{}u nám toto kódování převedl
+na ISO~8859-2.
+
+Po zapnutí vnitřního kódování na "T1" lze použít PostScriptové fonty
+stejným způsobem jako předtím (například "\usepackage{times}"). Nyní
+se ale použijí metriky dodávané v~mezinárodních distribucích \TeX{}u a
+kódované podle Corku.
+
+
+\subsub pdf\TeX{} + \cslatex{} = pdf\cslatex{} |
+%---------------------------------------
+ pdfTeX + CSLaTeX = pdfCSLaTeX
+
+V~případě spojení \cslatex{}u s~pdf\TeX{}em platí vše naprosto stejně,
+jako bylo řečeno v~sekci \uv{pdf\TeX + \csplain{} = pdf\csplain{}}.
+Nahraďte v~této sekci slovo \csplain{} slovem \cslatex{} a slovo
+pdf\csplain{} slovem pdf\cslatex{} a přečtěte si tuto sekci ještě jednou.
+
+
+\subsub Historie a budoucnost \cslatex{}u | Historie a budoucnost CSLaTeXu
+%-------------------------------------
+
+\cslatex{} vytvořil zhruba v~roce 1992 Jiří Zlatuška. Od něj pochází
+myšlenka načtení vzorů dělení stejného jazyka v~různých kódováních a
+předefinování vnitřního \LaTeX{}ového makra "\DeclareFontEncoding".
+Na své implementaci \TeX{}u tehdy provozoval mimo jiné fonty
+kódované v~KOI-8, takže přepínání vnitřního kódování \LaTeX{}u si
+vlastně udělal pro svoje potřeby.
+Jiří Zlatuška je také autorem maker "\splithyphens" a
+"\standardhyphens". Veškerá makra napsal dobře
+dokumentovaná pro použití v~systému docstrip. Svou práci zveřejnil pod
+licencí GPL mimo jiné podle jeho slov proto, že pokud to bude někoho
+zajímat, tak to může dále udržovat a zvelebovat podle svých vlastních
+představ. On sám se kvůli své zaneprázněnosti v~jiné oblasti
+tímto problémem později zřejmě nezabýval.
+
+Po schůzce tvůrců \CSTeX{}u v~roce 1993 převzal starost o~\cslatex{}
+podle dohody Zdeněk Wagner, který vytvořil definice kódování
+"IL2". Vytvořil také pro \cslatex{} definiční soubory "fd" jednak
+pro \CSfont{}y a jednak pro PostScriptové fonty z~balíčku
+"cspsfonts.tar.gz". Od něj také pochází implementace \cslatex{}u pro
+\LaTeX{}~2.09. V~em\TeX{}ové distribuci \CSTeX{}u je stále tato
+implementace obsažena (pod označením latex209).
+
+Soubor "czech.sty" má asi podstatně delší historii než \cslatex{}. Pochází
+z~dílny Olina Ulricha. který se zřejmě inspiroval podobným stylovým
+souborem pro německý jazyk. Olin rovněž vytvořil makra "\csprimeson" a
+"\csprimesoff". Zdeněk Wagner pak převzal Olinův stylový soubor
+a upravil jej pro provoz v~\cslatex{}u. Slovenskou část včetně vzorů
+dělení slov vytvořila Janka Chlebíková. Soubor "slovak.sty" je
+přesnou kopií souboru "czech.sty" s~výjimkou slovensky
+špecifických částí.
+
+V~duchu licence GPL převzal zhruba v~roce 1997 údržbu \cslatex{}u
+Jaroslav \hbox{Šnajdr}. Udělal několik úprav stylových souborů "czech.sty" a
+"slovak.sty" včetně přechodu na novou definici uvozovek, uvnitř
+jejichž argumentu nefungují verbatim konstrukce. Tím kuriózně
+způsobil, že \cslatex{}em od této doby nejde bez chyb formátovat český
+překlad úvodu do \LaTeX{}u, který je pod názvem balíčku
+"csuvodlat.tar.gz" součástí dokumentace \CSTeX{}u. Je to názorná
+ukázka toho, co může způsobit změna kódu, která nerespektuje zpětnou
+kompatibilitu. Pan Šnajdr rovněž napsal "html" dokumentaci
+k~\cslatex{}u, která popisuje instalaci \cslatex{}u ze zdrojových souborů
+použitím docstripu. Použijete-li ale balíček "cslatex.tar.gz",
+pak nemusíte docstrip aplikovat, protože vedle zdrojových souborů
+jsou tam už přítomny i všechny soubory, které vznikají po aplikaci
+docstripu.
+
+Já osobně jsem o~\LaTeX{} a tím pádem \cslatex{} jevil od začátku
+malý zájem, protože celý projekt je závislý na \LaTeX{}u samotném.
+Nemám tedy jistotu, jaké změny v~něm současný \LaTeX{}-team udělá a jaké
+budou existovat do budoucna potíže se zpětnou kompatibilitou. To je
+zásadní odlišnost od Knuthova plainu a \TeX{}u samotného.
+Raději jsem se tedy do \LaTeX{}ových věcí nemíchal.
+
+V~roce 1999 jsem nicméně přidal pár řádek maker do souboru
+"czhyphen.tex" tak, aby byl použitelný v~babelizovaném \LaTeX{}u.
+Do té doby totiž tato větev \LaTeX{}u používala Lhotkovy
+vzory dělení, zatímco v~\cslatex{}u jsme už dávno měli daleko
+kvalitnější Ševečkovy vzory dělení. Tyto novější vzory dělení jsou
+totiž napsány za použití \TeX{}ových sekvencí, což je sice nezávislé
+na kódování češtiny, ale balíček Babel to implicitně nedokáže strávit
+a očekává vzory dělení v~kódování "T1". Upravený soubor jsem
+nazval Babelovsky: "czhyph.tex", zatímco v~\CSTeX{}u zůstává původní
+soubor "czhyphen.tex". Sjednocení názvů těchto souborů by stejně
+nevyřešilo nejednotnost vývoje \cslatex{}u a babelizovaného \LaTeX{}u.
+
+Na výborové schůzi v~roce 1999 jsem dostal za úkol prověřit
+možnost spojení babelizovaného \LaTeX{}u s~\cslatex{}em. Neustálé
+dotazy začínajících uživatelů, kteří si pletou tyto dva \LaTeX{}y, nás
+utvrzují v~tom, že by se pro sloučení mělo něco udělat.
+
+Analyzoval jsem proto makra Babelu a udělal návrh na možné zapracování
+funkcionality \cslatex{}u do Babelu. Domnívám se, že \cslatex{} klidně
+může přestat existovat, ale babelizovaný \LaTeX{} musí bezpodmínečně
+převzít všechny vlastnosti \cslatex{}u tak, aby dokumenty dříve
+zpracovávané \cslatex{}em byly naprosto stejně a bez jediné úpravy
+zpracované novým babelizovaným \LaTeX{}em. Kvůli tomuto požadavku
+musí babelizovaný \LaTeX{} umět načítat vzory dělení stejného jazyka
+ve více kódováních, jako to nyní dělá \cslatex{}. Dospěl jsem
+k~závěru, že čistým řešením tohoto problému je jedině zásah do jádra
+\LaTeX{}u samotného, aby dokázal při změně kódování fontů přepnout
+automaticky i vzory dělení. Zlatuška kvůli tomu předefinoval makro
+jádra \LaTeX{}u "\DeclareFontEncoding". Tato záplata, či jinak řečeno
+odmítnutí původního kódu tohoto makra, je na úrovni Babelu podle mého
+názoru velmi nečisté řešení. Skutečnost, že přepínání vzorů dělení při
+přepnutí kódování fontů \LaTeX{}ové jádro neřeší, považuji totiž za
+chybu \LaTeX{}u. V~roce 1999 jsem tedy požádal \LaTeX{}-team, aby
+zapracoval změnu v~duchu Zlatuškova návrhu do \LaTeX{}ového jádra.
+Můj návrh nebyl \LaTeX{}-teamem akceptován. Za těchto
+okolností nejsem schopen zapracovat funkcionalitu \cslatex{}u do
+Babelu, protože to prostě nejde. Uživatelé \LaTeX{}u se budou muset
+nadále potýkat s~tím, že jejich oblíbený formát trpí určitou
+schizofrenií.
+
+Společně se sloučením \cslatex{}u s~Babelem jsem připravoval zásadní
+revizi stylů "czech.sty" a "slovak.sty" -- v~podstatě jsem měl
+v~úmyslu jejich totální přepsání. Tyto stylové soubory obsahují
+množství reliktů z~dob minulých, plno zcela nepoužívaných větví ve
+složitém větvení pomocí "\if" a stávají se totálně nepřehlednými.
+Protože ale ke sloučení \cslatex{}u s~Babelem nakonec nedošlo, upustil
+jsem zatím od plánu pracovat na těch stylových souborech.
+Není ale vyloučeno, že k~tomu dojde v~budoucnosti. V~takovém případě
+počítám s~tím, že makra "\splithyphens" a "\standardhyphens"
+přesunu z~formátu do stylového souboru, kam přirozeně patří.
+Dokumenty, které tato makra používají, a přitom nemají v~záhlaví
+"\usepackage{czech}" ani "\usepackage{slovak}", pak nebudou fungovat.
+Předpokládám, že takových dokumentů není mnoho, protože \cslatex{} a
+stylové soubory jsou většinou používány současně.
+
+Protože pan Šnajdr se přestal \cslatex{}em zabývat, byl jsem nucen
+v~roce 2002 zanést do stylových souborů jednu opravu podle požadavku
+pana Kubena. Neznamená to ale, že bych se ujal iniciativy nad \cslatex{}em.
+Jak jsem už vysvětlil, jsem ochoten převzít iniciativu jen tehdy,
+když bude \LaTeX{}ové jádro umět přepínat mezi různě kódovanými
+vzory dělení stejného jazyka. Přitom členové \LaTeX{}-teamu jsou toho
+názoru, že to možná bude zapracováno až do \LaTeX{}u~3.
+
+\reference
+
+\bib cstex
+WWW stránka \CSTeX{}u {\tt http://petr.olsak.net/cstex/}.
+
+\bib cstex
+WWW stránka \csplain{}u {\tt http://petr.olsak.net/csplain.html}.
+
+\bib cstex
+WWW stránka makra OPmac {\tt http://petr.olsak.net/opmac.html}.
+
+
+\bib texbook
+Donald Knuth. {\it The \TeX{}book}. Addison Wesley Publishing Company.
+Eleventh printing, revised, May 1991,
+ISBN 0-201-13447-0
+
+\bib tst
+Petr Olšák. {\it Typografický systém \TeX}. Konvoj, Brno~2000,
+ISBN~80-85615-91-6
+
+\bib tbn
+Petr Olšák. {\it \TeX{}book naruby}. Konvoj, Brno~2001,
+ISBN~80-7302-007-6.
+
+\bib prvni
+Petr Olšák. {\it První setkání s~\TeX{}em}. Volně šířený dokument ve
+formátech "tex", "ps", "pdf" na
+\url{ftp://math.feld.cvut.cz/pub/cstex/doc/prvni.*}, 22~stran.
+
+\bib putovani
+Petr Olšák. {\it Putování písmene ř z klávesy na papír}.
+Zpravodaj \CS{}TUGu, 3/1997, strany 109--118.
+
+\bib enctex
+Petr Olšák. {\it Rozšíření \TeX{}u enc\TeX}. Rozšíření ve formě
+změnového souboru k~"tex.web" je volně šířeno na
+\url{ftp://math.feld.cvut.cz/pub/olsak/enctex/}.
+
+\bib a2ac
+Petr Olšák. {\it Program {\tt a2ac}}. Program včetně zdrojových kódů
+v jazyce~C je volně šířen na
+\url{ftp://math.feld.cvut.cz/pub/olsak/a2ac/}.
+
+\bib cstrip
+Petr Olšák. {\it Test {\tt cstrip}}. Test je nepovinnou součástí
+\CSTeX{}u. Je volně šířen na
+\url{ftp://math.feld.cvut.cz/pub/cstex/base/cstrip.tar.gz}.
+
+\bib OFS
+Petr Olšák. {\it Makro OFS}. \TeX{}ové makro OFS pro práci s
+rozsáhlými kolekcemi fontů je volně šířeno na
+\url{ftp://math.feld.cvut.cz/pub/olsak/ofs/}.
+
+\bye
+
+