Difference between revisions of "Converting Latex to Wiki"
(28 intermediate revisions by 8 users not shown) | |||
Line 14: | Line 14: | ||
The script is executed using the following syntax: | The script is executed using the following syntax: | ||
− | >python | + | >python Latex2wiki.py < infile.tex >outfile.wiki |
That's really it. | That's really it. | ||
− | Note that the latex file needs to be of compilable form, | + | Note that the latex file needs to be of compilable form, especially it needs a \begin{document} as all |
+ | material before this is ignored. | ||
==Capabilities== | ==Capabilities== | ||
The script will strip the preamble, \author tags etc. The \itemize environment is also recognized and parsed into a wiki list, however custom bullet types are not supported at the moment. | The script will strip the preamble, \author tags etc. The \itemize environment is also recognized and parsed into a wiki list, however custom bullet types are not supported at the moment. | ||
− | The script | + | The most important replacements made by the script are the following: |
{|border="1" cellpadding="5" cellspacing="0" align="center" | {|border="1" cellpadding="5" cellspacing="0" align="center" | ||
!LaTeX !! replacement wikitext | !LaTeX !! replacement wikitext | ||
Line 53: | Line 54: | ||
|- | |- | ||
|\end{ aligned }(*?) || | |\end{ aligned }(*?) || | ||
+ | |- | ||
+ | |\begin{ subequations }(*?) || | ||
+ | |- | ||
+ | |\end{ subequations }(*?) || | ||
|- | |- | ||
|$ || <nowiki><math></nowiki>''or'' <nowiki></math></nowiki> | |$ || <nowiki><math></nowiki>''or'' <nowiki></math></nowiki> | ||
Line 64: | Line 69: | ||
==The Script== | ==The Script== | ||
− | For security, python scripts cannot be served off of the [[Main Page|wiki]]. Please change the extension for '. | + | For security, python scripts cannot be served off of the [[Main Page|wiki]]. Please change the extension for '.txt' to '.py' after downloading. |
− | [[Media: | + | [[Media:Latex2wiki.txt|Latex2wiki.txt]] |
==References== | ==References== | ||
This script is based ''heavily'' on [http://qwiki.caltech.edu/index.php/Converting_LaTex_To_Wiki Latex to Wiki on Qwiki] which in | This script is based ''heavily'' on [http://qwiki.caltech.edu/index.php/Converting_LaTex_To_Wiki Latex to Wiki on Qwiki] which in | ||
turn was based on [http://www.kataplop.net/pub/info/projets/latex2twiki latex2twiki.py]. | turn was based on [http://www.kataplop.net/pub/info/projets/latex2twiki latex2twiki.py]. | ||
+ | |||
+ | ==Another Script== | ||
+ | Here is another script, written in Perl, which has been inspired by the above script and has more capabilities, e. g. it can resolve macros, respects <nowiki>\newcommand </nowiki>, and can handle simple tabular environments. The script can be run on the command line | ||
+ | |||
+ | >perl latex2wiki.pl infile.tex >outfile.html | ||
+ | |||
+ | Some documentation can be obtained via | ||
+ | |||
+ | >perl latex2wiki.pl -h | ||
+ | |||
+ | The output is HTML which can be viewed in a web browser and then pasted into the wiki. This is for reasons of encodings, because this script can also handle certain umlauts and accents. Alternatively, the script can be run as a CGI script (after uncommenting the CGI part of the script and commenting the command line part). I hope this script will be useful. Here is the script (please rename the file from latex2wiki_perl.txt to latex2wiki.pl after downloading and replace all capital K letters by < and all capital Z letters by >) | ||
+ | |||
+ | [[Media:latex2wiki_perl.txt|latex2wiki_perl.txt]] | ||
+ | |||
[[Category:Administration]] | [[Category:Administration]] |
Latest revision as of 20:14, 5 February 2010
This is a script to help convert TeX tags into the correct form for wiki. At the moment the script doesn't handle the \newcommand environment or figures and certain types of tables. Python is required.
We are actively working on improving the program and we welcome your input. The code is relatively straight forward to modify and you are welcome to add in your own lines to the code and we will use your updated version, or if you have a request you can add these to the discussion page.
One thing to note is that the code looks for the line \begin{document} and only processes the file after this command. What this means is that if you do not have line you will get a blank document.
Caveat Emptor: This code IS NOT PERFECT. The script will do a lot of the leg work, but expect to make some minor modifications after the script has been run.
Usage
The script is executed using the following syntax:
>python Latex2wiki.py < infile.tex >outfile.wiki
That's really it.
Note that the latex file needs to be of compilable form, especially it needs a \begin{document} as all material before this is ignored.
Capabilities
The script will strip the preamble, \author tags etc. The \itemize environment is also recognized and parsed into a wiki list, however custom bullet types are not supported at the moment. The most important replacements made by the script are the following:
LaTeX | replacement wikitext |
---|---|
\cite{} | ([#References|references]) |
\emph{ txt } | ''txt'' |
\texit{ txt } | ''txt'' |
\texttt{ txt } | =txt= |
\textbf{ txt } | '''txt''' |
\textt{ txt } | =txt= |
\begin{ equation }(*?) or \[ | <center><math> |
\end{ equation }(*?) or \] | </math></center> |
\begin{ eqnarray }(*?) | <center><math><\begin{matrix}> |
\end{ eqnarray }(*?) | <\end{matrix}></math></center> |
\begin{ align }(*?) | <center><math><\begin{matrix}> |
\end{ align }(*?) | <\end{matrix}></math></center> |
\begin{ aligned }(*?) | |
\end{ aligned }(*?) | |
\begin{ subequations }(*?) | |
\end{ subequations }(*?) | |
$ | <math>or </math> |
\begin{verbatim} | <br><code> |
\end{verbatim} | </code><br> |
\[..]section | appropriate wiki heading level |
The Script
For security, python scripts cannot be served off of the wiki. Please change the extension for '.txt' to '.py' after downloading.
References
This script is based heavily on Latex to Wiki on Qwiki which in turn was based on latex2twiki.py.
Another Script
Here is another script, written in Perl, which has been inspired by the above script and has more capabilities, e. g. it can resolve macros, respects \newcommand , and can handle simple tabular environments. The script can be run on the command line
>perl latex2wiki.pl infile.tex >outfile.html
Some documentation can be obtained via
>perl latex2wiki.pl -h
The output is HTML which can be viewed in a web browser and then pasted into the wiki. This is for reasons of encodings, because this script can also handle certain umlauts and accents. Alternatively, the script can be run as a CGI script (after uncommenting the CGI part of the script and commenting the command line part). I hope this script will be useful. Here is the script (please rename the file from latex2wiki_perl.txt to latex2wiki.pl after downloading and replace all capital K letters by < and all capital Z letters by >)