V etom razdele ya opishu neskol'ko sposobov nabora kirillicheskih tekstov v TeX i LaTeX. Est' neskol'ko putej dlya dostizheniya etoj celi, kotorye otlichayutsya v slozhnosti ustanovki i udobstve ispol'zovaniya. Naprimer, odna iz vozmozhnostej eto nachat' rabotu bez vsyakoj predvaritel'noj nastrojki, ispol'zuya Washington AMSTeX Cyrillic fonts. S drugoj storony, vy mozhete ustanovit' paket LaTeX, kotoryj legko nastraivaetsya na pol'zovanie kirillicej.
Vid nabrannogo dokumenta v znachitel'noj stepeni opredelyaetsya shriftom, kotoryj vy ispol'zuete. Osnovnye kirillicheskie shrifty kotorye mozhno ispol'zovat' pri nabore opisany v razdele SHrifty dlya TeX/LaTeX
Obratite vnimanie, chto dostupny dve versii LaTeX, odna iz nih - 2.09 - staraya versiya , v to vremya kak 2e - novaya (vypusk pre-3.0). Esli vy ispol'zuete LaTeX 2.09, to kak mozhno bystree perehodite na 2e. Poslednij sohranyaet sovmestimost' so staroj versiej, no imeet namnogo bol'she vozmozhnostej.
Poslednie versii distributivov LaTeX (naprimer
teTeX versii starshe
chem 1.0) vklyuchayut v sebya rusifikaciyu out of box.
Priznakom rusificirovannosti LaTeX'a out-of-box yavlyaetsya nalichie direktorii
/$TEXMF/tex/latex/t2
, $TEXMF
obychno ravno
/usr/lib/texmf
ili /usr/share/texmf
. Rusifikaciya,
kak netrudno dogadat'sya T2 (Sm. razdel
T2).
Paket T2 byl iznachal'no byl sozdan Werner Lembergom i Vladimirom Volovichem. |tot paket razvivaetsya po sej den' i, nadeyus', budet razvivat'sya i dal'she. V nem prisutstvuyut nekotorye nedostatki, no v 99% sluchaev dlya otobrazheniya kirillicy cherez LaTeX ego vozmozhnostej hvataet. Sovremennaya rusifikaciya LaTeX osnovana imenno na etom pakete. Primer rusifikacii cherez T2 priveden v razdele Rusifikaciya teTeX.
Paket `T2' mozhno najti na lyubom sajte
CTAN v direktorii
macros/latex/contrib/supported/t2
, poslednyaya versiya
lezhit po adresu
ftp.vsu.ru
Oficial'no s 1-go dekabrya 1998 goda distributiv LaTeX2e podderzhivaet shrifty so standartnymi kirillicheskimi kodirovkami (T2A, T2B, T2C, X2) i vsevozmozhnye vhodnye kodovye tablicy (naprimer koi8-r, cp1251, cp866, iso8859-5)
BABEL nachal podderzhivat' kodirovku T2 s versii 3.6k (poslednyuyu
versiyu mozhno vzyat' na lyubom sajte
CTAN v direktorii
CTAN:macros/latex/required/babel
).
V fajle `cyrguide.tex', kotoryj yavlyaetsya chast'yu distributiva LaTeX2e, opisyvaetsya nastrojka i ispol'zovanie kirillicy pri rabote s LaTeX. Dlya polnoj podderzhki kirillicy trebuetsya imet' lh shrifty i sootvetstvuyushchuyu tablicu perenosov.
SHrifty lh nachinaya s versii 3.20 (oni navernyaka est' v vashem distributive) podderzhivayut vse nuzhnye kodirovki - smotrite razdel lh.
Russkie tablicy perenosov, podderzhivayushchie kodirovku T2 mozhno
oformleny kak paket 'ruhyphen' (on navernyaka est' v vashem distributive)
mozhno najti na lyubom
CTAN arhive
v direktorii language/hyphenation/ruhyphen
ili
po adresu
ftp.vsu.ru
V pakete T2 krome neposredstvenno podderzhki T2 kodirovok dopolnitel'no prisutstvuyut sleduyushchie poleznye sostavlyayushchie
babel
i/ili fontenc
.
\cite
i \bibitem
- eto vremennyj "hak" i
v sleduyushchej versii LaTeX nuzhda v nem otpadet.
bibtex
.
makeindex
- k sozhaleniyu ne vozmozhno (bez napil'nika) sdelat'
neskol'ko indeksov odnovremenno
fontinst
.
Odnoj iz razdrazhayushchej osobennost'yu T2-kirillizacii yavlyaetsya to,
chto "progonke" tex-fajla cherez latex
vyvod preduprezhdenij
i oshibok vedetsya na vnutrennej kodirovki - to est' T2:
Artem CHuprin napisal programmu-fil'tr - ona perekodiruet soobshcheniya ob oshibkah ot "\T2A/" do konca stroki, ostal'noe ne trogaet. Dlya prakticheskih nuzhd poka hvataet. Programmu mozhno najti po adresu http://www.inp.nsk.su/~baldin/misc/Latex.c
Opisanie rusifikacii teTeX vzyato iz FAQ, podderzhivaemogo dlya eho-konferencii RU.TEX Alekseem Mahotkinym.
Esli u vas staryj distributiv teTeXa (versiya nizhe 1.0), to nastoyatel'no rekomenduyu skachat' poslednyuyu versiyu etogo programmnogo produkta.
Dlya sovremennyh versij TeX'a (teTeX, fpTeX, MikTeX, Web2c TeX) rusifikaciya uzhe vhodit v distributiv.
Pervoe, chto nuzhno sdelat', eto podklyuchit' russkie perenosy.
Dlya etogo nuzhno otredaktirovat' fajl language.dat
nahodyashchijsya v
direktorii $TEXMF/tex/generic/config/language.dat
($TEXMF
obychno ravno /usr/lib/texmf
ili /usr/share/texmf
) dobaviv
tuda stroki:
ruseng ruenhyph =russian =english
Ostal'nye stroki nuzhno zakommentirovat', libo udalit'. Posle chego neobhodimo peregenerirovat' formatnye fajly:
texconfig init
Opisannoe vyshe mozhno prodelat' cherez standartnuyu konfiguracionnuyu programmu
texconfig
- vybrat' menyu /hyphenation
, dalee latex
i
raskommentirovat' russian
.
Teper' mozhno rabotat' s russkim yazykom.
Dobav'te v preambulu dokumenta (posle slov
\documentclass{}
)
\usepackage{mathtext} % esli nuzhny russkie bukvy v formulah (ne obyazatel'no) \usepackage[T2A]{fontenc} % vnutrennyaya T2A kodirovka TeX \usepackage[koi8-r]{inputenc} % kodirovka - mozhno ispol'zovat' [cp866] [cp1251] \usepackage[russian]{babel} % vklyuchenie perenosov
Posle etogo v dokumente mozhno ispol'zovat' russkie bukvy.
Podrobnee o pakete T2 smotrite razdel Paket T2.
P.S. |to tol'ko odin iz variantov, samyj prostoj i universal'nyj resheniya problemy rusifikacii. Est' i drugie varianty i metody kotorye na praktike mogut okazat'sya bolee udachnymi.
CHtoby dobavit' formaty iz cyrplain
nabora v texconfig
sleduet vybrat' menyu FORMATS
i dobavit'
cyrtxinf tex language.dat cyrtxinf.ini
dlya russkogo texinfo
. Analogichno dlya cyrblue
i cyramstx
.
CHtoby dobavit' format cyrtex
(russkij TeX) proshche v kataloge
web2c
vypolnit':
initex '\input cyrtex.ini \dump'
i brosit' simvolicheskuyu ssylku s imenem cyrtex
na tex
(naprimer v
/usr/bin
)
CHtoby pereklyuchitsya na russkij v etih plain
formatah nado ispol'zovat'
komandu
\language Ngde N - nomer, pod kotorym chislitsya russkij yazyk v poluchivshejsya raskladke.
|tot paket byl sozdan dlya Amerikanskogo Matematicheskogo
Obshchestva, chtoby dat' vozmozhnost' sozdavat' dokumenty so ssylkami
na pervoistochniki na russkom. Sledovatel'no, avtory ne ochen'
"napryagalis'" pri sozdanii etogo paketa i shrifty v rezul'tate etogo
vyglyadyat dovol'no neuklyuzhe. Obychno etot paket upominaetsya kak
"po nastoyashchemu plohoj paket kirillicy dlya TeX"
.
Odnako, my obsudim ego, tak kak on ochen' prost v ispol'zovanii i ne trebuet ustanovki - etot nabor soderzhitsya v bol'shinstve distributivov TeX.
Konechno, u vas ne budete takoj roskoshi, kak avtomaticheskaya rasstanovka defisov, no vse ravno...
\input cyracc.def \font\tencyr=wncyr10 \def\cyr{\tencyr\cyracc}
\cyrdlya pechati ispol'zujte sootvetstvuyushchij latinskij simvol ili komandu TeX. To est', strochnye bukvy russkogo alfavita sootvetstvuyut sleduyushchim sochetaniyam:
a b v g d e \"e zh z i {\u i} k l m n o p r s t u f kh c ch sh shch {\cprime} y {\cdprime} \`e yu ya
CHrezvychajno slozhno preobrazovyvat' vashi russkie teksty v takuyu kodirovku, no vy mozhete avtomatizirovat' etot process. Programma translit (razdel Simvol'naya perekodirovka) podderzhivaet opciyu vyvoda TeX.
Naibolee polnuyu i podrobnuyu informaciyu po rusifikacii StarOffice mozhno najti na stranichke Leona Kantera po adresu - http://www.blackcatlinux.com/StarOffice/
Poslednyaya novost': Sun, kotoryj na kornyu skupil Star Division Corp., vypustil besplatnuyu versiyu rusificirovannuyu StarOffice 5.2, pravda shrifty dlya nego nuzhny v ISO 8859-5 kodirovke
Off-topic: Sleduyushchaya versiya StarOffice (6.0?) vyjdet pod licenziej GNU - tak bylo obeshchano (Sun slov na veter ne brosaet)
|ta instrukciya predstavlyaet soboj dopolnenie k Instrukcii po installyacii StarOffice 5.2, otrazhayushchee osobennosti ustanovki i nastrojki russkoj versii etogo paketa. Vy uznaete, kak naibolee polno realizovat' vozmozhnosti, zalozhennye v etom pakete, i obojti vozmozhnye problemy.
Naibolee polnuyu i podrobnuyu informaciyu po rusifikacii StarOffice 5.2 dlya Black Cat Linux 6.2 mozhno najti na stranichke Leona Kantera po adresu - http://www.blackcatlinux.com/StarOffice/
StarOffice 5.2 - ne tol'ko pervaya rusificirovannaya versiya etogo paketa, no i pervaya versiya, kotoraya mozhet rabotat' s razlichnymi kodirovkami kirillicy, to est' otobrazhat' ustanovlennye v sisteme shrifty v sootvetstvii s tekushchej kodirovkoj, v kotoroj zapushchen StarOffice. Takih kodirovok podderzhivaetsya tri - KOI8-R, ISO8859-5 i CP1251. Tekushchaya kodirovka opredelyaetsya paketom po znacheniyu peremennoj okruzheniya LANG - ono mozhet imet' znacheniya ru_RU.KOI8-R, ru_RU.ISO8859-5 ili ru_RU.CP1251 (Dlya vyyasneniya podrobnostej smotrite razdel Nastrojka lokali).
Vnimanie!: uk_UA.KOI8-U, uk_UA.CP1251, ru_UA.KOI8-U, ru_UA.CP1251 ne podderzhivayutsya! Pri zapuske StarOffice s odnim iz etih znachenij LANG vse nadpisi budut otobrazhat'sya voprositel'nymi znakami! Dlya raboty s dokumentami na ukrainskom yazyke neobhodimo ispol'zovat' ru_RU.CP1251.
StarOffice sposoben otobrazhat' ustanovlennye v sisteme shrifty v sootvetstvii s tekushchej kodirovkoj, v kotoroj zapushchen paket. To est', esli v sisteme ustanovleny shrifty KOI8-R, a tekushchaya kodovaya stranica StarOffice - CP1251, on popytaetsya "sobrat'" CP1251 iz KOI8-R, no pri etom budut bol'shie poteri, tak kak v KOI8-R otsutstvuyut ne tol'ko ukrainskie, belorusskie i yuzhnoslavyanskie bukvy, no i mnogie tipografskie znaki, takie kak kavychki-"elochki", dlinnoe tire i drugie. Pri importe dokumentov iz Microsoft Office eti nedostayushchie simvoly budut zamenyat'sya voprositel'nymi znakami, chto zatrudnit rabotu s importiruemymi dokumentami. Poetomu my rekomenduem dlya raboty so StarOffice ispol'zovat' shrifty v kodirovke CP1251, kotoraya soderzhit samyj polnyj nabor simvolov, iz kotoryh legko "sobiraetsya" kak KOI8-R, tak i ISO8859-5. StarOffice ispol'zuet dva vida shriftov - rastrovye (pcf) - dlya elementov interfejsa (menyu, podskazki, formy i dr.), i Type1 - dlya pechati i otobrazheniya dokumentov na ekrane. CHtoby povysit' kachestvo otobrazheniya dokumentov na ekrane, mozhno ispol'zovat' shrifty TrueType iz Windows. Dalee podrobno rasskazyvaetsya, gde vzyat' i kak pravil'no ustanovit' vse neobhodimye shrifty.
Informaciyu o tom gde mozhno najti rastrovye shrifty dlya X Window i o tom kak ih ustanovit' sleduet poiskat' v razdele SHrifty H window i/ili SHrifty dlya X Window. Vam nuzhno dostat' i ustanovit' shrifty v kodirovke CP1251.
Informaciyu ob ustanovke TrueType shriftov mozhno najti v razdele SHrifty TrueType
Informaciyu ob ustanovke Type1 shriftov mozhno najti v razdele SHrifty Type1
Pered ustanovkoj ubedites', chto v vashem domashnem kataloge dostupno ne menee 260Mb. Process ustanovki podrobno opisan v Instrukcii po installyacii StarOffice 5.2.
Dlya togo, chtoby rabotat' s kirillicej v StarOffice, neobhodimo
snachala dobavit' novye shrifty k drajveru pechati StarOffice -
biblioteke XPrinter. Dlya etogo v paket vhodit
special'naya utilita - SPAdmin.
Vypolnite ee komandoj ~/office52/program/spadmin
(~
oznachaet
domashnij katalog). Posle etogo nazhat' knopki
"Add Fonts" -> "Browse"
i ukazat' katalog gde lezhat Type-1
shrifty - naprimer /usr/share/fonts/MICROSOFT-CP1251/Type1
.
Dalee podtverdite ustanovku vseh perechislennyh shriftov. Podsistema pechati StarOffice gotova k rabote.
Kak uzhe upominalos' vyshe, StarOffice 5.2 mozhet rabotat' v odnoj iz treh kodirovok: KOI8-R, ISO8859-5, CP1251. Kazhdaya iz etih kodirovok imeet svoi dostoinstva i nedostatki. Poprobuem razobrat'sya.
.html
.
Vse ostal'noe - sploshnye nedostatki: slishkom mnogo voprositel'nyh znakov
pri importe iz Microsoft Word.
netscape messenger'om
. Krome togo, pri nazhatii knopki
"otobrazhat' nepechatnye simvoly"
vmesto privychnyh znachkov
nablyudayutsya russkie bukvy "Z" i "ZH".
Micro$oft Office
, polnyj nabor
special'nyh simvolov, vklyuchaya
Evro, vozmozhnost' rabotat' na lyubom iz slavyanskih yazykov.
Nedostatki - russkij slovar' nedostupen, pis'ma otpravlyayutsya v
ISO8859-5
.Vyvod: esli nuzhna pochta i novosti - rabotaem v KOI8-R, nuzhen slovar' - ISO8859-5, vo vseh ostal'nyh sluchayah - CP1251.
Dlya zapuska StarOffice v kodirovke, otlichnoj ot sistemnoj, mozhno ukazat' polnoe imya locale neposredstvenno v komandnoj stroke, naprimer:
LANG=ru_RU.CP1251 ~/office52/program/soffice
Libo zhe mozhno podredaktirovat' sam fajl ~/office52/program/soffice
,
ili fajly kdlnk, ili
napisat' svoi scenarii dlya zapuska StarOffice v razlichnyh kodirovkah.
Dlya vvoda ukrainskih bukv dostatochno smenit' raskladku klaviatury - naprimer pri pomoshchi pereklyuchatelya kkb.
Dlya vyvoda na printer StarOffice generiruet format PostScript. Dopolnitel'naya rusifikaciya interpretatora Ghostscript ne trebuetsya, tak kak vse neobhodimye shrifty vstraivayutsya v dokument.
Poprobuem razobrat'sya, dlya chego proizvodilis' vse perechislennye
vyshe dejstviya. Kak uzhe upominalos', v kachestve drajvera pechati
StarOffice ispol'zuet biblioteku Bristol Xprinter.
|ta biblioteka mozhet ispol'zovat' shrifty tol'ko v formate Type1, esli
shrift soderzhit bolee 256 simvolov - ispol'zuyutsya tol'ko pervye 256,
v poryadke, opisannom v vektore kodirovki shrifta. V komplekte so shriftom
obyazatel'no obyazatel'no dolzhen byt' fajl metriki v formate .afm
.
Pri ustanovke shriftov programmoj SPAdmin informaciya o shrifte
dobavlyaetsya v fajl xp3/psstd.fonts
v formate, shodnom s formatom
fajlov fonts.dir/fonts.scale
. V kataloge xp3/pssoftfonts
i xp3/fontmetrics/afm
sozdayutsya simvolicheskie ssylki
sootvetstvenno na fajly shrifta i metriki. Posle etogo Xprinter
"uznaet" o tom, chto u nego poyavilsya novyj shrift.
Pri zapuske StarWriter'a on zaprashivaet u Xprinter spisok
ustanovlennyh shriftov. Tol'ko shrifty, perechislennye v psstd.fonts
,
poyavyatsya v spiske dostupnyh shriftov StarWriter'a. A
dlya otobrazheniya na ekrane iz X-servera zaprashivaetsya pervyj popavshijsya
shrift, u kotorogo v nazvanii vtoroe pole (Family) sovpadaet s tem, chto
napisano v psstd.fonts
, pri etom polya Foundry i Encoding ignoriruyutsya.
To est', esli v Xprinter ustanovlen shrift v odnoj
kodirovke, a v X - v drugoj, ispol'zovat' ih v StarOffice prakticheski
nevozmozhno. |to proishodit so standartnymi shriftami Times,
Helvetica, Courier.
Osnovnaya problema zaklyuchaetsya v tom, chto v etoj versii beznadezhno isporcheny vse fil'try dlya raboty s formatami, kotorye ne predusmatrivayut ukazaniya kodirovki - text, rtf, Word6.0/95. Pri sohranenii v lyubom iz etih formatov russkie bukvy zamenyayutsya na "?". To est' obmen dokumentami s pol'zovatelyami Windows vozmozhen tol'ko cherez format Word/Excel 97/2000. Vyshe upominalos', chto nekotorye pochtovye klienty ploho perenosyat pis'ma v kodirovke ISO8859-5, nesmotrya na yavnoe ukazanie etoj kodirovki. Krome togo, my ne rekomenduem ispol'zovat' funkciyu zameny standartnyh shriftov dokumenta (Servis - Parametry - Tekstovyj dokument - Standartnye shrifty), tak kak eto mozhet vyzvat' problemy.