crée et attache automatiquement le pdf et le html associés à un fichier LaTeX attaché.
A propos de Latex
LaTeX est un logiciel de traitement de texte à orientation scientifique. Dans mon milieu (une fac de math), on l’utilise à la place d’OpenOffice ou d’autres suites bureautiques pour à peu près tout écrire. Mes rédacteurs sont des collègues qui écrivent des textes avec des math dedans, ils maîtrisent LaTeX et n’ont pas envie de se former à spip ou de modifier un document qu’ils ont déjà sous la forme LaTeX, simplement pour le mettre en ligne.
Ces documents sont : des feuilles de Travaux Dirigés, des notes de cours, des descriptions de contenu du cours, des notes techniques, des partitions de musique...
Je propose donc à mes rédacteurs d’attacher un fichier LaTeX et que ça compile pour eux directement des fichiers lisibles par les autres (du pdf et du html).
L’intérêt est double : 1. pas de manipulations pour eux et 2. celà tient lieu d’archivage du source (qu’ils peuvent cacher si c’est la fonctionnalité principale de la chose). Ainsi 1. les étudiants ont un document imprimable et 2. l’année suivante on sait où est le code, pas sur le disque dur de quelqu’un de qui il faut obtenir le fichier, mais mis en commun, attaché dans l’arborescence, là où on en a besoin.
Cette contribution
Cette contribution s’adresse donc à des administrateurs qui ont un accès shell (pas de site sur free par exemple), qui ont confiance dans leurs rédacteurs (LaTeX est capable de tout, c’est un vrai langage de programmation si on sait l’utiliser), lesquels désirent mettre en ligne simplement le résultat de la compilation d’un fichier LaTeX.
Ce filtre prend en entrée un id_document associé à un fichier .tex, une archive .tex.zip, ou même un .dvi ou un .ps, et fabrique le pdf associé, ainsi que le html au cas où. Le html est rarement utilisable avec latex2html, tex4ht est mieux mais plus rare.
Il suffit d’appeler le filtre dans la boucle des documents attachés, par exemple :
Une autre utilisation (avec plutôt tex4ht que latex2html) est, quand un article a un corps vide, de carrément le remplacer par la version html du fichier LaTeX attaché :
La première fois qu’un document .tex.zip, .tex, .dvi ou .ps est rencontré, ça crée le pdf (et le html), et ça les attache au même élément (article, rubrique ou brève). Pour un zip, il faut que le nom de l’archive soit le même que le nom du fichier à compiler, ex : monFichier.tex.zip contient monFichier.tex (et d’autres fichiers, possiblement des répertoires etc...)
On crée l’archive avec la commande (sous linux)
zip monFichier.tex.zip monDossier/*
Je n’utilise pas pdflatex mais dvipdfm qui doit être installé sur votre système.
Pour que ça fonctionne, il faut installer le filtre suivant dans mes_fonctions.php3 :
C’est un peu brut de décoffrage, mais ça fonctionne, les commentaires sont les bienvenus.
Le filtre translate_url sert à faire pointer les liens relatifs à l’intérieur du dossier de départ. Il y a sûrement mieux.
On peut bien-sûr utiliser cette idée pour post-traiter automatiquement d’autres types de documents attachés et leur faire subir les pires outrages.
Une contrib autour du même sujet, qui permet de faire une sortie pdf à partir d’un article ou d’une rubrique en utilisant LaTeX. Je l’utilise également pour fabriquer un fichier LaTeX que je peux ensuite éditer de manière à fabriquer rapidement un document très propre qui reprend les informations du site.
Je cherche une classe ou une fonction PhP qui permettrait la création de fichier PDF à partir d’un fichier LaTeX indépendemment de SPIP (en utilisant EasyPhP en local par exemple). Etant "débutant" mais motivé pour apprendre, je souhaitrais savoir si le code ci-dessus contient ce qu’il faut pour arriver à mon but.
Je cherche un example tres simple d’incorporation de formules mathematiques dans un site Web. J’apprecierais enormement le plus banal des exemples, pourvu qu’il presente tous les etapes elementaires.
Merci
Ernest
Le petit problème c’est qu’il faut recalculer 2 fois...
À propos des images aussi, j’étais passé à côté de la commande LaTeX
\usepackage{graphicx,color}
\graphicspath{{$spip_dir/IMG/eps/}{$spip_dir/IMG/pdf/}{$spip_dir/IMG/png/}%
{$spip_dir/IMG/ps/}{$spip_dir/IMG/jpg/}{$spip_dir/IMG/}{./}}
% pratique: inclure ici une liste de répertoires {{rep1/}{rep2/}...{repn/}}
\DeclareGraphicsExtensions{eps, pdf, png, ps, jpg}
plutôt que le (couteux)
for f in `ls $spip_dir/IMG/eps/*.eps`;
do test -f \${f##*/} || ln -s \$f .;
done;
ln -s '$fichier' .;
On m’a demandé aussi si c’était possible sur un serveur windows. En installant cygwin et en faisant un .bat qui va bien (ne me posez pas de question là-dessus), peut-être...
Bravo, ca répond à un vrai besoin. As-tu essayé de carrément remplacer le champ TEXTE par le HTML généré plutot que de placer celui-ci en pièce jointe ?
le plugin accés par groupes permet de restreindre l’accès à des rubriques et leurs contenus en gérant des groupes d’utilisateurs autorisés. A la différence du plugin "accés restreint", le filtrage est appliqué aussi bien dans l’espace privé que (...)
PGN_VIEWER pour Spip - PGN_VIEWER pour Spip est un script PHP facile à intégrer dans Spip et qui permet d’afficher des parties des échecs dans les articles, tout en facilitant la tâche aux auteurs qui trouvent du mal à le faire traditionnellement .. (1)
Utilisant (...)
Le squelette EasySqueletting est un squelette de type généraliste, il propose une navigation sur 2 à 3 colonnes ainsi qu’une navigation horizontale par onglets. Les onglets sont des liens vers des rubriques que vous pouvez sélectionner (...)