<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
\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&gt;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&lt;#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&lt;16 
          \hbox to.055\hsize{\hfil\tentt\hex\colnum\hfil}\vrule
          \advance\colnum by1
     \repeat
   }% end of \line
   \loop
     \ifnum\linenum&lt;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&lt;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 "&lt;&lt;" vede v csr10 na francouzskÃ© uvozovky, kÃ³d 158, v cmr10 nenÃ­.

Dvojice "&gt;&gt;" 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 ÄŒ, ÄŽ, Äš, Å‡, Å˜, Å&nbsp;, Å¤, Å½,
* {\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, &gt;&gt;, &lt;&lt;, \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 &amp; Small Caps
pagdc8z  *   /rpagd/       AvantGarde-Demi Caps &amp; Small Caps
pbkl8z       /rpbkl/       Bookman-Light
pbkli8z      /rpbkli/      Bookman-LightItalic
pbkd8z       /rpbkd/       Bookman-Demi
pbkdi8z      /rpbkdi/      Bookman-DemiItalic
pbklc8z  *   /rpbkl/       Bookman-Light Caps &amp; Small Caps
pbkdc8z  *   /rpbkd/       Bookman-Demi Caps &amp; Small Caps
pcrr8u       /rpcrr/       Courier
pcrro8u      /rpcrro/      Courier-Oblique
pcrb8u       /rpcrb/       Courier-Bold
pcrbo8u      /rpcrbo/      Courier-BoldOblique
pcrrc8u  *   /rpcrr/       Courier Caps &amp; Small Caps
pcrbc8u  *   /rpcrb/       Courier-Bold Caps &amp; Small Caps
phvr8z       /rphvr/       Helvetica
phvro8z      /rphvro/      Helvetica-Oblique 
phvb8z       /rphvb/       Helvetica-Bold
phvbo8z      /rphvbo/      Helvetica-BoldOblique 
phvrc8z  *   /rphvr/       Helvetica Caps &amp; Small Caps  
phvbc8z  *   /rphvb/       Helvetica-Bold Caps &amp; 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 &amp; Small Caps   
phvbnc8z *   /rphvbrn/     Helvetica-Narrow-Bold Narrow C &amp; Small C  
pncr8z       /rpncr/       NewCenturySchlbk-Roman
pncri8z      /rpncri/      NewCenturySchlbk-Italic
pncb8z       /rpncb/       NewCenturySchlbk-Bold
pncbi8z      /rpncbi/      NewCenturySchlbk-BoldItalic
pncrc8z  *   /rpncr/       NewCenturySchlbk-Roman Caps &amp; Small Caps
pncbc8z  *   /rpncb/       NewCenturySchlbk-Bold Caps &amp; Small Caps
pplr8z       /rpplr/       Palatino-Roman
pplri8z      /rpplri/      Palatino-Italic
pplb8z       /rpplb/       Palatino-Bold
pplbi8z      /rpplbi/      Palatino-BoldItalic
pplrc8z  *   /rpplr/       Palatino-Roman Caps &amp; Small Caps
pplbc8z  *   /rpplb/       Palatino-Bold Caps &amp; Small Caps
ptmr8z       /rptmr/       Times-Roman
ptmri8z      /rptmri/      Times-Italic
ptmb8z       /rptmb/       Times-Bold
ptmbi8z      /rptmbi/      Times-BoldItalic
ptmrc8z  *   /rptmr/       Times-Roman Caps &amp; Small Caps
ptmbc8z  *   /rptmb/       Times-Bold Caps &amp; 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 \&amp; 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.~Å&nbsp;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 &amp;csplain dokument
\endtt

V~UNIXu musÃ­te pouÅ¾Ã­t "tex \&amp;csplain dokument", aby se znak "&amp;"
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 &amp;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 "&lt;Feb 2000&gt;".
     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Å¾ 
"&lt;Feb. 2000&gt;", 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 &lt;pÅ™epÃ­naÄ&gt;". Po pouÅ¾itÃ­
tohoto makra je "&lt;pÅ™epÃ­naÄ&gt;" 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\&amp;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-&gt;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
Ã Ã¡ Ã„ Ã¤ ÄŒ Ä ÄŽ Ä Ã‰ Ã© Äš Ä› Ã Ã­ Ä¹ Äº Ä½ Ä¾ Å‡ Åˆ Ã“ Ã³ Ã– Ã¶ Ã” Ã´ 
Å” Å• Å˜ Å™ Å&nbsp; Å¡ Å¤ Å¥ Ãš Ãº Å® Å¯ Ãœ Ã¼ Ã Ã½ Å½ Å¾
}\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 "&lt;Feb. 2000&gt;" 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 "&lt;Nov. 2012&gt;" 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 "%&amp;" 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
%&amp;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 "%&amp;", 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Ã­ "%&amp;" 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
%&amp;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:&lt;ÄÃ­slo&gt;" jako
"&lt;zkratku jazyka&gt;", 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{&lt;zkratka jazyka&gt;}". 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=&lt;ÄÃ­slo&gt;" v~kontextu:

\begtt
\..lang -&gt;  \language=&lt;ÄÃ­slo&gt;\relax 
            \initlanguage{&lt;znaÄka&gt;}\frenchspacing 
            \lefthyphenmin=&lt;lhm&gt;\righthyphenmin=&lt;rhm&gt;%
            \message{&lt;text&gt;}
\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:&lt;znaÄka&gt;", 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 &lt;pÅ™epÃ­naÄ&gt;" Provede registraci fontovÃ©ho pÅ™epÃ­naÄe. Tedy pÅ™idÃ¡ 
do existujÃ­cÃ­ho makra "\resizefontall" dalÅ¡Ã­ dva tokeny:
"\resizefont &lt;pÅ™epÃ­naÄ&gt;".

"\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 &lt;pÅ™epÃ­naÄ&gt;"\nobreak Argumentem musÃ­ bÃ½t fontovÃ½ "&lt;pÅ™epÃ­naÄ&gt;", tj. sekvence
        dÅ™Ã­ve deklarovanÃ¡ pomocÃ­ "\font". Tento "&lt;pÅ™epÃ­naÄ&gt;" 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&lt;dimen&gt;}}, nebo \uv{{\tt scaled&lt;number&gt;}}. 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 &lt;Feb. 2000&gt;} 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 Å&nbsp;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 Å&nbsp;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. Å&nbsp;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~"&lt;Feb. 2000&gt;" 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{Å&nbsp;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 Å&nbsp;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Å¡Ã­ Å&nbsp;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 Å&nbsp;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


</pre></body></html>