TeXové drobnosti |
| Vyhledávání podle slov v CS-FAQ Hledaný řetězec: ### Č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 (CTAN: 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, Co jsou to DC a EC 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 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 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í `tfm` a `vf` 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 CTAN: qdtexvpl 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. ### Co jsou to DC a EC písma Písmo (font) se skládá z množiny znaků (písmen, číslic a speciálních znaků). Abychom je mohli vytisknout, musíme mít nadefinovaný přístup k nim. V TeXu jsou uspořádané v určitém pořadí, které nazýváme kódování. Z různých příčin D. Knuth zvolil trochu výstřední kódování. Konkrétně, pro různá písma zvolil různá kódování. Po uvolnění TeXu, verze 3, byly některé ,,výstřednosti`` odstraněny. Na zasedání TUGu (TeX User Group) v Corku bylo definované nové kódování pro množinu 256 znaků. Cílem bylo pokrýt většinu evropských jazyků, v smysle zahrnutí všech možných akcentovaných znaků (například Knuthovo kódování nepokrývá polské nebo islandské akcentované znaky a Corkovské kódování ano). LaTeX 2e (viz Otázku LaTeX 2e (nový standard LaTeXu)) umožňuje použít Corkovské kódování (T1), a tak se umožňuje vyhnout konfliktům a problémům s dělením slov s akcentovanými znaky (viz Otázku Nezvykle rozdělená slova). První METAFONTovská písma, které byla vytvořena v souladu s Corkovským kódováním, se nazývají DC písma (CTAN: dc). Tato písma vypadají jako Computer Modern písma. Jejich vážnou nevýhodou pro náhodného uživatele je, že soubory jsou velké - každé DC písmo je zhruba dvakrát větší než odpovídající CM písmo. Jejich nástupcem se staly EC fonty (CTAN: ec). Bohužel, jejich velikost se podstatně nesnížila. Corkovské kódování je implementováno také v PSNFSS systému (viz Otázku Použití PostScriptových fontů v TeXu) pro PostScriptové fonty. ### Co je to TDS? 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-0.9996. Moderní distribuce se většinou přizpůsobují TDS, které stanuvuje standardní i lokální hierarchii. TDS si vyhrazuje jméno `texmf` pro kořenový adresář hierarchie. Soubory nabízené jako součást hierarchie jsou uspořádány do adresářů podle této standardní hierarchie. Umístění kořenového adresáře je závislé na systému - na UNIXech to však standardně bývá jeden z adresářů `/usr/local/share/texmf` nebo `/opt/texmf` nebo jiná podobná cesta, v každém případě jsou však všechny soubory umístěny v podadresáři `texmf`. Mohou zde však být mnohonásobné lokální hierarchie, v nichž mohou být uloženy další soubory. V extrémním případě může mít TeXová instalace jednu lokální hierarchii, ale každý uživatel může mít také svoji individuální lokální hierarchii. Jejich umístění není pouze závislé na systému, ale na jednotlivých uživatelích. Avšak přesto platí, že všechny soubory jsou umístěny v lokálním adresáři `texmf`.
| (c) 29.04.2002 16:18 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.