Matematika a WWW
Roman Plch
Nástup osobních počítačů a počítačových sítí výrazně ovlivnil i publikování
odborných textů. Několik století používanou formu papírového dokumentu
v současnosti doplňuje nová elektronická forma dokumentu s různými formáty pro
jeho uložení (Postscript, PDF, HTML a další) na různé typy elektronických
médií.
Elektronická forma přidává dokumentu nové rozměry (hypertextové reference,
multimediální prvky, vyhledávání), což ve spojení s novými počítačovými
technologiemi znamená především změnu ve zpřístupnění a multifunkčním
využití odborného dokumentu.
Dnes si všimnene zejména současných možností prezentace matematických textů na Webu
a pokusíme se o výhled do budoucnosti.
Současný jazyk HTML není vůči matematikům ani trochu přívětivý. Podpora pro
výrobu složitějších vzorců je veškerá žádná. K dispozici jsou v podstatě jen
párové značky pro index a exponent (<SUB> a <SUP>
). Navíc HTML má
pouze konstantní sadu značek a tak si je uživatel nemůže podle potřeby
dodefinovat. Na druhé straně, Web je nejpopulárnější prostředek na
uveřejnění dokumentů a materiálů. Z tohoto důvodu budeme věnovat pozornost
různým přístupům zobrazování matematických textů na Webu.
Nejrozšířenějším přístupem v současnosti je překlad matematických výrazů,
které se nedají v HTML popsat, do obrázků (nejčastěji formát GIF a PNG) a ty
zobrazit jako součást dokumentu. Tento přístup má ale řadu nevýhod:
- při změně velikosti fontu se velikost obrázku nemění
- problém s vhodným řádkováním, odsazování za sebou jdoucích řádků
- kvalita tisku závisí na kvalitě obrázku a neodpovídá kvalitě tisku
textu okolo výrazů
- pomalé načítání stránek s velkým počtem obrázků
- v obrázcích není možné vyhledávat
K nejčastěji používaným programům patří LaTeX2HTML, TeX4ht a systémy
počítačové algebry. Blíže se všimneme práce programu LaTeX2HTML a exportu do
HTML v programu Maple.
LaTeX2HTML je automatický převodník dokumentu v LateXu (verze 2.09 nebo 2e)
do formátu HTML. Jeho autorem je Nikos Drakos.
Převodník rozdělí dokument na více částí a automaticky
vloží odkazy (linky) mezi tyto části, vytvoří obsah, index, převádí vzorce a
vložené obrázky do formátu GIF (PNG) a vkládá je do dokumentu. Zkonvertované
obrázky však mohou být umístěny i mimo tento dokument, který pak na místě
obrázku bude obsahovat pouze odkaz. Při překladu se automaticky generují
navigační panely, které mohou být umístěny na každé zkonvertované stránce a
usnaňovat tak orientaci v dokumentu. Program je
napsaný v Perlu (verze alespoň 4.036) a potřebuje ke správné činnosti
LATEX, dvips, Ghostscript, knihovnu programů netpbm a program giftrans.
Volá se příkazem latex2html
s parametrem jmeno_souboru.tex
.
Program vytvoří adresář se jménem jmeno_souboru
a do něj uloží
všechny části přetransformovaného dokumentu (neurčí-li uživatel jinak).
Vstupní dokument se nazývá
jmeno_souboru.html
a další nodeXX.html
, v adresáři se dále
nacházejí soubory .gif
.
Současná verze programu LaTeX2HTML zpracovává matematické
výrazy a formule v podstatě dvěma hlavními způsoby:
Výběr nejvhodnější metody závisí na obsahu. LaTeX2HTML volí způsob
transformace podle
- požadované verze HTML
- zda je použito rozšíření
math
- zda je použita volba
no_math
Podrobný manuál k programu najdeme na
http://www.latex2html.org/.
Pro vytváření matematického textu v systému počítačové algebry Maple je
třeba znát syntaxi příkazů systému nebo je možno využít přichystaných
nabídek matematických symbolů a konstrukcí. Následná konverze do jazyka HTML
je pak jednoduchá. Volbou File - Export As - HTML transformujeme zápisník
zapisnik.mws
na zapisnik.html
, při exportu zvolíme, zda chceme
výstup s rámci nebo bez rámců a adresář, do kterého se budou ukládat
obrázky (defaultně images
, obrázky se pak jmenují
zapisniknn.gif
). Pokud zápisník obsahuje animace, konvertor vytvoří
pro každou z animací animovaný gif (ukázka). Protože však Maple ani ve své poslední
verzi neumožňuje plnohodnotnou sazbu matematických textů, jedná se spíše
o možnost doplňkovou.
Matematické formule vstupují v TEXu nebo v jiném kódování a jejich
zobrazování je zabezpečené pomocí pluginů a appletů. Nevýhodou tohoto
přístupu je často závislost na konkrétním prohlížeči či platformě.
Nutné instalovat podpůrné programy a často je třeba dlouho čekat na načtení
dokumentu.
Velmi zajímavé pluginy pro Internet Explorer a pro Netscape Navigator na
nejrozšířenější platformy. Umí přímo interpretovat podmnožinu TEXových
(LATEXových) příkazů a pomocí pluginu zobrazit tyto dokumenty na Webu.
Techexplorer je v současné době dostupný ve dvou verzích: volně šířená je
tzv. Introductory Editon, komerčně Professional Edition.
Jedná se o sadu Java-apletů, které umožňují do stránek
vkládat vzorce zapsané v jednoduché syntaxi, vycházející z typografického
systému TEX. Prohlížeč Math Viewer je volně dostupný na
http://www.mathtype.com, pro vytváření vzorců potřebujeme komerční
program WebEQ, z výše uvedené stránky je možné stáhnout 30-ti denní testovací
verzi. Tento program umožňuje tvorbu i tzv. dynamické matematiky,
ukázky najdeme na
http://www.mathtype.com/en/products/webeq/interactive/
.
V tomto případě Web slouží jen jako zprostředkovatel zpřístupnění odborného
dokumentu v některém ze standardních elektronických formátů. Nejčastěji jsou
používané formáty PS (Postscript), DVI (Device Independent) a PDF (Portable
Document Format). Výhodou tohoto přístupu je kontrola autora nad konečným
vzhledem dokumentu, což při použití jazyka HTML zdaleka není možné.
Nevýhodou je velikost přenášených souborů, nutnost instalace prohlížeče pro
každý z formátů a v některých případech i problémy s nekompatibilitou
formátů.
Jako nejčastěji používaný se v současnosti jeví formát PDF. Prohlížeč
Acrobat Reader (http://www.adobe.com/products/acrobat/readstep2.html)
je volně přístupný pro všechny platformy. Možnosti formátu PDF a jeho
vytváření přesahují rámec této přednášky, všimneme si pouze možnosti
vytváření PDF souborů u nás na sekci. První možností je vytvoření PDF
souboru přímo z TEXu pomocí volně šířeného programu pdfTEX. Zdrojový
text zpracujeme programem pdftex
, pdflatex
nebo
pdfcslatex
, výstupem je místo souboru DVI přímo PDF soubor. Více
informací o programu pdfTEX najdeme např. na
http://www.cstug.cz/pdftex/index.html. Druhou možností je cesta přes
DVI a Postscript. V tomto případě můžeme použít program ps2pdf
(založený na Ghostscriptu).
program se spouští se na počítači bart příkazem
ps2pdf psfile pdffile
. Při této cestě je třeba při překladu
pomocí dvips použít postscriptových fontů (implicitní nastavení),
příkazem dvips soubor.dvi
.
O vytváření PDF souborů na platformě Windows pojednává článek v časopisu
CHIP, číslo 9/02. Jeho upravenou verzi nejdete zde.
Kromě toho sekce zakoupila 10 instalací komerčního produktu Adobe
Acrobat pro kompletní zpracování PDF souboru (pouze pro MS Windows).
Konzorcium w3c (http://www.w3.org/ zodpovědné za vývoj standardů pro Web se po dlouhých
úvahách rozhodlo uvolnit ohraničenost jazyka HTML. Přijetí XML (Extensible
Markup Language) znamená pro uživatele především možnost přidávání vlastních
značek podle zvoleného DTD (Document Type Definition). XML je zjednodušená
verze SGML optimalizovaná pro použití na Internetu. (SGML- Standard
Generalized Markup Language - syntaktický metajazyk pro definic tříd
dokumentů).
Přijetím XML se otevřel nový prostor pro odborné dokumenty na Webu. MathML
(Mathematical Markup Language, http://www.w3.org/Math/ je XML slovníkem
(DTD) pro popis matematiky (struktury formulí i prezentačních forem). Důraz
je kladen nejen na prezentaci dokumentu (tedy na jeho zobrazení na Webu),
ale i na multifunkční využití obsahu matematických výrazů (vyhledávání,
indexace, propojení se systémy počítačové algebry, ...). Vysvětleme si na
následujícím jednoduchém příkladu jak MathML funguje. Uvažujme rovnici
Tuto popišme nejdříve pomocí prezentačních značek (tagů). Ty jsou v podstatě
analogií TEXu s tím rozdílem, že uživatel je nucen přesně specifikovat co
je operátor, relace, proměnná či číslo. Prezentační tagy obvykle začínají
písmenem m, pak následuje písmeno o pro operátor, n pro číslo
atd.
<mrow>
<mrow>
<msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo>
<mrow>
<mn>4</mn>
<mo>⁢</mo>
<mi>x</mi>
</mrow>
<mo>+</mo>
<mn>4</mn>
</mrow>
<mo>=</mo>
<mn>0</mn>
</mrow>
Pokud Váš pohlížeč podporuje MathML, vidíte zde výsledek:
Obsahové tagy vyjadřují sémantiku výrazu pomocí prostředků dané matematické
oblasti (teorie množin, lineární algebra, ...).
<apply>
<plus/>
<apply>
<power/>
<ci>x</ci>
<cn>2</cn>
</apply>
<apply>
<times/>
<cn>4</cn>
<ci>x</ci>
</apply>
<cn>4</cn>
</apply>
Rozhodnutí, zda použít obsahové nebo prezentační tagy bude záležet na účelu
využití dokumentu. Z uvedené ukázky je také vidět, že dokumenty MathML
nejsou určeny k ručnímu editování.
Metscape 7 a Mozilla již podporují jistou podmnožinu MathMl tagů, pro
Internet Explorer je třeba si stáhnout volně šiřitelný MathPlayer. Postupem
času se však stane zobrazování matematických výrazů na Webu stejně přirozené a
jednoduché, jako je to v současnoti s textem bez nich (viz. též první
konference věnovaná problematice MathML
http://www.mathmlconference.org/).
Všimněme si teď některých softwarových produktů, které podporují MathML.
- Experimentální w3c browser Amaya (http://www.w3.org/Amaya/).
Podporuje zobrazování a editování části tagů MathMl.
- Systém počítačové algebry Mathematica od verze 4.0 je schopný
exportovat, importovat a vyhodnotit výrazy v MathML (obsahové tagy). Maple
od verze 7 (Maple 7) to již umí také.
- IBM techexplorer umí zobrazit část MathML tagů.
- WebEQ umí přes Java applet zobrazit v HTML dokumentu část MathML tagů.
- MathType je interaktivní matematický editor pro prakticky všechny typy
tištěných i elektronických dokumentů. Umožňuje konverzi do MathML
(http://www.mathtype.com/).
- Další odkazy na software najdeme na:
http://www.w3.org/Math/Software.
Za zmínku stojí i Mathml
centrála od Wolfram Research.
Matematika a WWW
This document was generated using the
LaTeX2HTML translator Version 99.2beta8 (1.42)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 1 -no_navigation -noaddress -html_version 3.2,latin2 matnaweb.tex
The translation was initiated by Roman Plch on 2000-11-27