Dokumentacja LaTeX2WikiMedia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Arek (dyskusja | edycje)
Arek (dyskusja | edycje)
 
(Nie pokazano 20 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
==[[Propozycje]]==
==[[Propozycje ulepszeń LaTeX2WikiMedia]]==


Proszę tutaj zgłaszać wszystkie problemy i propozycje rozszerzeń oraz ulepszeń: [[Propozycje]].
Proszę tutaj zgłaszać wszystkie problemy i propozycje rozszerzeń oraz ulepszeń: [[Propozycje ulepszeń LaTeX2WikiMedia]].
LaTeX2MediaWiki jest cały czas stopniowo ulepszany. Przepraszam, jeśli w wyniku mojego niedopatrzenia nastąpią jakieś problemy w działaniu programu - postaram się to poprawić jak najszybciej.
 
==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
{| border=1
|+ <span style="font-variant:small-caps">Uzupelnij tytul</span>
|-
| 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>=</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==
==Zastosowanie==
Linia 10: Linia 38:
===Przykłady===
===Przykłady===


[[Listy wyliczeniowe LaTeX2WikiMedia]] ('''NOWOŚĆ, ZAGNIEŻDŻONE''')
[[Listy wyliczeniowe LaTeX2WikiMedia]]


[http://www.ii.uj.edu.pl/~pawlik1/MediaWiki/index.php/Przyk%C5%82ady Przykładowe przekonwertowane dokumenty]
[http://www.ii.uj.edu.pl/~pawlik1/MediaWiki/index.php/Przyk%C5%82ady Przykładowe przekonwertowane dokumenty]
Linia 20: Linia 48:
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.
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==
===Zakres konwersji===


Program automatycznie zamienia "$-$" i "$$-$$" na <nowiki>"<math>-</math>"</nowiki> i 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.
Program automatycznie zamienia "$-$" na <nowiki>"<math>-</math>"</nowiki>, "$$-$$" na <nowiki>"<center><math>-</math></center>"</nowiki>, "~" na "&nbsp;", "=" na <nowiki><nowiki>=</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.
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.


==Na co zwrócić uwagę==
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 \__make_template.
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===
===Definiowanie dodatkowych makr===
Linia 34: Linia 64:
Może okazać się konieczne (albo wygodne) dodefiniowanie 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  \begin_Twierdzenie. Użycie makra \newtheorem{Twierdzenie} definiuje dwa makra: \begin_Twierdzenie i \end_Twierdzenie, które będą tworzyły nową podpodsekcję. Jeżeli nie odpowiadają nam podpodsekcje, wystarczy zdefiniować samodzielnie makra \begin_Twierdzenie i \end_Twierdzenie, a definicje tworzone przez \newtheorem będą zignorowane:
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:


<pre>
<pre>
\newcommand{\begin_Twierdzenie}{POCZATEK_TWIERDZENIA}
\newcommand{\beginTwierdzenie}{POCZATEK_TWIERDZENIA}
\newcommand{\end_Twierdzenie}{KONIEC_TWIERDZENIA}
\newcommand{\endTwierdzenie}{KONIEC_TWIERDZENIA}
</pre>
</pre>


Linia 59: Linia 89:
Makra mogą być przeładowane ze względu na liczbę argumentów. Argumenty [] i {} nie są rozróżniane.
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 _ lub * po odpowiedniej komendzie (pisząc np. \newcommand*).
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==
==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.
* 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.
* Od czasu do czasu jakiś wzór może nie wyświetlać się poprawnie po konwersji. Takie przypadki są rzadkie i dotyczą dokumentów stosujących skomplikowane formatowanie.
 
* Implementacja makr nie jest do końca zgodna z TeXem (w szczególności, nie są obsługiwane ograniczniki argumentów makr; wszystkie argumenty trzeba umieszczać w {} lub [])

Aktualna wersja na dzień 14:51, 4 sie 2006

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.