Mediawiki offre la possibilità di inserire formule Tex nelle nostre pagine creando dinamicamente immagini PNG per noi..
Questa pagina vuole richiamare i pacchetti e i principali passi da seguire per far funzionare Tex con MediaWiki in una macchina Slackware. Alla fine presenterò alcune problematiche nell'installzione.
Ghostscript
- Info & download: http://pages.cs.wisc.edu/~ghost/doc/GPL/gpl900.htm
- Mediawiki richiede il comando gs
Ghostscript è già incluso in Slackware (ap/ghostscript e ap/ghostscript-fonts-std) ma se siamo in un server minimale potresti avere bisogno di installarlo.
libfontconfig
Questa libreria la troviamo all'interno del pacchetto x/fontconfig. E' richesta da ImageMagick.
ImageMagick
- Info: http://www.imagemagick.org/script/index.php
- Download source: http://www.imagemagick.org/script/install-source.php
- Questo packetto è anche disponibile su slackware (xap/imagemagick)
- Mediawiki richiede il supporto dela comando convert
wget http://www.imagemagick.org/download/ImageMagick-6.7.6-5.tar.bz2 tar xvfj ImageMagick-6.7.6-5.tar.bz2 cd ImageMagick-6.7.6-5 chown -R root:root . ./configure \ --without-x \ --with-png \ --with-freetype \ --with-dps \ --with-gslib make make install ldconfig
Test
Provare a digitare, dalla linea di comando
/usr/local/bin/convert logo: logo.gif
Se viene generato il file PNG tutto funziona come si deve.
Ocaml
- Scaricare da Slackbuild (http://slackbuilds.org/result/?search=ocaml&sv=), creare il pacchetto e installare come al solito.
- Scaricare i sorgenti da qui
- Ocaml è necessario per compilare texvc
wget http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12.0.tar.bz2 tar xjf ocaml-3.12.0.tar.bz2 cd ocaml-3.12.0 chown -R root:root . ./configure make make install
dvipng
Download: http://sourceforge.net/projects/dvipng/
Prerequisiti:
- libgd (l/gd pkg)
- libXpm (x/libXpm pkg), libxcb (x/libxcb), libXau (x/libXau) and libXdmcp (x/libXdmcp) che sono prerequisiti di libgd.
- Kpathsea (incluso nel pacchetto Tex, installare tutto ciò che vi è nel gruppo t/)
- FreeType (pkg in l/freetype)
- T1lib (l/t1lib)
- libpng (l/libpng) and libz (l/zlib)
- texinfo (ap/tekinfo)
PATH=$PATH:/usr/share/texmf/bin/ export PATH
Ricordare di salvare ciò anche nel profile.
Per evitare problemi nel link di kpathsea configurare come segue
./configure LDFLAGS='-L/usr/share/texmf/lib/' CPPFLAGS='-I/usr/share/texmf/include/' make make install
AMS-LaTeX
Senza AMS* alcune formule saranno rese correttamente mentre altre no. Il pacchetto tetex di Slackware contiene già AMS, comunque, nel caso non ce l'avessi:
cd /usr/share/texmf wget ftp://ftp.ams.org/pub/tex/amslatex.zip wget ftp://ftp.ams.org/pub/tex/amsrefs/amsrefs.zip unzip amslatex.zip unzip amsrefs.zip
dovresti trovarlo in /usr/share/texmf/tex/latex/amsmath/amsmath.sty
Abilitare Tex in Mediawiki
Cambiare directory dove è installato mediawiki, editare LocalSettings.php e decommentare questo:
$wgUseTeX = true;
Compilazione di texvc
cd /path/to/htdocs/mediawiki/math
Prima di compilare, per evitare un parse error, usare il PATH assoluto ovunque all'interno di math/render.ml in questo modo:
let cmd_dvips tmpprefix = "/usr/share/texmf/bin/dvips -q -R -E " ^ tmpprefix ^ ".dvi -f >" ^ tmpprefix ^ ".ps" let cmd_latex tmpprefix = "/usr/share/texmf/bin/latex " ^ tmpprefix ^ ".tex >/dev/null" (* Putting -transparent white in converts arguments will sort-of give you transperancy *) let cmd_convert tmpprefix finalpath = "/usr/local/bin/convert -quality 100 -density 120 " ^ tmpprefix ^ ".ps " ^ finalpath ^ " >/dev/null 2>/tmp/wiki_convert_error" (* Putting -bg Transparent in dvipng's arguments will give full-alpha transparency *) (* Note that IE have problems with such PNGs and need an additional javascript snippet *) (* Putting -bg transparent in dvipng's arguments will give binary transparency *) let cmd_dvipng tmpprefix finalpath backcolor = "/usr/local/bin/dvipng -bg \'" ^ backcolor ^ "\' -gamma 1.5 -D 120 -T tight --strict " ^ tmpprefix ^ ".dvi -o " ^ finalpath ^ " >/dev/null 2>/tmp/wiki_dvipng_error"
Ora compiliamo
make
Problematiche
- Referenze: http://www.mediawiki.org/wiki/Manual:Troubleshooting_math_display_errors - http://www.mediawiki.org/wiki/Manual:Enable_TeX/problems
Provare a mettere dentro una pagina wiki qualcosa come
0
e cerchiamo di vedere cosa succede. Questo è il messaggio di errore più frequente:
Failed to parse (PNG conversion failed; check for correct installation of latex, dvips, gs, and convert)
Controlliamo se gli eseguibili sono nel path:
# ls -lH `which gs` `which latex` `which dvips` `which convert` -rwxr-xr-x 1 root root 5977916 2008-12-05 23:36 /usr/bin/gs* -rwxr-xr-x 1 root root 23410 2010-11-21 15:22 /usr/local/bin/convert* -rwxr-xr-x 1 root root 209308 2007-06-28 04:51 /usr/share/texmf/bin/dvips* -rwxr-xr-x 1 root root 1010984 2007-06-28 04:51 /usr/share/texmf/bin/latex*
Abilitiamo il log degli errori. Inserire una linea come questa in LocalSettings.php
$wgDebugLogFile = "/tmp/wiki.log";
Apriamo questo file e cerchiamo una riga come questa ;
TeX: ./math/texvc '/path/to/htdocs/mediawiki/images/tmp' '/path/to/htdocs/mediawiki/images/tmp' '0' 'UTF-8' 'transparent' TeX output: Ccfcd208495d565ef66e7dff9f98764da0 0 ---
Cerchiamo ora di eseguire il comando texvc dalla linea di comando come utente apache:
cd math sudo -u apache ./texvc '../images/tmp' '../images/tmp' '0' 'UTF-8' 'transparent'
a controlliamo il PNG nella cartella images/tmp. Se si ottiene ancora un parse error, si ricontrolli il path assoluto in math/render.ml, e si ricompili. E si rileggano le referenze indicate.