| |||
DVI súbor (teda súbor, ktorý má príponu
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 Základný odkaz na štruktúru DVI súboru je zdrojový text dvitype, ktorý môžete nájsť na CTANe (CTAN: dvitype).
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ú EC fonty?, Čo sú to kódovania? a Použití PostScriptových fontů v TeXu.
PK súbory (od slov packed raster) obsahujú bitmapy písiem. Výstup z METAFONTu (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 zväčšenie (magnification), 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.
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 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ů (toho času napsal
relevatní článek do CTANu - CTAN: vf-knuth). 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
Je důležité si uvědomit, že samotný TeX virtuální fonty nevidí.
Pro každý virtuální font, který čte
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ů
Argumenty povolené pro příkaz
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
Poté, co byly z Zajímavým je také balík docmfp, který rozširuje model balíku doc do METAFONTu a METAPOSTu (viz Otázku Co to je METAFONT a viz Čo je to METAPOST), čímž umožnil distribuci dokumentovaných balíků obsahujících kód pro METAFONT a METAPOST společně s LaTeXovským kódem.
Začneme definíciou dvoch pojmov: znak (character) a glyf (glyph). Znak je abstraktný pojem pre „atóm“ nejakého jazyka alebo iného dialógu (môže to teda byť písmeno abecedy pre jazyk založený na abecede, slabika pre jazyk založený na slabikách alebo ideogram pre jazyk ideogramov). Glyf je značka na obrazovke alebo papieri reprezentujúca znak. Aby bolo možné čítanie daného jazyka, musí byť dohodnutý vzťah medzi glyfom a znakom, takže kým presný tvar glyfu môže byť ovplyvnený mnohými faktormi (možnosti média, štýl, ...), podstata konkrétneho znaku musí byť zachovaná. Vždy, keď má počítač zobrazovať nejaké znaky, niekto musí zaviesť vzťah medzi množinou čísel a znakmi, ktoré reprezentujú. Toto je podstata kódovania (mapovanie množiny čísel na to, čo majú reprezentovať, a opačne). TeX pracuje s kódovanými znakmi stále. Znaky na vstupe sú v nejakom kódovaní a TeX sám produkuje kódované znaky vo svojom DVI alebo PDF výstupe. Tieto kódovania môžu mať rôzne vlastnosti.
V čase, keď Knuth prvýkrát implementoval TeX, bol jeho vstupný prúd dosť
spurný. Knuth pripravoval dokumenty na termináloch, ktoré produkovali divné
znaky, čo malo za následok, že TeX obsahoval opatrenia na preklad vstupného
kódovania do niečoho poriadneho. Dnes sa o preklad stlačenia klávesu do kódovania
zodpovedajúceho používateľovmu jazyku stará operačný systém. Použité kódovanie
je často národný alebo medzinárodný štandard (aj keď mnoho operačných systémov
používa „kódové stránky“ definované MicroSoftom). Tieto štandardy a kódové
stránky obsahujú znaky, ktoré nie sú vo vstupnom prúde TeXu povolené.
S týmito znakmi sa treba nejako vysporiadať. Znak ako „'e“ musí byť TeXom
interpretovaný tak, aby aspoň pripomínal spôsob, ako je interpretované „
Výstupný prúd TeXu je v inej situácii. Znaky v ňom budú použité na výber
glyfov z použitých fontov. Takže kódovanie výstupného prúdu predstavuje
kódovanie fontu (aj keď použitý font môže byť virtuálny –
viď Otázku Virtuální fonty). Časť výstupného prúdu môže
byť priamym prepisom vstupu, ale môže obsahovať aj výsledok použitia príkazov
alebo preklad vstupov ako napríklad ligatúry (
Kódovania fontov sa stali horúcou témou, keď sa objavilo corkovské kódovanie
(viď Čo sú EC fonty?), pre možnosť potlačenia príkazov
Takže znak s diakritikou vo vstupnom prúde TeXu je preložený do TeXovských príkazov generujúcich niečo vyzerajúce ako vstupný znak. Táto sekvencia TeXovských príkazov je pri vytváraní výstupu následne preložená späť do jediného glyfu s diakritikou. Práve o tieto veci sa starajú LaTeXovské balíky inputenc a fontenc (ak pracujú v tandeme na (väčšine) znakov vo vstupnom kódovaní ISO Latin-1 alebo ISO Latin-2 a T1 kódovania fontu). Na prvý pohľad vyzerá zvláštne nechať prvý balík niečo spraviť a druhý nechať zmeny vrátiť späť. Nie vždy sa to však deje takto. Väčšina kódovaní fontov nesedí so zodpovedajúcim vstupným kódovaním úplne presne a práve tieto dva balíky poskytujú potrebnú mieru symetrie pre LaTeX.
Každý vie, čo je rozdeľovanie slov. Vidíme to vo väčšine kníh, ktoré čítame, a (ak sme pozorní) často môžeme zbadať smiešne, nesprávne rozdelenia (istý čas boli britské noviny celkom plodným zdrojom). Štýly rozdeľovania slov sú regionálne závislé (jeden jazyk môže byť rozdielne rozdeľovaný v rôznych krajinách — napríklad britská a americká angličtina). Dôsledkom toho musí sádzací systém, ktorý nie je pri použití jedného regionálneho nastavenia obmedzený na jeden jazyk, byť schopný z času na čas zmeniť parvidlá pre delenie slov.
TeX má celkom dobrý systém delenia slov (pôvodne vytvorený Frankom Liangom).
Aj keď sa mu občas podarí minúť zjavné miesta rozdelenia, málokedy vyberie úplne
zlé. Algoritmus kontroluje kandidátov na rozdelenie voči množine rozdeľovacích
vzorov. Kandidátmi na rozdelenie musia byť postupnosti písmen (alebo iné
jednotlivé znaky, ktoré bude TeX považovať za písmená) — veci ako
TeXovské primitivum Množiny rozdeľovacích vzorov sú zvyčajne odvodené z analýzy zoznamu správnych rozdelení (odvodzovanie, vykonávané pomocou balíku patgen, nie je obvykle participačný šport). Vzory pre jazyky, s ktorými sa TeXovský systém stretne, môžu byť nahraté pri jeho inštalácii. Pre zmenu množiny jazykov je nutná čiastočná reinštalácia (viď Používání nových jazyků v babelu).
TeX poskytuje dva príkazy na „používateľskej úrovni“ pre kontrolu
rozdeľovania slov:
Bežný používateľ LaTeXu si nemusí lámať hlavu s
Font pozostáva z množstva glyfov. Aby sme ich mohli tlačiť, musia byť kódované (viď Otázku Čo sú to kódovania?). Kódovanie sa používa ako index do tabuliek vo fonte. Knuth si z rôznych príčin pre rodinu svojich fontov Computer Modern vybral veľmi zvláštne kódovanie (vybral si rôzne kódovania pre rôzne fonty, takže aplikácia, ktorá ich používa, musí pred výberom konkrétneho glyfu vedieť, ktorý font používa). S príchodom TeXu verzie 3 sa vytratila väčšina dôvodov ospravedlňujúcich Knuthove kódovanie a na corkovskom stretnutí TUGu bolo definované kódovanie množiny 256 glyfov pre TeXovské texty. Zámer bol, aby kódovanie pokrylo „väčšinu“ európskych jazykov používajúcich latinku (v zmysle zahrnutia všetkých potrebných znakov s diakritikou). Knuthove CMR fonty neobsahovali napríklad veci potrebné pre polštinu (medzi nešťastlivcov patrili ale aj obyvatelia Islandu), corkovské kódovanie ich už obsahovalo. Ani corkovské kódovanie však nepokrývalo všetko (smolu mali minimálne Rumuni, Welšania a Laponci; corkovské kódovanie situáciu severných Laponcov zlepšuje). LaTeX sa na corkovské kódovanie odkazuje ako na T1 kódovanie a poskytuje prostriedky na použitie takto kódovaných fontov (čím sa vyhýba problémom s diakritikou a rozdeľovaním slov — viď Otázku Akcentovaná slova se nedělí). Jediné METAFONTovské fonty vyhovujúce corkovskému kódovaniu sú EC fonty. Vyzerajú ako CM, aj keď ich metriky sa od metrík CM fontov líšia. Fonty sú považované za „stabilné“ (v rovnakom zmysle ako CM fonty: ich metriky sa zrejme už meniť nebudú). Vážnymi problémami pre bežného používateľa sú ich veľkosti (každý EC font je približne dvojnásobný oproti zodpovedajúcemu CM fontu) a ich počet (je ich oveľa viac než CM fontov). Počet fontov býval demotiváciou pre tvorbu Adobe Type 1 verzií fontov, no mnoho komerčných dodávateľov poskytuje EC alebo EC-ekvivalentné fonty v type 1 alebo TrueType formáte — viď Otázku Komerční implementace TeXu (voľne dostupné verzie sa tiež dajú získať — viď Projekt TeXtrace). Kým sa nevyrobia zodpovedajúce fonty pre matematiku, CM fonty musia zostať zachované, pretože niektoré matematické symboly sú vykresľované z fontov v CM kódovaniach. EC fonty sú distribuované so sadou „Text Companion“ (TC) fontov poskytujúcich glyfy bežne používané v texte. TC fonty sú kódované podľa LaTeX TS1 kódovania a nie sú považované za stabilné. Corkovské kódovanie je implementované virtuálnymi fontami viz Použití PostScriptových fontů v TeXu, pre PostScriptové fonty a tiež balíkmi fontov txfonts a pxfonts (viď Otázku Výběr zvětšovatelných obrysových fontů).
TDS je zkratka pro TeX Directory Structure, což je standardní způsob organizace TeXových souborů ve vašem sytému. Specifikace TDS je k dispozici v archívu CTAN v adresáři CTAN: tds.
Moderní distribuce se většinou přizpůsobují TDS, které stanuvuje
standardní i lokální hierarchii. TDS si vyhrazuje jméno
TDS je publikováno jako výstup TUG
Technical Working Group (viz Technické pracovní skupiny TUGu).
Můžete si projít online verzi na
PostScript sa stal štandardným jazykom výkonných tlačiarní. Kedže PostScript je tiež mocným grafickým programovacím jazykom, je často používaný ako výstup pre kresliace (a iné) balíky. Keďže je však PostScript silným jazykom, musia byť niektoré pravidlá podvrhnuté, aby mohla byť výstupná kresba vložená v dokumente ako obrázok bez „pretekania“ (teda bez zničenia okolitých prvkov dokumentu, prípadne neschopnosti vykreslenia). Príloha H PostScript Language Reference Manual (referenčný manuál k PostScriptu; druhé a nasledovné vydania) špecifikuje pravidlá pre použitie PostScriptu pre obrázky týmto spôsobom. Dôležité vlastnosti sú:
V starých časoch boli distribúcie TeXu obmedzovaný slabou schopnosťou súborových systémov reprezentovať dlhé názvy. (Súborový systém MSDOS bol pekným strašiakom, no našťastie všetky aktuálne Microsoft systémy dovoľujú pri špecifikácii názvov súborov väčšiu slobodu. Štandard ISO 9660 pre štruktúru CDROMov má bohužiaľ podobné nedostatky, ktoré ale takisto boli modifikované rôznymi rozšíreniami.) Jednou z oblastí, v ktorých toto pôsobilo problémy, boli názvy súborov Type 1 fontov. Tieto fonty sú distribuované ich dodávateľmi s nezmyselnými krátkymi názvami a existujú prirodzené ambície zmeniť názov na niečo, čo font identifikuje presnejšie. Bohužiaľ, názvy ako „BaskervilleMT“ už sú ďaleko za schopnosťami typických slabších súborových systémov, pridajte špecifikáciu tvaru alebo varainty fontu a ťažkosti sa začnú vymykať kontrole. Takže vznikla schéma názvov Berry.
Základom schémy je kódovanie rozličných častí špecifikácie súboru
extrémne stručným spôsobom, aby mohlo byť vyjadrené dostatočné množstvo názvov
fontov dokonca aj v chudobnejšom priestore názvov súborov. Kódovanie používa
jedno písmeno pre „zlieváreň“ (foundry) fontu, dve pre názov
typu písma, jedno pre
duktus atď. Celá schéma je vykreslená v distribúcii balíku
| |||
|