[Home]LatexPatch

UseModWiki | RecentChanges | Preferences

Please see [patch info on my server] - DeadLink

This is how I added the [LaTeX] support:

Installation

# Comment this line out.
#  $pageText =~ s/\\ *\r?\n/ /g;          # Join lines with backslash at end
Thats about it i think. This is how my site looks:

http://www.playersrating.com

Patch:

#At top add this:
use Digest::MD5  qw(md5 md5_hex md5_base64);

#also change your #DataDir to be absolute. ie "/var/lib/wiki_database/"
$IndexFile   = "$DataDir/pageidx";  # List of all pages
+++ $LatexDir    = "$DataDir/files/latex";

-------
sub CommonMarkup {
.
.
.
    s/\<pre\>((.|\n)*?)\<\/pre\>/&StorePre($1, "pre")/ige;
    s/\<code\>((.|\n)*?)\<\/code\>/&StorePre($1, "code")/ige;
#recent addons:
+++ ##matchin $$ $$ pairs / LaTeX
+++  s/\$\$((.|\n)*?)\$\$/&StoreRaw(&MakeLaTeX("\$\$"."$1". "\$\$"))/ige;
    #this will match \begin{XXX} \end{XXX} pairs very neat...
+++  my ($eq) = $_ =~ /\\begin\{(.*?)\}/;
+++  s/\\begin((.|\n)*?)\\end\{.*?\}/&StoreRaw(&MakeLaTeX("\\begin" . "$1" .  "\\end{$eq}"))/igem;

.
.
}
------------
#at this point:
sub StorePre {
  my ($html, $tag) = @_;

  return &StoreRaw("<$tag>" . $html . "</$tag>");
}

### Ok this part should be added:
sub MakeLaTeX {
        my($latex) = @_;

        my $hash = md5_base64($latex);

        if(-f "$LatexDir/$hash.png" and not -z "$LatexDir/$hash.png") { #check in cache
                return("<img border=0 src=\"/files/latex/$hash.png\">");
        }

        #setup rendering directory in /tmp/
        my $dir = "/tmp/$hash";
        mkdir($dir);

        qx(/bin/cp $DataDir/.latex2html-init $dir);
        chdir ($dir);

        open(FILE,"$DataDir/.template") ;
        my $template = '';
        while(<FILE>) { $template .= $_; }
        $template =~ s/<math>/$latex/ige;
        close FILE;

        open (OUTFILE, ">>srender.tex");
        print OUTFILE $template;
        close OUTFILE;


        qx(/usr/bin/latex2html $dir/srender.tex >$dir/error.out 2>&1);
        qx(/bin/cp $dir/img1.png $LatexDir/$hash.png);
        qx(/bin/rm -r $dir);

        return("<img border=0 src=\"/files/latex/$hash.png\">");

}
-----

.template FILE

\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\definecolor{color1}{rgb}{0.8,0,0}

\textcolor{color1}{
$$<math>$$
}
\end{document}
-----

.latex2html-init file

$NO_NAVIGATION = 1;
$ADDRESS = "";
$TRANSPARENT_FIGURES = 0;
$MATH_SCALE_FACTOR = 1.7;
$INFO = 0;
$ANTI_ALIAS = 0;
$WHITE_BACKGROUND = 1;
$IMAGE_TYPE = png;
$MAX_SPLIT_DEPTH = 0;
$REUSE = 2;
$NEWDIR_MODE = 'd';
$NO_SUBDIR = 1;
$DONT_INCLUDE .= '.pstex_t:';

sub meta_information { ""; }

1;
--------


Need Digest-MD5 Perl-module certainly? I can't install because I'm not admin on my web-hosting server. Does not other ways? - anonymous

it won't really matter, the crypt() function (or actually any hashing function) will work.

- alich@playersrating

Slight problem: I keep getting hashes containing "/"s which causes some problems... Once I've learned enough Perl to fix it I'll stick the solution here. -- Alex Labram

Got it. After
        my $hash = md5_base64($latex);
stick
        $hash =~ s/\W//g;

I recently set up wikis at http://www.scarymath.org/ which run OddMuse plus a modification of this patch. Basically, I couldn't get LaTeX2HTML? to behave and besides, using it seems like overkill, so I modified the patch like so:

In MakeLaTeX?, I replaced your executions of latex2html etc. with the following:

 qx(latex srender.tex);
 qx(dvi2bitmap -fp /var/cache/fonts/pk/ibmvga/public/cm/ -Pc -m 1.7 -t png srender.dvi);
 if (-f 'srender-page1.png' and not -z 'srender-page1.png') {
   qx(cp srender-page1.png $LatexDir?/$hash.png);
 }
 qx(/bin/rm -r $dir);

Share and Enjoy!

-- EdwardOConnor


 * 
I just setup my wiki on Windows XP IIS using MikTeX + ImageMagic because all latex2html, dvi2bitmap, and dvipng gave me real hard time. Now everything works for inline and displayed math, but how to make aligned math work still is a problem to me.
http://moonstone.math.ncku.edu.tw/cgi-bin/um.pl?LaTeXExamples
and
http://moonstone.math.ncku.edu.tw/cgi-bin/um.pl?LaTeXPatch
-- WenFongKe?

UseModWiki | RecentChanges | Preferences
Edit text of this page | View other revisions | Search MetaWiki
Last edited June 23, 2009 9:05 am by gw1.highq-it.net (diff)
Search: