<!--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 -->

