W skrócie

Portal powstał na Wydziale Matematyki, Informatyki i Mechaniki UW w latach 2009-2010 w ramach projektu Ministerstwa Nauki i Szkolnictwa Wyższego Zamawianie kształcenia na kierunkach technicznych, matematycznych i przyrodniczych - pilotaż współfinansowanego przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Kierownikiem projektu na Wydziale MIM jest dr hab. Jacek Miękisz.

Od strony koncepcyjnej i technicznej portal opracowali Patryk Czarnik i Piotr Krzyżanowski. Zastosowano w nim ideę „jedna wersja, wiele postaci”, dzięki czemu autorzy materiałów dydaktycznych opracowywali tylko jeden dokument w formacie LaTeX'a, korzystając z makr stworzonych na tę okoliczność. Następnie dokument źródłowy był automatycznie filtrowany do czterech różnych postaci:

Internetowa (HTML)
w pełni interaktywna, w wariancie z równaniami matematycznymi w postaci obrazków (dostępna dla praktycznie wszystkich przeglądarek).
Internetowa (XHTML/MathML)
w pełni interaktywna, w wariancie z równaniami matematycznymi zapisanymi w języku MathML (dostępna dla przeglądarek wspierających ten standard, np. Firefox).
Do wydruku (PDF)
częściowo interaktywna, w postaci pliku w formacie hipertekstowego PDF.
Wykładowa (PDF)
w postaci slajdów do rzutnika, w formacie PDF.

W ten sposób zagwarantowano spójność wszystkich czterech form dokumentu i umożliwiono wygodny sposób jego bieżących aktualizacji.

Technologia

Ponieważ autorzy materiałów dydaktycznych są matematykami, jako format dokumentu źródłowego wybrano doskonale im znany LaTeX. Dzięki temu, w wersji do wydruku, zachowano wysoką jakość składu (również wzorów matematycznych), typową dla TeX'a. Uniknięto też w ten sposób komplikacji, jaką byłaby konieczność opanowania innego systemu opracowywania dokumentów, w rodzaju MediaWiki.

W tekstach matematycznych kluczowa jest jakość składu wzorów matematycznych. Przygotowując materiały na strony internetowe należy pamiętać o trudnościach, jakie napotyka poprawne, czytelne i niezależne od sprzętu i systemu przedstawienie wzorów matematycznych na stronach WWW. W zasadzie obecnie są stosowane dwa rozwiązania, z których każde ma swoje wady i zalety:

Wzory matematyczne jako obrazki
Ich podstawową zaletą jest to, że są składane przez samego TeX'a, dzięki czemu są najwierniejszą kopią tego, co zobaczymy w wersji do wydruku. Drugą ich zaletą jest niezależność od przeglądarki: praktycznie każda pokaże je bez problemu. Przeglądarki nie obsługujące grafiki w ostateczności wyświetlą Czytelnikowi tekst polecenia LaTeX'a, który służył do wygenerowania wzoru.
Niestety - i to jest zasadnicza wada takiego rozwiązania - wzór w postaci obrazka źle powiększa się na ekranie, przez co Czytelnik ma bardzo ograniczone możliwości samodzielnego powiększenia tekstu tak, by zachować jego czytelność.
Wzory jako zapis w języku MathML
Taki sposób prezentacji wzorów umożliwia ich pełną skalowalność na ekranie, bez utraty jakości: MathML jest czymś bardzo podobnym do zapisu wzoru w TeX'u, a dopiero przeglądarka internetowa interpretuje ten zapis i wyświetla go w na ekranie.
I to jest jednocześnie istotna wada tego rozwiązania: niektóre popularne przeglądarki, włączając nienajlepszą, ale często używaną przeglądarkę Internet Explorer, nie potrafią zinterpretować MathML, inne mogą nie potrafić poprawnie złożyć wzorów nim opisanych (np. Opera i częściowo Firefox).

Ponieważ wierzymy, że wsparcie dla MathML będzie się zwiększać (tak, jak dzieje się do tej pory), postanowiliśmy, że w wersji internetowej musimy udostępnić odbiorcom możliwość odczytania wzorów złożonych w MathML'u. Dodatkową zachętą było odnalezienie przez nas znakomitego konwertera LaTeXa i wzorów matematycznych do formatu, odpowiednio, XML i MathML. Tym konwerterem jest LaTeXML, opracowany przez Bruce'a Millera. Co kluczowe z punktu widzenia niezależności od przeglądarki, LaTeXML potrafi z przetłumaczonego na XML/MathML kodu źródłowego LaTeX'a stworzyć całkiem sensowne semantycznie strony internetowe w formacie HTML (z wzorami w postaci obrazków) lub XHTML (z wzorami zakodowanymi w MathML).

Jeden z nas (Patryk Czarnik) zawodowo zajmuje się przekształceniani dokumentów XML i podjął się dostosowania działania LaTeXML'a do naszych potrzeb - co nie było wcale łatwe i wymagało istotnego rozszerzenia jego funkcjonalności. Ostatecznie uzyskaliśmy coś na kształt multi-konwertera, realizującego transkrypcję jednego źródłowego dokumentu LaTeX'a do czterech końcowych wersji (internetowa HTML, internetowa XHTML, do wydruku PDF, slajdy PDF) - różnych pod względem przeznaczenia, formy, funkcjonalności, a także (jeśli taka była wola autora) treści.

Ponieważ chcieliśmy dać użytkownikom portalu swobodę wyboru sposobu, w jaki będą odbierali zamieszczone w nim materiały, naturalnym było oparcie całego portalu na skryptach PHP.

Podziękowania techniczne

Zasadniczą robotę wykonuje bardzo dobry (choć nie pozbawiony wad i ograniczeń) system LaTeXML, opracowany przez Bruce'a Millera. Niniejszym składamy mu gorące podziękowania za gigantyczny wkład pracy w przygotowanie tego systemu.

Jednak sam LaTeXML nie wystarcza do działania naszego mulit-konwertera i portalu. Wykorzystaliśmy wiele wolno dostępnych narzędzi programistycznych, takich jak TeX, LaTeX i jego pakiety (w tym beamer i listings); Web interface do Octave; ImageMagick; LaTeXML; Perl; Linux, bash, sed; PHP; SVN. Skorzystaliśmy też z mnogości otwartych formatów takich, jak LaTeX; XML, XSLT; MathML; HTML, XHTML, CSS; PDF, PNG, EPS. Wszyscy, którzy stoją za opracowaniem oraz rozwojem tych programów i formatów mają w ten sposób swój wkład w uruchomienie naszego serwisu.

W niektórych miejscach portalu skorzystaliśmy z ikon Tango opracowanych przez warszawiankę i zawartych w bibliotece klipartów OpenClipArt.org.

Podziękowania ludzkie

Na wczesnym etapie rozwoju konwertera bardzo pomogły nam uwagi i sugestie przekazywane przez jego pierwszych użytkowników, m.in. Tadeusza Płatkowskiego, Mirosława Lachowicza, Leszka Marcinkowskiego, Przemysława Kiciaka, Wojciecha Niemiro, Zbigniewa Jurkiewicza. Wszystkim, nie tylko wyżej wymienionym, którzy zechcieli nas wspomóc w tej pracy, serdecznie dziękujemy za pomysły i konstruktywną krytykę.