La page de maintenance de cette extension est à cette adresse : http://jean-christophe.dubacq.fr/post/latexrender.

Installation

Utilisez le fichier zippé fourni en annexe de ce billet. Ensuite, rendez-vous en zone d'administration Extensions > LaTeXrender > Paramètres en tant que super-administrateur, et remplissez les chemins d'accès aux divers exécutables ([tex]\LaTeX[/tex] et la suite ImageMagick; les valeurs par défauts doivent être suffisantes pour la plupart des installations) ainsi que quelques paramètres supplémentaires (dans le menu Extensions). Les paramètres doivent être évidents ; si ce n'est pas le cas, soumettez un rapport de bug.

Interface d'administration de LaTeXrender
Interface d'administration de LaTeXrender
Auto-test de LaTeXrender
Auto-test de LaTeXrender

L'extension nécessite une installation sur le serveur de latex et du paquet logiciel ImageMagick (notamment les utilitaires convert et identify). La plupart des fournisseurs d'accès n'installent pas ces utilitaires (latex en particulier, ImageMagick est plus fréquent), mais les plateformes d'hébergement spécifiques doivent pouvoir le fournir sans beaucoup d'efforts (entreprise, laboratoire, particulier auto-hébergé) : ce sont des logiciels extrêmement courants sous Linux.

Il faut pour que cette extension fonctionne utiliser l'extension stacker. Une solution sans cette extension est à l'étude, mais elle sera forcément incompatible avec plusieurs autres extensions qui redéfinissent l'accès au contenu des billets (note: comme l'auteur en utilise plusieurs, il considère ceci comme un bug).

La version courante de cette extension est 0.9.3 (local svn 400).

Cette extension est sous la licence GPL version 2.0.

Utilisation

Utilisation basique

L'utilisation en est souple, il suffit de taper son texte [tex]\LaTeX[/tex] entre deux pseudos-balises [tex]...[/tex]. Par exemple, [tex]$\displaystyle\int_{0}^{1}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi$[/tex].

NB: en mode wiki, il faut passer temporairement en mode HTML pour que ça marche (un bug a été ouvert pour rendre cette procédure plus facile):

///html
[tex]$(a+b)^2=a^2+2ab+b^2$[/tex]
///

Les équations sont représentées sous forme d'image, et le code [tex]\LaTeX[/tex] est donné comme titre de l'image.

Exemple de rendu de LaTeXrender
Exemple de rendu de LaTeXrender

Les limitations sur ce qu'on peut taper sont une restriction des instructions autorisées (pas de \special, par exemple), les morceaux de code doivent être composés en mode horizontal (si on veut composer en mode vertical, par exemple des grandes équations, plusieurs paragraphes..., il faut encadrer le tout par un \begin{minipage}{500px}...\end{minipage}). C'est une restriction de [tex]\LaTeX[/tex], pas de l'extension.

Les images sont stockées dans le répertoire public du blog, par défaut dans un sous-répertoire latexrender/images.

Gestion des couleurs

La classe d'origine ne savait pas gérer des couleurs : le texte était toujours rendu en noir (sur fond transparent dans les dernières versions). Certains thèmes sont de couleur sombre, ce qui rendait l'extension inutilisable. Il est possible d'indiquer à LaTeXrender la couleur dominante dans laquelle on veut que les équations soient rendues pour qu'elles apparaissent sur la page. Par exemple, sur cette page, le thème d'origine Grey Silence ne fait aucun traitement spécifique, mais le thème LIPN-hiver était en blanc sur noir.

Si vous choisissez la méthode de génération avec couleur (qui nécessite un ImageMagick plus récent ; ça fonctionne au moins avec ImageMagick 6.2.4 02/10/07 Q16), vous pourrez utiliser cette possibilité ; il suffit d'ajouter dans l'un des fichiers de votre thème (juste avant la fin qui est normalement ?>) l'expression $core->theme_color='FFFFFF';. Cette ligne peut être ajoutée avant la dernière ligne de _public.php ou _prepend.php. Si aucun de ces fichiers n'est présent, un fichier _public.php constitué d'une seule ligne peut être ajouté:

<?php $core->theme_color='FFFFFF'; ?>

FFFFFF est à remplacer par la couleur voulue en hexadécimal (ici, blanc; jaune est FFFF00, rouge est FF0000...).

Pour signaler un bug ou aider cette extension

Le mieux est de me contacter par courrier (pour un bug) ou de laisser un commentaire (pour dire que vous avez testé cette extension). En cas de mise à jour, je modifierai ce billet.

Liste des changements

Note : ce journal est non-exhaustif, généré automatiquement, en anglais, et sans doute non-informatif avant 2009.

  • Local SVN release 400 (jcdubacq,2009-10-03)
    • Bump version number (oops)
  • Local SVN release 369 (jcdubacq,2009-04-30)
    • Clean code
    • Lift for the admin backend
    • New screenshot
  • Local SVN release 348 (jcdubacq,2009-04-22)
    • Fix documentation
  • Local SVN release 346 (jcdubacq,2009-04-22)
    • Fix licence block, reindent
    • Switch to LGPL 2.1 in order to keep the original licence
  • Local SVN release 333 (jcdubacq,2009-04-18)
    • Allow for public path to be an absolute path, release
  • Local SVN release 303 (jcdubacq,2009-01-27)
    • Fix locales
  • Local SVN release 297 (jcdubacq,2009-01-26)
    • Adapt to version 0.3 of stacker (behavior initStacker)
  • Local SVN release 292 (jcdubacq,2009-01-22)
    • Update documentation, release new version 0.6
  • Local SVN release 259 (jcdubacq,2008-11-18)
    • Fix public url usage in admin area
  • Local SVN release 205 (jcdubacq,2008-07-24)
    • Add documentation, new version
  • Local SVN release 187 (jcdubacq,2008-07-09)
    • Add admin page, rewrite latexrender class to better fit the needs of DC2
  • Local SVN release 168 (jcdubacq,2008-05-06)
    • Order plugins and themes
  • Local SVN release 47 (jcdubacq,2008-02-15)
    • Add latexrender plugin

Travail restant à faire

  • Faire une version qui ne dépend pas de l'extension stacker
  • Faire un retour auprès des auteurs initiaux de class.latexrender.php
  • Gérer les couleurs des thèmes indépendamment des thèmes
  • Travailler avec Sacha pour fournir une version client/serveur de latexrender qui sait fournir l'image et le décalage, et avec des conditions de sécurité suffisantes (le calcul des images peut être coûteux ou risqué si n'importe qui peut le faire).