Toolkit pro příkladníky
Úvod
Technologie použitá pro tvorbu
multimediálního příkladníku
vychází ze staršího projektu
interaktivního příkladníku,
který byl rozšířen o multimediální podporu a modernizován.
Požadavky
- Příkladník by měl být maximálně kompatibilní a nezávislý na platformě (PC, PDA, smarphone), operačním systému (Windows, linux, Chrome) a www prohlížeči.
- Uživatel by měl dostat příkladník přímo k použití bez nutnosti instalovat jakýkoliv dodatečný software.
- Použitá matematická sazba by měla být dostatečně kvalitní.
Prvky řešení
- Použity jsou kaskádové styly (CSS) a HTML 4.01 Transitional.
- Pro ovládání zvuku a výměnu obrázků je použit JavaSript,
uživatel proto musí tuto funkci ve svém prohlížeči povolit.
- Zvukové soubory jsou převedeny do formátu MP3 a přehrávány modulem
Adobe Flash Player. Toto je jediný prvek, který je případně
nutno doinstalovat. Protože však je nyní technologie Adobe Flash
Player velmi rozšířená, typický uživatel ji již na svém počítači
instalovanou má; problémy mohou činit nejnovější platformy (PDA).
Zpracování
- Zdrojový text je psán v dialektu typografického systému LaTeX,
který umožňuje snadné psaní vzorců v požadované kvalitě a jejich
snadný převod do formy obrázků.
- Vzhledem k neexistenci vhodných převodníků LaTeX → HTML v době
vývoje systému (nejznámější perl-skript latex2html zcela selhal)
jsme vyvinuli vlastní převodník psaný především v jazyce C.
- Jednotlivé moduly jsou volány ze skriptů v jazyce bash.
- Vývoj byl proveden pod OS linux a předpokládá instalovaný
překladač (gcc), ghostscript a další utility; pod Windows je podobná
funkcionalita dostupná pod nadstavbou CygWin.
Popis systému
Vstupní soubory
- multitex/main-utf8.tex
Hlavní zdrojový text je z technických důvodů v kódování UTF-8.
Text může obsahovat
příkazy \input (zde nepoužito), soubory však musí být (z důvodu zpětné
kompatibility) převedeny do iso-8859-2.
- multitex/unitchem.tex Makra pro jednotky měření a chemické vzorce.
- multitex/makra.tex Makra.
- multitex/html.tex Html interface.
- multitex/l2h.tex LaTeX → html převodník.
- multi/prikladnik.css Styl CSS.
- multi/script Kód v JavaScriptu.
- multi/tabule Obrázky „tabule“,
tj. písemné řešené příklady.
- multi/audio Audio soubory (MP3).
- multi/fig Případné další obrázky (zde nepoužito).
- multi/img Ikony a komponenty grafického řešení.
Výstupní soubory
- multi/math Matematické vzorce (zkonvertované do
obrázků). Vzorce převedené na obrázky jsou použity tam,
kde daný symbol není dostupný v základní sadě html tagů a
rovněž pro všechny víceřádkové vzorce a tabulky.
- multi/p1 Oddíl (téma, \section{}) 1: zvukový
modul soundcontroller.swf, jeho seznam zvukových
souborů sound-config.xml a HTML soubory.
- multi/p2 To samé pro Oddíl 2, atd.
Skripty a utility
- multi.sh Komentovaný bash skript provádí změny kódování,
volání hlavního skriptu pro převod (makeall.sh), úklid a
přejmenování souborů.
- makeall.sh Hlavní bash skript zařizující překlad (pro
zvolené složky). Zařizuje „vlnkování“ (pro neslabičné
předložky), překlad LaTeXem (verze cslatex pracující se stylem
czech.sty v kódování iso-8859-2), volání překladače do html (tři
průchody) a další řídící úkony.
- l2hinput Řeší příkazy \input (zde nepoužity).
- l2h Překladač LaTeX →; HTML volá další průchody, ghostscript pro výrobu obrázků a další utility (l2h2, l2hcrop, l2htestr).
- l2h3 Třetí průchod.
- kostnice2 Změna kódování.
- text Text standardizer.
- repl, lemon, charrepl Utility pro záměnu řetězců a
znaků; podobné funkce lze naprogramovat pomocí ed
a tr.
Zpracování zvuku
Zvuk byl nahrán ve formátu wave (uncompressed) a převeden na MP3
programem lame (freeware). Typický příkaz pro konverzi byl:
lame -h -m m -b 48 SOURCE.wav DEST.mp3
Formát zdrojového textu
U zdrojového LaTeXového textu jsou dostupné následující příkazy:
- \chapter{} Název kapitoly (e-učitel obsahuje jen jednu kapitolu).
- \section{} Název oddílu (tématu).
- \subsection{} Název příkladu.
- \subsubsection{} Další členění příkladu. Povolené jsou následující možnosti, kterým odpovídají ikony:
- \subsubsection{Výsledek}
- \subsubsection{Postup}
- \subsubsection{Řešení}
- \subsubsection{Maple} (zde nepoužito).
- \subsubsection{Audio} Audio s výkladem. Formát je následující (příklad):
\subsubsection{Audio}
\audio{4}{p1-1}{gif}
\BEGINTEXT
Joule je jednotkou práce nebo energie. Jeden joule je taková práce, která je vykonána silou o velikosti jednoho newtonu působící po dráze jednoho metru.
\NEXTTEXT
Kilowatthodina je jednotkou energie. Kilowatthodina je součinem výkonu v kilowattech a času v hodinách. Watt je jednotkou výkonu, při kterém se vykoná práce 1 J za 1 s. To znamená, že snahou je převést kWh na Ws a pak za watt dosadíme J/s.
\NEXTTEXT
Jeden Pascal je síla v N působící na jednotku plochy 1\unit{m2}. Pokusíme se převést \Unit{kPa.dm3} na \Unit{Pa.m3} a pak dosadit místo N = J/m.
\NEXTTEXT
V bodě c) volíme stejný postup jako v případě b).
\ENDTEXT
- \audio{N}{NAME}{EXT}:
Parametry makra jsou: N=počet vstupů; každému vstupu odpovídá jeden zvukový soubor (audio/NAME#.mp3), jedna tabule (tabule/NAME#.EXT) a jeden psaný text.
- \html{} Argument bude bez úpravy vložen do HTML kódu.
- \dec{2}{-3} Vysází číslo v dekadickém exponenciálním tvaru.
- \Unit{mol.dm-3} mol dm−3
- \unit{mol.dm-3} dtto s mezerou před.
- \Chem{SiO2} SiO2
- \chem{SiO2} dtto s mezerou před.
Instalace
Zdrojové soubory
Zip archiv obsahuje potřebné komponenty
pro tvorbu příkladníků (a jednu výslednou složku jako příklad). Soubory
v C je nutno předem přeložit (příkaz je vždy uveden jako komentář v první řádce). Chybějící moduly (hlavičkové soubory, utility) jsou
dostupné v balíku MACSIMUS,
složky macsimus/gen a macsimus/c. V případě
problémů či chybějícího
modulu mi pošlete e-mail.
Publikace na webu
Při publikaci stránek na webu je potřeba (u některých serverů) po
uploadu nastavit povolení pro spuštění (executable permissions)
souborů p*/soundcontroller.swf a JavaScriptu
(script/*.js), např. (při použití řádkového ftp klienta):
chmod 755 script/soundmanager.js.