Dokumentacja LaTeX2WikiMedia

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

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

Uzupelnij tytul
a1 b1 c1
a2 b2 c2
  • nowe pseudomakra:
    1. \EATWS zjada wszystkie białe znaki znajdujące się po nim
    2. \TABULARMODE włącza/wyłącza tryb, w którym & jest zamieniane na || (poza wzorami matematycznymi)
    3. \EQUAL generuje znak równości ('=' generuje <nowiki>=</nowiki>)
    4. \QUOTE generuje znak ' (dwa sąsiednie \QUOTE nie są zamieniane na ")
    5. \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.