LDP/LDP/howto/docbook/Slovak-HOWTO/tricks.sgml

171 lines
5.6 KiB
Plaintext

<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
<!-- $Id$ -->
<section id="tricks">
<title id="tricks.title">Fintièky so slovenèinou</title>
<section id="tricks-vim">
<title>Zadávanie slovenských znakov vo Vim</title>
<para><ulink url="http://www.kotelna.sk/keso/unix/vim.html">
http://www.kotelna.sk/keso/unix/vim.html</ulink></para>
<para>Ak nemô¾ete, alebo nechcete pou¾íva» rozlo¾enie kláves pre slovenèinu, ale potrebujete
zada» pár na¹ich znakov vo <application>Vim</application>, dá sa to urobi» pomocou príkazu
<command>imap</command>. Jeho formát je
<synopsis>
:imap {lhs} {rhs}
</synopsis></para>
<para><computeroutput>{lhs}</computeroutput> je postupnos» znakov, po ktorých zadaní (v
krátkom èasovom intervale) sa vypí¹e <computeroutput>{rhs}</computeroutput>.</para>
<para>Pre slovenèinu by sa dali vyu¾i» <function>imap</function> definície znakov typu
<screen>
:imap =a á
:imap +c è
</screen></para>
<para>Ako vidno, je to nieèo podobné ako compose sekvencie z kapitoly o klávesnici na konzole.
Po zadaní týchto príkazov mô¾ete aj so ¹tandardným rozlo¾ením kláves zadáva» vo vim znaky s
diakritikou. Tu je kompletný zoznam imap definícií pre slovenskú diakritiku. Ulo¾te ho do
súboru napríklad <filename>sk.vim</filename> a vo <application>Vim</application> ho naèítate
príkazom
<screen>
:source sk.vim
</screen></para>
<para>
<programlisting>
imap =a á
imap =A Á
imap +a ä
imap +A Ä
imap +c è
imap +C È
imap +d ï
imap +D Ï
imap =e é
imap +e ì
imap =E É
imap +E Ì
imap =i í
imap =I Í
imap =l å
imap =L Å
imap +l µ
imap +L ¥
imap +n ò
imap +N Ò
imap =o ó
imap =O Ó
imap +o ô
imap +O Ô
imap "o ö
imap "O Ö
imap =r à
imap =R À
imap +r ø
imap +R Ø
imap +s ¹
imap +S ©
imap +t »
imap +T «
imap =u ú
imap =U Ú
imap +u ù
imap +U Ù
imap "u ü
imap "U Ü
imap =y ý
imap =Y Ý
imap +z ¾
imap +Z ®
</programlisting>
</para>
</section> <!-- tricks-vim -->
<section id="tricks-recode">
<title>Odstránenie alebo nahradenie diakritiky v textových súboroch</title>
<section id="tricks-recode-sed">
<title>sed</title>
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
<para>V prípade, ¾e potrebujete z textového súboru odstráni» diakritické znamienka, mô¾ete
pou¾i» program <command>sed</command>, pomocou ktorého nahradíte výskyt znaku s diakritikou
jeho ekvivalentom bez nej.</para>
<para>Ak chcete odstráni» diakritiku úplne, musíte nahradi» výskyt v¹etkých znakov s
diakritikou. Ak ale chcete len to, aby sa súbor zobrazoval správne pri prezeraní bez
zavedeného fontu latin 2, staèí nahradi» len tie znaky, ktoré sa nezobrazujú správne pre
¹tandardný font (spravidla latin 1).</para>
<para>Toto je príkaz, ktorý mo¾no pou¾i» pri vytváraní verzie súboru úplne bez diakritiky:
<programlisting>
sed -e "s:á:a:g" -e "s:Á:A:g" -e "s:ä:a:g" -e "s:Ä:A:g" \
-e "s:è:c:g" -e "s:È:C:g" -e "s:ï:d:g" -e "s:Ï:D:g" \
-e "s:é:e:g" -e "s:É:E:g" -e "s:ì:e:g" -e "s:Ì:E:g" \
-e "s:í:i:g" -e "s:Í:I:g" -e "s:å:l:g" -e "s:Å:L:g" \
-e "s:µ:l:g" -e "s:¥:L:g" -e "s:ò:n:g" -e "s:Ò:N:g" \
-e "s:ó:o:g" -e "s:Ó:O:g" -e "s:ô:o:g" -e "s:Ô:O:g" \
-e "s:ö:o:g" -e "s:Ö:O:g" -e "s:à:r:g" -e "s:À:R:g" \
-e "s:ø:r:g" -e "s:Ø:R:g" -e "s:¹:s:g" -e "s:©:S:g" \
-e "s:»:t:g" -e "s:«:T:g" -e "s:ú:u:g" -e "s:Ú:U:g" \
-e "s:ù:u:g" -e "s:Ù:U:g" -e "s:ü:u:g" -e "s:Ü:U:g" \
-e "s:ý:y:g" -e "s:Ý:Y:g" -e "s:¾:z:g" -e "s:®:Z:g" \
"Slovak-HOWTO.sgml" > "Slovak-HOWTO-nodiac.sgml"
</programlisting></para>
</section> <!-- tricks-recode-sed -->
<section id="tricks-recode-cstocs">
<title>cstocs</title>
<para>Braòo Katreniak</para>
<para>Keï sa zmieòujete o tom, ako sa dá odstráni» slovenèina z dokumentu, zdá sa mi vhodné
spomenú» aj program <command>cstocs</command>. Je to milá utilitka ¹tandardne dodávaná s
<application>TeXom</application>. Umo¾òuje konverziu súborov prakticky v¹etkých mo¾ných
kódových stránok medzi sebou navzájom, prièom jedna z mo¾ností je aj odstránenie diakritiky.
Prièom sa mi to zdá pohodlnej¹ie ako <command>sed</command>.</para>
</section> <!-- tricks-recode-cstocs -->
<section id="tricks-recode-recode">
<title>recode</title>
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
<para>Existuje aj program <command>recode</command>, ktorý pravdepodobne tie¾ slú¾i na zmeny v
kódovaní súborov. Urèite ho pou¾ijete na tento cieµ, ak sa predtým nestane niektorá z
nasledujúcich vecí:
<orderedlist>
<listitem>
<para>Prídete o oèi pri èítaní man stránky, info manuálu a v¹etkého èo je o tomto --
inak urèite u¾itoènom programe -- popísané.</para>
</listitem>
<listitem>
<para>Prídete o nervy pri skú¹aní v¹etkých mo¾ných kombinácií parametrov, volieb èi
argumentov pre tento nesmierne u¾itoèný program.</para>
</listitem>
<listitem>
<para>Prídete o poèítaè, keï¾e ho vyhodíte z okna po dvoch tý¾dòoch psychického
utrpenia, ktoré za¾ijete pri pokusoch s týmto extrémne u¾itoèným programom.</para>
</listitem>
</orderedlist></para>
<para>Podµa v¹etkého by mal staèi» nasledovný príkaz:
<screen>
recode l2 subor.txt
</screen>
ale zdá sa, ¾e to staèi» nebude. Latka na titul <quote>Linuxový Guru</quote> sa posunula do
závratných vý¹ok, preto¾e -- aby ste sa stali jeho nositeµom -- musíte vedie» pomocou tohto
programu previes» dokument v latin2 na latin1 alebo dokonca <acronym>ASCII</acronym> (a to
u¾ je pekný Saigon...)</para>
</section> <!-- tricks-recode-recode -->
</section> <!-- tricks-recode -->
</section> <!-- tricks -->