TeXovΘ drobnosti
   
TeXovΘ drobnosti CSTUG


╚o je to DVI s·bor

DVI s·bor (teda s·bor, ktor² mß prφponu .dvi) je hlavn² v²stupn² s·bor TeXu (pou╛ij·c TeX v ╣ir╣om zmysle, zahα≥aj·c v tom aj LaTeX a ∩al╣ie verzie a varianty TeXu). DVI znamenß device independent, Φo je nezßvisl² od zariadenia, a znamenß to, ╛e tento s·bor by mal by╗ vytlaΦen² rovnako, bez oh╡adu na typ zariadenia, na ktorom to bolo vykonanΘ. DVI s·bor je Φφtan² ovlßdaΦom zariadenia (pozri Otßzku ╚o je to ovlßdaΦ) ako je tlaΦiare≥ (napr. LaserJet) alebo je vstupom pre prehliadaΦ na obrazovke monitora. V DVI s·bore je pou╛itΘ TeXovskΘ vn·tornΘ k≤dovanie. Z TeXovskΘho vstupnΘho s·boru by sme mali urobi╗ v╛dy ten ist² DVI s·bor bez oh╡adu na implementßciu TeXu, ktor· pou╛ijeme.

DVI s·bor obsahuje v╣etky informßcie, ktorΘ s· potrebnΘ pre tlaΦ alebo prezeranie, ale nie konkrΘtne bitovΘ mapy alebo inΘ popisy pφsma. Snß∩ e╣te materißl, ktor² je uveden² v prφkaze \special (pozri Otßzku P°φkazy typu \special).

Zßkladn² odkaz na ╣trukt·ru DVI s·boru je zdrojov² text dvitype.


╚o je to ovlßdaΦ

OvlßdaΦ (driver) je program, ktor² mß za vstup DVI s·bor (pozri Otßzku ╚o je to DVI s·bor) a (obvykle) produkuje s·bor, ktor² m⌠╛e by╗ poslan² do typografickΘho v²stupnΘho zariadenia, naprφklad tlaΦiarne.

OvlßdaΦ je obvykle ╣pecifick² pre dan· tlaΦiare≥ alebo triedu tlaΦiarnφ, aj ke∩ ka╛dß PostScriptovß tlaΦiare≥ by mala vytlaΦi╗ v²stup PostScriptovΘho ovlßdaΦa.

OvlßdaΦ potrebuje DVI s·bor, ako aj informßciu o pφsme. Pφsma m⌠╛u by╗ zadßvanΘ vo forme bitov²ch mßp alebo odkazom na pφsmo, ktorΘ je priamo obsiahnutΘ v tlaΦiarni. Ka╛d² ovlßdaΦ oΦakßva informßciu o pφsme v ╣pecifickej podobe. Viac informßciφ o formßch pφsem m⌠╛ete nßjs╗ v otßzkach ╚o s· to PK s·bory, ╚o s· to TFM s·bory, ╚o s· to DC pφsma a Pou╛itφ PostScriptov²ch font∙ v TeXu.


╚o s· to PK s·bory

PK s·bory (od slov packed raster) obsahuj· bitmapy pφsem. V²stup z METAFONT (pozri Otßzku Jak dostat z METAFONTu to, co chcete) obsahuje GF s·bor (generic font). Tento konvertuje program gftopk do PK s·boru. Existuje mnoho PK s·borov, preto╛e pre ka╛dΘ pφsmo potrebujeme jeden. Dokonca pre ka╛d· bodov· ve╡kos╗ aj magnification - zvΣΦ╣enie, ka╛d² typ ka╛dej rodiny pφsem. Navy╣e, PK s·bor pre jednu tlaΦiare≥ nemusφ nevyhnutne by╗ dobr² pre druh· tlaΦiare≥. V takom prφpade je treba ma╗ cel· mno╛inu PK s·borov aj pre t·to ∩al╣iu tlaΦiare≥. V²sledkom s· Φasto komplikovanΘ adresßrovΘ ╣trukt·ry alebo FLI (font library file) s·bory pre vΣΦ╣iu usporiadanos╗ prφstupu.


╚o s· to TFM s·bory

TFM je skratka pre TeX font metric, Φi╛e TFM s·bor obsahuje informßcie o rozmeroch charakterov (pφsmeniek), o ligat·rach (typografickΘ spojenie dvoch alebo viacer²ch znakov) a o medziznakov²ch medzerßch v danom pφsme. Pre ka╛dΘ pφsmo je potrebn² jeden TFM s·bor, dokonca pre ka╛d· bodov· ve╡kos╗. Ale jeden TFM s·bor je pre v╣etky zvΣΦ╣enia (magnifications), preto je vo v╣eobecnosti TFM s·borov menej ako PK s·borov. D⌠le╛itΘ je, ╛e TFM s·bory pou╛φvaj· programy TeX, LaTeX, ale nie s· vo v╣eobecnosti potrebnΘ naprφklad pre ovlßdaΦe tlaΦiarnφ.


Virtußlnφ fonty

Virtußlnφ fonty pro TeX jako prvnφ implementoval David Fuchs u╛ na zaΦßtku jeho historie, ale pro v∞t╣inu lidφ zaΦaly existovat, a╛ kdy╛ Knuth v roce 1989 zm∞nil formßt a napsal n∞kolik podp∙rn²ch program∙. Pou╛itφ virtußlnφch font∙ je zp∙sob, jak °φci TeXu o n∞Φem slo╛it∞j╣φm, ne╛ je vzßjemn∞ jednoznaΦnΘ mapovßnφ znak∙. Entity, kterΘ se definujφ ve virtußlnφm fontu, vypadajφ jako TeXovskΘ znaky (objevujφ se s popisem jejich velikosti a souborem metriky fontu), ale dvi procesor je m∙╛e expandovat do n∞Φeho zcela odli╣nΘho. Tato schopnost se dß vyu╛φt pro p°esklßdßnφ znak∙, pro vytvo°enφ fontu posklßdanΘho z glyf∙ pochßzejφcφch z r∙zn²ch zdrojov²ch soubor∙, nebo obecn∞ k vytvß°enφ r∙zn∞ slo╛it²ch efekt∙ -- virtußlnφ font m∙╛e obsahovat cokoliv, co je p°φpustnΘ v dvi souboru. Ve v∞t╣in∞ praktick²ch p°φpad∙ se virtußlnφ fonty pou╛φvajφ k p°esklßdßnφ postscriptov²ch font∙ (viz Soubory metrik TeXovsk²ch font∙ pro PostScriptovΘ fonty) nebo k vytvß°enφ ,,neprav²ch`` matematick²ch font∙.

Je d∙le╛itΘ si uv∞domit, ╛e samotn² TeX virtußlnφ fonty nevidφ. Pro ka╛d² virtußlnφ font, kter² Φte dvi ovladaΦ, existuje odpovφdajφcφ tfm soubor, kter² Φte TeX. Virtußlnφ fonty jsou normßln∞ vytvo°eny v jednom ASCII souboru (vpl, Virtual Property List), kter² obsahuje oba druhy informace. Program vptovf pak vytvo°φ binßrnφ tfmvf soubory. Nejb∞╛n∞j╣φm zp∙sobem (v dne╣nφ dob∞) jak vygenerovat vpl soubor, je pou╛φt programov² balφk fontinst, kter² je detailn∞ popsßn spoleΦn∞ s diskusφ o viz Soubory metrik TeXovsk²ch font∙ pro PostScriptovΘ fonty. Dal╣φm prost°edkem pro ad-hoc vytvß°enφ virtußlnφch font∙ je CTANqdtexvpl od Eberharda Mattese.


P°φkazy typu \special

TeX poskytuje prost°edy k vyjßd°enφ v∞cφ, kterΘ mohou d∞lat ovladaΦe za°φzenφ, ale o kter²ch TeX sßm nevφ nic. Nap°φklad TeX nevφ nic o tom, jak za°adit postscriptov² obrßzek do dokumentu, nebo jak nastavit barvu tisknutΘho textu. Ale n∞kterΘ ovladaΦe za°φzenφ to um∞jφ.

TakovΘ v∞ci jsou umo╛n∞ny prost°ednictvφm p°φkaz∙ \special. Jedinß v∞c, kterou s takov²m p°φkazem TeX ud∞lß, je, ╛e expanduje jeho argumenty a pak p°φkaz p°epφ╣e do dvi souboru. Ve v∞t╣in∞ p°φpad∙ jsou k dispozici balφky (Φasto i s ovladaΦem), kterΘ poskytujφ srozumitelnΘ rozhranφ k p°φkaz∙m \special. Nap°φklad p°i vklßdßnφ obrßzku do textu je nutno vynechat pat°iΦnou mezeru. Anebo zm∞na barvy m∙╛e b²t nßroΦn∞j╣φ operace vy╛adujφcφ znalost trik∙. LaTeX 2e mß standardnφ balφky pro grafiku a barvu, s jejich╛ pomocφ jsou vklßdßnφ soubor∙, rotace, zm∞ny m∞°φtka a barvy prost°ednictvφm p°φkaz∙ \special jednoduchΘ.

Argumenty povolenΘ pro p°φkaz \special zßvisejφ na ovladaΦi za°φzenφ. Krom∞ p°edchozφch p°φklad∙ existujφ p°φkazy \special pro ovladaΦe z emTeXu (nap°. dvihplj, dviscr, atd., kterΘ kreslφ p°φmky s libovoln²m sklonem, a p°φkazy pro ovladaΦ dvitoln03, kterΘ umo╛≥ujφ, aby strßnka byla vysßzena nale╛ato).


DokumentovanΘ LaTeXovskΘ zdroje (.dtx soubory)

LaTeX 2e a spousta podp∙rn²ch balφk∙ maker jsou nynφ psßny metodou viz Co je dokumentovanΘ programovßnφ, se zdrojov²m k≤dem i dokumentacφ ve stejnΘm souboru. Autorem tohoto formßtu, kter² je znßm jako ,,doc``, je Frank Mittelbach. DokumentovanΘ zdroje majφ podle konvence koncovku .dtx a dokumentace by z nich m∞la b²t p°ed pou╛φvßnφm odstran∞na. P°φpadn∞ lze soubor .dtx zpracovat LaTeXem, Φφm╛ vznikne p∞kn∞ zformßtovanß verze dokumentovanΘho k≤du. V∞t╣inou je k dispozici instalaΦnφ dßvka (s p°φponou .ins), kterß pot°ebuje standardnφ balφk LaTeX 2e docstrip. Ten odstra≥uje v╣echny poznßmky, jejich╛ obsahem je prßv∞ ta dokumentace. V pr∙b∞hu instalace se (krom∞ jin²ch v∞cφ) odstra≥uje ze soubor∙ jejich dokumantace, aby se zv²╣ila rychlost Φtenφ t∞chto soubor∙ b∞╛φcφm LaTeXem. Do jednoho .dtx souboru m∙╛e b²t zahrnuto vφce balφk∙, s podmφn∞n²mi sekcemi a prost°edky pro indexy maker atd. Soubory .dtx m∙╛e psßt ka╛d². Jejich formßt je popsßn v The LaTeX Companion (viz Knihy o TeXu a p°φbuznß literatura). Zatφm neexistujφ programy podporujφcφ psanφ .dtx soubor∙.

PotΘ, co byly z .dtx soubor∙ vytvo°eny .sty nebo .cls (a dal╣φ) soubory, nejsou u╛ soubory .dtx LaTeXem pou╛φvßny. Nemusφ b²t uchovßvßny s fungujφcφm systΘmem. NicmΘn∞ pro mnoho balφk∙ jsou primßrnφm zdrojem dokumentace, tak╛e je n∞kdy dobrΘ si je ponechat.


╚o s· to DC pφsma

Pφsmo (font) pozostßva z mno╛iny znakov (pφsmen, Φφslic a ╣pecißlnych znakov). Aby sme ich mohli vytlaΦi╗, musφme ma╗ nadefinovan² prφstup k nim. V TeXu s· usporiadanΘ v urΦitom poradφ, ktorΘ volßme k≤dovanie. Z r⌠znych prφΦin D. Knuth zvolil trochu v²strednΘ k≤dovanie. KonkrΘtne, pre r⌠zne pφsma zvolil r⌠zne k≤dovania.

Po uvolnenφ TeXu, verzie 3, boli niektorΘ ,,v²strednosti`` odstrßnenΘ. Na stretnutφ TUGu (TeX User Group) v Corku bolo definovanΘ novΘ k≤dovanie pre mno╛inu 256 znakov. Cie╡om bolo pokry╗ vΣΦ╣inu eur≤pskych jazykov, v zmysle zahrnutia v╣etk²ch mo╛n²ch akcentovan²ch znakov (naprφklad Knuthovo k≤dovanie nepokr²va po╡skΘ alebo islandskΘ akcentovanΘ znaky a CorkovskΘ k≤dovanie ßno). LaTeX 2e (pozri Otßzku LaTeX 2e (nov² standard LaTeXu)) umo╛≥uje pou╛i╗ CorkovskΘ k≤dovanie (T1), a tak sa umo╛≥uje vyhn·╗ konfliktom a problΘmom s delenφm slov s akcentami (pozri Otßzku Nezvykle rozd∞lenß slova).

METAFONTovskΘ pφsma, ktorΘ s· v s·lade s Corkovsk²m k≤dovanφm, sa volaj· DC pφsma (dostupnΘ ako CTANdc; ubezpeΦte sa, ╛e mßte verziu 1.2, ·rove≥ oprßv 1, z decembra 1995 alebo neskor╣iu). Tieto pφsma vyzeraj· ako Computer Modern pφsma. Mali by by╗ chßpanΘ ako medzikrok ku pφsmam EC (ktorΘ bud·, ako d·fam, dostupnΘ niekedy v roku 1996). Ich vß╛nou nev²hodou pre nßhodnΘho pou╛φvate╡a je, ╛e s·bory s· ve╡kΘ - ka╛dΘ DC pφsmo je zhruba dvakrßt vΣΦ╣ie ako zodpovedaj·ce CM pφsmo. Preto a pokia╡ zodpovedaj·ce matematickΘ pφsma nie s· vytvorenΘ, musia by╗ CM pφsma zachovanΘ.

CorkovskΘ k≤dovanie je implementovanΘ aj v PSNFSS systΘme (pozri Otßzku Pou╛itφ PostScriptov²ch font∙ v TeXu) pre PostScriptovΘ pφsma.


CSTUG
(c) 22.10.1999 13:30 Libor ⌐karvada, Tomß╣ Hudec, Ale╣ Vφtek
P°ipomφnky, opravy a zejmΘna odpov∞di na dal╣φ ΦastΘ otßzky posφlejte na adresu cstug-faq@cstug.cz
P°ipomφnky k HTML verzi posφlejte na adresu libor@fi.muni.cz nebo hudec@fi.muni.cz.