Version PDF avec SPIP2LaTeX - commentaires Version PDF avec SPIP2LaTeX 2018-04-20T12:40:34Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment496671 2018-04-20T12:40:34Z <p>Voici SPIP2LaTeX version 1.5.5</p> <p>Suite à une migration en tout UTF-8, nous avons eu besoin de filtrer les caractères Unicode posant problème. On fait ça avec le <a href="https://codepoints.net/" class="spip_out" rel='nofollow external'>point de code au format UCS</a>. La documentation et le présent article ont été mis à jour pour documenter cela.</p> Version PDF avec SPIP2LaTeX 2012-02-03T05:47:07Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment454174 2012-02-03T05:47:07Z <p>Je viens de publier SPIP2LaTeX 1.1 :</p> <ul class="spip"><li> on ajoute un argument var au filtre spip2latex, pour produire un nom de fichier différent et ainsi avoir plusieurs versions en cache. var est utilisé pour produire la hash du nom du fichier en cache :<br class="autobr"> spip2latex_pdf<i><abbr title="unserialize)">(#ENV**</abbr>, passes, var</i></li><li> L'environnement de spip2latex_pdf peut inclure une variable fichier dont la valeur est utilisée pour déterminer le nom du fichier présenté au navigateur.</li></ul> Version PDF avec SPIP2LaTeX 2011-10-11T13:48:22Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment450727 2011-10-11T13:48:22Z <p>Re bonjour,</p> <p>je fais suite à mon poste, car depuis mes investigations, apparement il n'y pas de fichier <code class="spip_code spip_code_inline" dir="ltr">*.log</code> généré dans le dossier <code class="spip_code spip_code_inline" dir="ltr">/tmp/cache/latex/</code> mais un fichier avec l'extension <code class="spip_code spip_code_inline" dir="ltr">*.tex</code> .</p> <p>Je penche de plus en plus vers un problème de PATH sur le serveur web (dans mon cas en locale avec Lampp) qui n'aurait pas accés à pdflatex.</p> <p>Je continue de chercher, mais bien sûr, un regard / une aide extérieur(e) serait bienvenu :)</p> <p>Merci</p> Version PDF avec SPIP2LaTeX 2011-10-10T15:55:25Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment450670 2011-10-10T15:55:25Z <p>Bonjour,</p> <p>je suis un ultra newsbie en Spip (2.1.11), ça c'est dit.<br class="autobr"> Pour m'excercer je l'ai installé en local sur lampp Ubuntu.</p> <p>J'aurais 2 questions en amont :</p> <ol class="spip"><li> lors de la configuration du serveur web : qu'entendez-vous par <blockquote class="spip"> <p>Le serveur web doit avoir la commande pdflatex dans son PATH<small class="fine d-inline"> </small>?</p> </blockquote></li><li> comment faut-il s'y prendre pour donner <blockquote class="spip"> <p>accès anonyme autorisé depuis 127.0.0.1<small class="fine d-inline"> </small>?</p> </blockquote></li></ol> <p>Enfin, j'ai tenté d'installé le plugin, et d'éditer un article de test avec le modèle :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#MODELE{pdf}{id_article=#ID_ARTICLE})]</code></pre></div> <p>Lorsque je clique sur l'icône pdf, j'obtiens l'erreur suivante :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><b>Warning</b>: readfile(/opt/lampp/htdocs/spip/tmp/cache/latex/article1/27bd4e247abb2ff99c6e4d697d8d052e2d3b6b20.log) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: Aucun fichier ou dossier de ce type in <b>/opt/lampp/htdocs/spip/plugins/auto/spip2latex-1.0.1/spip2latex.php</b> on line <b>1406</b><br /></code></pre></div> <p>J'ai parcouru en vain le forum ainsi que Big G pour trouver les solutions à ces problèmes.<br class="autobr"> Donc, si une âme charitable pouvait ne serait-ce que me donner une petite piste, je ne cherche pas à ce qu'on me mâche le travail, hein, ce serait bienvenu<small class="fine d-inline"> </small>!</p> <p>Merci d'avance.</p> Version PDF avec SPIP2LaTeX 2011-07-16T11:48:14Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447803 2011-07-16T11:48:14Z <p>C'est à l'hébergeur qu'il faut le demander. Mais est-ce que LaTeX est même installé sur ce serveur<small class="fine d-inline"> </small>?</p> Version PDF avec SPIP2LaTeX 2011-07-16T10:03:35Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447802 2011-07-16T10:03:35Z <p>JE SUIS sous hebergement mutualisé, commade renseigné pdflatex<br class="autobr"> merci</p> Version PDF avec SPIP2LaTeX 2011-07-16T08:17:08Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447799 2011-07-16T08:17:08Z <p>Le fichier de log de LaTeX n'a même pas été créé, cela suggère que SPIP n'a même pas réussi à exécuter la commande pdflatex. Est-ce que le champ «<small class="fine d-inline"> </small>Commande LaTeX<small class="fine d-inline"> </small>» du formulaire CFG est bien renseigné avec quelque chose de raisonnable<small class="fine d-inline"> </small>? Est-ce que le serveur web a bien les droits d'exécuter la commande<small class="fine d-inline"> </small>?</p> Version PDF avec SPIP2LaTeX 2011-07-16T01:53:45Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447795 2011-07-16T01:53:45Z <p>salut<br class="autobr"> je suis sous spip 2.1.10 derniere version a cette date, j'ai l erreur suivante en click sur le lien pdf<br class="autobr"> Warning : filesize() [function.filesize] : stat failed for /home/dinebout/public_html/pwwo/tmp/cache/latex/article6/e24f1000e64d0dfeb9213c5a402ed0571bcb6f79.log in /home/dinebout/public_html/pwwo/plugins/spip2latex-1.0.1/spip2latex-1.0.1/spip2latex.php on line 1402</p> <p>Warning : Cannot modify header information - headers already sent by (output started at /home/dinebout/public_html/pwwo/plugins/spip2latex-1.0.1/spip2latex-1.0.1/spip2latex.php:1402) in /home/dinebout/public_html/pwwo/plugins/spip2latex-1.0.1/spip2latex-1.0.1/spip2latex.php on line 1404</p> <p>Warning : Cannot modify header information - headers already sent by (output started at /home/dinebout/public_html/pwwo/plugins/spip2latex-1.0.1/spip2latex-1.0.1/spip2latex.php:1402) in /home/dinebout/public_html/pwwo/plugins/spip2latex-1.0.1/spip2latex-1.0.1/spip2latex.php on line 1405</p> <p>Warning : readfile(/home/dinebout/public_html/pwwo/tmp/cache/latex/article6/e24f1000e64d0dfeb9213c5a402ed0571bcb6f79.log) [function.readfile] : failed to open stream : No such file or directory in /home/dinebout/public_html/pwwo/plugins/spip2latex-1.0.1/spip2latex-1.0.1/spip2latex.php on line 1406</p> <p>l'instalation spip est dans un sous domaine, pas de serveur.</p> Version PDF avec SPIP2LaTeX 2011-07-04T17:09:10Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447434 2011-07-04T17:09:10Z <p>sans doute, sans doute. Mais simplement depuis la 3.0 les raccourcis typo de spip sont passé en TexWheel et je m'aligne donc là dessus.</p> <p>Ceci dit, du peu que je vois pour le moment, effectivement on a encore pas mal de regexp cabalisitiques.</p> Version PDF avec SPIP2LaTeX 2011-07-04T17:04:10Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447433 2011-07-04T17:04:10Z <p>Je suis curieux de voir le résultat. Ma conclusion personnelle est qu'en l'absence d'une grammaire non ambigüe il est impossible de mener à bien la phase d'analyse syntaxique proprement. On est obliger de faire comme dans le noyau de SPIP, à savoir des enchainement de regex plus ou moins cabalistiques, et clairement peu maintenable. Mais j'adorerais avoir tort.</p> Version PDF avec SPIP2LaTeX 2011-07-04T16:36:02Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447431 2011-07-04T16:36:02Z <p>pas seulement, aussi pour avoir quelquechose de structuré et facilement maintenable par d'autres.</p> Version PDF avec SPIP2LaTeX 2011-07-04T16:33:08Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447430 2011-07-04T16:33:08Z <p>TextWheel pour réinventer la roue, en somme<small class="fine d-inline"> </small>? :-)</p> Version PDF avec SPIP2LaTeX 2011-07-04T16:01:59Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447427 2011-07-04T16:01:59Z <p>salut,</p> <p>par rapport à cela justement, je suis en train de créer un nouveau plugin qui ferait la même chose, à deux différences prés : <br>- il ne se chargera pas de la compilation en LaTeX, mais simplement de transformer du code spip en code LaTeX. <br>- il se base sur l'API Textwheel incluse dans SPIP 3 pour formaliser les transformation à operer.</p> <p>Par ailleurs il se trouve sur la zone (encore en cours de dev)</p> Version PDF avec SPIP2LaTeX 2011-07-04T15:39:02Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment447425 2011-07-04T15:39:02Z <p>Nouvelle version 1.0.1, corrigeant deux bugs</p> <ul class="spip"><li> Une virgule dans le titre cassait la compilation LaTeX (\hypersetup prends ça pour un séparateur d'arguments)</li><li> les descriptifs d'images n'étaient pas pris en compte</li></ul> Version PDF avec SPIP2LaTeX 2011-02-22T14:50:59Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment441449 2011-02-22T14:50:59Z <p>Oui, tu peux tout à fait envoyer en marge les <code class="spip_code spip_code_inline" dir="ltr"><cadre>texte encadré</cadre></code> ou les <code class="spip_code spip_code_inline" dir="ltr">[** texte en exergue **]</code>, par exemple. il suffit de redéfinir <code class="spip_code spip_code_inline" dir="ltr">spiptolatexcadre</code> ou <code class="spip_code spip_code_inline" dir="ltr">spiptolatexaltexergue</code>.</p> Version PDF avec SPIP2LaTeX 2011-02-22T14:39:27Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment441447 2011-02-22T14:39:27Z <blockquote class="spip"> <p>Le prix est la connaissance de LaTeX, qui n'a pas la courbe d'apprentissage la plus conviviale qui soit.</p> </blockquote> <p>Soit. Passer par Latex me parait être le meilleur moyen de générer des notes de marges. Peut on imaginer qu'à partir d'une div comme encart on génère du marginpar{}<small class="fine d-inline"> </small>?</p> <p>Quelque chose comme spip2latex modeles/latex_encart qui fasse \marginpar<i> #TEXTE </i><small class="fine d-inline"> </small>?</p> <p>Je pense qu'il y a une façon élégante d'introduire les notes de marges dans SPIP par le biais du PDF. Tant qu'on reste dans le flux html on se contente d'un joli encadré stylé à son goût.</p> Version PDF avec SPIP2LaTeX 2011-02-17T13:34:52Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment441191 2011-02-17T13:34:52Z <p>SPIP2LaTeX transforme la typo SPIP en LaTeX, et utilise la commande <code class="spip_code spip_code_inline" dir="ltr">pdflatex</code> de LaTeX pour en faire du PDF. Aucune librairie ou extension PHP n'est requise.</p> <p>Ce projet semble faire du PDF depuis de l'HTML, ce qui suggère qu'on pourrait faire un autre plugin, qui transformerait la typo SPIP en HTML (en fait c'est SPIP qui fait ça), et utiliserait TCPDF pour faire du PDF.</p> Version PDF avec SPIP2LaTeX 2011-02-17T11:29:52Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment441176 2011-02-17T11:29:52Z <p>OK,</p> <p>Je pensais que cette classe intervenait après la compilation par Latex et qu'elle ne dispensait pas de Latex. Au temps pour moi.</p> Version PDF avec SPIP2LaTeX 2011-02-17T02:37:35Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment441156 2011-02-17T02:37:35Z <p>Sans vouloir dévaloriser le travail fait dans le cadre du projet TCPDF, qui est sans aucun doute excellent, c'est un projet de plus pour produire du PDF, qui se confronte au même problème que les autres : faire un PDF ça n'est déjà pas trivial, mais faire une bonne mise en page, c'est beaucoup plus difficile.</p> <p>En la matière, le logiciel le plus avancé est sans aucun doute LaTeX, et de très loin. On peut lui reprocher la syntaxe cryptique de son langage et sa difficulté d'apprentissage, mais il bénéfice tout de même de 26 ans de recul en matière de mise en page.</p> <p>Le plugin SPIP2LaTeX fait le choix de s'appuyer sur LaTeX, pour une flexibilité et une qualité maximum dans le rendu des PDF. Le prix est la connaissance de LaTeX, qui n'a pas la courbe d'apprentissage la plus conviviale qui soit.</p> Version PDF avec SPIP2LaTeX 2011-02-16T19:23:44Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment441139 2011-02-16T19:23:44Z <p>Si ça peut être utile je viens de tomber sur cette <a href="http://sourceforge.net/projects/tcpdf/" class="spip_out" rel='nofollow external'>nouvelle classe php</a> :</p> <p>Elle génère du pdf en prenant en compte utf8 RTL les langages de programmation ...</p> Version PDF avec SPIP2LaTeX 2011-02-09T15:39:54Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440836 2011-02-09T15:39:54Z <p>Et voila notre version 1.0, soit-disant stable. Normalement c'est l'instant où une horde de nouveaux venus débarquent, testent le plugin, et trouvent une montagne de bogues :-)<br class="autobr"> Nouveautés depuis 0.9.9 <br>- Gestion des liens internes sans titre : on prend le titre de l'objet <br>- Configuration CFG pour indiquer a quelle longueur on tronque les URL <br>- C'est la 1.0</p> <p>Les prochains développements vont tourner autour de l'export de site entier, avec intégration du travail déjà fait par Matthieu à ce sujet, et la gestion des références.</p> Version PDF avec SPIP2LaTeX 2011-02-08T16:26:52Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440785 2011-02-08T16:26:52Z <ul class="spip"><li> pour les liens internes, oui, c'est cela</li><li> pour les troncatures... tu as raison, je pense que l'option que tu proposes n'est pas mal :)</li></ul> <p>Il va me rester 1 soucis ensuite. C'est que pour certains PDFs, les liens vers les articles doivent être externes (une URL est donc affichée) mais pour certains autres, qui contiennent, eux, par exemple l'intégralité des articles du site, les liens vers les articles doivent être internes au PDF, c'est à dire afficher le numéro de la page correspondante. Je me demande si une option au filtre <code class="spip_code spip_code_inline" dir="ltr">|spip2latex_pdf{}</code> ne pourrait pas dire cela... peut être que je me trompe.</p> <p>En tout cas, merci, les problèmes disparaissent les uns après les autres :)</p> Version PDF avec SPIP2LaTeX 2011-02-08T15:19:42Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440783 2011-02-08T15:19:42Z <p>Pour les liens vers des articles internes, en fait si il n'y a pas de texte du lien on doit prendre le titre de l'article<small class="fine d-inline"> </small>? Pas de soucis.</p> <p>Pour les troncatures d'URL, le mieux que je puisse proposer, c'est de rendre la longueur configurable via CFG, avec 0 pour ne pas tronquer. Mais bon les URL interminable, personne ne les recopie, hein...</p> Version PDF avec SPIP2LaTeX 2011-02-08T14:38:17Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440772 2011-02-08T14:38:17Z <p>Bon... ça devient bien là...<br class="autobr"> Reste juste un soucis que je vois en regardant le PDF généré. Un texte tel que :</p> <div class="precode"><pre class="spip_code spip_code_block language-text" dir="ltr" style="text-align:left;" data-language="text"><code>Voir : [->art8], [->art9], [->art10]</code></pre></div> <p>Génère : <code class="spip_code spip_code_inline" dir="ltr">Voir : 1, 2, 3</code>.<br class="autobr"> Où 1, 2, 3 sont des notes en bas de page où l'URL est affichée.<br class="autobr"> Cela devrait afficher : <code class="spip_code spip_code_inline" dir="ltr">Voir : titre de l'article 1, titre de l'article 2, titre de l'article 3</code><br class="autobr"> Où 1, 2 et 3 sont toujours les liens en bas de page.</p> <p>Autre chose, certains liens qui sont long sont coupés dans les notes en bas de page. Or, ce qu'on demande à un PDF, c'est de pouvoir être imprimé (il me semble), du coup, couper le texte des liens ne me parait pas pertinent, vu qu'une moitié de lien imprimé amène à un 404 inévitablement :)</p> <p>Du moins... une option pourrait nous départager :)</p> Version PDF avec SPIP2LaTeX 2011-02-08T13:42:49Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440765 2011-02-08T13:42:49Z <p>Version 0.9.9 <br>- Ne pas garder les numéros de classements dans les noms des PDF <br>- Gestion de cache : on purge les PDF des que la base est modifiée <br>- Echappement correct des URL de glossaire, gestion de versions raccourcies <br>- Les listes numérotés fonctionnent <br>- Affichage correct du code PHP invalide dans les cadres</p> <p>Histoire de tenter un peu le diable, je l'ai marquée «<small class="fine d-inline"> </small>stable<small class="fine d-inline"> </small>»</p> Version PDF avec SPIP2LaTeX 2011-02-03T15:52:05Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440514 2011-02-03T15:52:05Z <p>Concernant <code class="spip_code spip_code_inline" dir="ltr">spip2latex_insert_head()</code>, cet appel n'a pas sa place à mon avis.<br class="autobr"> Il vaut mieux le faire dans <code class="spip_code spip_code_inline" dir="ltr">spip2latex_pdf()</code>, en passant <code class="spip_code spip_code_inline" dir="ltr">$contexte</code> dedans. Au passage, je ne vois pas pourquoi ne supprimer que les PDF de l'article en train d'être visité : si c'est pour qu'il ait son PDF à jour, c'est déjà le cas en utilisant le cache de SPIP et la fonction <code class="spip_code spip_code_inline" dir="ltr">spip2latex_pdf()</code>. Si c'est pour enlever de vieux PDFs qui ne sont potentiellement plus à jour, autant supprimer tout le répertoire latex/.</p> <p>Je proposerais donc de supprimer tous les PDF dès que la date de modification de SPIP a changé (donnée par <code class="spip_code spip_code_inline" dir="ltr">$GLOBALS['meta']['derniere_modif']</code> qui serait à stocker par exemple dans <code class="spip_code spip_code_inline" dir="ltr">spip2latex/date_purge</code>).</p> <p>Ainsi, même lorsqu'un PDF ne dépend pas directement d'un article (par exemple là, j'essaie d'exporter tout le site en PDF), mon PDF doit se recalculer (ça il le fait déjà) et supprimer les anciens (alors même que le PDF n'est pas stocké dans latex/articleNN donc)</p> <p>Je sais pas si je suis très clair dans mes explications.</p> <hr class="spip"> <p>Bon, par contre, va falloir trouver une solution pour faire soit fonctionner <code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE*|spip2latex_pdf)]</code>, soit <code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE**|...)]</code> en créant une fonction à peu près équivalente à <code class="spip_code spip_code_inline" dir="ltr">interdire_script</code> de SPIP pour latex... J'ai aussi d'autres catastrophes sur des articles ayant des codes PHP intégrés pas tout à fait valide.</p> <p>Exemple dans le texte d'un article (avec le cadre de classe php) (à appeler avec <code class="spip_code spip_code_inline" dir="ltr">?page=latex&id_article=117&var_mode=recalcul</code>) :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><?php tu_plantes(); ?></code></pre></div> Version PDF avec SPIP2LaTeX 2011-02-03T15:17:03Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440512 2011-02-03T15:17:03Z <p>Je viens de tester pour $href latex0 (sans modification) et ça semble fonctionner :</p> <div class="precode"><pre class="spip_code spip_code_block language-diff" dir="ltr" style="text-align:left;" data-language="diff"><code> $href = extraire_attribut($ref, 'href'); + $href = spip2latex_escape_latex0($href); - $href = str_replace('#', '@\\#', $href);</code></pre></div> Version PDF avec SPIP2LaTeX 2011-02-03T13:57:27Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440506 2011-02-03T13:57:27Z <p>Compris<small class="fine d-inline"> </small>!</p> <p>C'est cet article qui fait planter : <a href="http://programmer.spip.org/Ajouter-un-type-de-glossaire" class="spip_url spip_out auto" rel="nofollow external">http://programmer.spip.org/Ajouter-un-type-de-glossaire</a></p> <p>En fait... le PHP est exécuté<small class="fine d-inline"> </small>!<br class="autobr"> Voilà qui nous met dans l'embarra<small class="fine d-inline"> </small>!</p> Version PDF avec SPIP2LaTeX 2011-02-03T13:57:11Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440505 2011-02-03T13:57:11Z <p>Pour href, tu pourrais essayer de faire les mêmes échappements que dans <code class="spip_code spip_code_inline" dir="ltr">spip2latex_escape_latex0</code> (en ajoutant l'@), pour voir si ça continue de marcher<small class="fine d-inline"> </small>?</p> <p>Pour le <code class="spip_code spip_code_inline" dir="ltr">$GLOBALS["contexte"]</code>, on doit déjà se le farcir pour <code class="spip_code spip_code_inline" dir="ltr">spip2latex_insert_head</code>, du coup ça motive moins pour s'en débarrasser. En tout cas ça m'aura appris que <code class="spip_code spip_code_inline" dir="ltr">ENV</code> c'est <code class="spip_code spip_code_inline" dir="ltr">$GLOBALS["contexte"]</code>, je n'ai pas perdu ma journée.</p> <p>Pour le <code class="spip_code spip_code_inline" dir="ltr">#TEXTE**</code>, pour rappel, on a vraiment besoin de la double étoile pour pouvoir afficher <code class="spip_code spip_code_inline" dir="ltr"><?php</code> dans un bloc de code.</p> Version PDF avec SPIP2LaTeX 2011-02-03T13:32:17Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440502 2011-02-03T13:32:17Z <p>Coquille :</p> <div class="precode"><pre class="spip_code spip_code_block language-diff" dir="ltr" style="text-align:left;" data-language="diff"><code>function spip2latex_traiter_raccourcis_glossaire($texte) { - include_spip('inc_lien'); + include_spip('inc/lien');</code></pre></div> <p>J'ai un soucis dont je ne retrouve pas l'origine, sur <code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE**|spip2latex)]</code> lorsqu'un article possède un glossaire <code class="spip_code spip_code_inline" dir="ltr">[?mot#trac]</code>, il me dit que la fonction de l'extension «<small class="fine d-inline"> </small>code<small class="fine d-inline"> </small>» pour le porte plume nommée «<small class="fine d-inline"> </small>glossaire_trac<small class="fine d-inline"> </small>» est déjà définie, alors même que je vérifie justement son éventuelle existence avant, et que en théorie ce fichier n'est appelé qu'une seule fois (<a href="http://zone.spip.org/trac/spip-zone/browser/_plugins_/porte_plume_extras/codes/pp_codes_fonctions.php#L15" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/browser/_plugins_/porte_plume_extras/codes/pp_codes_fonctions.php#L15</a>). Si je mets<code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE*|spip2latex)]</code>, cela passe. Je vais essayer de poursuivre mes recherches.</p> Version PDF avec SPIP2LaTeX 2011-02-03T09:25:01Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440482 2011-02-03T09:25:01Z <p>Bien, déjà, toutes les erreurs que j'avais pu avoir sont corrigées par cette version, c'est extra<small class="fine d-inline"> </small>! Merci donc :)</p> <p>Je vais donc tenter d'aller un peu plus loin en exportant toute une rubrique... si j'y arrive :)</p> Version PDF avec SPIP2LaTeX 2011-02-03T09:06:37Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440479 2011-02-03T09:06:37Z <p>Bien, je vais tester.</p> <p>Par rapport à ma ligne sur $href, c'est bien possible que ma correction soit insuffisante.</p> <p>Je te propose également d'éviter<code class="spip_code spip_code_inline" dir="ltr"> $GLOBALS['contexte']</code> dans <code class="spip_code spip_code_inline" dir="ltr">spip2latex_pdf</code> de la sorte :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#INCLURE{fond=latex/document.tex,env}|spip2latex_pdf{ [(#ENV**|unserialize)] })]</code></pre></div> <p>Et</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function spip2latex_pdf($texte, $contexte) {</code></pre></div> Version PDF avec SPIP2LaTeX 2011-02-01T09:58:19Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440372 2011-02-01T09:58:19Z <p>Nouvelle version 0.9.6, avec plein de trucs chouettes</p> <ul class="spip"><li> Tout le jeu de caractere latin-1 peut etre utilise sans erreur</li><li> Ajouter la connaissance de latin-9</li><li> Formulaire CFG pour indiquer la commande pdflatex (ou xetex...)</li><li> Usage du cache SPIP pour les PDF</li><li> Correction pour le glossaire quand il y a des #</li></ul> <p>Attention, pour ceux qui s'étaient fait une version PDF lorsque l'URL finii en <i><small class="fine d-inline"> </small>?formatpdf=1</i>, il y a un changement. On ne dit plus</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#ENV{formatpdf}|?{#SPIP2LATEX_PDF_OUTPUT{#URL_PAGE{latex}| url_absolue|parametre_url{id_article,#ID_ARTICLE}}})]</code></pre></div> <p>Mais on dit :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[[(#INCLUDE{fond=latex/document.tex,env}|spip2latex_pdf)](#ENV{formatpdf})]</code></pre></div> <p>Dernier point, pour Matthieu : je n'ai pas trop compris l'objet de ta contribution <code class="spip_code spip_code_inline" dir="ltr">$href = str_replace('#', '@\\#', $href);</code>, je l'ai intégré, mais je me demande si il ne faudra pas le même type de traitement pour d'autres caractères spéciaux LaTeX, comme _<small class="fine d-inline"> </small>% ou &</p> Version PDF avec SPIP2LaTeX 2011-01-31T21:26:51Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440356 2011-01-31T21:26:51Z <p>Bon bon bon... <br class="autobr"> En ajoutant</p> <div class="precode"><pre class="spip_code spip_code_block language-diff" dir="ltr" style="text-align:left;" data-language="diff"><code>$href = extraire_attribut($ref, 'href'); + $href = str_replace('#', '@\\#', $href);</code></pre></div> <p>J'arrive à générer <a href="http://programmer.spip.org/declarer_tables_interfaces,379" class="spip_out" rel='nofollow external'>cette page sans erreur</a> qui contient un raccourcis <code class="spip_code spip_code_inline" dir="ltr">[?...#trac123]</code>.</p> <p>On avance :)<br class="autobr"> Je suis content<small class="fine d-inline"> </small>!</p> Version PDF avec SPIP2LaTeX 2011-01-31T21:05:47Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440354 2011-01-31T21:05:47Z <p>Autre bug, ou pas (?) Lorsqu'on fait un copier/coller de texte de cadre de code issu d'un PDF généré, on obtient des espaces entre toutes les lettres. Les appostrophes ne sont pas correctes non plus : elles se sont francisées :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>$ t a b l e _ d e s _ t r a i t e m e n t s [ ' BALISE '][] = ' traitement (% s ) '; // remarquer ' à la place de ' ainsi que l'espace entre chaque lettre.</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-31T20:58:43Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440353 2011-01-31T20:58:43Z <p>@coquille : c'est moi la coquille pour le coup... \ ne faisant qu'un seul caractère... désolé :) c'était bien 0, 3 donc :)</p> <p>Pour la correction du glossaire... j'ai appliqué ça (à la vavite), et ça semble fonctionner. Il y a certainement mieux à faire :</p> <div class="precode"><pre class="spip_code spip_code_block language-diff" dir="ltr" style="text-align:left;" data-language="diff"><code>+ $t = str_replace('@\\', '', $t); list($t, $bulle, $hlang) = traiter_raccourci_lien_atts($t);</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-31T20:43:25Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440352 2011-01-31T20:43:25Z <p>Je viens de voir une coquille :<br class="autobr"> L. 883 chez moi (mais j'ai ajouté des choses styles spip_log pour débugguer) :</p> <div class="precode"><pre class="spip_code spip_code_block language-diff" dir="ltr" style="text-align:left;" data-language="diff"><code>- if (substr($href, 0, 3) == '@\\#') + if (substr($href, 0, 4) == '@\\#') $rep = $titre;</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-31T20:19:47Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440351 2011-01-31T20:19:47Z <p>J'ai trouvé pourquoi sur certaines pages il ne me l'envoie pas correctement. Enfin j'ai trouvé que le pdf a une erreur dedans, mais est bien créé. Du coup, comme je calculais la taille du fichier qu'en cas de réussite du pdf, il m'inscrivait une taille 0. Bref, en calculant la taille du fichier même en cas d'erreur (pour certaines, ça doit passer), c'est déjà mieux, il me l'envoie.</p> <p>Reste l'erreur...<br class="autobr"> Ça vient de mon raccourcis <code class="spip_code spip_code_inline" dir="ltr">[?...#trac]</code> dans les phrases tel que :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>Dans ces cas là, elles sont déclarées (dans SPIP) soit dans le fichier [?ecrire/public/balises.php#trac], soit dans le répertoire [?ecrire/balise/#trac]</code></pre></div> <p>Ma fonction php pour gérer ce glossaire me retourne une URL du style : <code class="spip_code spip_code_inline" dir="ltr">http://core.spip.org/trac/spip/browser/@file@?rev=spip-2.1</code> à laquelle il ajoute parfois <code class="spip_code spip_code_inline" dir="ltr">#L123</code> où 123 est un numéro de ligne.</p> <p>Le code LaTeX généré semble pourtant en tenir compte, mais peut être pas entièrement (?) :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>Dans ces cas là, elles sont déclarées (dans SPIP) soit dans le fichier \href{http://core.spip.org/trac/spip/browser/ecrire/public/balises.php\?rev=spip-2.1}{ecrire/public/balises.php\}\footnote{\url{http://core.spip.org/trac/spip/browser/ecrire/public/balises.php\?rev=spip-2.1}}, soit dans le répertoire \href{http://core.spip.org/trac/spip/browser/ecrire/balise/\?rev=spip-2.1}{ecrire/balise/\}\footnote{\url{http://core.spip.org/trac/spip/browser/ecrire/balise/\?rev=spip-2.1}}</code></pre></div> <p>Dans le log de la génération, on trouve notamment :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>LaTeX Warning: No \author given. Runaway argument? {ecrire/public/balises.php\}\footnote {\url {http://core.spip.org/tra\ETC. ! Paragraph ended before \hyper@link@ was complete. <to be read again> \par l.198 I suspect you've forgotten a `}', causing me to apply this control sequence to too much text. How can we recover? My plan is to forget the whole thing and hope for the best.</code></pre></div> <p>Personnellement, ça ne me parle pas trop :)</p> Version PDF avec SPIP2LaTeX 2011-01-31T19:22:59Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440346 2011-01-31T19:22:59Z <p>Je m'étais ajouté également la possibilité, sur la vue d'un article ou d'une rubrique, d'ajouter <code class="spip_code spip_code_inline" dir="ltr">&format_sortie=pdf</code> pour que ça retourne le pdf. Peut être que cela peut d'intéresser de l'intégrer :</p> <p>Plugin.xml</p> <div class="precode"><pre class="spip_code spip_code_block language-xml" dir="ltr" style="text-align:left;" data-language="xml"><code> <pipeline> <nom>styliser</nom> <inclure>spip2latex.php</inclure> </pipeline></code></pre></div> <p>Dans spip2latex.php :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function spip2latex_styliser($flux) { if ($flux['args']['contexte']['format_sortie'] == 'pdf') { if (in_array($flux['args']['fond'], array('article', 'rubrique'))) { $base = find_in_path("pdf." . $flux['args']['ext']); $squelette = substr($base, 0, - strlen("." . $flux['args']['ext'])); $flux['data'] = $squelette; } } return $flux; }</code></pre></div> <p>PS : j'ai certains pdfs se générant bien (ils sont dans le cache), mais qui ne s'envoient pas correctement depuis le PHP (0 octets reçus). Faut que je comprenne ce qui cloche.</p> Version PDF avec SPIP2LaTeX 2011-01-31T17:14:33Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440341 2011-01-31T17:14:33Z <p>Ah oui, mais non : il ne faut pas le supprimer :p<br class="autobr"> Ce que l'on met dans le fichier cache est l'envoi du fichier (<code class="spip_code spip_code_inline" dir="ltr">readfile()</code>), donc, il faut toujours le fichier.</p> <p>Ce qui serait à supprimer par contre, ce sont les vieux fichiers PDF lorsque le sha1 du texte a changé (ie : l'article ou le contenu a été mis à jour). Mais je n'ai pas plus d'idées que la solution que tu emploies déjà je crois<small class="fine d-inline"> </small>?</p> <p>En fait, je pense que lors de la création d'un PDF (donc lors d'un calcul du squelettes pdf.html, dans la fonction _avec_cache() ), il faut regarder la date de modification des contenus (c'est une meta SPIP employée pour la gestion du cache). Si elle a changé, il faut lancer la suppression des PDF, avant de créer celui demandé (et de la même manière avec<small class="fine d-inline"> </small>?var_mode=recalcul).</p> Version PDF avec SPIP2LaTeX 2011-01-31T15:24:20Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440335 2011-01-31T15:24:20Z <p>Matthieu : j'ai mis en place ta suggestion avec <code class="spip_code spip_code_inline" dir="ltr">spip2latex_source_pdf_avec_cache</code>, mais il y a un soucis : le PDF calculé avec <strong>pdflatex</strong> ne nous sert plus une fois que SPIP a mis le PDF en cache, mais quand est-ce qu'on va l'effacer<small class="fine d-inline"> </small>?</p> Version PDF avec SPIP2LaTeX 2011-01-29T18:40:50Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440252 2011-01-29T18:40:50Z <p>La fonction <code class="spip_code spip_code_inline" dir="ltr">spip2latex_charset()</code> met maintenant une valeur par défaut si on lui passe NULL, du coup ça devrait marcher.</p> <p>Je regarde plus tard pour ton autre message, qui constitue une modification un peu plus intrusive.</p> Version PDF avec SPIP2LaTeX 2011-01-29T18:29:23Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440250 2011-01-29T18:29:23Z <blockquote class="spip"> <p> Sur la balise <code class="spip_code spip_code_inline" dir="ltr">#SPIP2LATEX_CHARSET</code> :<br class="autobr"> Son argument est censé être optionnel. Sans argument, la balise est doit renvoyer ce qu'on lui a passé avant, ou ce qui a été configuré dans le module CFG, ou à défaut latin-1.</p> </blockquote> <p>Dans ce cas, il y a un problème dans le code, car il n'y a pas de «<small class="fine d-inline"> </small>sinon<small class="fine d-inline"> </small>» d'écrit pour la balise, si on la met vide :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function balise_SPIP2LATEX_CHARSET($p) { $charset = interprete_argument_balise(1,$p); $p->code = 'spip2latex_charset('.$charset.')'; // -> quelque chose d'à peu près comme ça : $p->code = 'spip2latex_charset(sinon('.$charset.', lire_config('spip2latex/charset', 'latin1')))'; return $p; }</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-29T18:23:34Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440249 2011-01-29T18:23:34Z <p>Bon... après re réflexions sur cette histoire de .pdf et de cache... je pense vraiment qu'il faut laisser SPIP gérer le cache du fichier, en mettant dans le squelette PDF les entêtes qu'il faut (notamment pour dire que c'est un fichier pdf) ET le code source du PDF généré. Ainsi, on pourrait bénéficier de <code class="spip_code spip_code_inline" dir="ltr">#CACHE</code> et de <code class="spip_code spip_code_inline" dir="ltr">?var_mode=calcul</code> sur ce fichier. C'est peut être quelque chose comme (testé) :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#INCLURE{fond=latex,env}|spip2latex_source_pdf_avec_cache)]</code></pre></div> <p>Et la fonction (rapidement faite, notamment, il n'y a pas là de gestion du nom du fichier...)<br class="autobr"> Il faudrait peut être passer objet/id_objet à la fonction le cas échant pour calculer le titre du document. Je n'ai testé qu'avec ma configuration UTF-8 :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><?php function spip2latex_source_pdf_avec_cache($texte) { $filename = "document.pdf"; $latexdir = sous_repertoire(_DIR_CACHE, 'latex'); $tmpdir = sous_repertoire($latexdir, $tag); $tmpdir = sprintf("%s/%s", getcwd(), $tmpdir); $id = sha1($texte); $texfile = sprintf("%s%s.tex", $tmpdir, $id); $pdffile = sprintf("%s%s.pdf", $tmpdir, $id); $logfile = sprintf("%s%s.log", $tmpdir, $id); $idxfile = sprintf("%s%s.idx", $tmpdir, $id); $auxfile = sprintf("%s%s.aux", $tmpdir, $id); $outfile = sprintf("%s%s.out", $tmpdir, $id); ecrire_fichier($texfile, # bug/feature de fwrite... il faut utf8_encode dans la fonction pour qu'il comprenne qu'on souhaite de l'utif8 ! unicode_to_utf_8(utf_8_to_unicode($texte)) ); $cmd = sprintf("pdflatex -interaction=batchmode ". "-output-directory=%s %s", $tmpdir, $texfile); exec($cmd, $output, $retval); if ($retval) { // gerer l'erreur (avec erreur_squelette ?) var_dump(file_get_contents($logfile)); } else { $filesize = filesize($pdffile); $etag = sprintf("\"%s\"", md5($pdffile)); #supprimer_fichier($pdffile); // no no no supprimer_fichier($idxfile); supprimer_fichier($auxfile); supprimer_fichier($logfile); supprimer_fichier($outfile); supprimer_fichier($texfile); } $headers = array( "Content-Type: application/pdf", "Content-Disposition: attachment; filename=\"$filename\"", "Content-Transfer-Encoding: binary", "Content-Length: ".$filesize, "Etag: ".$etag ); foreach ($headers as $n=>$header) { $headers[$n] = "<?php header(\"$header\"); ?>"; } return implode('', $headers)."<?php readfile(\"$pdffile\"); ?>"; } ?></code></pre></div> <p>+ retirer le header text/plain sur latex.html, qui contredit celui de pdf.html pour le coup (mais il pourrait peut être rester, je n'ai pas testé).</p> <p>De la sorte : la fonction est appelée sur les calculs et calcule dans ce cas systématiquement le PDF. Les risques sont :</p> <ul class="spip"><li> disparition du fichier PDF (ça n'a pas vraiment lieu d'être et il sera recréé au prochain calcul)</li><li> comment actualiser lorsque le contenu de l'objet est mis à jour : bien on laisse faire SPIP, qui rend obsolète son cache dès qu'une modification en base est effectuée... (en fait c'est pas un risque, ça marche<small class="fine d-inline"> </small>!)</li></ul> <p>PS : je testais avec la version 0.9.4</p> Version PDF avec SPIP2LaTeX 2011-01-29T15:28:20Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440243 2011-01-29T15:28:20Z <p>Bon, alors en vrac :</p> <ul class="spip"><li> J'ai fait la correction pour DOSSIER_SQUELETTE, mais il faut savoir que j'avais pompé ça du module barre typo, qui vu son grand age me semblait irréprochable. Il y a peut être une suggestion à faire là bas.</li><li> IMG a été remplacé par img</li><li> J'ai intégré tes suggestions pour le <i>var_mode=calcul</i> des pdf, et le <code class="spip_code spip_code_inline" dir="ltr">ecrire_fichier()</code>.</li></ul> <p>Sur l'idée de faire passer les PDF dans le cache de SPIP. Ca serait mieux, mais je ne suis pas très optimiste. En particulier, il faudra un moyen de purger le PDF lorsque l'article correspondant est calculé.</p> <p>Sur la balise <code class="spip_code spip_code_inline" dir="ltr">#SPIP2LATEX_CHARSET</code> :<br class="autobr"> Son argument est censé être optionnel. Sans argument, la balise est doit renvoyer ce qu'on lui a passé avant, ou ce qui a été configuré dans le module CFG, ou à défaut latin-1. L'idée est que <strong>latex.html</strong> fixe la valeur à ce qu'on trouve via CFG, ou latin-1 à défaut, mais que l'usager qui surcharge <strong>latex/preambule.html</strong> a toujours la possibilité d'utiliser autre chose. Je ne doute pas que ce besoin se fera sentir sur un site multilingue, dans la mesure où utf-8 en LaTeX est un sport difficile, et où latin-1 est évidemment limité.</p> <p>J'ai mis une valeur par défaut pour faire taire le warning PHP</p> <p>Et nous voila avec une version 0.9.5</p> Version PDF avec SPIP2LaTeX 2011-01-29T14:17:44Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440240 2011-01-29T14:17:44Z <p>Bon, ça ne va pas avec #FILTRE : il filtre le code PHP généré... mais les inclusions ne sont pas encore dedans. Peut être avec le pipeline affichage_final...</p> <p>Déjà, je pense que ajouter :<code class="spip_code spip_code_inline" dir="ltr"> || in_array(_request('var_mode'), array('calcul', 'recalcul'))</code> au moment du test des sources existantes pourrait aider à ce que <code class="spip_code spip_code_inline" dir="ltr">&var_mode=calcul</code> sur la page pdf le recalcule effectivement.</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>if (!file_exists($pdffile) || (filesize($pdffile) == 0) || in_array(_request('var_mode'), array('calcul', 'recalcul'))) {</code></pre></div> <p>Dans cette condition, tu pourrais utiliser la fonction de SPIP <code class="spip_code spip_code_inline" dir="ltr">ecrire_fichier()</code> au passage : <code class="spip_code spip_code_inline" dir="ltr">if (ecrire_fichier($texfile, $texte) == FALSE) {...}</code></p> Version PDF avec SPIP2LaTeX 2011-01-29T13:34:16Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440235 2011-01-29T13:34:16Z <p>Je me demande si dans la page pdf.html, à la place d'un appel à une URL externe (qui ne comprendra pas un éventuel <code class="spip_code spip_code_inline" dir="ltr">?var_mode=calcul</code>, il ne faudrait pas tester un :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#FILTRE{spip2latex_pdf_output})] [(#INCLURE{fond=latex, env})]</code></pre></div> <p>De la sorte, c'est le filtre (à adapter) qui ferait les post-traitements pour passer à PDF, et on pourrait bénéficier d'un cache.</p> Version PDF avec SPIP2LaTeX 2011-01-29T12:02:35Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440230 2011-01-29T12:02:35Z <p>Bien...</p> <p>Alors, quelques remarques :</p> <ul class="spip"><li> le formulaire CFG fait appel à <code class="spip_code spip_code_inline" dir="ltr">IMG/spip2latex24.png</code>. Ou a <code class="spip_code spip_code_inline" dir="ltr">#DOSSIER_SQUELETTES/../IMG/spip2latex.png</code>, ce qui n'est pas correct. Il faut utiliser <code class="spip_code spip_code_inline" dir="ltr">#CHEMIN{IMG/spip2latex.png}</code>, mais il vaudrait mieux nommer le répertoire «<small class="fine d-inline"> </small>images<small class="fine d-inline"> </small>» ou «<small class="fine d-inline"> </small>img<small class="fine d-inline"> </small>» pour éviter la confusion avec <code class="spip_code spip_code_inline" dir="ltr">IMG/</code> du site SPIP</li><li> j'obtiens l'erreur sur <code class="spip_code spip_code_inline" dir="ltr">?page=latex&id_article=120</code> : <code class="spip_code spip_code_inline" dir="ltr">Missing argument 1 for spip2Latex_charset()</code> alors même que je l'ai déclaré «<small class="fine d-inline"> </small>utf-8<small class="fine d-inline"> </small>» et validé le formulaire CFG. L'erreur vient de <code class="spip_code spip_code_inline" dir="ltr">\usepackage[#SPIP2LATEX_CHARSET]{inputenc}</code> dans le préambule, qui n'a pas le charset passé en paramètre de la balise (mettre : <code class="spip_code spip_code_inline" dir="ltr">\usepackage[#SPIP2LATEX_CHARSET{#CONFIG{spip2latex/encodage, iso-8859-1}}]{inputenc}</code> )</li><li> lorsque le code est trop long, le retour à la ligne ne semble pas se faire (du moins dans une liste). Peut être que l'on n'y peut rien<small class="fine d-inline"> </small>?</li><li> le code parait écrit plus gros. Est-ce simplement le type de police qui change<small class="fine d-inline"> </small>?</li></ul> <p>La suite au prochain épisode :)</p> Version PDF avec SPIP2LaTeX 2011-01-27T20:21:46Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440167 2011-01-27T20:21:46Z <p>Je testerai dès que j'ai un peu de temps, pour vous ajouter quelques bugs :) <br class="autobr"> Ce serait dommage que vous vous ennuyiez<small class="fine d-inline"> </small>!</p> <p>Matthieu ^^</p> Version PDF avec SPIP2LaTeX 2011-01-25T05:03:43Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment440012 2011-01-25T05:03:43Z <p>Nouvelle version 0.9.4</p> <ul class="spip"><li> gestion correcte de la ligature du œ</li><li> formulaire CFG pour indiquer l'encodage de sortie</li><li> la sortie UTF-8 fonctionne (NB : on sucre les accents dans les listings)</li><li> la langue est donnée au paquetage babel à partir de la langue de l'article</li></ul> <p>Ma liste de problèmes à corriger est vide, hormis la demande de Matthieu concernant les modèles latex non trouvés, pour laquelle je ne suis pas certain de la bonne route à prendre. Peut être faudrait-il que ce soit configurable.</p> Version PDF avec SPIP2LaTeX 2011-01-24T20:46:24Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439998 2011-01-24T20:46:24Z <p>Merci infiniment de votre temps et de votre fidelité à spip,<br class="autobr"> Merci</p> Version PDF avec SPIP2LaTeX 2011-01-22T18:35:20Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439900 2011-01-22T18:35:20Z <p>Je n'ai pas tout suivi pour interdire_scripts...<br class="autobr"> Mais c'est une question de sécurité que le chevron soit transformé en entité html. Il n'y a pas à avoir de <code class="spip_code spip_code_inline" dir="ltr"><?php</code> dans un article en dehors d'une boucle <code class="spip_code spip_code_inline" dir="ltr"><code></code> ou <code class="spip_code spip_code_inline" dir="ltr"><cadre></code><small class="fine d-inline"> </small>! Donc que ce soit échappé est très bien<small class="fine d-inline"> </small>!</p> <p>Je suis ennuyé pour voir ce qui a changé entre les 2 versions. Croyez-vous possible de déposer le plugin sur la zone et de le modifier par SVN. J'ai l'impression que ce serait plus simple pour suivre le développement.</p> Version PDF avec SPIP2LaTeX 2011-01-22T11:36:34Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439879 2011-01-22T11:36:34Z <p>pour un bouquin que j'écrit, j'utilise le minted package <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/minted/" class="spip_url spip_out auto" rel="nofollow external">http://www.ctan.org/tex-archive/macros/latex/contrib/minted/</a> qui fait de la coloration syntaxique en ligne ou en bloc.</p> <p>Il est écrit en python, donc ca devrait pouvoir ce faire de créer une coloration syntaxique spécifique à SPIP.</p> Version PDF avec SPIP2LaTeX 2011-01-21T03:10:08Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439781 2011-01-21T03:10:08Z <p>Nouvelle version 0.9.3 <br>- Traduire en LaTeX un peu d'HTML : <code class="spip_code spip_code_inline" dir="ltr"><h1></code> à <code class="spip_code spip_code_inline" dir="ltr"><h5></code>, <code class="spip_code spip_code_inline" dir="ltr"><b></code>, <code class="spip_code spip_code_inline" dir="ltr"><i></code> <br>- Honorer le marquage pour les glossaires <br>- Utiliser le <code class="spip_code spip_code_inline" dir="ltr">class="langage"</code> das cadres <br>- Balise <code class="spip_code spip_code_inline" dir="ltr">SPIP2LATEX_CHARSET</code> pour choisir le jeu de caractère de sortie <br>- Distinction entre code en ligne et en bloc</p> <p>Moyennant de surcharger le <strong>latex.html</strong> et le <strong>latex/preambule.tex.html</strong>, il est donc maintenant possible de sortir en UTF-8 pour faire du RTL.</p> <p>Il y a un soucis avec le code PHP verbatim : dans la version 0.9.2, on obtenait la version LaTeX du corps d'un article avec <code class="spip_code spip_code_inline" dir="ltr">TEXTE*|spip2latex</code>. Dans ce cas, si je met <code class="spip_code spip_code_inline" dir="ltr"><?php</code> dans l'article, <code class="spip_code spip_code_inline" dir="ltr">interdire_scripts()</code> intervient après le filtre <code class="spip_code spip_code_inline" dir="ltr">spip2latex</code> et me le transforme en <code class="spip_code spip_code_inline" dir="ltr"><?php</code>. L'entité HTML est affichée dans le PDF à la place du chevron, ce qui n'est pas le but recherché.</p> <p>La seule solution que j'ai trouvé, c'est d'utiliser la double étoile : <code class="spip_code spip_code_inline" dir="ltr">TEXTE**|spip2latex</code>. Le <code class="spip_code spip_code_inline" dir="ltr"><?php</code> n'est plus modifié par <code class="spip_code spip_code_inline" dir="ltr">interdire_scripts()</code>, mais le code PHP est exécuté par le serveur, ce qui n'est pas souhaitable non plus. La parade mise en œuvre dans cette version 0.9.3, qui demande une relecture de la part de connaisseurs, consiste à ce que <code class="spip_code spip_code_inline" dir="ltr">spip2latex</code> remplace <code class="spip_code spip_code_inline" dir="ltr"><?</code> par <code class="spip_code spip_code_inline" dir="ltr"><?php echo "<?"; ?></code>. Est-ce raisonnable<small class="fine d-inline"> </small>?</p> Version PDF avec SPIP2LaTeX 2011-01-19T20:01:32Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439697 2011-01-19T20:01:32Z <blockquote class="spip"> <p>ligature «<small class="fine d-inline"> </small>œ<small class="fine d-inline"> </small>» (1 seul caractère) non reconnu : tout ce qui est après n'est pas affiché dans le PDF</p> </blockquote> <p>Je tente une piste : il faut prendre en compte 2 choses dans LaTEX l'encodage du document au moment de sa création iso latin1, mac roman, utf8 … et les packages utilisés. Ainsi dans un document au format mac roman rien ne dit que</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>\usepackage[utf8]{inputenc}</code></pre></div> <p>ne donne les effets attendus.</p> <p>Il doit falloir garder la cohérence entre format et package.</p> <p>En espérant aider, je vous suis de près sur ce plugin.</p> Version PDF avec SPIP2LaTeX 2011-01-18T21:46:14Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439633 2011-01-18T21:46:14Z <p>Pour UTF8 et les langues je vois 2 solutions pour l'instant.</p> <ul class="spip"><li> La première est de fournir un langue.sty appelé dans le preambule, il suffirait de ne surcharger que ce fichier là. Par exemple avec <code class="spip_code spip_code_inline" dir="ltr">[(#INCLURE{fond=latex/langue.sty})]</code></li><li> la seconde consiste à utiliser CFG (et/ou bonux) ou des <code class="spip_code spip_code_inline" dir="ltr">define()</code> et d'utiliser dans le préambule (qui est un squelette SPIP) des appels à ces valeurs tel que <code class="spip_code spip_code_inline" dir="ltr">#CONFIG{latex/langue}</code>. Il est aussi possible de proposer <code class="spip_code spip_code_inline" dir="ltr">#CONFIG{latex/vos_styles}</code> avec un textarea dans un formulaire de configuration que les gens peuvent remplir au besoin (mais <code class="spip_code spip_code_inline" dir="ltr">#INCLURE{fond=latex/mes_styles}</code> est tout aussi bien en en mettant un vide par défaut)</li></ul> Version PDF avec SPIP2LaTeX 2011-01-18T21:34:51Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439632 2011-01-18T21:34:51Z <p>Dans SPIP, la balise <code class="spip_code spip_code_inline" dir="ltr"><code></code> ne passe pas, à ma connaissance, dans le plugin de coloration syntaxique par défaut, et cette balise n'a pas d'attribut pour désigner le type de code (cela dit, elle pourrait très bien en avoir un et l'utiliser). En général, nous utilisons <code class="spip_code spip_code_inline" dir="ltr"><code></code> pour du code à même le texte, et <code class="spip_code spip_code_inline" dir="ltr"><cadre></code> pour des blocs de code. Pour la distinction bloc / inline, gérer <code class="spip_code spip_code_inline" dir="ltr"><code></code> tout le temps inline et <code class="spip_code spip_code_inline" dir="ltr"><cadre></code> tout de temps bloc devrait convenir.</p> <p>J'ai regardé un peu les sources de listings, il semble qu'il s'appuie essentiellement sur une liste de vocabulaire connu, et non sur un parseur, par exemple à base d'expressions régulières, mais je me trompe peut être.</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[ avant (#TRUC_MUCHE) après ]</code></pre></div> <p>risque donc d'être difficile à colorer car on ne peut pas présupposer le nom «<small class="fine d-inline"> </small>truc_muche<small class="fine d-inline"> </small>».</p> <p>Matthieu.</p> Version PDF avec SPIP2LaTeX 2011-01-18T11:44:36Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439608 2011-01-18T11:44:36Z <p>Pour le code en ligne, il vaudrait mieux utiliser les fonctionnalités du package listings.</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>% préambule \usepackage{color} \definecolor{code.text}{rgb}{0,0.25,0.75} % bleu cyan \definecolor{code.var}{rgb}{0,0,0.75} % bleu \usepackage{listings} \lstdefinestyle{text}{basicstyle=\ttfamily\color{code.text}} \lstdefinestyle{var}{basicstyle=\ttfamily\color{code.var}} % texte Un texte avec \lstinline[style=text]{[ avant (#BALISE) après ]} qui est propre \lstinline[style=var]{(#BALISE)}.</code></pre></div> <p>L'avantage est que le code est plus lisible.<br class="autobr"> L'inconvénient est qu'on ne peut pas imbriquer les <code class="spip_code spip_code_inline" dir="ltr">\lstinline</code>. Mais le salut sera sans doute dans la rédaction du style SPIP pour listings. Je vais y plancher.</p> Version PDF avec SPIP2LaTeX 2011-01-18T08:34:49Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439598 2011-01-18T08:34:49Z <p>Sur les différents points soulevés, je souhaite lancer un appel à commentaire :</p> <p><strong>Sortir en UTF-8</strong><br class="autobr"> Certains usagers auront besoin de faire du code LaTeX en UTF-8, par exemple pour les langages RTL. Néanmoins la possibilité de sortir en ISO-8859-1 est importante, car si j'ai bien compris, certains paquetages LaTeX ne marchent bien qu'en ISO-8859-1.</p> <p>Avec cette double exigence, il semble souhaitable que le choix du jeu de caractère de sortie soit configurable. On pourrait imaginer de passer par CFG pour cela, mais c'est peu intéressant, car on doit aussi toucher à <i>latex/preambule.tex.html</i> pour préciser la langue et le jeu de caractère. Si on doit modifier des squelettes, cela plaide pour que le réglage du jeu de caractère de sortie se fasse dans les squelettes.</p> <p>J'ai expérimenté l'ajout d'un argument optionnel au filtre <code class="spip_code spip_code_inline" dir="ltr">spip2latex()</code> pour indiquer le jeu de caractère de sortie. L'inconvénient est qu'il faut le préciser à chaque utilisation du filtre dans le squelette. Est-ce que quelqu'un a une meilleure idée<small class="fine d-inline"> </small>?</p> <p><strong>Sur les cadres PHP</strong><br class="autobr"> Il semble qu'une bonne approche serait que l'environnement <code class="spip_code spip_code_inline" dir="ltr">spiptolatexcadre</code> prenne un argument optionnel où on mettra une éventuelle classe, qu'on aura récupéré depuis l'attribut <code class="spip_code spip_code_inline" dir="ltr">class</code>. Ensuite, dans le <strong>.sty</strong>, on peut utiliser les options déjà toutes faites de LaTeX pour rendre tel ou tel langage.</p> <p>Tant qu'on est là, on peut essayer de s'assurer qu'on ne rate rien d'autre autour de ces modèles. Question: : est-ce qu'il y a une liste exhaustive des attributs et de leurs valeurs possibles qu'on utilise dans les modèles cadre, code, poesie et quote,</p> <p><strong>Sur les marquages en ligne ou en bloc</strong><br class="autobr"> Actuellement on traite pareil un <code> en ligne ou en bloc, il va falloir qu'on change ça. La distinction semble simplement la présence d'un retour de chariot après le <code></p> Version PDF avec SPIP2LaTeX 2011-01-18T08:33:09Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439597 2011-01-18T08:33:09Z <p>Sur les différents points soulevés, je souhaite lancer un appel à commentaire :</p> <p><strong>Sortir en UTF-8</strong><br class="autobr"> Certains usagers auront besoin de faire du code LaTeX en UTF-8, par exemple pour les langages RTL. Néanmoins la possibilité de sortir en ISO-8859-1 est importante, car si j'ai bien compris, certains paquetages LaTeX ne marchent bien qu'en ISO-8859-1.</p> <p>Avec cette double exigence, il semble souhaitable que le choix du jeu de caractère de sortie soit configurable. On pourrait imaginer de passer par CFG pour cela, mais c'est peu intéressant, car on doit aussi toucher à <i>latex/preambule.tex.html</i> pour préciser la langue et le jeu de caractère. Si on doit modifier des squelettes, cela plaide pour que le réglage du jeu de caractère de sortie se fasse dans les squelettes.</p> <p>J'ai expérimenté l'ajout d'un argument optionnel au filtre <code class="spip_code spip_code_inline" dir="ltr">spip2latex()</code> pour indiquer le jeu de caractère de sortie. L'inconvénient est qu'il faut le préciser à chaque utilisation du filtre dans le squelette. Est-ce que quelqu'un a une meilleure idée<small class="fine d-inline"> </small>?</p> <p><strong>Sur les cadres PHP</strong><br class="autobr"> Il semble qu'une bonne approche serait que l'environnement <code class="spip_code spip_code_inline" dir="ltr">spiptolatexcadre</code> prenne un argument optionnel où on mettra une éventuelle classe, qu'on aura récupéré depuis l'attribut <code class="spip_code spip_code_inline" dir="ltr">class</code>. Ensuite, dans le <strong>.sty</strong>, on peut utiliser les options déjà toutes faites de LaTeX pour rendre tel ou tel langage.</p> <p>Tant qu'on est là, on peut essayer de s'assurer qu'on ne rate rien d'autre autour de ces modèles. Question: : est-ce qu'il y a une liste exhaustive des attributs et de leurs valeurs possibles qu'on utilise dans les modèles cadre, code, poesie et quote,</p> <p><strong>Sur les marquages en ligne ou en bloc</strong><br class="autobr"> Actuellement on traite pareil un <code> en ligne ou en bloc, il va falloir qu'on change ça. La distinction semble simplement la présence d'un retour de chariot après le <code></code></code></p> Version PDF avec SPIP2LaTeX 2011-01-18T00:41:00Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439591 2011-01-18T00:41:00Z <p>Pour les codes et cadre...</p> <p>voici ce que j'ai fait et modifié, il faut notamment que <code class="spip_code spip_code_inline" dir="ltr"><cadre class='php'></code> puisse fonctionner, or le plugin ne prend en compte que <code class="spip_code spip_code_inline" dir="ltr"><cadre></code> comme syntaxe. Idéalement, il faudrait récurérer la valeur «<small class="fine d-inline"> </small>php<small class="fine d-inline"> </small>» mais je ne l'ai pas fait dans cette correction :</p> <p>Dans spip2latex.php, autour de la ligne 843, changer la regexp et inverser les échappements entre code et cadre :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><?php //... foreach ($verbatim as $v => $lv) { $regex = sprintf('|<%s(?:\s[^>]*)?>(.*)?</%s>|UmsS', $v, $v); if (preg_match_all($regex, $t, $matches, PREG_SET_ORDER)) { foreach ($matches as $m) { switch($v) { case 'code': $r = sprintf( "\n\\begin{spiptolatexcode}\n". "%s\n\\end{spiptolatexcode}\n", spip2latex_escape_latex0($m[1])); break; case 'cadre': /* FALLTHROUGH */ case 'frame': $r = sprintf( "\n\\begin{spiptolatexcadre}\n". "%s\n\\end{spiptolatexcadre}\n", $m[1]); break; // ... }}}}</code></pre></div> <p>Dans le fichier de préambule, adapter code (simple couleur) et cadre (avec listings), par exemple :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>% commenter ou supprimer %\newenvironment{spiptolatexcadre}{}{} % modifier : % Code % % couleur code % - texte \usepackage{color} \definecolor{code.border}{rgb}{0.7,0.7,0.7} % gris \definecolor{code.text}{rgb}{0.1,0.1,0.5} % bleu gris \usepackage{listings} \lstset{% extendedchars=true, breaklines=true, basicstyle=\ttfamily } \lstnewenvironment{spiptolatexcadre}{% \lstset{% frame=single, framesep=1ex, rulecolor=\color{code.border}, xleftmargin=1ex, xrightmargin=1ex } }{} %\lstnewenvironment{spiptolatexcode}{}{} \newenvironment{spiptolatexcode}{% \color{code.text} }{}</code></pre></div> <p>Ce n'est qu'un exemple, mais au moins j'ai les codes et cadre qui s'affichent. C'est loin d'être parfait niveau présentation tout de même<small class="fine d-inline"> </small>!</p> Version PDF avec SPIP2LaTeX 2011-01-17T22:03:04Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439585 2011-01-17T22:03:04Z <p>Finalement, pour revenir aux couleurs, j'ai l'impression que définir un environnement se rapproche plus des <code class="spip_code spip_code_inline" dir="ltr"><span></code> ou <code class="spip_code spip_code_inline" dir="ltr"><div></code> en CSS. On peut les imbriquer avec <code class="spip_code spip_code_inline" dir="ltr">\begin</code> et <code class="spip_code spip_code_inline" dir="ltr">\end</code>, ce qui semble intéressant. Un exemple de code :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>% texte % --------- Un texte avec \begin{code}[ avant (\begin{variable}\#BALISE\end{variable}) après ]\end{code} qui est propre. % style % --------- % les couleurs predefinies \usepackage{color} % couleur code % - texte \definecolor{code.text}{rgb}{0,0.25,0.75} % bleu cyan % - variables \definecolor{code.var}{rgb}{0,0,0.75} % bleu % environnements \newenvironment{code}{\color{code.text}}{} \newenvironment{variable}{\color{code.var}}{}</code></pre></div> <p>Reste à trouver comment passer de inline à block et faire des marges, et j'aurais compris le plus gros, j'espère :)</p> Version PDF avec SPIP2LaTeX 2011-01-17T14:25:22Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439550 2011-01-17T14:25:22Z <p>Pour ce qui est du code en coloration syntaxique, il existe le package «<small class="fine d-inline"> </small>listings<small class="fine d-inline"> </small>». Évidemment ce package ne comprends pas le SPIP :) mais il y a peut être moyen de l'enrichir.</p> <p>Ça donne quelque chose comme : <code class="spip_code spip_code_inline" dir="ltr"><cadre class='php'></code> à traduire par :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>% preambule \usepackage{listings} % texte \lstset{language=PHP} \begin{lstlisting} for ($i = 1; $i < 3; $i++) { $x .= ma_belle_fonction($i, 100); } \end{lstlisting}</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-17T13:33:01Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439549 2011-01-17T13:33:01Z <p>Attention, avec l'écriture :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>Voila du texte \textcolor{rouge}{colorié en rouge}</code></pre></div> <p>on ne sépare pas le fond de la forme.</p> <p>Or, c'est bien cela que l'on souhaite obtenir : modifier le style «<small class="fine d-inline"> </small>important<small class="fine d-inline"> </small>» sans changer la source du texte. Donc simplement en modifiant le fichier .sty. Enfin, c'est dans l'idéal :)</p> Version PDF avec SPIP2LaTeX 2011-01-17T13:30:28Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439548 2011-01-17T13:30:28Z <p>Bon, je pense avoir trouvé ma réponse... en partie :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>% texte Un texte \important{très important} il va de soi :) % fichier .sty \usepackage{color} \newcommand{\important}[1] {% \textcolor{red}{#1}% }</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-17T13:28:27Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439547 2011-01-17T13:28:27Z <p>Moi je dirais qu'on fait un truc comme ça, mais Florence va encore me dire que j'ai oublié un <code class="spip_code spip_code_inline" dir="ltr">\usepackage</code></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>\definecolor{rouge}{rgb}{1,0,0} Voila du texte \textcolor{rouge}{colorié en rouge} </code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-17T12:24:46Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439536 2011-01-17T12:24:46Z <p>Alors... si je compile chez moi via Textmaker, je n'ai pas d'erreur en UTF8, mais il râle en Latin1, or dans le plugin, c'est bien une déclaration latin 1 qui est utilisée, il y a peut être un rapport. Source :</p> <div class="precode"><pre class="spip_code spip_code_block language-latex" dir="ltr" style="text-align:left;" data-language="latex"><code>\documentclass[10pt,a4paper]{book} \usepackage[utf8x]{inputenc} %\usepackage[latin1]{inputenc} \usepackage[francais]{babel} \author{MM} \title{Programmer} \begin{document} Ok avec des «guillemets», des suspensions… et un œuf ! \end{document}</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-17T11:38:45Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439533 2011-01-17T11:38:45Z <p>pour la ligature, essaie de compiler non pas avec latex mais avec xelatex.</p> <p>envoi moi un fichier exemple au cas où ...</p> Version PDF avec SPIP2LaTeX 2011-01-17T11:26:59Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439532 2011-01-17T11:26:59Z <p>Autre question, est-il possible d'avoir un exemple code LaTeX et de fichier .sty pour faire afficher un bout de phrase en rouge par exemple... L'équivalent de :</p> <div class="precode"><pre class="spip_code spip_code_block language-html" dir="ltr" style="text-align:left;" data-language="html"><code>Ma phrase <span class='important'>est importante !</span> n'est-ce pas ?</code></pre></div> <p>Avec le CSS</p> <div class="precode"><pre class="spip_code spip_code_block language-css" dir="ltr" style="text-align:left;" data-language="css"><code>.important {color:red;}</code></pre></div> <p>Juste histoire que je saisisse la transformation des classes sur HTML en latex...</p> <p>Merci tout plein :)</p> Version PDF avec SPIP2LaTeX 2011-01-17T11:22:33Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439530 2011-01-17T11:22:33Z <p>Je fais la liste des points que je rencontre comme bloquants (je n'ai pas cherché à corriger, je liste juste :) ) :</p> <ul class="spip"><li> ligature «<small class="fine d-inline"> </small>œ<small class="fine d-inline"> </small>» (1 seul caractère) non reconnu : tout ce qui est après n'est pas affiché dans le PDF</li><li> <code class="spip_code spip_code_inline" dir="ltr"><code></code> comme déjà signalé ne reste pas en ligne, met une bordure tout autour, mais n'a pas de texte à l'intérieur (le cadre est vide<small class="fine d-inline"> </small>!)</li><li> les glossaires <code class="spip_code spip_code_inline" dir="ltr">[?lien]</code> ne sont pas pris en compte et sont affichés : «<small class="fine d-inline"> </small><code class="spip_code spip_code_inline" dir="ltr">Toute l'interface publique (dans le répertoire [?squelettes-dist#trac])</code><small class="fine d-inline"> </small>»</li><li> Les <code class="spip_code spip_code_inline" dir="ltr"><cadre></code> semblent aussi disparaître en partie (avec le plugin coloration code, le cadre <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><cadre class="spip"> <B_art> <ul> <BOUCLE_art(ARTICLES){!par date}{0,5}> <li><a href="#URL_ARTICLE">#TITRE</a></li> </BOUCLE_art> </ul> </B_art> </ cadre></code></pre></div> <p>affiche :<br class="autobr"> Liste des 5 derniers articles :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>#TITRE</code></pre></div> <p>Comme si tout le XML disparaissait.</p> </li><li> lorsqu'un modèle utilisé n'est pas trouvé avec <code class="spip_code spip_code_inline" dir="ltr">latex_nom_du_modele</code>... faire afficher un message plus voyant<small class="fine d-inline"> </small>? ou tenter sans le prefix <code class="spip_code spip_code_inline" dir="ltr">latex_</code> d'afficher le contenu en texte brut<small class="fine d-inline"> </small>? si c'est possible<small class="fine d-inline"> </small>? . Là, j'ai un très discret «<small class="fine d-inline"> </small>latex synthese 57<small class="fine d-inline"> </small>» qui apparait :)</li></ul> Version PDF avec SPIP2LaTeX 2011-01-17T08:50:25Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439522 2011-01-17T08:50:25Z <p>C'est génial :)</p> <p>Pour ce qui est de la génération PDF actuelle, ce n'est pas «<small class="fine d-inline"> </small>tout automatique<small class="fine d-inline"> </small>» mais presque. J'ai un squelette SPIP appelé avec <code class="spip_code spip_code_inline" dir="ltr">?page=integrale&lang=xx</code> qui crée une page HTML / CSS de l'ensemble du contenu du site dans la langue donnée (je le fais uniquement en local car il faut plusieurs minutes pour le générer lorsque la coloration du code est active :p).</p> <p>Des balises distinguent les chapitres, les titres de chapitres, et avec CSS 3 j'indique les sauts de page, les entêtes, les références... Il suffit de donner à manger le fichier HTML (c'est à dire la page <code class="spip_code spip_code_inline" dir="ltr">?page=integrale&lang=xx</code> à PrinceXML, et il traduit en pdf.</p> <p>Je peux également passer un paramètre <code class="spip_code spip_code_inline" dir="ltr">&format=a5</code> ou <code class="spip_code spip_code_inline" dir="ltr">&format=a5nb</code> qui appelle en plus une CSS pour surchanger certains styles et avoir la page en A5 au lieu d'A4, et Noir&Blanc au lieu de couleur.</p> <hr class="spip"> <p>Pour ce qui est de la décoration, que ça ressemble ou non n'est pas très important en soi. Déjà, réussir à exporter en Latex en créant une table des matières, index et références, entête, pied serait déjà extraordinaire :p . Le tout est d'arriver à faire un livre utile tant dans son contenu que dans sa forme : à ce titre, quelque chose que j'ai vu en LateX et que je n'ai pas fait en CSS (je n'ai pas cherché) c'est d'avoir le numéro de chapitre dans un bloc coloré dans la marge pour le retrouver facilement depuis la tranche du livre, comme le fait par exemple le livre sur LaTeX <a href="http://www.framabook.org/latex.html" class="spip_url spip_out auto" rel="nofollow external">http://www.framabook.org/latex.html</a> . (Ça pourrait être aussi le logo du chapitre)</p> <p>Il est aussi intéressant de pouvoir réaliser 2 versions : A4 pour une impression imprimante, A5 pour une impression en livre.</p> Version PDF avec SPIP2LaTeX 2011-01-17T08:15:11Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439520 2011-01-17T08:15:11Z <p>Pour ce qui est de la balise <code class="spip_code spip_code_inline" dir="ltr"><code></code>, j'avais en effet déjà repéré que l'on ne faisait pas la distinction entre le code « en ligne » et le code « en paragraphe ». Je rajoute ça sur le TODO.</p> <p>Pour ce qui est de la complexité de LaTeX, je le reconnais. C'est beaucoup plus complexe que du CSS... C'est beaucoup plus riche aussi.</p> <p>En tout cas, pour l'export actuel en PDF, le résultat est très chouette. C'est tout automatique<small class="fine d-inline"> </small>?<br class="autobr"> Je devrais être capable de faire une feuille de style qui ressemble.</p> Version PDF avec SPIP2LaTeX 2011-01-17T07:53:26Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439519 2011-01-17T07:53:26Z <p>Bonjour, et merci pour ces renseignements.</p> <p>J'avais trouvé hier le site du Grappa effectivement.<br class="autobr"> Ce qui m'étonne à première vue dans la lecture de LaTeX, notamment des fichiers .sty, c'est sa grande complexité. Là où un fichier CSS peut se «<small class="fine d-inline"> </small>lire<small class="fine d-inline"> </small>» à haute voix et se comprend à peu près, un fichier .sty fait référence à des fonctions connues qu'on surcharge (ou qu'on déclare), où l'ordre des arguments est important. Par exemple la simple modification des marges des titres (<a href="http://www.grappa.univ-lille3.fr/FAQ-LaTeX/6.3.html" class="spip_url spip_out auto" rel="nofollow external">http://www.grappa.univ-lille3.fr/FAQ-LaTeX/6.3.html</a>) ne fait pas référence à un mot clé «<small class="fine d-inline"> </small>marge<small class="fine d-inline"> </small>» (margin en CSS), mais se déclare en suivant l'ordre des arguments entre accolades, ce qui m'est très perturbant. La marge haute étant dans la 3è accolade... si je suis bien.</p> <p>Par rapport à Programmer, sa spécificité, si on va par là, c'est l'utilisation de code en ligne, et de blocs de code. Pour l'instant, des tentatives que j'ai fait, la balise <code class="spip_code spip_code_inline" dir="ltr"><code></code> fait dans le style latex du plugin un saut de paragraphe (block en CSS) au lieu de rester dans le flux de texte (inline en CSS) lorsqu'il n'y a pas de retour à la ligne dans ce code.</p> <p>Vis à vis de la limitation en profondeur de LaTex, je pense que ça doit convenir à la plupart des sites : si l'on veut faire un export du site, il faut alors s'arranger pour remettre à plat ce qui est trop profond si c'est le cas. Dans Programmer, on a : lang / chapitres / rubriques / articles / intertitres au maximum, sachant qu'on exporte un livre par langue. Il y a donc au maximum : 4 rangs de profondeur si je suis bien (5 avec les paragraphes) : chapitre / (parfois rubriques) / articles / intertitres / paragraphes (+ exemples).</p> <p>Je serai ravi de votre aide de ce côté là pour la mise en page, si l'on choisit d'exporter en LaTeX, ce qui me semble une excellente chose pour diverses raisons. La première raison étant que notre solution actuelle d'export en PDF repose sur un outil qui n'est pas libre de droit (PrinceXML), reposant sur CSS3. L'outil est réellement extrêmement puissant pourtant (voir les exports PDF de <a href="http://programmer.spip.org/Le-livre" class="spip_url spip_out auto" rel="nofollow external">http://programmer.spip.org/Le-livre</a>, gérant un peu les cross-références (mais un peu seulement :p). Évidemment, le coté typographie pourrait être amélioré avec LaTeX, mais je suis déjà très content d'arriver à ce résultat d'export PDF :)</p> <p>Matthieu.</p> Version PDF avec SPIP2LaTeX 2011-01-16T19:16:58Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439497 2011-01-16T19:16:58Z <p>salut<br class="autobr"> mes remerciements pour le travail que vous realisez, je serais patient<br class="autobr"> Merci</p> Version PDF avec SPIP2LaTeX 2011-01-16T15:01:44Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439488 2011-01-16T15:01:44Z <p>Note préliminaire, c'est moi la co-auteur du plugin.</p> <p>Petite remarque sur l'exemple que Manu a donné pour la mise en forme de <code class="spip_code spip_code_inline" dir="ltr"><poesie></code>, il a oublié de préciser qu'il fallait la ligne suivante dans le préambule<span class="spip_note_ref"> [<a href="#nb1" class="spip_note" rel='nofollow appendix' title="Le préambule est la partie de code entre le et" id="nh1">1</a>]</span> du document LaTeX :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>\usepackage{framed}</code></pre></div> <p>Pour ce qui est de la personnalisation du document PDF, il « suffit » d'écrire un fichier de style LaTeX <code class="spip_code spip_code_inline" dir="ltr">monstyle.sty</code> et d'y faire appel dans le préambule du document avec :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>\usepackage{monstyle}</code></pre></div> <p>Il y a un très grand nombre de packages LaTeX qui permettent d'enjoliver la mise en page par défaut. Quelques pointeurs pour démarrer en LaTeX : <br>- La Faq en français : <a href="http://www.grappa.univ-lille3.fr/FAQ-LaTeX/" class="spip_out" rel='nofollow external'>http://www.grappa.univ-lille3.fr/FAQ-LaTeX/</a> <br>- <a href="http://doc.ctrlaltdel.ch/LaTeX/manuel/manuel.pdf" class="spip_out" rel='nofollow external'>http://doc.ctrlaltdel.ch/LaTeX/manuel/manuel.pdf</a> <br>- <a href="http://tex.loria.fr/general/apprends-latex.pdf" class="spip_out" rel='nofollow external'>http://tex.loria.fr/general/apprends-latex.pdf</a> <br>- <a href="http://lozzone.free.fr/index.php?vlunch=latex" class="spip_out" rel='nofollow external'>http://lozzone.free.fr/index.php?vlunch=latex</a> <br>- <a href="http://www.tuteurs.ens.fr/logiciels/latex/" class="spip_out" rel='nofollow external'>http://www.tuteurs.ens.fr/logiciels/latex/</a> <br>- <a href="http://www.lesia.obspm.fr/perso/florence-henry/CoursLatex/courslatex.php" class="spip_out" rel='nofollow external'>http://www.lesia.obspm.fr/perso/florence-henry/CoursLatex/courslatex.php</a></p> <p>Pour ce qui est de générer un PDF depuis un site entier, on est en train d'y réfléchir, mais ce n'est pas trivial car il faut une solution qui puisse être utilisée quelle que soit l'arborescence du site. SPIP peut avoir une profondeur infinie de rubriques, alors que LaTeX ne connaît que 7 niveaux de sectionnement (<code class="spip_code spip_code_inline" dir="ltr">\part \chapter \section \subsection \subsubection \paragraph \subparagraph</code>).</p> <p>Par ailleurs, je serais ravie d'offrir mes services en LaTeX pour faire la mise en page de Programmer.spip.org.</p> Version PDF avec SPIP2LaTeX 2011-01-15T08:57:32Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439445 2011-01-15T08:57:32Z <p>Je viens de faire une version 0.9.2, qui contourne le <i>warning</i> sur <code class="spip_code spip_code_inline" dir="ltr">parse_url()</code> et l'erreur sur <code class="spip_code spip_code_inline" dir="ltr">file_put_contents()</code>, qui surviennent sur les anciennes versions de PHP.</p> <p>Suivant le conseil de Matthieu Marcillaud, j'ai aussi adopté <code class="spip_code spip_code_inline" dir="ltr">translitteration()</code> et <code class="spip_code spip_code_inline" dir="ltr">supprimer_fichier()</code>. Par contre je ne vois pas où je pourrais utiliser <code class="spip_code spip_code_inline" dir="ltr">preg_files()</code> pour simplifier les sources.</p> Version PDF avec SPIP2LaTeX 2011-01-15T04:12:01Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439439 2011-01-15T04:12:01Z <p>Ces deux erreurs sont dues à une version de PHP un peu plus vieille que celle sur laquelle le <i>plugin</i> a été développé. Je vais faire une nouvelle version y remédiant rapidement.</p> <p>Pour ce qui est de l'hébergement mutualisé, je doute que l'hébergeur vous propose d'utiliser <strong>pdflatex</strong>, mais vous pouvez toujours leur demander.</p> Version PDF avec SPIP2LaTeX 2011-01-15T04:08:24Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439438 2011-01-15T04:08:24Z <p>Oui, oui, c'est juste qu'on planche un peu avant de répondre pour ne pas dire une bêtise. Patience<small class="fine d-inline"> </small>!</p> Version PDF avec SPIP2LaTeX 2011-01-15T02:36:37Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439436 2011-01-15T02:36:37Z <p>Resalut, pouvez vous m'aider, ou me proposer une solution.<br class="autobr"> Merci</p> Version PDF avec SPIP2LaTeX 2011-01-15T02:34:31Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439435 2011-01-15T02:34:31Z <p>Bonjour, merci pour le plugin, j'ai eu une erreur de type</p> <p>Warning : parse_url() expects exactly 1 parameter, 2 given in plugins/spip2latex-0.9.1/spip2latex-0.9.1/spip2latex.php on line 951</p> <p>Fatal error : Call to undefined function : file_put_contents() in plugins/spip2latex-0.9.1/spip2latex-0.9.1/spip2latex.php on line 1011</p> <p>Je ne sais pas d'ou viens peut etre de l'url , en barre d'adresse j'ai l url suivante : <br class="autobr"> /spip.php<small class="fine d-inline"> </small>?page=pdf&id_article=5<br class="autobr"> et en plus je suis sur hebergement mutualisé, OVH, (j'ai pas de serveur) et je ne sais pas comment :<br class="autobr"> ajouter la commande pdflatex dans le PATH . (dans quelle fichier si c'est possible).</p> <p>Pouvez vous m'aidez,</p> <p>Merci</p> Version PDF avec SPIP2LaTeX 2011-01-14T14:35:53Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439416 2011-01-14T14:35:53Z <p>Au fait, comme ça n'est pas forcément évident, SPIP2LaTeX traduit toute la typo SPIP : gras, italique, exposant, indice, barré, cadres, citation, code, poésie, alignements, images, listes, tableaux, liens, documents joints, modèles... (je dos en oublier).</p> <p>Ce qui manque : passage en UTF-8, export de tout le site, que faire des formulaires, des objets embarqués, de l'HTML...</p> Version PDF avec SPIP2LaTeX 2011-01-14T13:20:34Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439408 2011-01-14T13:20:34Z <p>Pour ce qui est de faire du LaTeX depuis SPIP avec TextWheel, je peux faire un petit retour d'expérience.. De ce que j'ai compris, la typo de SPIP n'a pas de grammaire écrite, ce qui interdit de faire une traduction dirigée par la syntaxe. Il faut se contenter de rechercher/remplacer, qui sont assez subtils dans la mesure où LaTeX admet de nombreux caractères spéciaux à échapper ou non selon le contexte, et que en prime certains d'entre eux ont aussi un sens spécial en typo SPIP (les accolades, notamment). C'est ces raisons qui rends le code de SPIP2LaTeX un peu complexe.</p> Version PDF avec SPIP2LaTeX 2011-01-14T09:33:10Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439388 2011-01-14T09:33:10Z <p>Si je peux me permettre d'intervenir avec ma maigre expérience.</p> <p>Pour un projet perso, j'ai déjà fait de l'export SPIP vers Latex à l'aide d'une fonction que j'applique sur <code class="spip_code spip_code_inline" dir="ltr">#TEXTE**|</code>. Cela gère pour le moment les gras, les italiques et les exposants, qui sont mes seuls besoins. Cela tient en 2 lignes.</p> <p>Cet été je suis intéressé par améliorer cela, notamment pour t'aider Marcimat pour livre. Je pense que ce serait vraiment cool, en plus on pourrait ainsi avoir facilement une version à jour de SPIP.net en PDF.</p> <p>Pour la mise en forme, ce n'est pas forcément évident, ceci dit j'arrive déjà à faire quelque petite chose (réduction de taille de texte pour un environnement donné, changement des couleurs pour les titres et j'en passe). J'ai même un ami qui produit des cartes de jeux entièrement en LaTex.</p> <p>Par ailleurs, je pense que sur le projet pour le livre il faudrait utiliser XeLaTex et non pas LaTex. C'est une variante de LaTex qui fonctionne avec les caractères unicodes. En théorie il est possible de faire cela directement en LaTex (avec un package spécifique), mais de fait, cela ne marche pas très bien (notamment pour les caractères grecs).</p> Version PDF avec SPIP2LaTeX 2011-01-14T08:04:09Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439384 2011-01-14T08:04:09Z <p>La mise en page en LaTeX, c'est horriblement compliqué. Je laisse ça à ma co-auteur, qui va répondre sur ce point.</p> <p>Pour ce qui est de faire du LaTeX depuis SPIP avec TextWheel, je peux faire un petit retour d'expérience.. De ce que j'ai compris, la typo de SPIP n'a pas de grammaire écrite, ce qui interdit de faire une traduction dirigée par la syntaxe. Il faut se contenter de rechercher/remplacer, qui sont assez subtils dans la mesure où LaTeX admet de nombreux caractères spéciaux à échapper ou non selon le contexte, et que en prime certains d'entre eux ont aussi un sens spécial en typo SPIP (les accolades, notamment). C'est ces raisons qui rends le code de SPIP2LaTeX un peu complexe<span class="spip_note_ref"> [<a href="#nb2" class="spip_note" rel='nofollow appendix' title="je préfère cette expression à « peu lisible » : la complexité n'a pas été (…)" id="nh2">2</a>]</span>.</p> Version PDF avec SPIP2LaTeX 2011-01-14T07:13:01Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439383 2011-01-14T07:13:01Z <p>J'ai étudié hier soir un peu le livre <a href="http://www.framabook.org/latex.html" class="spip_out" rel='nofollow external'>Framabook sur LaTeX</a>. Ils parlent de séparation de fond et de forme comme avec HTML / CSS... mais autant pour le fond, Latex semble très clair dans ses possibilités (ce qui m'intéresse est faire un export de Programmer.spip.org en LaTeX puis en PDF, notamment avec l'environnement «<small class="fine d-inline"> </small>book<small class="fine d-inline"> </small>»), autant la mise en forme à l'air extrêmement compliqué (bien plus que CSS en tout cas). Je n'ai pas encore compris comment faire d'ailleurs<small class="fine d-inline"> </small>!</p> <p>Je serai curieux d'avoir un aperçu du fichier qui génère ton (très beau) PDF sur le site de ton école.</p> <hr class="spip"> <p>Concernant le plugin, j'ai du coup jeté un œil sans l'installer. Quelques fonctions me semblent pouvoir utiliser des codes natifs de SPIP, par exemple : <code class="spip_code spip_code_inline" dir="ltr">transliterration()</code> pour calculer le nom du fichier PDF comme l'utilise la génération d'URL de SPIP, <code class="spip_code spip_code_inline" dir="ltr">preg_files()</code> pour retrouver tous les fichiers dans les sources SPIP selon un expression donnée ou encore <code class="spip_code spip_code_inline" dir="ltr">supprimer_fichier()</code> à la place de <code class="spip_code spip_code_inline" dir="ltr">unlink()</code>. C'est tout ce que j'ai vu pour le moment.</p> <p>J'en dirai peut être plus dans les prochains jours si je prolonge cette piste.</p> <p>Une des idées serait d'utiliser <a href="http://zzz.rezo.net/Presentation-de-Textwheel.html" class="spip_out" rel='nofollow external'>TextWheel</a> pour passer du format SPIP au format LaTeX. Ce qui serait certainement plus lisible. TextWheel doit être intégré à SPIP 2.3 par ailleurs.</p> Version PDF avec SPIP2LaTeX 2011-01-14T02:10:58Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439380 2011-01-14T02:10:58Z <p>Bon, alors sans y connaitre rien en LaTeX, ça va être dur. Note que moi non plus je n'y connais pas grand chose, mais j'ai une co-auteur qui maitrise le sujet, je vais la laisser répondre dans les détails. A titre d'exemple éclairant, je copie/colle juste un bout d'incantation à mettre dans le <strong>preambule.tex.html</strong> pour que les <code class="spip_code spip_code_inline" dir="ltr"><poesie></code> soient mis en page dans un cadre à fond bleu clair.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>\renewenvironment{spiptolatexpoesie}{% \definecolor{shadecolor}{rgb}{0.741,0.863,0.945} % bleu clair \def\FrameCommand{% \setlength{\fboxsep}{2.5ex}% \colorbox{shadecolor}} \MakeFramed {\advance\hsize-\width \FrameRestore}}% {\endMakeFramed}</code></pre></div> Version PDF avec SPIP2LaTeX 2011-01-13T21:25:25Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439366 2011-01-13T21:25:25Z <p>Bonjour, merci pour le plugin, je veux savoir si le plugin peut generer des pdfs en langue RTL, comme l'arabe parceque j'ai vraiment besoin de ca, dans mon site et ca sera la meilleur nouvelle pour moi de cette année, spipdf ne le fait pas corectement.</p> <p>Merci et bon courage</p> Version PDF avec SPIP2LaTeX 2011-01-13T18:58:20Z https://contrib.spip.net/Version-PDF-avec-SPIP2LaTeX#comment439357 2011-01-13T18:58:20Z <p>bon... voilà quelque chose d'intéressant.</p> <p>Pourrais tu en dire plus sur la façon de personnaliser le PDF généré. Qu'est-ce que mange le transformateur pour faire la décoration<small class="fine d-inline"> </small>? Ou est-ce que Latex contient des information de décoration<small class="fine d-inline"> </small>? (je n'y connais rien en latex).</p>