12 aprile 2012 Roberto Puzzanghera 0 commenti
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 è già incluso in Slackware (ap/ghostscript e ap/ghostscript-fonts-std) ma se siamo in un server minimale potresti avere bisogno di installarlo.
Questa libreria la troviamo all'interno del pacchetto x/fontconfig. E' richesta da ImageMagick.
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
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.
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
Download: http://sourceforge.net/projects/dvipng/
Prerequisiti:
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
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
Cambiare directory dove è installato mediawiki, editare LocalSettings.php e decommentare questo:
$wgUseTeX = true;
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
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.
qq_temporary_problem_(#4.3.0)
2 giugno 2023 07:32
qq_temporary_problem_(#4.3.0)
1 giugno 2023 22:18
qq_temporary_problem_(#4.3.0)
31 maggio 2023 19:22
qq_temporary_problem_(#4.3.0)
31 maggio 2023 15:42
qq_temporary_problem_(#4.3.0)
31 maggio 2023 15:33
Thank you! for all the documentation, patches and support
26 maggio 2023 09:42
free(): double free detected in tcache 2: /var/www/qmail/cgi-bin/qmailadmin
17 maggio 2023 16:25
free(): double free detected in tcache 2: /var/www/qmail/cgi-bin/qmailadmin
17 maggio 2023 08:46
Tags
apache clamav dkim dovecot ezmlm fail2ban ftp guide hacks lamp letsencrypt linux linux-vserver lxc mariadb mediawiki mozilla mysql openboard owncloud patches php proftpd qmail qmail to postfix qmail-spp qmailadmin rbl roundcube rsync sieve simscan slackware solr spamassassin spf ssh ssl tcprules tex ucspi-tcp vpopmail vqadmin