\chyph

\raggedbottom

\input ofs [a35]

\setfonts[Palatino/11] \baselineskip=14pt
\fontdef\bbbf [-bf/18]
\fontdef\bbf [/14]
\fontdef\tt [CMTypewriter/]
%\let\bbf=\bf

\def\tit #1\par {\bigskip\centerline{\bbbf #1}\par\nobreak\bigskip}
\def\subtit #1\par {\removelastskip\bigskip\noindent{\bbf\bf#1}\par\nobreak\medskip}

\def\bod {\par\indent\hangindent=\parindent\llap{$\bullet$ }}
\def\begitems{\medskip}
\def\enditems{\medskip}

\def\autor #1\par {\medskip\centerline{\it#1}\nobreak\par\medskip}

\def\abstract #1\par {{\leftskip=\parindent \rightskip=\parindent
  \noindent {\bf Abstrakt.} #1\par\null}}

\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
   \catcode`\"=12\catcode`\~=13 \obeylines
   \startverb}
{\catcode`\|=0 \catcode`\\=12
  |gdef|startverb#1\endtt{%
        |tt#1|nobreak|egroup|penalty0|medskip}}
{\obeyspaces\gdef {\ }}

\def\odkaz[#1]{\par\noindent\hbox to\parindent{[#1]\hss}\ignorespaces}


\tit \TeX{} v~jednoduch�m UNIXov�m prost�ed�

\autor Petr Ol��k

\abstract 
P�i lad�n� \TeX{}ov�ho dokumentu pot�ebujeme mnohokr�t opakovan� pou�t�t
\TeX{}, pod�vat se, jak dopadl v�sledek v~prohl��e�i DVI nebo PDF souboru,
mrknout na v�pis \TeX{}u na termin�lu, pod�vat se p��padn� do logu a celou
�innost opakovat. V~tomto �l�nku je uk�z�no, jak tuto pr�ci d�l� autor
�l�nku. Proces \uv{editor-\TeX{}-kuk} je zde podporov�n jednoduch�mi
UNIXov�mi n�stroji: bashov�m skriptem "texloop", kter� si autor pro tyto ��ely
vytvo�il, d�le termin�lem Xterm a jednoduch�m editorem, kter� um� nav�zat na
kl�vesovou zkratku spu�t�n� p��kazu v~syst�mu. �ten�� se zde m��e inspirovat
a p�izp�sobit tyto n�stroje sv�m vlastn�m pot�eb�m. V~�l�nku je pops�na
funkce skriptu "texloop", d�le je neform�ln� rozveden dlouholet� v�voj
autorova vztahu k~textov�m editor�m a kone�n� je zde uvedena konfigurace termin�lu
Xterm, aby vyhovoval �esk�mu prost�ed� jak v~k�dov�n� ISO-8859-2, tak
v~k�dov�n� UTF-8. Pro k�dov�n� UTF-8 si v~z�v�ru �l�nku vygenerujeme \TeX{}ov�
form�t "csplain".


\subtit Skript {\tt texloop}

Bashov� skript "texloop" se chov� jako d�mon ve smyslu, �e �ek� na sign�ly. Ov�em
protokol o~sv� �innosti vypisuje na termin�l. M��eme ho tedy pustit
v~n�jak�m termin�lu a v~jin�m termin�lu pustit textov� editor. Pokud v~editoru
ulo��me zdrojov� soubor a vy�leme sign�l (to~m��eme ud�lat stiskem
jedin� kl�vesy, sta�� si na to p�ipravit kl�vesovou zkratku v~editoru),
d�mon "texloop" se probud�, spust� po�adovanou \TeX{}ovou �lohu, a p�itom na
\uv{sv�j} termin�l vypisuje hl�en� \TeX{}u. Pokud �loha dopadla bez chyby,
po�le d�mon sign�l prohl��e�i DVI nebo PDF a ten automaticky obnov� zobrazen�.
Tak�e na jedinou klapku v~editoru \TeX{}ujeme a hned vid�me v�sledn� zm�ny 
v~prohl��e�i.

D�mon "texloop" spust�me p��kazem

\begtt
texloop tex-command main-file
\endtt

\noindent kde \uv{\tt main-file} je n�zev \TeX{}ovan�ho souboru bez p��pony,
nap��klad tedy

\begtt
texloop csplain mujtext
\endtt

V~prvn� f�zi �innosti je "texloop" v~interaktivn�m m�du. Spust� \TeX{}
podle zadan�ho p��kazu se zadan�m vstupn�m souborem. Pokud \TeX{} naraz� na
chybu, zastav� se a �ek� na termin�lu na reakci. Komunikaci m��eme
samoz�ejm� ukon�it pomoc� v�em \TeX{}ist�m zn�m� kl�vesy~"X".
Ov�em to ud�l�me s~t�m rizikem, �e nemus� vzniknout soubor pro prohl��en�.
Jak se v~takov�m p��pad� "texloop" zachov�, pop��u za chv�li.

Souborem pro prohl��en� je soubor "main-file.pdf" v~p��pad�, �e "tex-command"
za��n� na p�smena "pdf". Nap��klad tedy "pdftex", "pdfcsplain",
"pdflatex". Jinak je souborem pro prohl��en� "main-file.dvi".

Pokud existuje po prvn�m interaktivn�m b�hu \TeX{}u soubor pro prohl��en�,
"texloop" spust� odpov�daj�c� prohl��e� tohoto souboru ("xpdf" nebo "xdvi")
a p�ejde do \uv{daemon} m�du, kdy �ek� na sign�ly. Kdy� soubor pro
prohl��en� neexistuje, ��dn� prohl��e� se zat�m nespust� a "texloop"
i v~tomto p��pad� p�ejde do \uv{daemon} m�du. Pokud "texloop" po n�kter�m
z~p���t�ch b�h� \TeX{}u zjist�, �e soubor pro prohl��en� dodate�n� vznikl,
nev�h� v~dan�m okam�iku spustit odpov�daj�c� prohl��e�.

V~\uv{daemon} m�du "texloop" �ek� na sign�ly. Rozli�uje pouze dva: "SIGUSR1"
pro spu�t�n� \TeX{}u a "SIGTERM"
pro ukon�en� �innosti. Obdr��-li sign�l "SIGUSR1", pak zkontroluje
�asy posledn� modifikace soubor� "main-file.tex" a "main-file.log". 
\TeX{}ov� �loha se spust� pr�v� tehdy, kdy� je zdroj�k nov�j�� ne� log.
V�jimku z~tohoto pravidla uvedu za chv�li.

\TeX{}ov� �loha v~\uv{daemon} m�du b�� v~neinteraktivn�m re�imu. P�i
v�skytu prvn� chyby \TeX{} ukon�� svoji �innost. Mo�nost pokra�ov�n� �innosti
\TeX{}u a v�pisu v�ech chyb jsem zavrhnul, proto�e dnes jsou po��ta�e
natolik rychl�, �e nikoho nezdr�uje po opraven� prvn� chyby spustit \TeX{}
znovu. Osob� tento re�im pr�ce preferuji.

Jestli�e b�h \TeX{}u skon�il �sp�n�, "texloop" po��d� prost�ednictv�m
sign�lu prohl��e� \TeX{}ov�ho v�stupu, aby znovuna�etl PDF resp. DVI a
obnovil zobrazen�. V~ka�d�m p��pad� po ukon�en� b�hu \TeX{}u p�ech�z�
"texloop" znovu do stavu �ek�n� na sign�ly.

Proces "texloop" kon�� svou �innost bu� po obdr�en� sign�lu "SIGTERM"
(m��eme zm��knout "Ctrl-C" v~termin�lu, kde "texloop" b��), nebo ukon�en�m
prohl��e�e PDF nebo DVI prohl��e�e, kter� byl procesem "texloop" spu�t�n.

N�kdy se m��e st�t, �e editujeme jin� soubor, ne� \uv{hlavn�} soubor
"main-file.tex". P�edstavme si, �e je v~"main-file.tex" p��kaz "\input" a ten
na��t� n�jakou kapitolu dokumentu. Textov�m editorem jsme zrovna zalezl� do
t�to kapitoly, m�n�me ji a chceme vid�t v�sledek zpracov�n� cel�ho
dokumentu. Ulo�en� kapitoly a vysl�n� sign�lu pro "texloop" nepom��e,
proto�e "texloop" zjist�, �e je log nov�j�� ne� zdroj�k a na \TeX{}ov�n� se
vydl�bne. M��eme ov�em potla�it vykon�n� testu, kter�m "texloop" kontroluje
st��� zdroj�ku a logu. Sta�� p�idat k~parametr�m pro "texloop" p�smeno "A"
(jako \uv{run \TeX{} Always}). Nap��klad tedy

\begtt
texloop csplain kniha A
\endtt

Abychom mohli daemonu "texloop" vyslat sign�l, mus�me v�d�t, jak� m� PID.
Program "texloop" v~okam�iku p�echodu z~interaktivn�ho do \uv{daemon} m�du
ulo�� sv�j PID do souboru "~/.tlpid", odkud si jej m��e editor
p�e��st. Kdy� ov�em spust�me dal�� proces "texloop" (vedle u� b��c�ho), pak
nov� proces p�ep��e obsah tohoto souboru svou hodnotou. Editor si tedy mus�
\uv{zav�as} informaci p�evz�t. Druh� mo�nost je, �e editor vy�le sign�l
v�em proces�m "texloop" dan�ho u�ivatele a konkr�tn�m PIDem procesu se
nezab�v�. Pak sta��, kdy� pou�ije p��kaz "killall -USR1 texloop".
Nev�hoda tohoto p��stupu je, �e mo�n� n�kter� procesy budou \TeX{}ovat
zbyte�n�, ale nen� to obvykl�. Procesy bez p��znaku "A" (Always) toti�
budou \TeX{}ovat jen v~p��pad�, �e je zdroj�k nov�j�� ne� log.

Skript�k "texloop" je docela jednoduch�. M� 80 ��dk�, najdete ho na
[1] a m��ete si ho p�iohnout k~obrazu sv�mu.

\subtit Textov� editory, aneb kone�n� kon��m s~Emacsem

V~t�to kapitole rozvedu neform�ln�m zp�sobem sv� zku�enosti s~textov�mi
editory. Pro lidi, kte�� o�ek�vaj� sp��e nezaujat� technick� informace a
zejm�na pro fanou�ky Emacsu nen� tato kapitola ur�ena. Pro u�ivatele MS
Windows tak� nen� tato kapitola ur�ena. Tito u�ivatel� jist� u� poznali, �e
jim je k~ni�emu kompletn� cel� �l�nek.

S~interaktivn�mi textov�mi editory jsem se poprv� setkal v~DOSu a pot�
v~UNIXu. Jin� opera�n� syst�my umo��uj�c� interakci s~u�ivatelem jsem nem�l tu
�est poznat. 

V~DOSu jsem po dlouh�m v�voji zakotvil u~Qeditu, kter� jsem si p�izp�sobil
obrazu sv�mu. Jeho v�choz� chov�n� bylo z�ejm� inspirov�no editorem
WordStar. Qedit m�l p�ehledn� konfigura�n� soubor s~mo�nost� jednoduch�
tvorby maker a kl�vesov�ch zkratek. Ov�em to bylo zhruba p�ed dvaceti lety.
P�i p�echodu na UNIX jsem se nau�il aspo� z�klady editoru "vi". Tento editor
m�l toti� tu vlastnost, �e se dal naj�t na skoro ka�d�m UNIXu, i kdyby tam
u� nebylo v�bec nic jin�ho. Setkal jsem se v�jime�n� i s~UNIXy natolik
o�ezan�mi, �e tam nebyl ani "vi". Editovat konfigura�n� soubory syst�mu
v~��dkov�m editoru "ed" pak byla skute�n� lah�dka. Tehdy n�s ale
nic nemohlo odradit od na�eho nad�en� z~UNIXu.

A� do roku 2011 jsem pou��val dva editory:  "vi" a Emacs. Prvn�
jmenovan� jsem pou��val jako \uv{odleh�en� editor}
pro editaci syst�mov�ch soubor�. 
\uv{Odleh�en� editor} mus� b�t snadno dostupn� v~ka�d�m UNIXu a mus� um�t
spolupracovat s~b�n� pou��van�mi termin�ly. Nesm� se op�rat o~p��tomnost
Xserveru, proto�e ten �asto nen� p�i konfiguraci syst�mu p��tomen.
Um�m jen �pln� z�klady editoru "vi" a
podobn� jako plno jin�ch lid� m� psychicky nesm�rn� vy�erp�v� p�ep�nat mezi
dv�ma m�dy tohoto editoru. Ale co, v~dob� po��tku UNIX� nic jin�ho nebylo.

Druh� jmenovan� editor (Emacs) je kapitola sama pro sebe. P�ed dvaceti lety
m�la jeho u�ivatelsk� dokumentace 700 str�nek, dnes jsou k~Emacsu dokumenty
dva, dohromady maj� 1600 str�nek. T�m se mi nikdy nepoda�ilo prokousat. Komu
se to poda�ilo, nech� se p�ihl�s� a pak hod� kamenem. Domn�v�m se, �e editor
m� slou�it a ne b�t st�edem pozornosti a nutit u�ivatele mu v�novat
ne�m�rnou pozornost. Emacs m� velmi neobvykl� zp�sob ovl�d�n�, kter� s~m�m
obl�ben�m Qeditem z~DOSu m� pram�lo spole�n�ho. Tak� pou��v� naprosto
neobvyklou terminologii, tak�e naj�t n�co konkr�tn�ho v~dokumentaci metodou
"grep" je t�m�� nemo�n�. Nev�te toti�, co m�te hledat. Nav�c je to
komplikov�no t�m, �e Emacs m� dokumentaci ulo�enu ve sv�m sv�r�zn�m form�tu,
ke kter�mu nab�z� p��stup sv�m sv�r�zn�m zp�sobem (programem "info"). Uvedu
nam�tkou jen t�i terminologick� sv�r�znosti. Kl�vesovou zkratku "Ctrl-A"
Emacs zna�� \uv{"C-a"}. Kl�vesu "Alt" naz�v� \uv{Meta} a zna�� \uv{"M"}.
Symbol \uv{"M-A B"} v~dokumentaci znamen� \uv{zm��kni "Alt" a "Shift",
zm��kni "A", pus� "Alt" a st�le dr� "Shift", zm��kni "B"}. Kdo nepust�
kl�vesu "Alt" ve spr�vn�m okam�iku, m� sm�lu, Emacs vykon� n�co jin�ho.
Nikomu nen� p��jemn�, kdy� se mu Emacs takto sm�je do ksichtu.

Proto�e Emacs byl v~t� dob� jedin� editor, kter� byl pou�iteln� na
rozs�hlej�� v�ci (v�etn� \TeX{}ov�n� rovnou z~editoru), investoval jsem do
n�j asi m�s�c sv�ho �ivota a pokusil se vytvo�it alespo� p�r vlastn�ch
kl�vesov�ch zkratek na \TeX{}ov�n� a pro aspo� trochu norm�ln� ovl�d�n�.
I~pot� jsem n�kter� slo�it�j�� �koly (nap�. posuny sloupcov�ch blok�) v~Emacsu
ud�lat neum�l. Dal�� �as str�ven� nad dokumentac�, ne� bych dok�zal pot�ebnou
informaci vyhledat, se mi hrub� nevyplatil. Pokorn� jsem tedy pustil ve
vedlej��m ok�nku DOS emul�tor, v~n�m nahodil Qedit a �kol vy�e�il tam.

Asi p�ed deseti lety p�i�la dal�� nep��jemnost v~podob� p�echodu z~verze
Emacsu~19 na verzi vy���. Mnou pracn� vytvo�en� makra v~nov� verzi
samoz�ejm� nefungovala. Dokumentace se stala je�t� obludn�j�� a
nesrozumiteln�j��. N�jakou dobu jsem krom� implicitn� verze Emacsu v~UNIXov�
distribuci udr�oval vedle i starou verzi 19, na kter� jsem provozoval
ve�kerou svou pr�ci. Bohu�el, jak roky b�ely, byla verze 19 st�le obt��n�ji
kompilovateln� pro nov� distribuce. Zpo��tku jsem se dok�zal povrtat
v~C��kov�ch zdroj�ch a kompilaci n�jak rozd�chat, ale s~p��chodem dal��ch
verz� kompil�toru a zejm�na nov�j��ch knihoven to �lo st�le h��. Tak�e jsem
se rozhodl znovu investovat p�r t�dn� sv�ho �asu, pono�it se do zr�dn�
dokumentace a vytvo�it pokud mo�no tyt� kl�vesov� zkratky, jako jsem
pou��val pro Emacs~19. Od jednoho emacsov�ho guru jsem se dozv�d�l dal��
nep��jemnost: nov� verze u� nebude um�t jedn�m klapnut�m opravit �patn�
napsan� kus ��dku, kter� �lov�k hled�c� do kl�vesnice (m�sto na monitor)
napsal omylem v~nespr8vn2 p5epnut0 kl8vesnici. Cituji n�zor tohoto
emacsov�ho guru: nau�te se ps�t v�emi deseti a d�vat se p�i psan� na
monitor.

V�echny UNIXov� editory, se kter�mi jsem se setkal, trp�
dal��m neduhem: p�edpokl�daj�, �e �lov�k sed� u~vyoran� kl�vesnice z~doby
kamenn�, kter� nem� funk�n� kl�vesy na pohyb kurzoru. Tak�e nejstru�n�j��
kl�vesov� zkratky �e�� posun kurzoru. Nap��klad "Ctrl-F" je posun
o~jedno pol��ko doprava. Ha, jak skv�l�, ale jak k~ni�emu\kern1pt! Za��te�nick�
tutori�l k~Emacsu je rovn� pln� takov�ch tot�ln� zbyte�n�ch informac�.
I~tohle komplikuje vztahy mezi editorem a jeho potenci�ln�mi u�ivateli.

M�l jsem mo�nost mluvit s~jedn�m p��znivcem Emacsu. Zeptal jsem se ho, jak
se d� p�epnout wordwrap m�d z~implicitn�ho emacs�ho chov�n�, kdy je pot�eba
ps�t dlouh� slovo poslepu t�eba za roh a teprve mezera za slovem toto slovo
ulom� na dal�� ��dek. O�ek�val bych norm�ln� chov�n�, kdy se slovo ulom�
v~okam�iku, kdy kurzor dos�hne nastaven� hranice. D�le jsem se cht�l nechat
pou�it, jak efektivn� v~dokumentaci zjistit n�kter� v�ci. T�eba 
jak vypnout case-insensitive m�d p�i povelu "isearch". Nebo jak zkrotit
syntaktick� zv�raz�ov�n�. Pro \TeX{}ov� zdroj�ky p�i�el
Emacs s~novinkou, �e texty za podtr��tkem se zobrazuj� zmen�en� 
(jako indexy). To p�sob� velmi ru�iv�. Jak to opravit a
nep�ij�t o~zv�raz�ov�n�? Ani na jednu ot�zku jsem nedostal uspokojivou
odpov��.

Emacs je z~m�ho pohledu obluda, kter� se vymyk� {\bf z�kladn�mu z�konu
UNIXu}, kter� prav�: {\it UNIXov� prost�ed� sest�v� z~mal�ch element�rn�ch
program�, kter� d�laj� jen jeden d�l�� �kol, kv�li kter�mu byly navr�eny, a
ten d�laj� dob�e. Tyto programy vz�jemn� spolupracuj�}. M�m na mysli t�eba
"grep", "awk", "bash", "bc", "tar", "sed", "rsync", \TeX{} a dal��. Editor
Emacs byl prvn�m v�znamn�m naru�itelem tohoto z�kladn�ho z�kona. Pak p�i�li dal��,
o~OO se nebudu rad�ji zmi�ovat.

Z~v��e uveden�ho vypl�v�, �e jsem p�i editov�n� soubor� dvacet let trp�l.
Dokonce jsem pom��lel na to, �e si nap��u editor vlastn�. Ale letos p�i�lo
vysvobozen�. Za�alo to t�m, �e jsem si instaloval nov� syst�m do notebooku.
Jako prvn� pot�ebuji m�t odleh�en� editor na editov�n� konfigura�n�ch
soubor� syst�mu. V~Gentoo Linuxu je pro tento ��el p�ednastaven editor
"nano", kter� ale �lov�ka pravideln� vyt��� dv�ma blb�mi ot�zkami, ne� ulo��
pozm�n�n� soubor a ukon�� �innost. P�eci jenom "vi" editor se sv�m
"Shift-ZZ" vykon� tuto pr�ci bez ptan� a hned. Editor "vi" v~�ist� podob� u�
d�vno neexistuje, pou��val jsem tedy u� dlouho jeho "vim" implementaci.
A~v~nov� verzi m� "vim" velmi rozhn�val. Implicitn� m� nastaveno na
kurzorov� kl�vesy vlevo/vpravo chozen� po slovech. V~tomto re�imu jsem v�bec
nebyl schopen editovat. �ekl jsem si, �e pokud do deseti minut v~dokumentaci �i
pomoc� Google nenajdu, jak se tato nov� skv�lost odstra�uje, let� "vim"
z~m�ho po��ta�e pry�. A~taky �e let�l.

��m ale "vi" nahradit? P�ed deseti lety jsem vid�l v~provozu editor Joe,
tak�e v�m, �e to je dal�� mo�n� odleh�en� editor. B�hem p�r vte�in po jeho
nainstalov�n� jsem v�d�l, �e bez blb�ho ptan� ulo��m soubor a ukon��m
�innost editoru pomoc� "Ctrl-KX". B�hem p�r minut jsem shledal, �e editor za
t�ch deset let v�razn� pokro�il kup�edu. B�hem hodiny u� za��n�m
tu�it, �e toto je editor, kter� mi nahrad� nejen odleh�en� editor, ale tak� Emacs. M�
v�echny funkce, kter� pro sv� editov�n� pot�ebuji. V�e jsem se dozv�d�l
v~krati�k� manov� str�nce, online n�pov�d� a v~p�ehledn� vyveden�m
vzorov�m konfigura�n�m souboru "/etc/joe/joerc". Jako t�e�ni�ku na dortu uvedu
skute�nost, �e Joe m� 25 kr�t men�� bin�rku ne� Emacs. A~d�l� p�esn� to,
k~�emu byl ur�en, a d�l� to dob�e. V~souladu se {\bf z�kladn�m z�konem UNIXu}.
Spo��tejte si, kolik knihoven jednotliv� bin�rky na��taj� dynamicky. Emacs
jich pot�ebuje ke sv�mu �ivotu 44, zat�mco editoru Joe sta�� t�i z�kladn�
knihovny ("libc", "libm" a "libutil"). P�i kompilaci se d� nastavit je�t�
z�vislost na "ncurses", ale nen� to nutn�.

N��e uv�d�m seznam vlastnost�, kter� m� u~Joe editoru pot�ily. Mnoh�
z~nich jsem nikdy nedok�zal v~Emacsu nastavit. Netvrd�m, �e by to v~Emacsu
ne�lo, v�dy� \uv{Emacs um� v�echno}. Sp�� je to kv�li m� neschopnosti se
orientovat v~nep�ehledn� emacs� dokumentaci.

\begitems

\bod P�i rychl�m hled�n� i p�i najdi-nahra� vn�m� rozd�ly mezi velk�mi a
     mal�mi p�smeny. D� se to podle pot�eby vypnout.
\bod Kurzor se nesna�� lepit na konce ��dk�, tak�e p�i posunov�n�
     dolu/nahoru nesk��e p�i sv� pozici vpravo jako �amrda.
\bod P�i rolov�n� dol�/nahoru obraz s~sebou ne�kube. 
\bod Wordwrap se chov� norm�ln�.
\bod Snadno p�epnu do hexa m�du.
\bod V~UTF8 termin�lu snadno editor p�epnu do stavu, kdy edituje ISO-2
     soubory a naopak v~\hbox{ISO-2} termin�lu zase mohu editovat UTF8
     k�dovan� soubory. 
\bod Ne�e��, co �e�it nemus�: fonty, p�ep�n�n� kl�vesnice.
     To je starost termin�lu.
\bod Snadno p�esko��m b�hem editov�n� na m�sto v~souboru, kter� jsem ned�vno opustil
     a pak se zase snadno vr�t�m tam, kde jsem byl p�edt�m.
\bod Editor si pamatuje polohu kurzoru p�ed ukon�en�m. Kdy� vlezu do souboru
     po n�jak� dob� znovu, startuje v~m�st�, kde jsem soubor opustil. Taky
     si trvale pamatuje pou�it� p��kazy pro p�eklad a dal�� v�ci.
     Histori� t�chto p��kaz� mohu proch�zet �ipkami nahoru/dol�.
\bod Nept� se blb� na ka�dou pitomost.
\bod �nik ze v�eho pomoc� "Ctrl-C" je p�irozen�. V�choz� kl�vesov� zkratky se
     podobaj� zkrat\-k�m v~m�m star�m dobr�m Qeditu (tj. jsou odvozeny z~WordStaru).
\bod M� jednoduchou konfiguraci nov�ch zkratek a maker. B�hem chv�le jsem si
     nap��klad nastavil propojen� editoru s~filtrem "vlna", co� byl �kol, na
     kter� jsem z~hlediska jeho obt��nosti v~p��pad� Emacsu po cel�ch dvacet
     let rezignoval a vlnkoval soubory \uv{ru�n�} ve vedlej��m termin�lu.
\bod Zobraz� "^M" na konc�ch ��dk�. Setk�v�m se toti� ob�as se soubory
     maj�c�mi pomr�en� konce ��dku (z~DOSu nebo z~MS Windows). Pokud se m�
     editor sna�� odst�nit od tohoto probl�mu, je to �patn�, nebo� pak
     vznikaj� z�hadn� chyby nap��klad v~shellov�ch skriptech. Na druh�
     stran� je editor schopen se p�izp�sobit (kdy� chci) a editovat
     v~DOSov�m m�du konc� ��dk�.
\bod Kone�n� zase um�m snadno ozna�it sloupcov� bloky (i my��) a posunovat
     s~jejich obsahem.
\bod Syntaktick� zv�raz�ov�n� je p��jemn� a m� jednoduch� a p�ehledn�
     konfigura�n� soubory. B�hem chv�le jsem si vylep�il nap��klad
     syntaktick� zv�raz�ov�n� \TeX{}ov�ch zdroj�k� k~obrazu sv�mu.
\bod Editor se nau�� slova pou�it� v~na�ten�m souboru a umo�n� jejich rychl�
     dopl�ov�n�. Sta�� napsat za��tek slova a zm��knout p��slu�nou kl�vesu.

\enditems

Nebudu zde uv�d�t v�echny podstatn� vlastnosti editoru. Stru�n� seznam
jeho mo�nost� najdete na~[2]. Mysl�m si, �e editor nab�z� v�e,
co b�n� u�ivatel (jako jsem j�) pot�ebuje pro norm�ln� pr�ci.

N�kter� nev�hody editoru mohou plynout z~faktu, �e je zcela z�visl� na
prost�ed� termin�lu, ve kter�m je spu�t�n. Na vstupu tedy sn�m� ty
informace, kter� mu tam po�le termin�l. Nap��klad Xterm vys�l� p�i zm��knut�
kl�vesy Backspace stejn� k�d jako p�i zm��knut� kl�vesy Delete a to je
stejn� k�d jako p�i "Ctrl-H". Mezi t�mito t�emi klapkami pak editor nem��e
rozli�it a reaguje na v�echny jako Backspace. Cht�l bych vid�t toho �lov�ka,
kter� vyv�jel termcap pro Xterm, kdy� tam navrhnul Delete=Backspace. Asi
p�ed t�mto rozhodnut�m se mu srazila hlava s~�elezni�n�m pra�cem. Probl�m
jsem si opravil �pravou konfigurace Xtermu, ale od t�to chv�le nem�m Xterm
spl�uj�c� ofici�ln� parametry.

Kl�vesov� zkratky "Alt-n�co" se nedaj� pou��t, nebo� je termin�l p�evede na
jednobytovou informaci typicky shodnou se zm��knut�m n�jak� klapky
s~akcentovan�m znakem. Editor se v�bec nedozv�, �e byla zm��knuta kl�vesa
"Alt". Znamen� to, �e m��eme pracovat pouze s~kl�vesov�mi zkratkami typu
"Ctrl-n�co". Aspo� se to l�pe pamatuje. V~p��pad� zkratek "Ctrl-n�co" m�me
k~dispozici jen 32 mo�nost�, p�i kter�ch termin�l generuje k�dy 0 a� 31
takto: "Ctrl-@" je nula, "Ctrl-A" je 1, "Ctrl-B" je 2, atd., "Ctrl-^" je 30
a "Ctrl-_" je 31. Kdo zat�m nevid� souvislost, pod�v� se za dom�c� �kol na
ASCII tabulku. P�itom je�t� plat�, �e "Escape"="Ctrl-[". M�me ov�em �t�st�,
�e kl�vesy "F1", "F2" atd. a n�kter� dal�� vys�laj� z~termin�lu k~aplikaci
pon�kud del�� sekvenci znak� (uvozenou k�dem Escape), podle kter� aplikace
rozpozn�, co bylo zm��knuto. P�i zm��knut� "Ctrl-F1" je vygenerov�na jin�
escape sekvence ne� p�i "F1". Tak�e tyto zkratky typu "Ctrl-Fn�co" dok�e
editor rozpoznat a dokonce nespadaj� do omezuj�c�ch 32 mo�nost� zm�n�n�ch
d��ve.

R�zn� termin�ly vys�laj� bohu�el p�i ma�k�n� kl�ves F1 a spol. r�zn� escape
sekvence. N�kdy se tyto sekvence dokonce p�ekr�vaj� v~r�zn�m v�znamu.
Nap��klad RxVT a Xterm maj� vz�jemn� prohozeny Home a End. Editor Joe
bohu�el neum� pracovat s~konfigurac� escape sekvenc� z�vislou na pou�it�m
termin�lu. J� pou��v�m v�hradn� Xterm a Linuxovou konzoli a pro tyto dva
typy termin�l� jsem si upravil svou konfiguraci Joe editoru.

V��e popsan� omezen� plyne z~toho, �e chceme pou��t odleh�en� editor uvnit�
termin�lu, tj. t�eba i na vzd�len�m po��ta�i s~mizern�m s��ov�m p�ipojen�m.
Zkuste si Emacs pustit uv�zn�n� uvnit� termin�lu a shled�te, �e se za jist�ch
okolnost� chov� stejn�. ��dnou kl�vesu "Meta" alias "Alt" nerozli��.

Dal�� mo�nou nev�hodou Joe editoru je jeho a� p��li� jednoduch� konfigurace
maker. Jsou k~dispozici jen jednoduch� podm�nky, nen� mo�n� ��dn� pr�ce
s~prom�nn�mi, jen sled za sebou jdouc�ch element�rn�ch pokyn� pro editor.
Abych tedy mohl v~Joe p��jemn� \TeX{}ovat, vytvo�il jsem si (mimo jin�) 
bashov� skript�k "texloop". 

N�kdo m��e za nev�hodu Joe editoru pova�ovat tak� skute�nost, �e se jeho
autor asi p�ed dv�ma lety vytratil z~Internetu. Kdy� jsem mu ned�vno pos�lal
n�vrh na jednoduchou zm�nu ve form� z�platy, po�ta se mi vr�tila jako
nedoru�iteln� kv�li p�epln�n� emailov� schr�nce. Osobn� by mi v�bec
nevadilo, kdyby se v�voj editoru zastavil. Vychyt�vky, kter� si
v~konfiguraci editoru ud�l�m, pak budou fungovat nav�dycky.

Zdrojov� k�dy Joe editoru jsou naps�ny ve srozumiteln�m jazyce C, tak�e jsem
si s�m dok�zal opravit jednu drobnou chybku a doprogramovat reakci
na prost�edn� tla��tko my�i. Cht�l bych zd�raznit, �e toto je v�hoda 
{\it jednoduch�ho\/} a {\it otev�en�ho\/} software. U�ivatel si jej m��e
p�iohnout k~obrazu sv�mu. Mus� ale b�t spln�ny sou�asn� ob� dv� vlastnosti.
Nap��klad zdroj�ky~Otev�en� kancel��e jsou sice otev�eny, ale vykostit
z~nich algoritmy na konverzi kancel��sk�ch form�t� do PDF a ud�lat z~nich
d�vkov� programy pro p��kazovou ��dku se je�t� nikomu nepoda�ilo.

T�m, �e jsem opustil Emacs a "vim" a p�e�el kone�n� na norm�ln� editor,
jsem si v�razn� uleh�il �ivot. Vymizela schizofrenie, zda v~dan� chv�li chci
\TeX{}ovat nebo editovat konfigura�n� soubory vzd�len�ho serveru. D�l�m to
od t�to chv�le stejn�m editorem s~jednotn�m zp�sobem ovl�d�n�.
Autor Joe editoru Joseph H. Allen se p�esn� strefil do m�ch p�edstav, jak m�
tento typ software vypadat. Mo�n� by m�l m�t tento �l�nek jin� n�zev:
The Joy Of Joe.


\subtit U�ivatelsk� konfigurace editoru

U�ivatelsk� konfigurace Joe editoru je ulo�ena (p�irozen�) v~souboru
"~/.joerc". Tam si m��eme definovat v�choz� hodnoty p�ep�na��, jednoduch�
makra a vazby na kl�vesov� zkratky. Krom� toho je mo�n� zalo�it adres��
"~/.joe" a do n�j vlo�it dal�� soubory konfigurace: konfiguraci z�vislou na
r�zn�ch typech soubor�, konfiguraci syntaktick�ho zv�raz�ov�n� pro r�zn�
jazyky apod. P�i tvorb� u�ivatelsk� konfigurace je mo�n� se inspirovat
v�choz� konfigurac� "/etc/joe/joerc" nebo pou��t konfiguraci, kterou jsem si
vytvo�il pro svou pot�ebu a kterou jsem zve�ejnil na~[1].
V~t�to kapitole stru�n� pop��u vlastnosti t�to u�ivatelsk� konfigurace.

Kl�vesov� zkratky jsou troj�ho typu: \uv{jednoklapkoidn�} (nap�. "Ctrl-C"),
\uv{dvouklapkoidn�} (nap�. "Ctrl-KX") a zkratky uvozen� kl�vesou Escape 
(nap�. "Esc L" -- spu�t�n� korekce p�eklep� pomoc� programu "aspell").
V�echny jednoklapkoidn� zkratky, kter� v~origin�ln� konfiguraci �e�� pohyb
kurzoru, jsem pova�oval za neobsazen�, proto�e pohyb kurzoru realizuji pomoc�
�ipek a pomoc� kl�ves Home, End, PgUp, PgDn. N�kter� z~takto uvoln�n�ch
zkratek jsem obsadil t�m, co mi p�ipadalo p�irozen�j��. Nap��klad:
"Ctrl-S" -- rychl� vyhled�v�n� vp�ed, 
"Ctrl-R" -- rychl� vyhled�v�n� vzad,
"Ctrl-Z" -- undo, 
"Ctrl-U" -- vyvrhnut� naposledy smazan�ho textu na m�sto kurzoru,
"Ctrl-P" -- skok na p�edchoz� (vzd�lenou) pozici kurzoru,
"Ctrl-J" -- zru�en� ozna�en�ho bloku.
P�esn� p�ehled v�ech t�chto zm�n je v~kr�tk�m dvojstr�nkov�m shrnut� na~[1].

Editor umo��uje (krom� maker v~souboru ".joerc") nahr�vat dal�� u�ivatelsk� makra 
s~��sly 0 a� 9 za provozu a pak je p�ehr�vat pomoc� dvouklapkoidn� zkratky
"Ctrl-K��slo". N�kdy se ale hod� p�ehr�t makro jednoklapkoidn�m hmatem,
abychom je mohli p�ehr�vat se stejnou rychlost�, na kterou m�me nastaven
opakovac� kmito�et kl�vesnice. Proto jsem zkratku "Ctrl-K\" nav�sil na
p�ehr�n� makra~0.

Dvouklapkoidn� zkratky typu "Ctrl-Kn�co" jsem nechal v~p�vodn�m v�znamu.
Jsou odvozeny z~WordStaru a j� jsem se s~nimi d�vno sezn�mil p�i pr�ci
s~Qeditem. Takt� zkratky uvozen� kl�vesou Escape jsem nechal v~p�vodn�m
v�znamu. Je tedy mo�n� je dohledat v~online n�pov�d� editoru, kter�
je dostupn� pomoc� "Ctrl-KH". Na dal�� str�nku n�pov�dy se p�ech�z� pomoc�
"Esc te�ka". To sice nen� p��li� praktick�, ale zase tak �asto
v~n�pov�d� listovat nepot�ebujeme.

Nov� jsem p�idal dvouklapkoidn� zkratky typu "Ctrl-Xn�co".
Zkratka "Ctrl-XC" ulo�� vyzna�en� blok do souboru "~/.joetmp"
a n�sledn� zkratka "Ctrl-XV" si obsah tohoto souboru vyzvedne.
T�m je mo�n� zprost�edkovat p�enos bloku mezi dv�ma r�zn�mi instancemi Joe
editoru spu�t�n�mi na stejn�m po��ta�i. 

P�enos bloku je samoz�ejm� mo�n� prov�st i pomoc� clipboardu X windows
syst�mu. Ov�em pozor. V~konfiguraci m�m zapnut� p�ep�na� "mouse". Tak�e my�
ozna�uje bloky p��mo pro Joe editor, nikoli pro clipboard. Joe editor neum�
s~clipboardem p��mo pracovat (to by musel b�t slinkovan� s~knihovnami X
window syst�mu, co� po n�m opravdu nechceme). Blok Joe editoru lze nicm�n�
zkop�rovat do clipboardu pomoc� zkratky "Ctrl-N" (k~tomu se vyu�ije
extern� program "xclip"). Nebo m��eme p�i ozna�ov�n� bloku p�idr�et kl�vesu
"Shift". V~takov�m p��pad� se do clipboardu dostane text ozna�en� a vid�n�
v~Xtermu bez toho, aby se o~tomto ozna�en� Joe editor v�bec dozv�d�l. Xterm mu
toti� tuto aktivitu zataj�. Pro vyzvr�cen� clipboardu do m�sta kurzoru je
mo�n� pou��t "Shift-"prost�edn� tla��tko my�i. Samotn� prost�edn� tla��tko
my�i ned�l� nic (p�i kompilaci z~origin�ln�ch zdroj�k�). Nebo kop�ruje
ozna�en� blok Joe editoru (p�i pou�it� m� z�platy p�ed kompilac�).

Zkratka "Ctrl-X~" pro�ene vyzna�en� blok nebo cel� soubor programem "vlna",
tj. dopln� vlnky za neslabi�n� p�edlo�ky. D�le zkratka "Ctrl-XH"
oprav� v~naposledy vlo6en0m textu probl0my zp;soben0 Mistrem Janem Husem. 
Tyto probl�my maj� lid�, kte�� se chv�li ned�vaj� na monitor, p��ou a
posl�ze zjist�, �e m�li blb� p�epnutou kl�vesnici. Mezi tyto lidi pat��m i j�.
Pojem \uv{naposledy vlo�en� text} zahrnuje text vlo�en� na jedin�m ��dku po
p�edchoz�m pohybu kurzoru nebo po zah�jen� editov�n� souboru.
Pokud ov�em vyzna��me n�jak� blok a pak pou�ijeme "Ctrl-XH", korekce
prob�hne ve vyzna�en�m bloku.

Editor je nastaven tak, �e se nepokou�� interpretovat k�dov�n� na�ten�ho
textu (mohl by, ale tuto funkci jsem v~konfiguraci vypnul). 
Uvnit� ISO-2 termin�lu editor p�edpokl�d� k�dov�n� ISO-8859-2 a uvnit� UTF-8
termin�lu p�edpokl�d� UTF-8 k�dov�n�. Je-li na�ten soubor v~nespr�vn�m
k�dov�n�, pozn�me to podle paznak�. V~takov�m p��pad� je mo�no pou��t
zkratku "Ctrl-XE", kter� v~ISO-2 termin�lu zkonvertuje buffer z~UTF-8 do
ISO-8859-2 a naopak v~UTF-8 termin�lu zkonvertuje buffer z~ISO-8859-2
do UTF-8.

Funkce vyvolan� kl�vesov�mi zkratkami "Ctrl-N" (kopie clipboardu), "Ctrl-XH" (Hus) a
"Ctrl-XE" (korekce k�dov�n�) volaj� skripty, kter� jsem si pro tyto ��ely
vytvo�il a ulo�il do adres��e "./joe" (a zve�ejnil na [1]). Tyto skripty
pracuj� r�zn�m zp�sobem v~z�vislosti na nastaven�m parametru "charmap"
v~locales. Tedy v~z�vislosti na pou�it�m termin�lu (ISO-2 nebo UTF-8). 
Je pot�eba v�d�t, �e pokud p�ejdeme v~editoru do \uv{k���ov�ho} 
k�dov�n�, tj. editujeme nap�. ISO-8859-2 k�dovan� soubor
v~UTF-8 termin�lu, pak uveden� skripty nebudou pracovat spr�vn�.

Tak jako d��ve v~Emacsu, jsem soust�edil i v~Joe editoru \TeX{}ov�n� na kl�vesu "F7".
Pomoc� "Ctrl-F7" zahajuji proces "texloop" v~nov� zalo�en�m okn� editoru.
Editor si pamatuje posledn� vlo�en� p��kaz (i p��kazy star��), tak�e 
typicky nemus�m vkl�dat cel� p��kaz "texloop" znovu. Pot� mohu okno s~procesem
"texloop" skr�t ("F6", "Ctrl-KI") a mohu \TeX{}ovat pomoc� "F7". Skoro
okam�it� po zm��knut� t�to kl�vesy se mi obnov� zobrazen� ve vedlej��m 
prohl��e�i PDF nebo DVI v�stupu. P�itom (na rozd�l od Emacsu) okno s~v�pisem
\TeX{}u neobt�uje, kdy� nechci, ale mohu se tam pod�vat ("Ctrl-KI").


\subtit Strasti a slasti s~termin�lem Xterm

Moje pracovn� prost�ed� na po��ta�i sest�v� z~plochy Xserveru a na n� se
vesm�s rozprost�r� sp��e v�ce ne� m�n� Xterm�. Kl�vesnice je implicitn�
anglick�. Opravdu si nedovedu p�edstavit pr�ci s~p��kazov�m ��dkem v~�esk�
kl�vesnici. Jedna pracovn� plocha Xserveru typicky nesta��, ov�em manager
"fvwm" mi nab�z� p�ep�nat mezi dev�ti r�zn�mi plochami. K~tomu
slou�� kl�vesy "Ctrl-�ipka". To je d�vod, pro� jsem tyto sekvence
nekonfiguroval jako kl�vesov� zkratky pro editor. Ob�as na n�kter�m z~dev�ti
ploch je zapnut� i n�co jin�ho ne� Xterm (nap��klad prohl��edlo www str�nek,
prohl��edlo PDF soubor� atd.). Po�et grafick�ch program� ale nikdy
nep�ekro�� mno�stv� Xterm� na pracovn�ch ploch�ch.

U�ivatele po��ta�� se z~m�ho pohledu d�l� do dvou skupin, podle toho, jak
p�istoup� nap��klad k~�loze \uv{chci prohl�dnout dokument v~souboru {\tt
cosi.pdf} v~adres��i {\tt kdesi}}. Prvn� skupina spust� n�kde z~nab�dky
window manageru program "xpdf" nebo n�co podobn�ho, pak tam v~nab�dce najde
funkci \uv{otev��t soubor} a pak dlouze a podle abecedy hled�
v~periskopick�m v�pisu adres��� a soubor� (s~typicky zoufale mal�m pr�zorem)
ten spr�vn� adres�� a v~n�m ten spr�vn� soubor, pak klikne, a �loha je
vy�e�ena. Druh� skupina vleze do Xtermu, v~n�m do p��kazov�ho ��dku nap��e
\clqq"cd kdesi Enter"\crqq{} (p�itom velmi �asto vyu��v� dopl�ov�n� dlouh�ch
n�zv� tabel�torem) a kone�n� nap��e \clqq"xpdf cosi.pdf"\crqq. Nebo to
urychl� a rovnou p��e \clqq"xpdf kdesi/cosi.pdf"\crqq. P�izn�m se, �e j�
pat��m do t� druh� skupiny u�ivatel�. Proto pot�ebuji tolik Xterm�. Nut�-li
mi n�kdo zp�sob pr�ce prvn� skupiny, jsem velmi ne��astn� zejm�na
z~periskopick�ch hled��k� obsahuj�c�ch v�pisy soubor�. Pravda, existuje
je�t� t�et� skupina u�ivatel�, kter� typicky nev�, co to je PDF, nev�, co to
je soubor, co to je adres�� a pou��v� jen metodu \uv{klik�n� na obr�zky}.
Tato skupina vyu��v� t� toho, �e window manager m� jasno, kter� soubor
otev��t kter�m programem. Tato skupina u�ivatel� je mi ov�em u� natolik
my�lenkov� vzd�len�, �e ji do sv�ch �vah d�le nebudu zahrnovat.

Pokud pot�ebuji b�hem sv� pr�ce v�jime�n� p�epnout do �esk� kl�vesnice, pak
pouze v~jednom zvolen�m Xtermu, nikoli pro v�echny X-ov� aplikace glob�ln�.
Kl�vesnici tedy p�ep�n�m Xtermem. Pou��v�m k~tomu konfiguraci Xtermu
vytvo�enou u� velmi d�vno Liborem �karvadou, Petrem Mejzl�kem a Janem
Kasprzakem. Pozor, v�voj��i Xtermu v~nejnov�j��ch verz�ch cosi pokonili a p�estala
fungovat mrtv� kl�vesa. Je tedy pot�eba m�t verzi Xtermu nejv��e 256.

P�epnut� kl�vesnice tam i zp�t se provede kl�vesou "Pause". P�i zapnut� �esk�
kl�vesnici kurzor blik�, p�i vypnut� je kurzor v~klidu. T�m lze poznat stav
kl�vesnice v~ka�d�m Xtermu. Kl�vesou "Ctrl-Pause" zm�n�m implicitn� �ern�
pozad� Xtermu na b�l�. R�d kouk�m do �ern� barvy, ale kdy� je vedle
rozsv�cen� b�l� prohl��e�, je kontrast �ern�-b�l� p��li� unavuj�c� pro o�i a
v~takov�m p��pad� p�epnu Xterm na b�lou. 

Popsan� konfigurace Xtermu je pro k�dov�n� ISO-8859-2 v~souboru
"XTerm" a pro k�dov�n� UTF-8 v~souboru "UXTerm". Definici �esk� kl�vesnice
jsem v~souboru "UXTerm" musel kompletn� p�epsat.
Tyto soubory si m��ete st�hnout z~[1] a um�stit do sv�ho syst�mu.
Kam, to je z�visl� na syst�mu. J� je m�m typicky ulo�eny
v~"/usr/share/X11/app-defaults/".
M�sto pln�ch n�zv� font� jsou v~souboru "XTerm" 
uvedeny aliasy, kter� je pot�eba
nastavit v~souboru "fonts.alias". 
Jak, to tak� z�vis� na syst�mu.

Na str�nce [1] je t� podrobn� popis instalace Xtermu. Bohu�el m�m �patn�
zku�enosti s~p�enosem �e�tiny v~clipboardu, pokud se pou�ije v~ISO-2 locales
Xterm, kter� je kompilov�n i pro UTF-8. M�m proto v~syst�mu bin�rky dv�.
Jednu, kter� je kompilovan� jen pro jednobytov� k�dov�n� a druh�, kter� je
kompilovan� pro UTF-8. Pak p�enos v~clipboardu prob�h� spolehliv� i mezi
r�zn� k�dovan�mi aplikacemi. Intern� obsah clipboardu je v�dy UTF-8.

V~popisu instalace je zm�n�na i mo�nost m�t v~syst�mu (t�eba na plo�e vedle
sebe) oba Xtermy (ISO-2 i UTF-8). Implicitn� m�m nastaveno v~syst�mu
"LC_CTYPE=cs_CZ.ISO8859-2" a pro UTF-8 k�dovan� Xterm p�ep�n�m do
"LC_CTYPE=cs_CZ.UTF-8". Ostatn� prom�nn� z~locales (v�etn� prom�nn�
"LANG") nejsou nastaveny, proto�e samoz�ejm� nechci, aby na m� p��kazov�
��dek �t�kal �esky. To snad nechce ��dn� soudn� uva�uj�c� u�ivatel.


\subtit UTF-8 k�dovan� csplain

Form�t "csplain" pou��v�m implicitn� v k�dov�n� ISO-8859-2.
V�hody p�echodu na k�dov�n� UTF-8 nejsou v p��pad� "csplainu" v�bec
z�eteln�. Znaky mimo znakovou sadu ISO-8859-2 stejn� mus�me individu�ln�
o�et�it makry v \TeX{}u. Tak�e m� nic nenut� explicitn� p�ech�zet na jin�
k�dov�n�.

N�kdy se ov�em stane, �e z�kazn�k dod�v� soubory v UTF-8 a my je chceme bez
pot�eby neust�l�ho p�ek�dov�n� zpracov�vat v csplainu. Pak je mo�n� samoz�ejm�
tyto soubory zpracov�vat v UTF-8 k�dovan�m termin�lu. M�sto p��kazu
"csplain" pak pou�iji p��kaz "ucsplain" (respektive "pdfucsplain"). To je
form�t, kter� p�ek�dov�v� vstup z UTF-8 do ISO-8859-2 na �rovni input
procesoru \TeX{}u a vyu��v� k tomu enc\TeX{}. V�stup na termin�l, do logu a
do "\write" soubor� se vrac� zase v k�dov�n� UTF-8. 
Form�t vygenerujeme takto:

\begtt
pdftex -ini -enc \\let\\enc=u \\input csplain.ini
mv csplain.fmt ucsplain.fmt
mv csplain.log ucsplain.log
pdftex -jobname pdfcsplain -ini -enc \\let\\enc=u \\input csplain.ini
mv pdfcsplain.fmt pdfucsplain.fmt
mv pdfcsplain.log pdfucsplain.log
su
cp ucsplain.* pdfucsplain.* /var/lib/texmf/web2c/pdftex/
texhash
cd /usr/bin
ln -s pdftex ucsplain
ln -s pdftex pdfucsplain
\endtt

Nyn� jsou v�em u�ivatel�m v~syst�mu p��stupn� p��kazy "ucsplain" a
"pdfucsplain", kter�mi mohou zpracov�vat zdrojov� soubory k�dovan� v~UTF-8.


\subtit Odkazy

\odkaz [1] "http://petr.olsak.net/texloop.html"
\odkaz [2] "http://joe-editor.sourceforge.net/"



\end

