Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_dokulatex [2008/06/06 15:40] miw |
pl:miw:miw08_dokulatex [2019/06/27 15:50] (aktualna) |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
Paweł Miczko (4AR) <mieczyslav@gmail.com> | Paweł Miczko (4AR) <mieczyslav@gmail.com> |
| |
====== Spotkania ====== | ====== Spotkania ====== |
*[[pl:miw:miw08_dokulatex:projekt|przebieg prac nad projektem]] | *[[pl:miw:miw08_dokulatex:projekt|przebieg prac nad projektem]] |
| |
====== Projekt ====== | ====== Projekt ====== |
*[[http://hyper.ia.agh.edu.pl/~miczkop/dokulatex.zip|plugin]] | *[[http://hyper.ia.agh.edu.pl/~miczkop/dokulatex.zip|plugin]] {{:pl:miw:miw08_dokulatex:dokulatex.zip|:pl:miw:miw08_dokulatex:dokulatex.zip}} |
*[[pl:miw:miw08_dokulatex:instrukcja|instrukcja instalacji pluginu]] | *[[pl:miw:miw08_dokulatex:instrukcja|instrukcja instalacji pluginu]] |
| |
* wstawianie grafiki | * wstawianie grafiki |
====2. Wykonanie==== | ====2. Wykonanie==== |
Na cele projektu założone zostało wiki znajdujące się pod adresem | Na potrzeby projektu założone zostało wiki znajdujące się pod adresem |
http://student.agh.edu.pl/~micz/dokuwiki-2007-06-26b. | http://student.agh.edu.pl/~micz/dokuwiki-2007-06-26b. |
| |
Prace nad projektem rozpoczęły się od określenia wstępnej specyfikacji fukcjonalności oraz scenariuszy użycia. | Prace nad projektem rozpoczęły się od określenia wstępnej specyfikacji fukcjonalności oraz scenariuszy użycia. |
| |
Funkcjonalności, jakie powinien wykazywać plugin, to przede wszystkim zamiana składni wiki na składnię latexa i tak na przykład: | Funkcjonalności, jakie powinien wykazywać plugin, to przede wszystkim zamiana [[wiki:syntax|składni]] wiki na składnię latexa i tak na przykład: |
| |
*czysty tekst parsujemy bez zmian | *czysty tekst parsujemy bez zmian |
*[[http://link.zewnetrzny]] -> \url{http://link.zewnetrzny} | *[[http://link.zewnetrzny]] -> \url{http://link.zewnetrzny} |
| |
*[[linkwewnętrzny]] -> /ref{linkwewnętrzny} | *[[linkwewnętrzny]] -> \ref{linkwewnętrzny} |
| |
*((footnote)) -> \footnote{} | *((footnote)) -> \footnote{} |
Funkcja konwertująca parse() działa na bazie wyrażeń regularnych i PHPowskiej funkcji preg_match_all. | Funkcja konwertująca parse() działa na bazie wyrażeń regularnych i PHPowskiej funkcji preg_match_all. |
| |
Prace nad projektem zakończyły się spakowaniem pluginu i stworzeniem [[pl:miw:miw08_dokulatex:projekt|instrukcji]] obsługi potrzebnej do jego instalacji. | Prace nad projektem zakończyły się spakowaniem pluginu i stworzeniem [[pl:miw:miw08_dokulatex:projekt|instrukcji]] obsługi potrzebnej do jego instalacji. Dokonuje się jej za pomocą plugin managera. |
| |
| Po prawidłowym zainstalowaniu pluginu u góry każdej strony w Wiki obok przycisków "Edytuj stronę" i "Poprzednie wersje" pojawia się przycisk "Konwertuj do Latexa". Po jego naciśnięciu zostaje wywołana odpowiednia funkcja i otwiera się nowe okno zawierające przetworzony do Latexa kod. Kod ten może zostać bezpośrednio przekopiowany do edytora tekstu LaTeXa i skompilowany. |
| |
| Ostatnim etapem prac było napisanie niniejszego sprawozdania. |
====3. Zasadzki==== | ====3. Zasadzki==== |
Konieczna była odpowiednia obsługa 10 znaków specjalnych TeXa: { , }, \, $, _, %, &, ~, ^, # które w wiki nie sprawiają problemów, ale po przeklejeniu w niezmienionej postaci powodowałyby błędy w kompilacji. | W trakcie prac nad projektem okazało się, że konieczna będzie odpowiednia obsługa 10 znaków specjalnych TeXa: { , }, \, $, _, %, &, ~, ^, # które w wiki nie sprawiają problemów, ale po przeklejeniu w niezmienionej postaci powodowałyby błędy w kompilacji. Zostały one dołączone do listy rzeczy do zrobienia i odpowiednio załatwione. |
====4. Możliwości kontynuacji==== | |
| |
| Spośród wymienionych na początku funkcjonalności nie wszystkie było jednakowo łatwo zrealizować. Przykładowo, przy bardzo rozbudowanych listach, z wieloma poziomami zagnieżdżenia, plugin nie zawsze sobie radzi. Mogą powstać drobne błędy konwersji, które można poprawić ręcznie. |
| |
| Mimo usilnych starań nie udała się realizacja funkcjonalności, która rozpoznawałaby na wejściu |
| taki tekst |
| i wstawiała go do środowiska verbatim. Jest to jedyna funkcjonalność, której nie udało się zrealizować. Kod wygląda poprawnie, lecz nie działa.. Zostaje to do realizacji przez przyszłe pokolenia. |
| ====4. Możliwości kontynuacji==== |
| Zdecydowana większość funkcjonalności założonych przy specyfikacji została zrealizowana. Nie oznacza to jednak, że plugin nie może zostać rozbudowany. |
| Przede wszystkim można zająć się dwoma pozostałymi scenariuszami użycia: |
| * zbiór str. z podanego ns (zadane wyr. regularnym) ->1 dok |
| * cały ns -> 1 dok |
| Ponadto, zająć się można bardziej zaawansowanymi strukturami składniowymi wiki, jak choćby tabele. Należałoby też zmusić nieszczęsny verbatim do zadziałania... |
====== Materiały ====== | ====== Materiały ====== |
| |