Dokumentacja LaTeX2WikiMedia
Propozycje ulepszeń LaTeX2WikiMedia
Proszę tutaj zgłaszać wszystkie problemy i propozycje rozszerzeń oraz ulepszeń: Propozycje ulepszeń LaTeX2WikiMedia.
Zmiany
- Dodano zjadanie białych znaków na początku wzorów matematycznych.
- Cudzysłowy są poprawnie obsługiwane.
- Poprawiono pętlenie się programu, jeśli plik LaTeX kończy się komentarzem.
- LaTeX2MediaWiki rozumie środowiska tabular i tabular*. Np.
\begin{tabular}[pos]{cols} a1 & b1 & c1 \\ a2 & b2 & c2 \end{tabular}
generuje
a1 | b1 | c1 |
a2 | b2 | c2 |
- nowe pseudomakra:
- \EATWS zjada wszystkie białe znaki znajdujące się po nim
- \TABULARMODE włącza/wyłącza tryb, w którym & jest zamieniane na || (poza wzorami matematycznymi)
- \EQUAL generuje znak równości ('=' generuje <nowiki>=</nowiki>)
- \QUOTE generuje znak ' (dwa sąsiednie \QUOTE nie są zamieniane na ")
- \BACKSLASH generuje znak \ (wygenerowany znak nie jest traktowany jako część komendy)
- $$-$$ i \[ \] centrują wzory
- Poprawiono obsługę \\ w makrach
- \textrm i \textnormal wewnątrz wzorów wyłącza tekst ze wzoru (aby uaktywnić, należy odkomentować dwa ostatnie makra)
Zastosowanie
LaTeX2MediaWiki służy do konwersji dokumentów w formacie Latex na format MediaWiki.
Przykłady
Listy wyliczeniowe LaTeX2WikiMedia
Przykładowe przekonwertowane dokumenty
Sposób użycia
Aby przekonwertować dokument, wystarczy dokleić swój dokument na koniec pola tekstowego znajdującego się na stronie Latex2MediaWiki i nacisnąć "Konwertuj". Po chwili powinien się pokazać kod źródłowy dokumentu w formacie MediaWiki. Wystarczy przekleić ten kod do MediaWiki.
Jeżeli dokument używa zestawu makr znajdującego się w zewnętrznym pliku, należy wkleić ten zestaw makr w miejsce, gdzie w dokumencie LaTeXowym jest załączany plik. W przeciwnym wypadku Latex2MediaWiki nie rozwinie tych makr i będą pojawiały się błędy w wyświetlaniu wzorów matematycznych. Typowym objawem mogą być wzory wyświetlane jako duże (rozmiaru całego ekranu) puste prostokąty.
Zakres konwersji
Program automatycznie zamienia "$-$" na "<math>-</math>", "$$-$$" na "<center><math>-</math></center>", "~" na " ", "=" na <nowiki>=</nowiki>. Usuwa komentarze zaczynające się od %. Rozwijane są wszystkie makra, których definicje są w pliku wejściowym. Dzięki temu MediaWiki może poprawnie wyświetlić wzory matematyczne.
Zestaw makr, który jest domyślnie wyświetlany przy wejściu na stronę Latex2MediaWiki, zawiera makra konwertujące typowe konstrukcje LaTeXowe na ich odpowiedniki w MediaWiki. W ten sposób konwertowane są m.in. sekcje, podsekcje, listy numerowane i nienumerowane, końce linii (\\), równania (\(, \[, \begin_equation, \eqnarray) i środowiska tworzone przy pomocy \newtheorem.
Nie są obsługiwane zaawansowane ograniczniki makr. Program obsługuje tylko makra typu \nazwa[argument1]{argument2}....
Na co zwrócić uwagę
Proszę zwrócić szczególną uwagę na zdefiniowanie wszystkich środowisk \newtheorem, których państwo używają, jeśli nie są one zdefiniowane w domyślnym zbiorze makrodefinicji. Wystarczy dopisać odpowiednie wywołanie \maketemplate.
Definiowanie dodatkowych makr
Może okazać się konieczne (albo wygodne) dodefiniowanie dodatkowych makr.
Typową sytuacją są środowiska zdefiniowane za pomocą \newtheorem. Dla ustalenia uwagi załóżmy, że rozważamy środowisko Twierdzenie. Każde wystąpienie \begin{Twierdzenie} jest przez standardowe makra Latex2MediaWiki zamieniane na \beginTwierdzenie. Użycie makra \newtheorem{Twierdzenie} definiuje dwa makra: \beginTwierdzenie i \endTwierdzenie, które będą tworzyły nową podpodsekcję. Jeżeli nie odpowiadają nam podpodsekcje, wystarczy zdefiniować samodzielnie makra \beginTwierdzenie i \endTwierdzenie, a definicje tworzone przez \newtheorem będą zignorowane:
\newcommand{\beginTwierdzenie}{POCZATEK_TWIERDZENIA} \newcommand{\endTwierdzenie}{KONIEC_TWIERDZENIA}
Mamy możliwość definiowania makr na nasŧępujące sposoby:
\newcommand{\nazwa makra}{tresc} \newcommand{\nazwa makra}[liczba argumentów]{tresc} \renewcommand{\nazwa makra}{tresc} \renewcommand{\nazwa makra}[liczba argumentów]{tresc} \providecommand{\nazwa makra}{tresc} \providecommand{\nazwa makra}[liczba argumentów]{tresc} \def\nazwa makra{tresc} \def\nazwa makra#1#2...{tresc}
Wersje z new i provide są równoważne - obie nie zastępują istniejących makr. Natomiast wersja renew zastępuje istniejące albo tworzy nowe makro. Liczba argumentów jest ograniczona do 9. W "treści" do argumentów odwołujemy się przez #1 - #9. Aby umieścić znak # w treści, wpisujemy ## (stąd, w definicjach zagnieżdżonych stosujemy np. ##1 aby odwołać się do argumentu zagnieżdżonego makra). Znakiem # możemy również poprzedzić nawiasy { i }, które nie mają pary. \{ i \} w treści makra są zostawiane bez zmian i nie traktowane jak nawiasy. (aby umieścić znak \ na końcu makra, należy wpisać #\}, aby ukośnik nie zneutralizował nawiasu).
Makra mogą być przeładowane ze względu na liczbę argumentów. Argumenty [] i {} nie są rozróżniane.
Zasięg makra można ograniczyć do wzorów matematycznych lub do tekstu poza wzorami. Robimy to dodając odpowiednio znak M lub * po odpowiedniej komendzie (pisząc np. \newcommand*).
Problemy
- Aby ułatwić konwersję, wszystkie wystąpienia {\it, {\bf i {\tt są zamieniane na \it{, \bf{ i \tt{. Działa to w większości dokumentów LaTeXowych, ale niestety nie pozwala obsłużyć wszystkich możliwości.
- Program nie obsługuje dobrze konwersji białych znaków.