Dal╣φ P°edchozφ Obsah

7. TeX a jinΘ DTP systΘmy

Petr Kolß° Petr.Kolar@vslib.cz; 17. 5. 1999

Nejnov∞j╣φ verze ΦeskΘho teTeXu pro Red Hat 6.0 je na ftp://luznice.felk.cvut.cz/pub/cstex/.

Michal Choura xchoura@cs.felk.cvut.cz, Pavel Janφk ml. Pavel.Janik@math.muni.cz: 28. 7 1998; Arno╣t ⌐t∞dr² arnost@uivt.cas.cz: star╣φ verze

7.1 Instalace z RPM balφk∙ CSTeXu pro RedHat

V souΦasnΘ dob∞ existujφ pro distribuci RedHat 5.x balφky s kompletnφm Φesk²m TeXem. Lze je nalΘzt na serveru ftp://math.feld.cvut.cz/pub/cstex/unix/RPMS/ a mirrorech, nap°. ftp://ftp.fi.muni.cz/pub/linux/localization/cstex/. Balφky obsahujφ teTeX ve verzi 0.9, a obvykle nejnov∞j╣φ verze dopl≥k∙ csTeXu, tedy csplain, cslatex a dopl≥ky do pdfTeXu vΦetn∞ PostscriptovΘ verze CS font∙. DoporuΦuji p°ed instalacφ p°eΦφst soubor README.cstetex, kde jsou aktußlnφ informace o balφcφch. Rozdφly oproti p°edchozφm verzφm lze zjistit p°φkazem rpm -qp --changelog tetex-0.9cs-*.i386.rpm.

Postup instalace je jednoduch². P°esv∞dΦte se, ╛e dosud nemßte ╛ßdn² TeX instalovßn; pokud p°φkaz

# rpm -qa | grep tetex

zobrazφ n∞jak² v²stup, tedy jmΘno n∞jakΘho balφku, je t°eba jej odinstalovat p°φkazem rpm -e jmΘno_balφku. Potom lze nainstalovat balφky s Φesk²m TeXem:

# rpm -Uvh tetex-0.9cs-*.i386.rpm

Pochopiteln∞, pokud n∞kterou z Φßstφ nechcete instalovat, nemusφte.

╚erstv∞ nainstalovan² TeX je dobrΘ nakonfigurovat. K tomu slou╛φ program texconfig. Po jeho spu╣t∞nφ se objevφ menu, kde doporuΦuji zkonfigurovat minimßln∞ dvips. Tento program toti╛ v zßkladnφ konfiguraci p°esm∞rovßvß sv∙j v²stup p°φmo na tiskßrnu. Zvolte tedy v hlavnφm menu ,,dvips``, dßle ,,global settings``, velikost papφru ,,A4``, potom vyberte ,,Set up the command to print on this printer`` a stiskn∞te Enter.

Balφky v binßrnφ form∞ jsou kompilovßny na RedHatu 5.x, a tedy s knihovnou glibc. Nebudou proto chodit na star╣φch verzφch RedHatu. Pokud byste je cht∞li pou╛φvat na star╣φch distribucφch, je nutnΘ je p°elo╛it z balφku tetex-0.9cs-*.src.rpm. Vzhledem ke komplexnosti TeXu v╣ak je (alespo≥ zatφm) nutnΘ balφk p°eklßdat p°φmo v systΘmov²ch adresß°φch. Proto nejlep╣φ je p°eklad provΘst na n∞jakΘm zku╣ebnφm poΦφtaΦi. Pozor, v pr∙b∞hu p°ekladu balφku se sma╛e obsah adresß°e /usr/lib/texmf!

Dal╣φ informace lze zφskat z ftp serveru ftp://math.feld.cvut.cz/pub/cstex/unix/README.*

7.2 Obecnß instalace na libovoln² Unix

Existujφ dv∞ mo╛nosti. Jednak m∙╛ete nainstalovat TeX ze zdrojov²ch k≤d∙ web2c, dnes ve verzi 7.2, a nebo instalovat komplexnφ teTeX. Prvnφ mo╛nost popisuje pan Petr Ol╣ßk v textu, kter² lze nalΘzt na ftp://math.feld.cvut.cz/pub/cstex/unix/README.web2c. Pokud mßte dost mφsta na disku, doporuΦuji druhou mo╛nost, instalaci teTeXu. Postup prozkoumal Pavel Janφk ml.

Pro kompilaci a instalaci budete pot°ebovat asi 100 MB volnΘho mφsta. Originßlnφ teTeX lze nalΘzt na ftp://ftp.rrzn.uni-hannover.de/pub/local/misc/teTeX-beta/, dßle budete pot°ebovat z  ftp://math.feld.cvut.cz/pub/cstex/unix/ soubory csfonts.tar.gz, cspdftexlib.tar.gz, csplain.tar.gz, cspsfonts.tar.gz, csuvodlat.tar.gz, enctex.tar.gz a nejnov∞j╣φ cslatex-*-.tar.gz. Mnoho cenn²ch rad najdete tΘ╛ v souboru README.web2c-7.2 tamtΘ╛. Vzhledem k rychlosti v²voje doporuΦuji tΘ╛ stßhnout nejnov∞j╣φ verzi pdfTeXu z  ftp://ftp.cstug.cz/pub/local/cstug/janik/, soubory pdftex.tar.gz, Makefile.in a configure.in (p°eΦt∞te si soubor Install, postup se Φasto m∞nφ).

Do libovolnΘho adresß°e, nap°. /usr/src, rozbalte originßlnφ zdrojovΘ k≤dy:

# cd /usr/src
# tar xzvf teTeX-src-0.9.tar.gz

Dßle do n∞jakΘho vhodnΘho adresß°e umφst∞te strom vstupnφch soubor∙ TeXu:

# mkdir -p /usr/local/teTeX/share/texmf
# cd /usr/local/teTeX/share/texmf
# tar xzvf teTeX-texmf-0.9.tar.gz

Rozbalte distribuΦnφ balφk enctexu (umo╛nφ v TeXu pou╛φvat a za b∞hu p°epφnat vstupnφ k≤dovßnφ TeXov²ch dokument∙):

# cd /usr/src/teTeX-0.9
# tar xzvf enctex.tar.gz

Instalujte ΦeskΘ dopl≥ky do TeXu (Latex nenφ nutno mazat cel², staΦφ smazat adresß°e misc, input, a rad∞ji i graphics, psnfss a tools):

# rm -rf /usr/local/teTeX/share/texmf/tex/latex
# cd /usr/local/teTeX/share/
# tar xzvf csplain.tar.gz
# tar xzvf cslatex-*.tar.gz
# tar xzvf csfonts.tar.gz
# tar xzvf cspsfonts.tar.gz
# tar xzvf cspdftexlib.tar.gz
# tar xzvf csuvodlat.tar.gz

Pokud chcete pou╛φvat pdfTeX, nainstalujte nejnov∞j╣φ verzi:

# cd /usr/src/teTeX-0.9/texk/web2c
# rm -rf pdftexdir
# tar xzvf pdftex.tar.gz

Soubory Makefile.in a configure.in z distribuce pdfTeXu p°ekopφrujte do tΘho╛ adresß°e (p°epφ╣φ p∙vodnφ). Pak vytvo°te novΘ soubory Makefile.in a configure.in p°φkazem

# autoconf -m ../etc/autoconf
# ./configure

Vytvo°te Makefile pro kompilaci:

# cd /usr/src/teTeX-0.9
# ./configure --prefix=/usr/local/teTeX --disable-multiplatform

Aplikujte patch enctexu (ovlivnφ tex.ch) a zkopφrujte jeho soubory do TeXovΘho stromu:

# cd /usr/src/teTeX-0.9/texk/web2c/
# patch <../../enctex/enctex.patch-to-7.2
# mkdir /usr/local/teTeX/share/texmf/tex/enctex
# cp ../../enctex/*.tex /usr/local/teTeX/share/texmf/tex/enctex

Dßle je vhodnΘ upravit Makefile pro xdvi tak, aby se jako nßhradnφ font pou╛φval csr10 a zm∞nit standardnφ velikost papφru z Letter na A4. V souboru /usr/src/teTeX-0.9/texk/xdvik/Makefile upravte °ßdek

DEFS = -DHAVE_CONFIG_H $(XDEFS)

na

DEFS = -DHAVE_CONFIG_H -DA4 -DALTFONT=\"csr10\" $(XDEFS)

Aby TeX sprßvn∞ pracoval s Φesk²mi Postscriptov²mi fonty, je t°eba v adresß°i /usr/local/teTeX/share/texmf/dvips/ p°idat obsah souboru rawfonts.map na zaΦßtek psfonts.map. Proto:

# cd /usr/local/teTeX/share/texmf/dvips
# mv psfonts.map psfonts.orig
# cat rawfonts.map psfonts.orig > psfonts.map

A dal╣φ ·prava Postscriptov²ch font∙ je nutnß pro sprßvnou Φinnost pdfTeXu. Prohlφ╛eΦe PDF znajφ jen n∞kolik zßkladnφch font∙, ostatnφ je nutnΘ do dokumentu p°ilo╛it. Musφte mφt nainstalovßny fonty, dodßvanΘ s programem Ghostscript. V souboru /usr/local/teTeX/share/texmf/fonts/type1/adobe/subs upravte prom∞nnou GSFPATH tak, aby ukazovala na adresß° s Postscriptov²mi fonty Ghostscriptu. Potom skript pus╗te, vygenerujφ se linky na tyto fonty:

# cd /usr/local/teTeX/share/texmf/fonts/type1/adobe/
# ./mklinks

Nejvφce problΘm∙ je s TeXov²m modulem Babel. Ten toti╛ obsahuje soubor czech.sty, jeho╛ jmΘno koliduje se stylem czech.sty, kter² pou╛φvßme v CSTeXu. Pokud Babel nebudete pot°ebovat, nejjist∞j╣φ je jej zcela vyjmout:

# rm -rf /usr/local/teTeX/share/texmf/tex/generic/babel

Pokud jej pot°ebujete, je nutnΘ upravit soubor /usr/local/teTeX/share/texmf/web2c/texmf.cnf tak, aby soubor czech.sty z adresß°e /usr/local/teTeX/share/texmf/tex/csplain naΦetl v╛dy d°φve, ne╛ ten z Babelu.

Te∩ ji╛ m∙╛ete cel² teTeX p°elo╛it. Nejprve musφte obnovit TeXovou databßzi soubor∙ ls-R, nebo╗ jste m∞nili obsah TeXovΘho stromu.

# cd /usr/src/teTeX-0.9/texk/kpathsea
# make
# ./mktexlsr
# cd ../..
# make world

A nakonec je t°eba vygenerovat ΦeskΘ (slovenskΘ) formßty TeXu:

# PATH=/usr/local/teTeX/bin:$PATH
# cd /usr/local/teTeX/share/texmf/web2c
# tex -ini csplain.ini
# ln -s latex.fmt cslatex.fmt
# pdftex -fmt pdfcsplain -ini csplain.ini
# etex -efmt=ecsplain -ini \*csplain.ini
# tex -ini cslatex.ini
# cd ../../bin
# ln -s tex csplain
# ln -s tex cslatex
# ln -s pdftex pdfcsplain
# ln -s etex ecsplain
# mktexlsr

Pak u╛ zb²vß jen TeX nakonfigurovat (viz odstavec o teTeXu pro RedHat) a vyzkou╣et.

7.3 Dopl≥ky pro TeX

Program vlnka

Slou╛φ pro p°idßnφ vlnky (mezery, ve kterΘ nem∙╛e dojφt ke zlomu °ßdky). Program je k dispozici na ftp://math.feld.cvut.cz/pub/olsak/vlna/. Pro RedHat Linux je k dispozici RPM balφk na ftp://ftp.fi.muni.cz/pub/linux/localization/ a nebo v adresß°i contrib na ka╛dΘm zrcadle RedHatu.

csindex

Program csindex slou╛φ pro vytvß°enφ sprßvn∞ Φesky nebo slovensky set°φd∞n²ch index∙ pro LaTeX. Pro RedHat Linux lze nalΘzt na ftp://ftp.fi.muni.cz/pub/linux/localization/.

a2ac

Utilitka a2ac umφ do PostscriptovΘho AFM souboru p°idat znaky s Φesk²mi akcenty. Slou╛φ pro poΦe╣╗ovßnφ Postscriptov²ch font∙. Program lze nalΘzt na ftp://math.feld.cvut.cz/pub/olsak/a2ac/, RPM balφk pro RedHat Linux je na ftp://ftp.fi.muni.cz/pub/linux/localization/ nebo v adresß°i contrib na ka╛dΘm zrcadle RedHatu.

7.4 ╚eskΘ fonty v TeXu

O k≤dovßnφ

V souΦasnΘ dob∞ existujφ t°i zßkladnφ mo╛nosti jak v TeXu psßt Φesky:

  1. Pou╛φt nativnφ TeXovsk² p°φstup a k≤dovat ΦeskΘ znaky pomocφ sekvencφ \', \v a \accent23, kde \' je sekvence pro Φßrku, \v pro hßΦek a \accent23 pro krou╛ek.
  2. Pou╛φt CS-fonty distribuovanΘ CSTUGem a pro k≤dovßnφ znak∙ u╛φvat strßnku ISO-Latin-2.
  3. Pou╛φt EC/DC fonty pokr²vajφcφ tΘm∞° v╣echny evropskΘ jazyky (balφk Babel).

V²hody a nev²hody t∞chto p°φstup∙:

  1. Lehkß p°enositelnost dokument∙ jak ve zdrojovΘm k≤du, tak ve form∞ dvi. Tento p°φstup se kv∙li nep°ehlednosti vyplßcφ pouze tehdy, pokud Φe╣tinu pou╛φvßme na mßlo mφstech v textu. P°φklad sl\accent23 un\v ec\'\i = sl∙n∞cφ to myslφm dokumentuje.
  2. CS fonty jsou osmibitovΘ fonty obsahujφcφ plnou podporu pro psanφ Φe╣tiny a sloven╣tiny. V╣echny znaky jsou zde obsa╛eny ve svΘ akcentovanΘ podob∞, nechybφ ani ΦeskΘ uvozovky a ogonok pro psanφ polsk²ch slov. Ve znacφch 1--127 se shodujφ s cm-fonty, ΦeskΘ a slovenskΘ znaky jsou k≤dovßny jako ISO-Latin-2. Instalacφ CSTeXu se zab²vß kapitola Obecnß instalace na libovoln² Unix.
  3. EC/DC fonty se stßvajφ evropsk²m standardem a zdß se, ╛e vytlaΦφ z LaTeXu p∙vodnφ Knuthovy cm-fonty. K≤dovßny jsou dle standardu Cork. Ve spojenφ s LaTeX2e a balφkem Babel jsou mocn²m nßstrojem k psanφ vφcejazyΦn²ch dokument∙. Jejich nev²hodou je men╣φ typografickß Φistota a nekompatibilita s cm-fonty co se t²kß umφst∞nφ znak∙ 1--127. Nap°. Φßrka nad Φesk²m pφsmenem Θ se mß li╣it co do velikosti od Φßrky nad francouzsk²m pφsmenem Θ, co╛ v EC/DC fontech z d∙vodu nedostatku mφsta nenφ. Na druhou stranu jsou podobn∞ jako cm-fonty k dostßnφ ve formßtu Type 1. Metafontov² zdrojßk je pon∞kud rozsßhl², tj. stovky mal²ch soubor∙. SouΦasn² CSTeX zaji╣╗uje podporu EC/DC font∙ pomocφ parametru T1 p°φkazu:
      \usepackage[T1]{czech}
      
    
    Je nutno mφti na pam∞ti, ╛e v LaTeXu musφ b²t zavedeny vzory pro d∞lenφ slov pro T1 k≤dovßnφ, tj. p°i initexovßnφ zadßno v hyphen.cfg:
      \DeclareLanguage[IL2,T1]{\czech}{czhyphen.tex}%
                                    {\lefthyphenmin=2 \righthyphenmin=3
                                     \@requesthyphens}%
      
    

    Pro bli╛╣φ info o czech.sty: http://home.zcu.cz/~snajdr5/cslatex/

    Pokud nepot°ebujeme d∞lenφ slov (nechce se nßm prßv∞ te∩ instalovat CSTeX) m∙╛eme pou╛φt:

    \usapackage[T1]{fontenc}
    

Tak╛e (1) pou╛ijeme v∞t╣inou v p°φpad∞, kdy pφ╣eme dopis v cizin∞ nebo nßm nezb²vß Φas na instalaci. (2) je v souΦasnΘ dob∞ podporovßno CSTuGem, tak╛e v rßmci ╚eskΘ republiky by m∞l b²t bezproblΘmov². (3) je zp∙sob podporovan² v Evrop∞, Φasem by se m∞l stßt standardem, tj. vesm∞s dostupn²m.

Formßty font∙

Do TeXu lze pohodln∞ zaΦlenit jednak fonty ve formßtu Metafontu, jednak fonty ve formßtu Type 1. Prvnφ lze vyu╛φt pro v╣echna za°φzenφ, druhΘ je v²hodnΘ pou╛φvat p°i p°evodu textu do PostScriptu programem DVIPS, kter² zvlß╣t∞ ve velk²ch rozli╣enφch generuje men╣φ v²stup.

MetafontovΘ fonty

V souΦasnΘ dob∞ vφm pouze o t°ech pln∞ Φesk²ch fontov²ch sadßch. Jednak tedy EC-fonty, pak CS-fonty a nakonec Concrete Modern fonty (vlastn∞ se jednß o pouh² klon CS-font∙) poΦe╣titeln² stejn²m mechanismem jako jsou z CM font∙ ud∞lßny CS-fonty.

Dßle se vyskytujφ fonty (nap°. Pandora) dob°e poΦe╣titelnΘ pomocφ virtußlnφch font∙ (programem l2accent ftp://ftp.cstug.cz/pub/local/fontware/accents/).

V╣echny zmφn∞nΘ fonty jsou dostupnΘ v archφvu ftp://ftp.cstug.cz/pub/local/, ftp://ftp.cstug.cz/pub/CTAN/fonts/.

Type 1 fonty

V souΦasnΘ dob∞ je k dispozici mnoho Φesk²ch nebo poΦe╣titeln²ch font∙ ve formßtu Type 1. Tyto fonty mohou b²t bu∩ p°φmo vestav∞ny ve v²stupnφm za°φzenφ nebo mohou b²t dodßvßny ve form∞ soubor∙ s p°φponou pfa nebo pfb, k nim╛ by m∞l b²t dodßvßn i metrick² soubor s p°φponou afm.

PoΦe╣t∞nφ font∙ zabudovan²ch ve v²stupnφm za°φzenφ.

Tyto fonty lze poΦe╣tit mechanismem virtußlnφch font∙. Pokud chcete poΦe╣tit pouze fonty ze zßkladnφ sady, tj.:

TimesNewRoman
Helvetica
NewCenturySchoolBook
Palatino
Bookman

lze s v²hodou pou╛φt ji╛ hotovΘ °e╣enφ z balφku cspsfonts.tar.gz. Obsahuje TFM a VF soubory, kterΘ staΦφ umφstit na pat°iΦnß mφsta (/usr/lib/texmf/fonts/tfm, /usr/lib/texmf/fonts/vf). Verze poΦe╣t∞nΘho teTeXu v RPM balφcφch je ji╛ obsahuje.

Pokud vlastnφte Postscriptov² font ve form∞ AFM a PFA, resp. AFM a PFB soubor∙, jsou rßmcov∞ dv∞ mo╛nosti:

  1. Font je ji╛ poΦe╣t∞n², zb²vß jej pouze p°ek≤dovat.
  2. Font zatφm neobsahuje v╣echny ΦeskΘ znaky.

Jak to zjistφm? Pokud ji╛ font obsahuje ΦeskΘ znaky, pak je o nich informace v AFM souboru. Podφvßme se tedy, zda-li AFM soubor obsahuje °ßdky typu:

C -1 ; WX 722 ; N Aacute ; B 15 0 706 892 ;

kde mφsto Aacute jsou postupn∞ nßzvy Φesk²ch znak∙ (caron = hßΦek, acute = Φßrka, ring = krou╛ek, tedy Ccaron = ╚ (C s hßΦkem), uring = ∙ (u s krou╛kem)). Pokud se nßm poda°φ najφt v╣echna Φeskß pφsmena, m∙╛eme zkusit vygenerovat font p°φkazem:

$ afm2tfm font.afm -t kodovani.enc -v cfont rfont

kde

font.afm         je jmΘno p∙vodnφho fontu
kodovani.enc     je jmΘno ΦeskΘho k≤dovßnφ
cfont            je jmΘno ΦeskΘho fontu
rfont            je jmΘno raw fontu

╚eskß k≤dovßnφ jsou dostupnß nap°. v balφku a2ac ftp://ftp.cstug.cz/pub/local/cstug/olsak/a2ac, kde je takΘ podrobn∞j╣φ info. JmΘno ΦeskΘho fontu by m∞lo b²t ve shod∞ s ,,Font Naming Conventions`` ftp://ftp.cstug.cz/pub/tex/CTAN/documentation/fontname/. JmΘno raw fontu m∙╛ete zvolit libovoln∞, v∞t╣inou se pou╛φvß jmΘno p∙vodnφho fontu s p°edponou r.

Program afm2tfm vygeneruje jednak na standardnφ v²stup °ßdek:

rfont JmenoFontu

kter² p°idßte (po malΘ ·prav∞) do souboru psfonts.map (/usr/lib/texmf/texmf/dvips/misc/psfonts.map). Co a jak p°esn∞ p°idat do tohoto souboru, je lΘpe konzultovat v dokumentaci k programu DVIPS.

Dßle vytvo°φ soubor rfont.tfm a cfont.vpl. Na posledn∞ jmenovan² aplikujeme program:

vptovf cfont.vpl

Φφm╛ dostaneme soubory cfont.tfm a cfont.vf, kterΘ umφstφme do adresß°∙ /usr/lib/texmf/texmf/fonts/tfm a /usr/lib/texmf/texmf/fonts/vf.

Pokud font ΦeskΘ znaky neobsahuje, m∙╛ete se pokusit sjednat nßpravu programem a2ac ftp://ftp.cstug.cz/pub/local/cstug/olsak/a2ac, kter², pokud najde jednotlivΘ akcenty, je schopen vytvo°it kompozitnφ popis v╣ech Φesk²ch pφsmen.

Podrobn∞j╣φ popis viz dokumentace k a2ac, Φi Φlßnek Virtußlnφ fonty, accents a p°ßtelΘ ftp://ftp.cstug.cz/pub/tex/local/cstug/sojka/aboutacc/.

7.5 LyX

Program LyX slou╛φ k vytvß°enφ textov²ch dokument∙. Je to nadstavba nad TeX, p°esn∞ji nad makro LaTeX. U╛ivatel LyXu pracuje s grafick²m rozhranφm, podobajφcφm se textov²m editor∙m ze sv∞ta MS Windows. V²stup programu LyX se po stisku tlaΦφtka zpracuje LaTeXem a proto je v²sledn² dokument typograficky pom∞rn∞ kvalitnφ.

LyX upraven² pro bezproblΘmovou prßci v Φe╣tin∞ pro RedHat Linux lze nalΘzt na ftp://ftp.fi.muni.cz/pub/linux/localization/.

7.6 Literatura


Dal╣φ P°edchozφ Obsah