old-www/HOWTO/Slovenian-HOWTO-6.html

1312 lines
50 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Slovenian HOWTO: Poslovenjenje razlicnih programov</TITLE>
<LINK HREF="Slovenian-HOWTO-7.html" REL=next>
<LINK HREF="Slovenian-HOWTO-5.html" REL=previous>
<LINK HREF="Slovenian-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="Slovenian-HOWTO-7.html">Next</A>
<A HREF="Slovenian-HOWTO-5.html">Previous</A>
<A HREF="Slovenian-HOWTO.html#toc6">Contents</A>
<HR>
<H2><A NAME="s6">6. Poslovenjenje razlicnih programov</A></H2>
<P>Na tem mestu bi se v idealnem svetu opis poslovenjenja Linuxa lahko
koncal. Povedali smo vse potrebno o vnosu in izpisu nasih znakov, ter
kako z definiranjem spremenljivk okolja programom dopovemo, da delamo
s slovenskimi besedili. To poglavje je takorekoc v celoti posveceno
<EM>izjemam</EM> -- programom, ki iz taksnih ali drugacnih razlogov ne
uporabljajo lokalizacijskih spremenljivk, alternativnim metodam za
vnos ali izpis znakov, ki v izjemnih primerih (npr. ce nimamo
tipkovnice s slovenskimi znaki) lahko vseeno pridejo prav, in
podobnemu.
<P>
<H2><A NAME="shell"></A> <A NAME="ss6.1">6.1 Ukazne lupine</A>
</H2>
<H3><A NAME="bash"></A> bash</H3>
<P>Nastavitve ukazne lupine <CODE>bash</CODE> so v datoteki
~/.inputrc (ki jo po potrebi ustvarimo):
<BLOCKQUOTE><CODE>
<PRE>
set meta-flag on
set convert-meta off
set output-meta on
</PRE>
</CODE></BLOCKQUOTE>
Te tri vrstice je morda pametno dodati tudi v <CODE>/etc/skel</CODE>,
tako da jih podedujejo tudi vsi na novo ustvarjeni uporabniki.
<P>Tole se sicer ne navezuje na slovenscino, ko ste ze pri poslu, si
lahko zivljenje olajsate se s tem, da tipkam <CODE>Home</CODE>,
<CODE>Delete</CODE> in <CODE>End</CODE> vrnete njihov obicajni pomen: v isto
datoteko (~/.inputrc) dodate se vrstice
<BLOCKQUOTE><CODE>
<PRE>
"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3><A NAME="tcsh"></A> tcsh</H3>
<P>Vnos osembitnih znakov omogocimo, ce v nastavitveno datoteko
(/etc/csh.login za skupne nastavitve oz.
~/.tcshrc ali ~/.cshrc za osebne
nastavitve) dopisemo vrstico:
<BLOCKQUOTE><CODE>
<PRE>
setenv LC_CTYPE sl_SI.iso88592
</PRE>
</CODE></BLOCKQUOTE>
<P>Med nami: kaze, da je ukazni lupini <CODE>tcsh</CODE> povsem vseeno, na
kaj nastavite spremenljivko <CODE>LC_CTYPE</CODE>, samo da ni
nedefinirana.
<P><EM>Pazite:</EM> ukazna lupina mora biti prevedena z vklopljeno izbiro
``8-bit''! To lahko preverite z ukazom ``set'':
<BLOCKQUOTE><CODE>
<PRE>
rufko:~% set
...
version tcsh 6.06.00 (Cornell) 1995-05-13 (i386-intel-linux) options 8b,dl,al
rufko:~%
</PRE>
</CODE></BLOCKQUOTE>
Pomemben je tisti ``8b''. Ce se pri vas ne izpise, vam verjetno ne
preostane drugega, kot da snamete izvorno kodo in jo prevedete.
<P>
<H2><A NAME="termin-emul"></A> <A NAME="ss6.2">6.2 Terminalski emulatorji</A>
</H2>
<H3><A NAME="xterm"></A> xterm</H3>
<P>V datoteki ~/.Xresources (osebna nastavitev)
ali pa v datoteki /usr/lib/X11/app-defaults/XTerm
(skupna nastavitev) dolocimo pisave, ki jih uporablja XTerm.
Izberemo pisavo, ki ima vse znake enako siroke, npr. ,,fixed``
ali ,,Courier``, in je kodirana po razporedu ISO Latin 2.
Zgled:
<BLOCKQUOTE><CODE>
<PRE>
XTerm*font: -*-fixed-medium-r-normal--16-*-iso8859-2
XTerm*boldFont: -*-fixed-bold-r-normal-sans-16-*-iso8859-2
</PRE>
</CODE></BLOCKQUOTE>
<P>Primerne pisave lahko izpisemo z ukazom <CODE>xlsfonts</CODE> (glej se
razdelek
<A HREF="Slovenian-HOWTO-3.html#pisave-x11">X Window System</A> poglavja
``Prikaz nasih znakov na zaslonu''):
<BLOCKQUOTE><CODE>
<PRE>
xlsfonts -fn '*-fixed-*-iso8859-2'
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3><A NAME="rxvt"></A> rxvt</H3>
<P>Po podatkih v ceskem HOWTO <CODE>rxvt</CODE> zaenkrat (razvojna izdaja
2.4.6) ne deluje z nasimi znaki brez posegov v izvorno kodo. Potrebne
posege najdete v ``Czech HOWTO'' (ki <EM>ni</EM> del arhiva LDP;
glejte razdelek
<A HREF="Slovenian-HOWTO-9.html#zahvala">Zahvala</A>, kje ga najdete).
<P>
<H2><A NAME="office"></A> <A NAME="ss6.3">6.3 Pisarniski paketi</A>
</H2>
<H3><A NAME="WP"></A> WordPerfect</H3>
<P>(Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, st.9, str.60)
<P>WordPerfect ima vse potrebne znake ze v svoji tabeli. Vse, kar
moramo napraviti, je da za nase crke definiramo makroukaze. Recimo,
da bi radi definirali crko S (velika crka S s stresico). Pricnemo
s snemanjem makroukaza (recimo mu Scaron), skocimo v tabelo
znakov, v njej izberemo crko S, zakljucimo makro in nazadnje pri
nastavitvah povezemo makro z izbrano tipko.
<P>(Jaka Mele, <CODE>Message-id:
&lt;Pine.LNX.4.05.9812241251460.15368-101000@ro.zrsss.si&gt;</CODE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
---------- Forwarded message ----------
Date: Thu, 24 Dec 1998 11:04:33 +0000
From: "[ALAMUN ALEN" &lt;alen.salamun@uni-mb.si>
To: jaka.mele@lugos.si
Subject: WordPerfect SLO tipkovnica
Hi!
Daj prosim spravi to v mojem imenu na lugos listo, ker je verjetno
trazena roba. Uspelo mi je definirati SLO tipkovnico brez makrojev. Sem na
fax-u pa ne morem poslati jaz na Lugos listo.
LP, Alen
</PRE>
</CODE></BLOCKQUOTE>
<P>Datoteko SLO.WGK s prireditveno tabelo za slovensko
tipkovnico najdete na
<P>
<BLOCKQUOTE><CODE>
<A HREF="ftp://sizif.mf.uni-lj.si/pub/i18n/SLO.WGK">ftp://sizif.mf.uni-lj.si/pub/i18n/SLO.WGK</A></CODE></BLOCKQUOTE>
<P>(Andrej Komelj, <CODE>Message-id:
&lt;19981224182341.A3794@perun.mist.si&gt;</CODE>)
<P>
<BLOCKQUOTE><CODE>
<PRE>
Odgovor na vprasanje: "Kako je s podporo sumnikom v WP-ju 8.0 pod
Linuxom?" se glasi: SLABO.
1. Resitev v obliki "insert symbol -&gt; multinational" je v teoriji
uporabna, vendar... Hja, multinational znaki so v WP Multinational
fontu, le-ta pa je najbolj podoben Roman-WP fontu. Ima "serife", zato
Helvetica in Zurich odpadeta. Vendar se tudi pri Roman-WP pojavijo
tezave, ce se le-tega uporablja v bold, italic ali bold-italic obliki.
2. Resitev v obliki uporabe Type 1 fontov z definiranimi slovenskimi
znaki (kje se jih dobi? odg: poglejte si v Slovenian-HOWTO, ali jih
skopirajte iz OS/2-ja, ce ga imate) pa zal tudi odpade, ker "brezplacna"
verzija WP-ja nima vsebovanega font installerja (xwpfi) in zato kakrsno
koli dodajanje fontov v wp.drs odpade... Skratka, tako kot je nekdo ze
napisal; brezplacen-in-neoskubljen WP je ena velika potegavscina... Za
Americane je mogoce se nekako uporaben, za povprecnega Slovenca, ki pise
tudi slovenska besedila, pa je popolnoma brez vrednosti. :-(
Nazaja k LyX-u in ze sestavljenim vzorcem. :-)
Mimogrede, kaj se je zgodilo z WP-jem?!? Dokler se ni bil v lasti
Corel-a, je znal postavljati stresice na katere koli znake v katerem
koli fontu. Z WP-jem 6.0 za DOS sem tako pisal tekste v TrueType, Type 1
in CG fontih... POVSOD sem lahko uporabljal sumnike. Huh, "napredek" pa
tak.
--
Kome.
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3><A NAME="StarOffice"></A> Star Office</H3>
<P>(Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, st.9, str.60)
<P>StarOffice je malce tezavnejsi, zato, ker rabi dodatne Type1 fonte, pa
vendarle povejmo recept se zanj. Kot prvo si torej moramo dobiti
slovenske oziroma latin2 pisave (pfb, afm, fonts.dir in
fonts.scale) iz recimo ftp streznika drustva uporabnikov
linuxa slovenije
<A HREF="ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/">ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/</A>,
datoteki l2afm004.zip in l2pfb004.zip). Nato
arhiva odpremo v /usr/lib/X11/fonts/Type1.Latin2/, ter ta
imenik dodamo v spisek imenikov s pisavami, ki jih uporabi XWindow
streznik. To naredimo tako, da v datoteko
/etc/X11/XF86Config dopisemo:
<BLOCKQUOTE><CODE>
FontPath "/usr/X11R6/lib/X11/fonts/Type1.Latin2/"
</CODE></BLOCKQUOTE>
<P>Za tem pozenemo
<BLOCKQUOTE><CODE>
xset fp+ /usr/X11R6/lib/X11/fonts/Type1.Latin2/
</CODE></BLOCKQUOTE>
<P>ter se <CODE>xset fp rehash</CODE>. Nato je potrebno v direktoriju
/usr/local/StarOffice3-1/x3p/fontmetrics/ za
<CODE>.afm</CODE> datoteke narediti povezave iz
/usr/lib/X11/fonts/Type1.Latin2/. Podobno naredimo se za
direktorij /usr/local/StarOffice3-1/x3p/pssoftfonts/, le
da sem povezemo .pfb datoteke. Skoraj smo ze na koncu, v datoteko
/usr/local/StarOffice-3.1/xp3/psstd.fonts dodamo po vzoru
ze dodanih pisav v datoteki fonts.dir iz Latin2 podrocja, vse nove
pisave, tako, da namesto npr. arial.pfb pride
<CODE>arial</CODE>, namesto <CODE>-0-0-0-0</CODE> pa <CODE>-%d-%d-%d-%d...</CODE>
Saj se takoj vidi. Na koncu si premapirajmo se tipkovnico in sicer s
programom xmodmap, tako da izvrsimo <CODE>xmodmap
xmodmap.si</CODE>. Ce imate starejsi Xwindow sistem, si boste morda
morali xmodmap.si se popraviti, da vam bosta tipki
Backspace in Delete delali normalno, sicer pa samo pozenete
swriter3 in uzivate v dodatnih slovenskih pisavah.
<P>
<H3>Applixware</H3>
<P>(Boris Pozar, <CODE>Message-Id:
&lt;346044BF.FE97E3AF@guest.arnes.si&gt;</CODE>)
<P>Z Lugosovega streznika snamemo pisave TrueType v kodnem naboru ISO
8859-2. Potem jih kot <CODE>root</CODE> s FontManagerjem dodamo v katalog
pisav in zadeva je resena.
<P>
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/l2ttf004.zip">ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/l2ttf004.zip</A></CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss6.4">6.4 Urejevalniki</A>
</H2>
<H3><A NAME="emacs"></A> GNU emacs</H3>
<P>Emacs je, tako kot njegov avtor, kontroverzni Richard M. Stallman,
urejevalnik, glede katerega ljudje niso indiferentni: ali ga obozujejo,
ali pa sovrazijo. Emacs je vec kot urejevalnik; je takorekoc
nacin zivljenja. V njem lahko pisete programe, iz njega poganjate
prevajalnik, pisete besedila, poganjate crkovalnik, poganjate TeX,
berete posto in novice... Ko enkrat v resnici dobro obvladate Emacs,
imate realne moznosti, da se vam se dobrsen del naslednjega stoletja
ne bo treba nauciti nobenega novega urejevalnika. Dokazano pa ljudje
shajajo tudi brez njega.
<P>
<H3>Starejse izdaje programa GNU emacs</H3>
<P>Privzeta nastavitev urejevalnika je omejitev na sedembitne znake
(ASCII). Nastavitev spremenimo tako, da v datoteko z nastavitvami
dodamo naslednjih nekaj vrstic:
<HR>
<PRE>
;; Omogocimo izpis znakov s kodo vecjo od 127
(standard-display-european t)
;; Omogocimo vnos znakov s kodo vecjo od 127
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
</PRE>
<HR>
<P>Prilagoditev Emacsa je mozno izvesti v eni od naslednjih datotek
z nastavitvami:
<UL>
<LI>/usr/lib/emacs/site-lisp/site-start.el (skupne
nastavitve)</LI>
<LI>~/.emacs (osebne nastavitve)</LI>
<LI>/usr/lib/emacs/site-lisp/default.el (skupne
nastavitve)</LI>
</UL>
<P>Z vnosom in izpisom nasih znakov seveda se ni konec zgodbe o
prilagoditvi Emacsa za slovenscino. Zelimo na primer tudi, da se ukaza
<CODE>forward-word</CODE> in <CODE>backward-word</CODE> ne bosta zatikala na
nasih znakih, ter da tudi za nase znake pravilno tece pretvarjanje med
velikimi in malimi crkami. S starejsimi izdajami Emacsa to ni vedno
povsem trivialno. Bralcu bo v veliko pomoc zbirka nasvetov Slovenscina
in racunalniki avtorja Alesa Kosirja, v kateri je programu GNU emacs
so posveceno obsirno poglavje. Najdete jo na
<BLOCKQUOTE><CODE>
<A HREF="http://nl.ijs.si/gnusl/tex/tslovene/slolang/slolang.html">http://nl.ijs.si/gnusl/tex/tslovene/slolang/slolang.html</A></CODE></BLOCKQUOTE>
<P>
<H3>GNU emacs 20</H3>
<P>Z zadnjo izdajo urejevalnika Emacs in standardno slovensko tipkovnico
je prilagoditev posebno enostavna. Vse, kar potrebujemo, je
<HR>
<PRE>
;;; Turn on Latin-2 both as input and output method (Emacs 20.*
;;; and onwards)
(set-language-environment "Latin-2")
</PRE>
<HR>
Kasneje lahko nacin Latin-2 izberemo za vnos in izpis v menuju Mule /
Set Language Environment / European / Latin-2.
<P>
<H3><A NAME="crisp"></A> crisp</H3>
<P>Crisp je urejevalnik v duhu urejevalnika Brief z burno zgodovino.
Napisal ga je
<A HREF="mailto:fox@crisp.demon.co.uk">Paul Fox</A> iz Anglije in ga distribuiral kot ``program na pokusino''
(shareware). Zadnja taksna razlicica je 2.2e iz leta 1991 in je po
nekaterih vesteh avtor ne podpira vec. Novejse (trenutno 5.1) pa trzi
podjetje
<A HREF="http://www.crisp.com/">Vital, Inc.</A> iz
Teksasa, ZDA. Crisp je nekako blizje pecejevskemu duhu, kot pa sta Emacs
in Vi; ce se nobenega od teh dveh ne morete navaditi, je morda Crisp
prava izbira.
<P>Privzeta nastavitev urejevalnika Crisp 2.2e je, da znakov s kodami od
127 dalje ne prikaze, ampak izpise njihovo sestnajstisko kodo, ki jo
uvede z znakoma <CODE>\x</CODE>. Pomaga, ce nalozimo paket z izvorno
kodo Crisp in v datoteki
$(SRC)/crisp2.2e/src/crunch/tty/xterm.cr popravimo drugi
argument funkcije <CODE>set_term_features()</CODE> iz <CODE>NULL</CODE> na
<CODE>&quot;%c&quot;</CODE>. Popravljeni makroukaz prevedemo:
<BLOCKQUOTE><CODE>
<PRE>
crunch xterm.cr
</PRE>
</CODE></BLOCKQUOTE>
Rezultat, popravljeni xterm.cm, postavimo med ostale,
navadno v imenik /usr/local/lib/crisp/macros/tty.
<P>Makro <CODE>xterm</CODE> velja, kot bi iz imena sami uganili, za
Crisp, pognan v oknu XTerm znotraj X Window System. Enaka
intervencija piscu teh vrstic ni uspela na linux.cr
(konzola) in xcrisp.cr (razlicica Crisp za X11). Poleg
tega se je na starejsi verziji Linuxa (1.0.8) <CODE>crunch</CODE>
pritozeval nad predprocesorjem za C, /lib/cpp. Pomagala
je logicna povezava:
<BLOCKQUOTE><CODE>
<PRE>
ln -s /usr/lib/gcc-lib/i486-linux/2.5.8/cpp /lib/cpp
</PRE>
</CODE></BLOCKQUOTE>
<P>Ales Kosir je napisal za Crisp makro <CODE>slovene</CODE>:
<BLOCKQUOTE><CODE>
<A HREF="http://nl.ijs.si/gnusl/tex/tslovene/src/slovene.cr">http://nl.ijs.si/gnusl/tex/tslovene/src/slovene.cr</A></CODE></BLOCKQUOTE>
Z njim lahko vnasamo nase znake tudi na tipkovnicah, ki nimajo
primernih tipk na nacin: namesto c vtipkamo <CODE>&quot;c</CODE>, makro
pa pretvori zaporedje v ustrezen znak. Poleg ISO Latin 1 podpira
se nekaj drugih kodiranj, ki so v uporabi v nasih krajih.
Navodila za uporabo so na voljo tudi prek WWW:
<BLOCKQUOTE><CODE>
<A HREF="http://nl.ijs.si/gnusl/tex/tslovene/slolang/">http://nl.ijs.si/gnusl/tex/tslovene/slolang/</A></CODE></BLOCKQUOTE>
<P>Del distribucije Caldera OpenLinux je tudi ``lahka'' izvedba urejevalnika
Crisp, CRiSP LiTE. Caldera ponuja tudi moznost kasnejse ugodnejse
nadgraditve na polno izvedbo. CRiSP LiTE nima zgoraj opisanih tezav z
vnosom osembitnih znakov.
<P>
<H3><A NAME="vi"></A> vi</H3>
<P>Urejevalnik <CODE>vi</CODE> izvira iz sive davnine Unixa. Zaradi tezav z
licencnino najdete na sistemih Linux namesto originalnega Vi navadno
urejevalnik <CODE>vim</CODE> (Vi IMproved) avtorja Brama Moolenaarja,
vcasih pa tudi ``elvis'', delo Steva Kirkendalla, ali <CODE>nvi</CODE> iz
distribucije BSD 4.4. Ideje, na katerih temelji ``vi'' so v temeljih
ortogonalne na vse, kar ste se o urejevalnikih naucili pod
MS-DOS. Kljub temu pa je glede na to, da je ``vi'' edini urejevalnik,
ki zanesljivo obstaja na cisto vsakem Unixu, pametno poznati nekaj
osnovnih ukazov za delo z njim.
<P>Po izkusnjah pisca tako originalni <CODE>vi</CODE> kot tudi <CODE>vim</CODE>
sama po sebi brez tezav prepuscata osembitne znake. Tezave lahko
vcasih povzrocajo zunanji programi, ki jih klicemo iz urejevalnika
(npr. <CODE>fmt</CODE> za poravnavanje besedila). Navadno pomaga, ce v
<CODE>~/.profile</CODE> dolocimo spremenljivko <CODE>LC_CTYPE</CODE>
(glej poglavje
<A HREF="Slovenian-HOWTO-5.html#locale">Slovenski locale</A>).
<P>
<H2><A NAME="email"></A> <A NAME="ss6.5">6.5 Elektronska posta</A>
</H2>
<H3><A NAME="pine"></A> Pine</H3>
<P>Pine najprej prebere skupne nastavitve iz
/usr/local/lib/pine.conf (ali /etc/pine.conf,
zatem pa se osebne nastavitve iz ~/.pinerc. V enem ali
drugem poiscemo niz <CODE>character-set</CODE> in postavimo to
spremenljivko na <CODE>ISO-8859-2</CODE>:
<HR>
<PRE>
...
# character-set should reflect the capabilities of the display
# you have. Normal default is US-ASCII. Typical alternatives
# include ISO-8859-x, where x is a number between 1 and 9.
character-set=ISO-8859-2
...
</PRE>
<HR>
<P>
<H3><A NAME="elm"></A> elm</H3>
<P>Opozorilo: pisec ze dolgo ne uporablja vec tega programa in zapisanega
ni preveril. Danski in nemski HOWTO trdita, da je bodisi dovolj
v ukazni lupini postaviti spremenljivko <CODE>LANG</CODE> na vrednost
<CODE>iso_8859_1</CODE>, bodisi v konfiguracijski datoteki
<CODE>~/.elm/elmrc</CODE> nastaviti vrednosti naslednjih spremenljivk:
<HR>
<PRE>
...
charset=iso-8859-1
displaycharset=iso-8859-1
textencoding=8bit
...
</PRE>
<HR>
Vse ISO 8859-1 bi bilo pri nas verjetno potrebno nadomestiti z ISO
8859-2.
<P>Se enkrat prosim koga, ki ta program v resnici uporablja, da opise svoje
izkusnje.
<P>
<H3><A NAME="ns-mail"></A> Netscape Mail</H3>
<P>V Netscape Mail 4.06 je mozno pisati nase znake v telesu sporocila, ne
pa tudi v glavi. Ko imamo enkrat namescene nase pisave in urejeno
preslikavo tipkovnice (razdelka
<A HREF="Slovenian-HOWTO-3.html#pisave-x11">Pisave pod X11</A> in
<A HREF="Slovenian-HOWTO-4.html#tipk-x11">Tipkovnica pod X11</A>), le se v
menuju View postnega programa izberemo ``Encoding'', tam pa ``Central
European (ISO-8859-2)''.
<P>Vesel bom opisa izkusenj z drugimi izdajami programa Netscape Mail.
<P>
<H2><A NAME="www"></A> <A NAME="ss6.6">6.6 Svetovni splet</A>
</H2>
<P>
<P>
<H3><A NAME="lynx"></A> Lynx</H3>
<P>Lynx pozna od izdaje 2.5 dalje tudi kodno stran ISO 8859-2. Nastavimo
jo lahko na enega od treh nacinov. Prvi je, da izberemo
<CODE>O)ptions</CODE>, zatem pa <CODE>C)harset</CODE>, ter z pritiskanjem na
kurzorske puscice izberemo zeljeni nabor znakov. Drugi je, da v
datoteki ~/.lynxrc (osebna nastavitev) nastavimo
<BLOCKQUOTE><CODE>
character_set=ISO Latin 2
</CODE></BLOCKQUOTE>
In zadnji je, da v datoteki /usr/lib/lynx.cfg (skupna
nastavitev)
<BLOCKQUOTE><CODE>
CHARACTER_SET:ISO Latin 2
</CODE></BLOCKQUOTE>
<P>
<H3><A NAME="netscape"></A> Netscape Navigator</H3>
<P>(Metod Kozelj, <CODE>Message-id:
&lt;Pine.HPP.3.96.981216083349.17728E-100000@hmljhp.rzs-hm.si&gt;</CODE>)
<P>Netscape Navigator, pa tudi brkljalnik iz Netscape Communicator,
uporabljata nabor znakov, ki ga nudi X Windows System. Za prikaz nasih
znakov je torej najprej namestiti pisave za X11 (poglavje
<A HREF="Slovenian-HOWTO-3.html#pisave-x11">Pisave pod X11</A>). Ko Navigator zazenemo, sam
ugotovi, da so na voljo tudi pisave za 'Central European
(ISO-8859-2)'. Ce pregledujemo stran, ki brkljalniku pravilno sporoci
uporabljeni nabor znakov, potem Navigator avtomaticno uporabi pisavo s
pravim kodnim naborom. Seveda lahko spremenimo osnovno velikost crk
ali pa obliko za proporcionalno pisavo.
<P>To storimo tako, da v 'Edit / Preferences / Appearance / Fonts' dolocimo,
da spreminjamo nastavitve za srednjeevropske pisave ('For the Encoding
/ Central European (iso-8859-2)'), potem pa izberemo, s katero pisavo
naj Navigator prikazuje tekste. Navigator nam sam ponudi le pisave s
pravim naborom znakov.
<P>Ce pregledujemo strani, ki imajo sicer pravilen razpored crk (razpored
ISO 8859-2 in ne Windows-1250), pa Navigator ne uporabi pisave s
pravim razporedom crk, lahko razpored preklopimo rocno z izbiro
,,View / Encoding / Central European (ISO-8859-2)``.
<P>Ob izbiri pisave s pravilnim razporedom crk in ob pravilnem razporedu
tipk na tipkovnici lahko uporabljamo nase crke tudi pri pisanju v
modulu 'Page Composer'.
<P>Netscape Communicator 4.06 in novejsi znajo na Unixih, ki imajo
namescene pisave ISO 8859-2, prikazati tudi strani, napisane v kodni
strani Microsoft CP1250, oznacene kot <CODE>windows-1250</CODE> v glavi.
<P>
<H3><A NAME="www-server"></A> Spletni strezniki</H3>
<P>Opomba: spodnje besedilo je prevod navodil ,,Configuring WWW Server
for ISO 8859-2``
<A HREF="http://sizif.mf.uni-lj.si/linux/cee/app/httpd.html">http://sizif.mf.uni-lj.si/linux/cee/app/httpd.html</A>, ta pa se v
veliki meri naslanjajo na besedilo Marka Martinca ,,Resitev problema
slovenskih sumnikov v HTML dokumentih``
<A HREF="http://www.ijs.si/doc/www-csz.html">http://www.ijs.si/doc/www-csz.html</A>.
<P>
<H3>Nacela</H3>
<P>
<OL>
<LI>Dolocilo HTTP zahteva, da prenosni protokol HTTP prenasa tok
podatkov brez omejitve na nabor ASCII ali izpisljive znake. To
vkljucuje osembitne znake, sestnajstbitne znake kot npr. ISO10646 ali
daljnovzhodne jezike, slike, animacije, zvok ipd.
</LI>
<LI>Vsebino spisa doloca glava MIME (vrstica
<CODE>Content-Type</CODE>. To je edina informacija o zvrsti informacije,
ki jo ima na voljo brskalnik, zato mora odrazati pravo vsebino spisa.
</LI>
<LI>Privzeto kodni razpored (terminologija MIME/HTTP uporablja izraz
,,nabor znakov``) za spise HTML je ISO 10646 oz. njegova osembitna
podmnozica ISO 8859-1. <EM>Vsak</EM> spletni brskalnik mora biti
zmozen prikazati spis HTML, ki uporablja kodni razpored ISO
8859-1. Glava MIME za spise HTML, kodirane po ISO 8859-1, je:
<BLOCKQUOTE><CODE>
<PRE>
Content-Type: text/html
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Dolocilo HTTP dovoljuje, da z dodatnim dolocilom
<CODE>charset</CODE> v vrstici <CODE>Content-Type</CODE> glave MIME izberemo
drug kodni razpored. Naceloma je dovoljen katerikoli kodni razpored,
registriran pri IANA Character Set Registry. Iz prakticnih razlogov pa
je priporocljivo, da se omejimo na naslednje entitete HTTP:
<BLOCKQUOTE><CODE>
<PRE>
charset = "US-ASCII"
| "ISO-8859-1" | "ISO-8859-2" | "ISO-8859-3"
| "ISO-8859-4" | "ISO-8859-5" | "ISO-8859-6"
| "ISO-8859-7" | "ISO-8859-8" | "ISO-8859-9"
| "ISO-2022-JP" | "ISO-2022-JP-2" | "ISO-2022-KR"
| "UNICODE-1-1" | "UNICODE-1-1-UTF-7" | "UNICODE-1-1-UTF-8"
| token
</PRE>
</CODE></BLOCKQUOTE>
Entiteta, ki je definirana pri IANA Character Set Registry, mora
predstavljati nabor znakov, kot je bil prijavljen pri IANA. Prazna
entiteta implicira nabor ISO 8859-1 (kar vkljucuje US-ASCII, ki je
njegova podmnozica).
Spise HTML, kodirane v skladu s kodnim razporedom ISO 8859-2, morajo
potemtakem vsebovati v glavi MIME vrstico
<BLOCKQUOTE><CODE>
<PRE>
Content-Type: text/html; charset=ISO-8859-2
</PRE>
</CODE></BLOCKQUOTE>
Pri tem presledek med podpicjem in <CODE>charset=ISO-8859-2</CODE> ni
obvezen.
</LI>
<LI>Numericne entitete oblike <CODE>&amp;#<I>nnn</I>;</CODE> dolocajo
pismenko s kodo <I>nnn</I> v referencnem razporedu znakov (ISO
8859-1 oz. ISO 10646), ne pa v trenutno izbranem. Na ta nacin torej
sploh ne moremo uporabljati nasih znakov, kodiranih skladno s kodnim
razporedom ISO 8859-2, lahko pa uporabimo 16-bitne kode ISO
10646. Crko c (mali C s kljukico) lahko torej zapisemo kot
<CODE>&amp;#269;</CODE>. In samo tako.</LI>
</OL>
<P>
<H3>Prakticni oziri</H3>
<P>Kdaj je uporaba kodnega razporeda ISO 8859-2 priporocljiva, kdaj pa
ne? Znotraj <EM>intraneta</EM> (notranjega informacijskega sistema) v
okolju, kjer se uporablja ISO 8859-2, je morda smiselno ta razpored
uporabiti za <EM>vse</EM> spise. Ce pa je informacija namenjena
sirsemu obcinstvu, pa je potrebno vedeti, da je uporabniki zunaj
srednje ali vzhodne Evrope, kjer se ta kodni razpored uporablja,
informacije morda ne bodo mogli prikazati. Veljavno dolocilo
prenosnega protokola HTTP namrec od spletnih brskalnikov ne zahteva,
da prikazejo spise HTML, ki uporabljajo kodni razpored ISO 8859-2. V
primeru, da brskalnik ne zmore prikazati strani v zahtevanem kodnem
razporedu, lahko ta problem ignorira in stran (nepravilno) prikaze v
nekem drugem kodnem razporedu (navadno ISO 8859-1), ali pa ponudi, da
spis shranimo na disk. Zato je priporocljivo, da vstopne tocke v vas
informacijski sistem ne uporabljajo kodnih razporedov, razlicnih od
ISO 8859-1.
<P>
<H3>Podrobnosti izvedbe</H3>
<P>Obdelali bomo tri metode, s katerimi lahko spletni streznik
prilagodimo, da pravilno postreze uporabniku s spisom, kodiranim po
ISO 8859-2:
<UL>
<LI>dolocitev nove pripone za staticne spise, kodirane po
ISO-8859-2, in vezava le-te na na primeren tip spisa v glavi MIME</LI>
<LI>dinamicno prekodiranje spisov</LI>
<LI>uporaba posebnosti streznika ali brskalnika</LI>
</UL>
<P>
<H3>Dolocitev nove pripone za staticne spise</H3>
<P>Ob zahtevku za spis vecina spletnih streznikov izve zvrst staticnih
spisov iz pripone datoteke ter na osnovi tega izdela glavo MIME, s
katero opremi spis, preden ga izroci prejemniku. Vec razlicnih pripon
lahko ustreza isti zvrsti spisa (priponi <CODE>.jpeg</CODE> in
<CODE>.jpg</CODE> na primer obe dolocata zvrst <CODE>image/jpeg</CODE>),
obratno pa ne - ena pripona lahko doloca kvecjemu eno zvrst spisa.
<P>Nobene splosne metode ni, ki bi dovoljevala uporabo pripone
<CODE>.html</CODE> za spletne spise, kodirane bodisi v skladu s kodnim
razporedom ISO 8859-1, bodisi ISO 8859-2, in pricakovala od spletnega
streznika, da se bo nekako odlocil, s kaksno glavi MIME bo opremil ene
in druge. Ena moznost je vsekakor, da pripono <CODE>.html</CODE> trajno
vezemo na zvrst spisov HTML, kodirani skladno s kodnim razporedom ISO
8859-2. Ta resitev ima seveda ocitno pomanjkljivost za obcinstvo, ki
ne more prikazati tega nabora znakov.
<P>Tukaj predlagana resitev izkorisca zmoznost spletnih streznikov, da
dolocijo novo pripono datoteke in jo vezejo na zvrst spisa
<CODE>text/html; charset=ISO-8859-2</CODE> v glavi MIME. To moznost
podpira vecina spletnih streznikov. Streznika W3C ter NCSA
<CODE>httpd</CODE> (ter vse njune izpeljanke, npr. Apache) uporabljata
ukaz <CODE>AddType</CODE> v nastavitveni datoteki za vezavo dodatnih
zvrsti spisov na nove pripone datotek. Z enostavno in domisleno shemo
(glej
<A HREF="http://www.ijs.si/doc/www-csz.html">Resitev problema slovenskih sumnikov v HTML dokumentih</A> lahko zagotovimo
pravilne glave MIME za zvrsti spisov, ki uporabljajo kodne razporede,
razlicne od ISO 8859-1. Ce na primer dolocimo pripono
<CODE>.html-l2</CODE> za spise, kodirane skladno s kodnim razporedom ISO
8859-2, moramo v nastavitveni datoteki dodati vrstico:
<P>
<UL>
<LI>Streznik W3C httpd (CERN httpd): v datoteki
httpd.conf dodamo:
<BLOCKQUOTE><CODE>
<PRE>
AddType .html-l2 text/html;charset=ISO-8859-2 8bit 1.0
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Streznik NCSA httpd: v datoteki srm.conf
dodamo:
<BLOCKQUOTE><CODE>
<PRE>
AddType text/html;charset=ISO-8859-2 .html-l2
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Streznik Apache se od NCSA httpd razlikuje samo po manjkajoci
piki: v datoteki srm.conf dodamo:
<BLOCKQUOTE><CODE>
<PRE>
AddType text/html;charset=ISO-8859-2 html-l2
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</UL>
<P>
<H3>Dinamicno prekodiranje</H3>
<P>Na vsakem spletnem strezniku, ki podpira vmesnik Common Gateway
Interface (CGI) lahko izvedemo dinamicno prekodiranje spletnih
spisov. Poleg dobrih strani (iz enega samega izvora lahko ponudimo
spletni spis v mnogo razlicnih kodnih razporedih) ima ta metoda tudi
slabe: pretvarjanje spisa po eni strani porablja procesorski cas
streznika, po drugi pa dinamicnih spisov posredniki (angl. proxy)
navadno ne shranjujejo v medpomnilniku, zato z njimi dodatno
obremenjujemo komunikacijske vode.
<P>Primera skriptov, ki izvajata dinamicno prekodiranje:
<UL>
<LI>slovene - paket za dinamicno pretvarjanje spletnih spisov iz
kodnega razporeda JUS I.B1.002 v CP852, CP1250, ISO 8859-2 ter
US-ASCII (s precrkovanjem iz CSZ v CSZ). Avtor Tadej Vodopivec,
Ljubljana, Slovenija.
</LI>
<LI>pl-conv - skript v Perl za dinamicno pretvarjanje kodiranja
spletnih spisov med ISO 8859-2, CP852, CP1250, Mazowia, Apple RomanCE
in US-ASCII (s precrkovanjem). Avtor Jaroslaw Strzalkowski, Krakow,
Poljska.</LI>
</UL>
<P>Sledijo tri resitve, ki uporabljajo posebnosti in nestandardne
razsiritve programske opreme. Prvi dve se nanasata na spletni
streznik, zadnja na priljubljeni spletni brskalnik Netscape
Navigator. Istega problema se je lotil G. Nicol s predlogom ``MIME
Header Supplemented File Type''.
<P>
<H3>Metainformacija za spletni streznik W3C</H3>
<P>Spletni streznik W3C (nekoc poznan kot CERN WWW) omogoca dodajanje
metainformacije v glave MIME odhodnih spisov.
<P>Po privzeti nastavitvi isce streznik metainformacije v datotekah s
pripono <CODE>.meta</CODE> podimenik <CODE>.web</CODE> imenika s spisi. Ce na
primer spletne spise hranimo v imeniku <CODE>/WWW/Hypertext</CODE> in
zelimo opremiti spis <CODE>isolatin2.html</CODE> v njem s pravilno glavo
MIME, napravimo to takole:
<P>
<UL>
<LI>Ce se ne obstaja, najprej ustvarimo podimenik <CODE>.web</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
$ mkdir /WWW/Hypertext/.web
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Zatem v tem podimeniku ustvarimo datoteko z
metainformacijami. Za datoteko isolatin2.html se bo ta
imenovala isolatin2.html.meta. Datoteka mora vsebovati
glavo MIME v obliki, kot jo predpisuje format RFC822. V nasem primeru
je to ena sama vrstica:
<BLOCKQUOTE><CODE>
<PRE>
Content-Type: text/html; charset=ISO-8859-2
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</UL>
<P>
<H3>Datoteke ASIS za streznik Apache</H3>
<P>Streznik Apache doloca poseben tip datoteke, imenovan ASIS. Streznik
poslje datoteko ASIS odjemniku natancno taksno, kot je (angl. ``as
is''), ne da bi jo opremil z glavo, ki jo sicer zahteva protokol
HTTP. Datoteka sama mora zato vsebovati vsa potrebna polja, ki jih
zahteva protokol HTTP, tem sledi prazna vrstica in vsebina spisa
HTML.
<P>V nastavitveni datoteki za streznik dolocimo, da pripona
<CODE>.asis</CODE> pripada zvrsti spisa <CODE>httpd/send-as-is</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
AddType httpd/send-as-is asis
</PRE>
</CODE></BLOCKQUOTE>
<P>Primer datoteke ASIS:
<BLOCKQUOTE><CODE>
<PRE>
Status: 200 OK
Content-Type: text/html; charset=ISO-8859-2
&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Hello world&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;H1&gt;Zivjo svet!&lt;/H1&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;
</PRE>
</CODE></BLOCKQUOTE>
<P>Kot vidite, morate v datoteko vkljuciti tudi tromestno odzivno kodo
streznika. Streznik <EM>vedno</EM> doda polji <CODE>Date:</CODE> in
<CODE>Server:</CODE>, zato teh ne smemo vkljuciti v datoteko.
<P>
<H3>Znacka &lt;META&gt; z oznacbo HTTP-EQUIV</H3>
<P>V dolocilu HTTP 2.0 predlagana znacka <CODE>&lt;META&gt;</CODE> z oznacbo
<CODE>HTTP-EQUIV</CODE> je bila predlagana kot neobvezna metoda, s katero
lahko streznik potegne dodatno metainformacijo iz zaglavja
(<CODE>&lt;HEAD&gt;</CODE>) spletnega spisa in jo uporabi pri tvorjenju
glave MIME. Piscu teh vrstic ni znano, da bi kateri streznik to v
resnici tudi pocel. Tovrstno razclenjevanje spletnih spisov verjetno
predstavlja preveliko obremenitev za procesor in bi se mocno poznalo
pri odzivnosti spletnega streznika. Pac pa so namesto tega zaceli to
informacijo uporabljati spletni brskalniki (Netscape Navigator, na
primer, to pocenja od izdaje 2.0 dalje).
<P>Primer spisa z metainformacijo o uporabljenem kodnem razporedu v
zaglavju spisa:
<BLOCKQUOTE><CODE>
<PRE>
&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Naslov&lt;TITLE&gt;
&lt;META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-2"&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
Besedilo...
&lt;/BODY&gt;
&lt;/HTML&gt;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="remote"></A> <A NAME="ss6.7">6.7 Delo na oddaljenem racunalniku</A>
</H2>
<P>Z ukazoma <CODE>telnet</CODE> ali <CODE>rlogin</CODE> lahko prek omrezja
TCP/IP delamo na drugem racunalniku.
<P>Tezave z osembitnimi znaki pri tem so redko posledica napacne
nastavitve v maloprej omenjenih programov, saj privzeti
nastavitvi pri obeh podpirata osembitne znake. V primeru tezav
se poleg teh programov splaca pogledati se
<UL>
<LI>nastavitev ukazne lupine (poglavje
<A HREF="#shell">Ukazne lupine</A>)</LI>
<LI>nastavitev terminala (fizicnega ali virtualnega).
Eksplicitno ga lahko nastavimo z ukazom
<BLOCKQUOTE><CODE>
stty -parenb -istrip cs8
</CODE></BLOCKQUOTE>
</LI>
<LI>in na koncu res nastavitev programov <CODE>telnet</CODE> ali <CODE>rlogin</CODE></LI>
</UL>
<P>
<H3><A NAME="telnet"></A> Telnet</H3>
<P>Telnet eksplicitno pripravimo do vzpostavitve osembitne zveze
z ukazom <CODE>toggle binary</CODE>:
<BLOCKQUOTE>
<CODE>~&gt; telnet<BR>
telnet&gt; toggle binary<BR>
Negotiating binary mode with remote host.<BR>
telnet&gt; open <EM>racunalnik</EM></CODE>
</BLOCKQUOTE>
<P>Telnet omogoca tudi, da si nastavitve za izbrane racunalnike
vnesemo v nastavitveno datoteko, ~/.telnetrc.
Vnosi imajo obliko:
<BLOCKQUOTE><CODE>
<PRE>
...
biofiz.mf.uni-lj.si
set binary true
...
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3><A NAME="rlogin"></A> rlogin</H3>
<P>Privzet nacin zveze pri programu ``rlogin'' je osembiten,
eksplicitno pa lahko to dolocimo z dolocilom ``-8'':
<BLOCKQUOTE>
<CODE>rlogin <EM>racunalnik</EM> -8</CODE>
</BLOCKQUOTE>
<P>
<H2><A NAME="TeX"></A> <A NAME="ss6.8">6.8 TeX in LaTeX</A>
</H2>
<P>Poslovenjenje paketa LaTeX obsega
<UL>
<LI>7- in 8-bitni nacin vnosa nasih znakov</LI>
<LI>nacin izpisa nasih znakov</LI>
<LI>poslovenjenje izpisov ``Contents'', ``Figure'' ipd.</LI>
<LI>slovenska pravila za deljenje besed</LI>
<LI>prilagoditev programa LyX: vizualnega okolja za vnos besedil v
LaTeX in Linuxdoc DTD</LI>
</UL>
Urejanje stvarnega kazala po slovenski abecedi zaenkrat se ne gre
avtomaticno. Pokazemo, kako lahko tezavo z nekaj truda obvozimo.
<P>Podporo za neangleske jezike v LaTeXu je poenotil paket <CODE>babel</CODE>
Johannesa Braamsa z Nizozemske, ki je standardni del vseh sodobnih
distribucij paketa TeX na Linuxu, kot sta teTeX in NTeX:
<BLOCKQUOTE><CODE>
<A HREF="ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/">ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/</A><BR>
<A HREF="http://web.mathematik.uni-stuttgart.de/ntex/WWW/">http://web.mathematik.uni-stuttgart.de/ntex/WWW/</A></CODE></BLOCKQUOTE>
<P>Z uporabo izbire ``slovene'' v paketu <CODE>babel</CODE> se avtomaticno
izberejo slovenska imena pod- in nadnapisov, naslovov ipd., slovenska
pravila za zlogovanje besed (ce imamo namescene slovenske zlogovalne
vzorce; poglavje
<A HREF="#zlogovanje">Slovenska pravila za deljenje besed</A>), in 7-bitni nacin vnosa znakov <CODE>"c"s"z</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
\usepackage[slovene]{babel}
</PRE>
</CODE></BLOCKQUOTE>
<P>V novi razlicici LaTeXa (LaTeX2e) lahko s paketoma
<CODE>fontenc</CODE> in <CODE>inputenc</CODE> izberemo tudi 8-bitno kodno
tabelo <CODE>T1</CODE> (znano tudi kot DC ali Cork) in 8-bitni vnos
znakov. Primer celotnega spisa v LaTeXu:
<HR>
<PRE>
\documentclass[a4paper]{article}
\usepackage[slovene]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin2]{inputenc}
\begin{document}
Ceprav se pouk na zeleznicarski soli v Sentvidu obicajno konca
sele ob stirih, odpesacijo ucenci iz obcin Zelimlje in Zetale domov
ze cetrt cez tri.
\end{document}
</PRE>
<HR>
<P>
<H3><A NAME="latex209"></A> LaTeX 2.09</H3>
<P>V starejsi razlicici paketa LaTeX, LaTeX 2.09, ne moremo
uporabiti mehanizma <CODE>inputenc</CODE>. Pomagamo si s stilom
<CODE>latin2.sty</CODE> Andreja Brodnika. Primer uporabe:
<HR>
<PRE>
\documentstyle[latin2]{article}
\begin{document}
...
\end{document}
</PRE>
<HR>
Stil <CODE>latin2</CODE> je na voljo na vseh streznikih CTAN, npr.
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/latin2/">ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/latin2/</A></CODE></BLOCKQUOTE>
<P>
<H3><A NAME="zlogovanje"></A> Slovenska pravila za deljenje besed</H3>
<P>Datoteko s slovenskimi pravili za zlogovanje besed je v okviru svoje
diplomske naloge leta 1990 izdelal Matjaz Vrecko, in jo predal v last
slovenskemu drustvu uporabnikov sistema TeX (TeXCeH). Na voljo je za
individualno uporabo brez namena pridobivanja premozenjske koristi. Od
leta 1995 dalje zanjo skrbi dr. Leon Zlajpah z IJS, ki jo je
posredoval tudi skrbniku sistema sistema <CODE>babel</CODE> za tujejezicno
podporo v sistemu TeX, Johannesu Braamsu. Sistem <CODE>babel</CODE>
praviloma dobimo skupaj z distribucijo sistema TeX. Trenutno zadnja
izdaja je 2.3, datirana 1997-04-15.
<P>V distribuciji <EM>teTeX</EM>, ki je najbolj priljubljena distribucija
na Unixu, vklopimo podporo za slovenske delilne vzorce tako, da kot
administrator pozenete program <CODE>texconfig</CODE>. V menuju izberemo
moznost <EM>HYPHEN - hyphenation table (tex/latex)</EM>. Program
<CODE>texconfig</CODE> pri tej izbiri pozene urejevalnik <CODE>vi</CODE> in
vanj nalozi datoteko language.dat. Za tiste, ki ga ne
poznate, najnujnejse o uporabi le-tega: levo, desno, gor in dol po
besedilu se premikate s tipkami <CODE>h</CODE>, <CODE>l</CODE> (mali L),
<CODE>j</CODE> in <CODE>k</CODE>. Znak pobrisete tako, da kurzor pripeljete
nanj in pritisnete tipko <CODE>x</CODE>. Datoteko shranite in zakljucite z
delom s pritiskom na tipko <CODE>Esc</CODE> in vpisom <CODE>:wq</CODE>
(dvopicje, mali W, mali Q), ki mu sledi <CODE>Enter</CODE>. Oborozeni s
tem znanjem v datoteki language.dat pobrisemo komentar
(znak za procent) pred zapisom <CODE>slovene sihyph22.tex</CODE>, shranimo
in zapustimo urejevalnik. Program <CODE>texconfig</CODE> bo avtomaticno
ustvaril nove formatne datoteke z vgrajenimi delilnimi vzorci.
<P>Pisec teh vrstic je imel nepojasnjene tezave z datoteko
sihyph22.tex, ki so enako cudezno izginile, ko mu je
dr. Zlajpah poslal novo izdajo slovenskih delilnih vzorcev. Dobimo jo
lahko na
<A HREF="ftp://sizif.mf.uni-lj.si/pub/i18n/tex/sihyph23.tex">ftp://sizif.mf.uni-lj.si/pub/i18n/tex/sihyph23.tex</A> in jo
postavimo ob bok stari datoteki, navadno v imenik
/usr/TeX/texmf/tex/generic/hyphen/. Pozenemo
<CODE>texconfig</CODE>, tam najprej osvezimo seznam datotek (izbira
<EM>REHASH - rebuild ls-R database</EM>), zatem pa ponovimo postopek
iz prejsnjega odstavka, s tem, da ime <CODE>sihyph22.tex</CODE> popravimo
v <CODE>sihyph23.tex</CODE>.
<P>Dodatne informacije o slovenski skupini uporabnikov TeX najdete na
<BLOCKQUOTE><CODE>
<A HREF="http://vlado.fmf.uni-lj.si/texceh/texceh.htm">http://vlado.fmf.uni-lj.si/texceh/texceh.htm</A></CODE></BLOCKQUOTE>
<P>
<H3><A NAME="LyX"></A> LyX</H3>
<P>(Roman Maurer, &lt;roman.maurer@fmf.uni-lj.si&gt;)
<P>Ce uporabljamo LyX s standardno slovensko tipkovnico (102/105 tipk), ga
lahko enostavno prilagodimo za delo s slovenscino:
<P>
<OL>
<LI>Tipkovnica v strezniku Xwindow mora biti nastavljena tako, da z
njo v splosnem lahko vnasamo nase znake (to je opisano v razdelku
<A HREF="Slovenian-HOWTO-4.html#tipk-x11">X Window System</A> poglavja ``Tipkovnica'').
</LI>
<LI>Pozenemo LyX in nastavimo:
<BLOCKQUOTE><CODE>
<PRE>
Options / Screen Fonts / Font Norm = iso8859-2
</PRE>
</CODE></BLOCKQUOTE>
Zal izgleda, da LyX tega podatka nikamor ne shrani. Zato moramo rocno
dodati v datoteko lyxrc (sistemska je navadno v imeniku
/usr/share/lyx/, uporabniska pa v ~/.lyx/)
naslednjo vrstico:
<BLOCKQUOTE><CODE>
<PRE>
\font_norm iso8859-2
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Odpremo (nek) dokument in izberemo:
<BLOCKQUOTE><CODE>
<PRE>
Layout / Document / Language = slovene
Layout / Document / Encoding = latin2
Layout / Paper / Papersize = A4
Layout / Quotes = ,,text`` &amp; Double
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Ce zelimo te nastavitve uporabljati v vseh nasih dokumentih
(in to seveda zelimo), uporabimo se izbiro
<BLOCKQUOTE><CODE>
<PRE>
Layout / Save layout as default
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Kadar uporabimo razred "letter" namesto "article", odgovorimo
pritrdilno na vprasanje:
<BLOCKQUOTE><CODE>
<PRE>
"Should I set some parameters to letter the defaults
of this document class?"
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</OL>
<P>Zaradi napake v LyXu do vkljucno 1.0.0pre2 ni mogoc vnos 8-bitnih
znakov v matematicnem tekstovnem nacinu (math text mode). Pomagamo si
tako, da postavimo kar celo formulo kot TeXovo kodo
(<CODE>"tex-mode"</CODE> - s tem sicer izgubimo WYSIWYG). Razvijalci LyX-a
so o napaki obvesceni in jo bodo verjetno popravili v naslednjih
izdajah.
<P>7-bitni vnos sumnikov kot <CODE>"c"s"z</CODE> je otezen, ker LyX avtomaticno
pretvori dvojni narekovaj v dva enojna. Prva misel je, da si lahko
spet pomagamo z izbiro <CODE>"tex-mode"</CODE>, udobnejsa moznost pa je, da
predefiniramo dvojni narekovaj. V datoteko emacs.bind
(ali pa cua.bind, kar ze uporabljamo) dodamo vrstico:
<BLOCKQUOTE><CODE>
<PRE>
\bind "S-quotedbl" "accent-caron"
</PRE>
</CODE></BLOCKQUOTE>
<P>Nase znake bomo zdaj dobili s pritiskom na <CODE>"c"s"z</CODE>.
S tem zal izgubimo avtomaticno pretvarjanje dvojnega narekovaja
v dva enojna, a vsega pac ne moremo imeti...
<P>Datoteka emacs.bind je v imeniku
~/.lyx/bind/. Ce je se ni, lahko napravimo kopijo
sistemske z imenika /usr/share/lyx/bind/ in jo popravimo.
<P>Ce imamo staro slovensko tipkovnico (ameriska s csz namesto ~{`),
lahko uporabimo premapiranje tipkovnice v Latin 2
Alena Salamuna <CODE>&lt;alen.salamun@medinet.si&gt;</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
Options / Keyboard / Primary = slovene
</PRE>
</CODE></BLOCKQUOTE>
<P>Ustrezna datoteka slovene.kmap je tipicno v imeniku
/usr/share/lyx/kbd/.
<P>Takole pa lahko uporabimo crkovalnik
<A HREF="#ispell">ispell</A>
za crkovanje slovenskih spisov:
<BLOCKQUOTE><CODE>
<PRE>
Edit / Spellchecker / Spellchecker Options
* Use alternate language: slovensko
* Extra special chars allowed in words: cszCSZ
</PRE>
</CODE></BLOCKQUOTE>
<P>V slovenski izdaji urejevalnika LyX pa:
<BLOCKQUOTE><CODE>
<PRE>
Uredi / Crkovalnik / Izbire crkovalnika
* Uporabi drug jezik: slovensko
* Dodatni posebni znaki, dovoljeni v besedah: cszCSZ
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>Pregled besedila na zaslonu</H3>
<P>V Evropi je standardni format papirja A4, kar moramo dopovedati
tudi programom za pregled besedila na zaslonu:
<DL>
<DT><B>XDvi</B><DD><P>V datoteko ~/.Xresources (osebna nastavitev)
dodamo vrstico
<HR>
<PRE>
XDvi.paper: a4
</PRE>
<HR>
<P>
<DT><B>Ghostview</B><DD><P>V datoteko ~/.Xresources (osebna nastavitev) ali
pa v datoteko /usr/lib/X11/app-defaults/Ghostview (skupna
nastavitev) dodamo vrstice:
<HR>
<PRE>
! Ghostview naj uporablja format A4
*pageMedia: A4
! Tudi Ghostscript naj uporablja format A4
*Ghostview.interpreter: gs
*Ghostview.arguments: -sPAPERSIZE=a4
</PRE>
<HR>
Ker tiskamo prek Ghostscripta tudi iz drugih programov, ne le iz
Ghostview, je pametno, ce mu v nastavitveni datoteki (navadno
<CODE>/usr/share/ghostscript/<EM>izdaja</EM>/gs_init.ps</CODE> ali
<CODE>/usr/local/share/ghostscript/<EM>izdaja</EM>/gs_init.ps</CODE>)
globalno izberemo velikost strani A4. Poiscemo spodnjo vrstico in jo
odkomentiramo (pobrisemo zacetni znak za procent):
<BLOCKQUOTE><CODE>
<PRE>
% (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse
</PRE>
</CODE></BLOCKQUOTE>
</DL>
<P>
<H3><A NAME="tex:index"></A> Stvarna kazala</H3>
<P>Najpogostejse orodje za izdelavo stvarnih kazal v sistemu TeX je
Makeindex. Ta je le omejeno lokaliziran (poleg angleskih pozna se
nemska pravila za razvrscanje) in nase abecede ne pozna.
<P>Stvarno kazalo v LaTeX izdelamo z ukazom <CODE>\makeindex</CODE> v
preambuli; vsako besedo, ki jo zelimo vnesti v kazalo, pa moramo
posebej oznaciti z ukazom <CODE>\index{vnos}</CODE>. Ker navadno
zelimo stvarno kazalo tudi izpisati, dodamo se ukaz
<CODE>\printindex</CODE>, ta pa je definiran v makropaketu
<CODE>makeidx</CODE>. Zgled, datoteki recimo zelez-sola.tex,
naj ilustrira povedano:
<HR>
<PRE>
\documentclass[a4paper]{article}
\usepackage[slovene]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin2]{inputenc}
\usepackage{makeidx}
\makeindex
\begin{document}
Ceprav se pouk na zeleznicarski
soli\index{s~ola@sola!z~eleznic~arska@zeleznicarska} v
Sentvidu\index{S~entvid@Sentvid} obicajno konca sele ob stirih,
odpesacijo ucenci iz obcin Zelimlje\index{Z~elimlje@Zelimlje} in
Zetale\index{Z~etale@Zetale} domov ze cetrt cez tri.
\printindex
\end{document}
</PRE>
<HR>
<P>Trik je v tem, da <CODE>makeindex</CODE> dopusca skladnjo
<CODE>\index{vnos1@vnos2}</CODE>, kjer je <CODE>vnos1</CODE> tisti, po katerem
se kazalo ureja, <CODE>vnos2</CODE> pa besedilo, ki se v resnici
izpise. Naso crko <CODE>C</CODE> zato pisemo kot <CODE>C~</CODE> (znak
<CODE>~</CODE> je v kodnem razporedu ASCII za vsemi crkami), in tako
bo zanesljivo uvrscena za vsemi C. Besedilo prevajamo v treh korakih:
<BLOCKQUOTE><CODE>
<PRE>
latex zelez-sola
makeindex zelez-sola
latex zelez-sola
</PRE>
</CODE></BLOCKQUOTE>
<P>Prvi <CODE>latex</CODE> iz datoteke zelez-sola.tex izdela
datoteko zelez-sola.idx, ukaz <CODE>makeindex</CODE> to uredi
in iz nje izdela datoteko zelez-sola.ind, to pa vsrka
drugi ukaz <CODE>latex</CODE>.
<P>
<H2><A NAME="groff"></A> <A NAME="ss6.9">6.9 groff</A>
</H2>
<P>Groff nudi precej omejeno podporo za nase znake. Pri izpisu na zaslon
(nacin <CODE>nroff</CODE>) lahko goljufamo tako, da zapisemo datoteko z
osembitnimi znaki ISO Latin 2, programu pa lazemo (izbira
<CODE>-Tlatin1</CODE>), da so kodirani po razporedu ISO Latin 1.
<P>Henryk Paluch je napisal paket <CODE>groff-latin2</CODE>, s katerim lahko
nase znake vnasamo kot makroukaze, na primer:
<BLOCKQUOTE><CODE>
<PRE>
\('a a z ostrivcem
\(vc c s stresico
\vou u s krozcem
</PRE>
</CODE></BLOCKQUOTE>
Izpis v obliki PostScript v casu pisanja tega spisa se vedno ne
deluje, ceprav bi se mehanizme iz paketa ``ogonkify'' Juliusza
Chroboczka podobno kot v programu ``a2ps'' verjetno dalo uporabiti
tudi tu. Se najvecji problem je verjetno ta, da je paket ``groff''
osirotel, saj ga prvotni avtor, James Clark, ne vzdrzuje vec.
Za paket <CODE>groff-latin2</CODE> zdaj skrbi Jan Kasprzak
&lt;kas@fi.muni.cz&gt;, najdete ga na
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.fi.muni.cz/pub/localization/groff/">ftp://ftp.fi.muni.cz/pub/localization/groff/</A></CODE></BLOCKQUOTE>
<P>
<H2><A NAME="perl"></A> <A NAME="ss6.10">6.10 Perl</A>
</H2>
<P>Od izdaje 5.004 dalje tudi Perl podpira lokalizacijo. Nastaviti moramo
primerne spremenljivke okolja in bodisi v programu uporabiti klic
<HR>
<PRE>
use locale;
</PRE>
<HR>
bodisi poklicati Perl z izbiro <CODE>-Mlocale</CODE>. Nekaj primerov;
preizkus smo si sposodili pri Janu Pazdziori:
<HR>
<PRE>
~> LC_CTYPE=sl_SI.iso88592 perl -Mlocale -e '$_="tezisce\n"; s/\w/$&amp;:/g; print;'
t:e:z:i:s:c:e:
~> LC_CTYPE=C perl -Mlocale -e '$_="tezisce\n"; s/\w/$&amp;:/g; print;'
t:e:zi:sce:
~> LC_CTYPE=sl_SI.iso88592 perl -e '$_="tezisce\n"; s/\w/$&amp;:/g; print;'
t:e:zi:sce:
</PRE>
<HR>
<P>Kot vidimo, je samo v prvem primeru, ko smo izvedli oboje: nastavili
spremenljivko <CODE>LC_CTYPE</CODE> in Perl poklicali z izbiro
<CODE>-Mlocale</CODE>, nase znake res uposteval kot crke
(<CODE>\</CODE>).
<P>
<H2><A NAME="ispell"></A> <A NAME="ss6.11">6.11 Crkovanje: ispell</A>
</H2>
<P>Vecina sodobnih distribucij Linuxa ze pride s crkovalnikom Ispell;
manjka pa mu slovenski besedni zaklad. Tega najdete v datoteki
<BLOCKQUOTE><CODE>
<A HREF="ftp://sizif.mf.uni-lj.si/pub/i18n/ispell/slovensko.tar.gz">ftp://sizif.mf.uni-lj.si/pub/i18n/ispell/slovensko.tar.gz</A></CODE></BLOCKQUOTE>
Arhivska datoteka vsebuje dve datoteki, slovensko.hash in
slovensko.aff. Postavimo ju tja, kjer Ispell ze hrani
leksikone za ostale jezike. Pri piscu teh vrstic je to
/usr/lib/ispell/; ce pri vas ni, si lahko morda pomagate
s tem, da s find poskusite poiskati datoteko
english.aff. Osnovni slovenski leksikon izvira iz baze,
ki jo je podjetje Amebis d.o.o. prispevalo za mednarodni projekt
MULTEXT-East; s posredovanjem dr. Tomaza Erjavca z odseka za
inteligentne sisteme na Institutu Jozef Stefan pa je na voljo za
nepridobitno uporabo.
<P>Ispell uporabljamo tako, da mu v ukazni vrstici podamo jezik, v
katerem je napisano besedilo, na primer english, deutsch, francais
ali slovensko:
<BLOCKQUOTE><CODE>
ispell -d slovensko besedilo.txt
</CODE></BLOCKQUOTE>
<P>Natancnejsa navodila za ravnanje s programom Ispell boste nasli v
prirocniku, vec o prilagoditvi paketa <CODE>ispell</CODE> za slovenscino
si lahko preberete na strani
<A HREF="http://nl.ijs.si/gnusl/tex/tslovene/slolang/">Slovenscina in racunalniki</A> Alesa Kosirja. Ispell s slovenskim besednim zakladom
poganja tudi spletni crkovalnik Trubar istega avtorja:
<BLOCKQUOTE><CODE>
<A HREF="http://nl.ijs.si/cgi-bin/truform.pl">http://nl.ijs.si/cgi-bin/truform.pl</A></CODE></BLOCKQUOTE>
<P>
<H2><A NAME="recode"></A> <A NAME="ss6.12">6.12 Pretvarjanje med razlicnimi kodiranji</A>
</H2>
<P>Razen ISO Latin 2 vsebuje vse nase znake se nekaj drugih naborov:
Microsoft Codepage 1250, IBM Codepage 852, JUS I.B1.002, Apple
MacOS-CE, Apple MacOS-Croatian, Kamenicky, ISO Latin 4, ISO Latin 6,
ISO Latin 7 itd.
<P>Ceprav ni tezko napisati programcka za pretvorbo iz enega kodnega
nabora v drugega, je pripravno uporabiti ze izdelan program.
Eden takih je GNU recode, dostopen npr. na strezniku ARNES:
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.arnes.si/software/gnu/recode/recode-3.4.tar.gz">ftp://ftp.arnes.si/software/gnu/recode/recode-3.4.tar.gz</A></CODE></BLOCKQUOTE>
Starejse izdaje GNU recode (pred 3.5) ne poznajo Microsoftovih
kodnih strani 1250-1259.
<P>Uporaba je enostavna:
<BLOCKQUOTE>
<CODE>recode yu:latin2 <EM>datoteka</EM></CODE>
</BLOCKQUOTE>
pretvori datoteko iz kodnega nabora JUS I.B1.002 v kodni nabor
ISO Latin 2. Kot obicajno izda tudi tu izbira <CODE>--help</CODE>
se dodatne moznosti.
<P>Novejse izdaje programa recode (ki poznajo tudi nekaj vec kodnih
naborov), uporabljajo malo drugacno skladnjo:
<BLOCKQUOTE>
<CODE>recode yu..latin2 <EM>datoteka</EM></CODE>
</BLOCKQUOTE>
Po izkusnjah pisca pa je precrkovanje (npr. ,,nabori`` <CODE>latex</CODE>
ali <CODE>flat</CODE>) se vedno omejeno na pretvorbo iz in v nabor ISO
8859-1. Novejse (preizkusne) izdaje programa recode najdete na:
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.iro.umontreal.ca/pub/recode/">ftp://ftp.iro.umontreal.ca/pub/recode/</A></CODE></BLOCKQUOTE>
<P>
<H2><A NAME="drugi"></A> <A NAME="ss6.13">6.13 Drugi programi</A>
</H2>
<H3><A NAME="less"></A> Pregledovalnik less</H3>
<P>Less (avtor Mark Nudelman) je program za pregledovanje besedil
na zaslonu, in je priljubljena zamenjava standardnega <CODE>more</CODE>.
<P>Less prilagodimo za izpis osembitnih znakov z nastavitvijo v
~/.profile:
<BLOCKQUOTE><CODE>
<PRE>
LESSCHARSET=latin1; export LESSCHARSET
</PRE>
</CODE></BLOCKQUOTE>
<CODE>latin1</CODE> namesto <CODE>latin2</CODE> ni pomota. Less zaenkrat
slednjega se ne pozna, ker pa ga pravzaprav zanima samo, kateri
znaki so obicajni, kateri pa kontrolni (ki zahtevajo posebno
obravnavo), ker pa je razpored znakov enak v celotni druzini ISO
8859, lahko izberemo kar latin1. Namesto tega lahko tudi
eksplicitno navedemo zaporedje tipa znakov v naboru:
<BLOCKQUOTE><CODE>
<PRE>
LESSCHARDEF=&quot;8bcccbcc18b95.33b.&quot;; export LESSCHARDEF
</PRE>
</CODE></BLOCKQUOTE>
Vsi nabori iz druzine ISO 8859 imajo osem binarnih znakov
(posebnih znakov, ki jih praviloma ni v besedilih), tri kontrolne
znake, binarni znak, dva kontrolna znaka, osemnajst binarnih
znakov, 95 navadnih znakov, 33 binarnih znakov, in normalne znake
do konca tabele.
<P>
<H3><A NAME="gcal"></A> Koledar gcal</H3>
<P>Vsi sistemi Unix imajo vgrajen koledarcek <CODE>cal</CODE>, ki pa je
precej anglocentricen. Thomas Esken iz Nemcije je napisal alternativni
koledarcek <CODE>gcal</CODE>. Od izdaje 2.40 dalje pozna tudi slovenske
praznike. Najdemo ga na obicajnih mestih distribucije GNU. Najblizje
je verjetno:
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.arnes.si/software/gnu/">ftp://ftp.arnes.si/software/gnu/</A></CODE></BLOCKQUOTE>
<P>Spodnja vrednost spremenljivke <CODE>GCAL</CODE> ustreza nasim razmeram:
<BLOCKQUOTE><CODE>
<PRE>
GCAL="--cc-holidays=SI --gregorian-reform=1582"; export GCAL
</PRE>
</CODE></BLOCKQUOTE>
<P>
<HR>
<A HREF="Slovenian-HOWTO-7.html">Next</A>
<A HREF="Slovenian-HOWTO-5.html">Previous</A>
<A HREF="Slovenian-HOWTO.html#toc6">Contents</A>
</BODY>
</HTML>