\"/
\"/ \"/    

Grafika v TeXu (1)

Petr Sojka, ÚVT MU
Ročník III - číslo 3, leden 1993
Citace: P. Sojka. Grafika v TeXu (1). Zpravodaj ÚVT MU. ISSN 1212-0901, 1993, roč. III, č. 3, s. 8-11.
Tematické zařazení: Typografie, počítačová sazba
Článek je součástí seriálu Grafika v TeXu
 předchozí článek | následující článek 

Úvod

V dnešní době je stále větší pozornost kladena na přehlednost a instruktivnost vědeckých prací, knih, dokumentace; jak praví přísloví - jeden obrázek vydá za tisíc slov. Vznikají softwarové systémy specializované na vytváření grafiky (Adobe Illustrator 4.0, Aldus FreeHand 3.1, CorelDraw 3.0, Graphics Editor 3.11, Fractal Design Painter 1.2 for Windows, Micrografix Designer 3.1, PhotoFinish 1.0, PhotoStyler 1.1a, Picture Publisher 3.1, Publisher's Paintbrush 2.02)1 a také většina dalších softwarových balíků používaných na MU (Mathematica, Lotus 1-2-3, Statgraphics, ...) umožňuje výstup prezentační grafiky v některém z grafických elektronických formátů pro další použití.

Některé výtky na adresu systému TeX, podporovaného na MU, se týkají integrace grafiky do textu dokumentu. Proto v dnešním a dalších pokračováních TeXové filipiky budeme věnovat pozornost integraci grafiky do dokumentu sázeného TeXem a také související problematice jazyka POSTSCRIPT.

Filosofie a počátky TeXu se datují do konce 70. let, kdy jsme v ČSFR začínali tisknout české znaky na řádkových tiskárnách přetiskem z apostrofů a kdy i ve světě myšlenka přímé integrace grafiky a textu byla téměř kacířská. TeX byl koncipován v době, kdy nebyly rozšířeny osobní počítače a pracovní stanice s grafickými displeji, laserové tiskárny, ani standardy jako POSTSCRIPT či SGML. Přes své stáří TeX spolu s programem METAFONT a dalšími podpůrnými programy tvoří ucelený (a v mnoha aspektech nepřekonaný) softwarový balík pro vysoce kvalitní publikační činnost.

Obrázky do TeXového dokumentu můžeme integrovat několika způsoby:

  1. pomocí balíků maker přímo v TeXu či (LaTeXu)
  2. pomocí programu METAFONT
  3. integrací grafiky vytvořené specializovanými grafickými systémy

1  Grafika pomocí maker v TeXu

Základní sada písem TeXu (rodina písem Computer Modern) obsahuje sadu znaků pro sazbu čar (různých délek a konečného počtu sklonů) a kruhů a kružnic různého poloměru. Z této omezené sady znaků ("stavebních kostek") lze skládat obrázky pomocí poměrně složitých maker.

Výhodou tohoto způsobu je dokonalá přenositelnost a jednoduchost a to, že nevyžaduje žádné další programové prostředky. Nevýhodou je vysoká pracnost při ručním popisu obrázku, příp. náročnost na kapacitní možnosti TeXu či ovladačů (náročné jsou zejména části obrázku s bodovou grafikou).

LaTeX

Přímo ve standardním LaTeXu je okolí picture, které umožňuje skládat obrázek umisťováním jednotlivých elementů na uživatelem definované souřadnice. Například obrázek 1 (viz níže) vznikl tak, že uživatel musel zadat explicitně pomocí souřadnic každý obdélník.

Obrázek 1: Grafika v TeXu zpět

Jako jiný (spíše netypický a archaický) příklad slouží mapa ČSFR (obrázek č. 2), který vznikl pomocí maker imitujících pohyb pera na milimetrovém papíře.

Obrázek 2: Mapa ČSFR zpět

Makra epic, eepic

Omezení standardního okolí picture na kresbu jen základních objektů, na počet směrů čar a kapacitu paměti podmínila vznik nové sady maker, definující makra na sazbu širší škály objektů (různých typů čar, mřížek - makra epic) a umožňující lepší využití dostupných prostředků, zejména možností laserových tiskáren (makra eepic). Ukázka možností maker je na obrázku 3.

Obrázek 3: Příklad použití maker eepic zpět

PiCTeX

je sada maker (public domain, pro PlainTeX i LaTeX) pro vytváření obrázků jako histogramy, grafy funkcí se souřadným systémem, diagramy obsahující kružnice, elipsy apod. Makra umožňují celkem jednoduše popsat obrázek pomocí zavedení souřadného systému a (dvourozměrných) objektů do něj umisťovaných. Pro vytvoření čtenářovy představy o makrech a syntaxi zápisu uveďme příklad zadání obrázku 4 v PiCTeXu:

\beginpicture
\setcoordinatesystem units <1mm,1mm>
\multiput {.} at 0 0 *10 2 2 *10 1 -3 *10 -3 1 /
\setcoordinatesystem units <1mm,8mm> point at -35 1
\setshadegrid span <0.6mm>
\shaderectangleson \sethistograms
\plot 0 0 5 1.0 10 2.0 /
\setshadegrid span <1mm>
\plot 10 0 17 3.5 25 1.8 /
\shaderectanglesoff
\plot 25 0 35 1.2 50 0.5 /
\endpicture

Obrázek 4: Ukázky obrázků vytvořených PiCTeXem zpět

Obrázek 5: Graf funkce vytvořený PiCTeXem zpět

Jiný obrázek vytvořený pouze pomocí maker PiCTeXu je na obr. 5. Tištěný manuál PiCTeXu je možno objednat na adrese TUGu. Docela podrobný popis maker je možno nalézt v knize [1] (kapitola o více než 70 stranách). Makra jsou dostupná v elektronickém archivu ÚVT MU.2

Preprocesory

Protože syntaxe zápisu v okolí picture či makry PiCTeXu je poměrně složitá, vzniklo několik preprocesorů, které umožňují (polo)automatické generování obrázků do těchto maker. Příkladem takových preprocesorů jsou programy TeXcad a gnuplot.

Program TeXcad

je samostatný program, který pomocí nabídek ovládaných myší vytváří na obrazovce obrázek (z obdélníků, kružnic, ...). Výstupem tohoto programu je kód v TeXu (okolí picture LaTeXu), který se vloží (editorem) do TeXového dokumentu. TeXcad běží pod operačním systémem MS-DOS a naleznete jej jako součást standardní distribuce emTeXu.

Program gnuplot

Dalším preprocesorem umožňujícím výstup ve formátu dat pro TeX (též okolí picture - viz obr. 6) je program gnuplot.

Je přenositelný a použitelný jak pod operačním systémem MS-DOS, tak i Unix. Distribuční balík programu verze 3.2 naleznete také v elektronickém archivu ÚVT MU.

Obrázek 6: Příklad výstupu programu gnuplot zpět

Literatura

[1] Helmut Kopka. LaTeX Erweiterungsmöglichkeiten mit einer Einführung in METAFONT. Addison-Wesley, 1990.
... zpět do textu
(... pokračování)
setting
1 Více o těchto systémech viz např. v časopise Bajt 8/1992
... zpět do textu
2 Pomocí anonymního ftp na počítač ftp.ics.muni.cs - viz článek Bohuslava Moučky v minulém Zpravodaji.
... zpět do textu
Zpět na začátek
ÚVT MU, poslední změna 14.11.2011