\"/
\"/ \"/    

LaTeX, verze 2.09 a NFSS

Pavel Ševeček, ÚVT MU
Ročník II - číslo 5, květen 1992
Citace: P. Ševeček. LaTeX, verze 2.09 a NFSS. Zpravodaj ÚVT MU. ISSN 1212-0901, 1992, roč. II, č. 5, s. 9-11.
Tematické zařazení: Typografie, počítačová sazba
 předchozí článek | následující článek 

Od prosince je ve světových sítích dostupná nová verze populárního systému maker LaTeX, která přináší výrazné zlepšení práce s fonty a typy písma vůbec, označované jako NFSS (New Font Selection Scheme). Tato nová verze obohacená o českou podporu je nyní k dispozici i uživatelům TeXu na MU.

New Font Selection Scheme

Nejprve si ve stručnosti zopakujme, jakým způsobem dosud uživatel LaTeXu s fonty pracoval. Již od svých začátků s tímto souborem maker byl vychováván v představě, že má k dispozici následující možnosti:

Typ písma:
roman (\rm), slanted (\sl), italics (\it), bold face (\bf), sans serif (\sf), type writer (\tt) apod.
Velikost písma:
tiny, scriptsize, footnotesize, small, large, Large, LARGE, huge, Huge

Tyto dvě charakteristiky písma (typ a velikost) je možno kombinovat podle následujících zásad:

Příklad:
\rm Ukázka 1 \sl Ukázka 2 \bf Ukázka 3 \Large Ukázka 4
dá výsledek
Ukázka 1 Ukázka 2 Ukázka 3 Ukázka 4

Jiný font, např. tučný sans serif, lze získat pouze příkazem \font, resp. \newfont.

New Font Selection Scheme přichází s novým způsobem práce s fonty. Rozlišuje totiž tyto charakteristiky písma:

Rodina písma (family):
určuje základní podobu a vzhled písma; z hlediska dřívějších znalostí rozlišujeme rodinu roman (patkové), sans serif (bezpatkové) a type writer (strojopisné)
Sklon písma (shape):
od každého z rodiny písem můžeme odvodit následující písma: normální, slanted (skloněné), italics (kurzívu) a small caps (kapitálky)
Tučnost písma (series):
z hlediska této charakteristiky rozlišujeme písmo normální, bold (polotučné) a bold extended (tučné)
Velikost písma (size):
pokud se týče velikosti písma, zůstává zachováno vše z dřívější verze

Tyto charakteristiky je možno navzájem kombinovat v libovolném pořadí. Změna velikosti znamená písmo stejné rodiny, sklonu a tučnosti, ovšem v nové velikosti. Podobně změna rodiny např. z roman na sans serif znamená zachování ostatních atributů písma.

Příklad:
\rm Ukázka 1 \sl Ukázka 2 \bf Ukázka 3 \Large Ukázka 4
dá výsledek
Ukázka 1 Ukázka 2 Ukázka 3 Ukázka 4

Poznámka:
Při kombinování různých aspektů písma se může stát, že daný font není k dispozici. Mezi základními fonty nejsou např. tučný sans serif v kurzívě nebo tučné strojopisné písmo. V tomto případě je místo takového fontu substituován jiný a LaTeX o tom podá zprávu. Informace o tom, kterým fontem má být neexistující font nahrazen, jsou uloženy v příslušném format file (soubor .FMT), resp. ve stylu (soubor .STY).

Národní podpora

Současně s novou verzí LaTeXu nabízíme uživatelům zdokonalenou českou podporu sázecího systému TeX. Tato úprava zohledňuje všechny novinky, které přinášejí TeX verze 3.0 a LaTeX verze 2.09. Aktuálně je k dispozici varianta pro MS-DOS, takže uživatelé instalace emTeX mohou bez potíží přejít na novou verzi.

Instalace pro MS-DOS zahrnuje:

V následujících odstavcích budou popsány jednotlivé části této podpory.

České fonty

Nyní se chci podrobněji zmínit o možnostech použití českých znaků v systému TeX. Existuje totiž více způsobů, z nichž některé se jeví jako výhodnější.

Konverzní program:
Tato varianta nahradí ve zdrojovém textu všechny české znaky příslušnými makry, tedy např. znak ř převede na makro \v{r}. Tento způsob byl i na MU dlouho používán, má však spoustu nedostatků a v nynější době je již přežitý. Hlavním nedostatkem je především:
  • při konverzi vzniká nový soubor
  • na všech slovech, ve kterých je některý akcentový znak, selže algoritmus dělení
Kódové stránky TeXu:
TeX verze 3.0 již umožňuje pracovat s 8-bitovými znaky a sám taktéž podporuje národní abecedy. Je tedy možno provést nahrazení českých akcentových znaků příslušnými makry až na úrovni TeXu. Problém s českým dělením zůstává. Bližší informace viz program MAKETCP.
Plné české fonty:
Přes sdružení TUG jsou k dispozici 8-bitové fonty obsahující všechny české znaky. Odpadají problémy s dělením, nevýhodou je značný nárůst velikosti fontů a tím i celkového diskového prostoru.
Evropské fonty:
V rámci standardizace TeXu pro evropské země bylo navrženo kódování, které zahrnuje všechny evropské latinkové abecedy (azbuka a řečtina jsou samostatné fonty). Tento kód je označován jako EC (Europian Code). Současně jsou navrhovány EC-fonty, přičemž nyní je v sítích dostupná předběžná varianta označovaná DC-fonty. I v těchto fontech nalezneme všechny české znaky, nevýhodou je více jak dvojnásobný nárůst velikostí souborů fontů, což pro uživatele TeXu, majícího k dispozici pouze 20 MB hard disk, není jistě zanedbatelné.
Virtuální fonty:
Podle našeho názoru je tato varianta rozumným řešením, protože s minimálními požadavky na diskový prostor nám umožní české dělení. Jelikož na principu virtuálních fontů je i současná instalace TeXu pro MU, věnujeme této variantě následující odstavec.

Virtuální fonty

Co jsou to virtuální fonty, v čem spočívají a jaké mají přednosti?
Jak pravděpodobně víte, TeX nepracuje sám o sobě s fonty, nýbrž pouze s jejich metrikami (soubory popisujícími metrické vlastnosti znaků jako jsou výška nebo šířka). Zde nalezne veškeré informace potřebné pro správné zformátování textu. Teprve drivery jednotlivých zařízení (obrazovky, tiskárny) pracují s vlastními fonty a umísťují skutečnou podobu znaků na obrazovku nebo papír.

Další informací, kterou potřebujete znát pro pochopení principu virtuálních fontů, je způsob kódování TeXovských fontů. Všechny fonty písem (tedy ne matematické nebo jiné speciální fonty) mají podobné rozložení znaků. Všechny znaky jsou naskládány v rozmezí 0 až 127 ASCII tabulky. Jsou zde všechny základní znaky (A-Z, a-z, 0-9), některé speciální znaky (!, ", #, $ apod.) a také všechny akcenty (čárka, háček, kroužek, dvě tečky atd.).

Virtuální fonty jsou pak soubory speciálního tvaru, ve kterých jsou zapsány informace o tom, jak je který znak tvořen ze znaků jiného fontu.

Příklad:
Máme font CMR10.PK, který obsahuje 128 znaků písma roman ve velikosti 10 bodů. Metrika tohoto fontu je uložena v souboru CMR10.TFM.
Virtuální font CSR10.VF popisuje, že znak A fontu CSR10 je roven znaku A fontu CMR10 a znak á je určitým způsobem složen ze znaků A' fontu CMR10. Metrika tohoto fontu je uložena v souboru CSR10.TFM.

TeX pak pracuje pouze s metrikami a nestará se o to, zda daný font je virtuální či skutečný. Teprve driver příslušného zařízení buď použije přímo daný font nebo v případě virtuálního skládá daný znak ze znaků jiného fontu.

Pro snadné vytváření českých virtuálních fontů ze 7-bitových fontů je k dispozici program ACCENTS (autor Jiří Zlatuška). Tímto programem je možno velmi snadno "počešťovat" libovolný font.

Drivery instalace emTeX s virtuálními fonty pracovat umějí. Pokud by někdo chtěl použít driver, který virtuální fonty nepodporuje, pak může použít nejprve program DVICOPY, který soubor .DVI s virtuálními fonty převede na soubor bez virtuálních fontů, a tento soubor teprve vytisknout příslušným driverem.

Dělení slov, jazykově závislé texty

Nová instalace TeXu pro MU je koncipována tak, aby měl uživatel možnost přepínat jak české, tak anglické či německé dělení slov. Podobná možnost je i s přepínáním jazykově závislých textů (Obsah - Contents, říjen - October). Využívat těchto možností lze následujícím způsobem:

Instalace

Výše popisovaná instalace je připravena ve formě update pro Vámi používanou instalaci TeXu. Soubory jsou uloženy na dvou disketách HD.

1.disketa
obsahuje LaTeX, verzi 2.09, české prostředí včetně fontů a potřebných stylů.
2.disketa
obsahuje originální soubory pro NFSS a vygenerované concrete fonty pro tiskárny Laser Jet. Soubory na této disketě nejsou nutně potřeba, jsou k dispozici pro případné zájemce.

Bližší informace k celé instalaci a obsahu jednotlivých disket naleznete na 1.disketě v souboru README.

LVT jednotlivých fakult se mohou obracet přímo na Útvar aplikací ÚVT, uživatelé si pak mohou tyto diskety vyzvednout na LVT své fakulty.

Zpět na začátek
ÚVT MU, poslední změna 14.11.2011