7. Fintičky so slovenčinou

7.1. Zadßvanie slovensk²ch znakov vo Vim

http://www.kotelna.sk/keso/unix/vim.html

Ak nem⌠žete, alebo nechcete použφvať rozloženie klßves pre slovenčinu, ale potrebujete zadať pßr našich znakov vo Vim, dß sa to urobiť pomocou prφkazu imap. Jeho formßt je
	:imap {lhs} {rhs}
      

{lhs} je postupnosť znakov, po ktor²ch zadanφ (v krßtkom časovom intervale) sa vypφše {rhs}.

Pre slovenčinu by sa dali využiť imap definφcie znakov typu
:imap =a ß
:imap +c č
      

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 sk.vim a vo Vim ho načφtate prφkazom
:source sk.vim
      

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 Ž
      

7.2. Odstrßnenie alebo nahradenie diakritiky v textov²ch s·boroch

7.2.1. sed

Jßn 'judas' Tomka,

V prφpade, že potrebujete z textovΘho s·boru odstrßniť diakritickΘ znamienka, m⌠žete použiť program sed, pomocou ktorΘho nahradφte v²skyt znaku s diakritikou jeho ekvivalentom bez nej.

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).

Toto je prφkaz, ktor² možno použiť pri vytvßranφ verzie s·boru ·plne bez diakritiky:
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"
	

7.2.2. cstocs

Braňo Katreniak

Keď sa zmieňujete o tom, ako sa dß odstrßniť slovenčina z dokumentu, zdß sa mi vhodnΘ spomen·ť aj program cstocs. Je to milß utilitka štandardne dodßvanß s TeXom. 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 sed.

7.2.3. recode

Jßn 'judas' Tomka,

Existuje aj program recode, 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φ:

  1. 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Θ.

  2. 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.

  3. 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.

Podľa všetkΘho by mal stačiť nasledovn² prφkaz:
recode l2 subor.txt
	
ale zdß sa, že to stačiť nebude. Latka na titul „Linuxov² Guru“ 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 ASCII (a to už je pekn² Saigon...)