Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_dokulatex [2008/06/06 13:16] miw |
pl:miw:miw08_dokulatex [2008/06/14 11:40] gjn |
====== Opis ====== | |
Paweł Miczko (4AR) <mieczyslav@gmail.com> | |
| |
Kowerter DokuWiki do LaTeX. | |
Zbadać poziom zaimplementowania oferowanych rozwiązań. | |
Zaimplementować. | |
| |
====== Spotkania ====== | |
*[[pl:miw:miw08_dokulatex:projekt|przebieg prac nad projektem]] | |
====== Projekt ====== | |
*[[http://hyper.ia.agh.edu.pl/~miczkop/dokulatex.zip|plugin]] | |
*[[pl:miw:miw08_dokulatex:instrukcja|instrukcja instalacji pluginu]] | |
| |
====== Sprawozdanie ====== | |
====1. Cel projektu==== | |
Celem projektu było stworzenie pluginu do DokuWiki, który konwertowałby jej strony do formatu LaTeX. | |
Konwerter obejmuje podstawową składnię wiki, a więc: | |
* formatowanie tekstu | |
* nagłówki | |
* listy numerowane i nienumerowane | |
* linki wewnętrzne i zewnętrzne | |
* tworzenie odnośników | |
* wstawianie grafiki | |
====2. Wykonanie==== | |
Na cele projektu założone zostało wiki znajdujące się pod adresem | |
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. | |
| |
Funkcjonalności, jakie powinien wykazywać plugin, to przede wszystkim zamiana składni wiki na składnię latexa i tak na przykład: | |
| |
*czysty tekst parsujemy bez zmian | |
| |
* **Bold Text** -> \textbf{} | |
| |
* //Italic Text// -> \textit{} | |
| |
* __Underlined Text__ -> \underline{} | |
| |
* ''code'' -> \verb|| | |
| |
dwie spacje -> \begin{verbatim} | |
| |
<del>Strike-through Text</del> -> \sout{} | |
| |
<sub>Subscript</sub> -> $_{subscript}$ | |
| |
<sup>Superscript</sup> -> $^{superscript}$ | |
| |
*- Ordered List Item -> \begin(enumerate} \item ... \end(enumerate} | |
| |
** Unordered List Item -> \begin{itemize} \item ... \end{itemize} | |
| |
*Linki zewnętrzne -> \url{} | |
| |
*((footnote)) -> \footnote{} | |
| |
Konwertowanie działa na bazie wyrażeń regularnych i PHPowskiej funkcji | |
preg_match_all. | |
Konieczna była także 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. | |
Prace nad projektem zakończyły się spakowaniem pluginu i stworzeniem [[pl:miw:miw08_dokulatex:projekt|instrukcji]] obsługi potrzebnej do jego instalacji. | |
====3. Zasadzki==== | |
====4. Możliwości kontynuacji==== | |
| |
| |
====== Materiały ====== | |
| |