Bonjour
Grand habitue de LaTeX, j'aimerais me pencher sur une autre maniere d'ecrire mes documents (principalement des rapports scientifiques) en structurant ca de maniere forte.
SGML me parait un tres bon candidat, mais la popularite du XML me fait penser qu'il devrait suffir... et surtout apres avoir vu les document DTD ou je sais plus quoi, dans le genre indigerable y a pas mieux...
Je me demande "Mais comment font les autres pour ecrire leur doc?" Tout en LaTeX... c'est bien, mais franchement niveau reusabilite c'est pas le top...
Mon bonheur ce serait d'avoir un truc du genre:
XML + XSLT ===(programme)==> LaTeX
Je c'est que c'est possible...
Pour les formules mathematiques, MathML permet je pense de couvrir le large eventail des possibilites de latex.
Mes problemes:
- d'abord qu'utiliser pour effectuer la conversion?
J'aimerais si possible un programme GPL libre qui existe sur toutes les plateformes.
Un script Perl serait ideal en fait mais je n'en ai pas trouve de simple.
- L'interet de LaTeX est de pouvoir utiliser des packages supplementaires:
* geometry pour pouvoir gerer les marges
* longtable pour gerer les long tableaux sur plusieurs pages
* listings pour la coloration des codes sources inclus
Je suppose que tout ceci est adaptable en utilisant le template XSLT. Mais je ne connais rien a la syntax...
- Apres la syntax du Xml est un peu dur a direger, vous avez un BON editeur XML simple, pratique,..?
Bref mon probleme est que je me retrouve trop souvent avec un document LaTeX ou tout est melange (pas de separation contenu/forme) et que j'aimerais bien faire un truc propre !!!
Thanks all!!!
# DocBook ?
Posté par aworan . Évalué à 2.
J'avait pas eu trop de mal à l'utilisé par contre je ne sais pas trop pour les formules mathématiques (ça dit utilisé mathml je pense)
D'autres ont expérimenté ?
[^] # Re: DocBook ?
Posté par Stibb . Évalué à 2.
Et le langage est un peu complexe surtout!
Le site officiel est peu convivial je trouve
Et ce qui manque c'est une introduction en douceur.
par contre pour les outils a utiliser?
Et surtout est ce qu un script perl existe?
[^] # Re: DocBook ?
Posté par TImaniac (site web personnel) . Évalué à 3.
c'est fait pour les documents scientifiques
c'est 100% XML
c'est vraiment orienté contenu, beaucoup plus que LaTeX qui mélange encore un peu de présentation
c'est extensible au MathML et SVG
tu peux te faire une feuille de transformation XSLT --> LaTeX si ca t'amuse.
après pour les outils je te conseille d'utiliser DocBook Tool Chain Manager qui gère tout de A à Z à la seule condition que ton document XML soit en UTF-8.
et cerise sur le gateau, bien que je n'ai pas essayé :
DocBook to LaTeX using Perl
http://dblup.sourceforge.net/(...)
[^] # Re: DocBook ?
Posté par Julien Portalier . Évalué à 2.
Néanmoins les fichiers PDF sont générés avec pdfjadetex par exemple, je ne sais pas s'ils sont directement exploitables avec d'autres outils LaTeX...
Sinon, c'est vrai que la doc peut paraître un peu fastidieuse. Néanmoins la doc publié chez O'Reilly est aussi en ligne: http://www.docbook.org/tdg/index.html(...) mais il s'agit essentiellement d'un guide de référence. Et l'utilisation est un peu obscure au départ, néanmoins quand on commence à comprendre comment on peut personnaliser tout ça, ça devient vraiment agréable de facilement générer ses documents directement en html & pdf ^^ Bon, bien sûr ça c'est après avoir créé ses scripts et personnalisé un peu les DSSSL (ou XSLT). Au départ on perd donc pas mal de temps, mais rapidement on en gagne pas mal.
Par contre, le problème reste l'édition des documents... Il y a des projets pour générer directement du XML au format DocBook avc une interface WYSIWYM, comme conglomerate, mais c'est encore très jeune, peu intuitif et franchement pas agréable à utiliser.
Alors perso j'ai dév. un petit script qui me permet de transformer un texte à la base en Structured Text ( http://dev.zope.org/Members/jim/StructuredTextWiki/StructuredTextRu(...) ) vers le format DocBook... Ok c'est (presque) idiot car ça génère encore un niveau d'abstraction au dessus du DocBook, mais bon c'est rudement pratique et surtout largement plus agréable à lire que du XML ou SGML (et beaucoup plus rapide lors de l'écriture). À noter que ce genre de solution pourrait t'être de bon aloi : utiliser directement le Structured Text pour te générer du XHTML, du LaTex, etc. Et finalement ne pas utiliser DocBook (moi je l'utilise car j'aime bien la présentation qu'il donne aux documents).
[^] # Re: DocBook ?
Posté par TImaniac (site web personnel) . Évalué à 2.
il me semble que c'est le format FO qui sert de format intermédiaire, pas TeX. En tout cas c'est ce que font les feuilles XSLT officielles de Norman... ensuite un coup de FOP et zou on a un PDF.
[^] # Re: DocBook ?
Posté par ckyl . Évalué à 2.
La premiere utilisée par exemple dans le projet de documentation de FreeBSD est d'utiliser jade/openjade qui utilisent le latex.
En gros on fait xml => latex => ps (=> pdf). Il faut pas rever le code converti est assez crade mais donne un bon rendu
Tu peux rester aussi totalement XML dans l'esprit et utiliser des outils tels que fop du projet apache (le seul que j'ai testé). Et la tu fais plus
xml =(xsltproc)=> fo =(fop)=> pdf
Ca a l'avantage de ne pas utiliser de langage intermediaire mais de ne pas etre au niveau de latex sur tout les points. Ca reste toutefois largement suffisant pour la plupart des choses.
L'avantage de Docbook est son cote cle en main. Tout ce que tu as a faire c'est ecrire 12 lignes de XSL pour positionner les variables de rendu et basta tu as ton doc. C'est pas aussi souple que latex mais très rapide. Si tu veux un rendu a toi, tu es parti pour une grosse prise de tête mais c'est faisable. De toute façon c'est plus le travail d'un spécialiste dans le cadre de gros groupes de documentation. Tu auras plein d'infos sur docbook.org (il y'a le bouquin de reference) et tu peux aller voir http://www.freebsd.org/cgi/cvsweb.cgi/doc/en_US.ISO8859-1/books/han(...) pour voir ce que ca donne en vrai. De plus tu vas decouvrir des messages d'erreur clair et qui permettent de trouver l'erreur en moins de 4 secondes... Ca va te changer du latex :-p
# Pour la conversion MathML -> Latex
Posté par Vincent P (site web personnel) . Évalué à 2.
Voir cette page et les liens :
http://www.mutu-xml.org/xml-base/shared/KEY-MATHML.html(...)
Poste tes conclusions quand tu auras trouve quelque chose qui te convient, je pense que ca peut interesser du monde.
[^] # Re: Pour la conversion MathML -> Latex
Posté par Stibb . Évalué à -1.
# TexML
Posté par icyfemur . Évalué à 2.
http://getfo.sourceforge.net/texml/(...)
Il s'agit simplement d'exprimer les commandes LaTeX en XML.
Ceci dit, avec un peu d'habitude, le format LaTeX n'est pas un probleme du tout, on peut séparer les parties d'un document en plusieurs fichiers, et le contenu et la forme sont très bien séparés : les paramètres de forme dans l'entete, et tout le reste n'est que du contenu !
Un éditeur adapté au LaTeX comme Kile, Emacs ou autre aide bcp à l'utilisation de LaTeX.
[^] # Re: TexML
Posté par Stibb . Évalué à 1.
J ai (pas mal) d'experience latex, et meme en ayant chaque partie dans des fichiers differents, en faisant attention de bien separer forme/fond, a la fin ca devient une bouillie: comment faire pour que tous les tableaux aie la meme "presentation". allez, une newcommand.
Pareil pour les images. etc...
Et evidement ca m enerve de tout refaire a chaque fois, donc je me suis fait un fichier incluant toutes mes modif que j inclu a chaque fois (symbole mathematique sur une ligne, tableau de variation, encadrement de texte,...). C'est bien joli mais je trouve ca hyper lourd...
Par contre si tu as une sorte de "guide de style" strict pour la redaction d'un document latex tout beau tout propre ca pourrait m'aider.
[^] # Re: TexML
Posté par Matthieu Weber . Évalué à 1.
L'autre solution est d'écrire un package qui te soit propre et qui contient toutes tes bidouilles, et que tu charges dans chacun de tes documents.
Je préfère la classe, parce que ça décrit davantage ce qu'est le document (utiliser la classe article pour faire en fait une lettre, une facture ou un panneau d'affichage écrit en très grande fonte, c'est déroutant : la classe est censée indiquer à quel type de document on a affaire. Utiliser article pour tout et n'importe quoi, c'est mal.
Question guide de style, c'est assez simple:
Toujours utiliser les structures existantes pour ce dont elles ont été conçues:
- quote et quotation ne doivent contenir que du texte de citation
- utiliser emph pluôt que textit
Les chose à ne pas utiliser dans le document :
- les commandes de gestion de fontes (taille, famille, forme, etc.)
- lescommandes de gestion de taille/distance (hspace, vspace, center)
- les commandes « graphique » (hline, dots)
- les commandes de changement de type de numérotation de page
- les parbox ou minipage
Toutes les commandes interdites *doivent* être placées dans des nouvelles commandes (newcommand, newenvironment), qui définissent une nouvelle structure de données. Tu utilises cette structure de données dans ton document, pour indiquer que telle donnée a ce type de structure, au lieu d'indiquer que telle donnée doit être affichée de telle manière.
L'idée maîtresse est de séparer le plus complètement possible la structure et la présentation. Au lieu de spécifier que telles données doivent être présentées de cette manière, tu spécifies que telles données sont de tel type (en les « marquant » avec les balises appropriées) et dans la classe dont je parlais plus haut ou dans ton package à toi, tu spécifies que tel type de données doit être présenté de telle manière. Par exemple, \chapter{} permet de dire que le texte entre accolades est un titre de chapitre. Mais la manière dont un titre de chapitre est effectivement présenté dans le document final est décrit dans la classe (article, report, book), pas dans le document LaTeX lui-même.
Autres exemples : tu veux que ton titre soit en gras? redéfinis \title. Tu veux des listes avec des espaces particuliers, des puces ou tirets particuliers ? redéfinis itemize et compagnie, ou crée un nouvel environnement, qui porte un nom spécifique. Tu veux faire un catalogue de produits quelconques ? crée une commande qui prend comme paramètre le nom du produit, sa description et son prix. Dans le fichier LaTeX, tu dis simplement que « ceci est un produit, et il a tel caractéristiques. » Dans la classe, tu definis comment le produit est présenté sur la page (nom en gras, prix suivi du symbole euro, description en italique dans une parbox centrée, etc.)
J'ai utilisé LaTeX depuis bon nombre d'années, et pour ce qui est d'écrire des documents dans la pratique, je le préfère de loin à DocBook, surtout parce qu'XML (ou SGML) nécessitent de taper un tas de tags, alors qu'en LaTeX, la syntaxe pour les tags est simplement plus courte, donc plus facile à taper au clavier. De plus, LaTeX est facilement extensible (à coups de newcommand), alors que DocBook est complètement figé. L'inconvénient de LaTeX, comme tu t'en es rendu compte, c'est qu'on peut facilement mélanger structure et présentation, et ça devient vite le bordel si on n'a pas un peu de rigueur dans la rédaction des documents.
J'espère que ça pourra t'aider.
[^] # Re: TexML
Posté par ckyl . Évalué à 2.
utilise un vrai éditeur de texte :-)
[^] # Re: TexML
Posté par Matthieu Weber . Évalué à 2.
Ce que je veux dire, c'est que les commandes en LaTeX sont optimisées pour ne pas être plus longues que nécessaire. XML est optimisé pour être fortement structuré (ce que LaTeX n'est pas), au prix d'un inconfort de rédaction (ou de devoir utiliser un « vrai » éditeur de texte) et d'un inconfort de lecture (tous ces tags partout, c'est chiant, à moins d'avoir une feuille de style qui s'applique automtiquement, mais alors autant utiliser un traitement de textes). LaTeX c'est lisible (sauf les tableaux, mais XML ne sait pas faire mieux) et facile à taper quel que soit l'éditeur de texte qu'on utilise.
[^] # Re: TexML
Posté par ckyl . Évalué à 2.
<sect1>
<title>machinetruc</title>
</sect1>
Et comme je t'ai dit tout éditeur de texte propose un mode SGML qui referme automatiquement les balises. De plus un truc un temps soit peu evolué comme le mode psgml d'emacs (j'utilise Vim pourtant) te propose la liste des tags valides a cet endroit precis selon la DTD. De même que la validation en allant etc. Pour avoir fait les deux, Docbook n'est pas plus long a tapper.
De plus gros avantage les messages d'erreur ne sont pas abscons. Quand tu as 3Mo de fichiers source je te jure que la sortie de latex je la fou a la poubelle par ce que j'ai pas une semaine pour trouver l'erreur (genre des buffers trop petits dans un obscure fichier de conf...).
Pour le chiant a lire tout dépend ce que tu fais. Les fichiers de config des softs ou un fichier OpenOffice est une bouillie de tag illisible, c'est fait pour être lu et écrit par une machine. Les DTDs qui sont déstinées a la rédactions de documentation ou d'articles sont très lisible et il n'y a pas plus de tag qu'en latex. Une abbreviation reste une abbreviation, un nom de variable reste un nom de variable etc. Reste les tableaux qui sont aussi "merdiques" chez les deux. Je lis depuis un moment les listes de divers projet de documentation (FreeBSD notament) et je n'ai jamais vu personne se plaindre que Docbook etait illisible, d'ailleur je me demande pourquoi tout les projets de doc l'utilisent puisque le rendu n'est pas vraiment son fort pour le moment...
[^] # Re: TexML
Posté par Matthieu Weber . Évalué à 2.
De plus, si je ne trouve pas mon bonheur dans les éléments définis par DocBook, je fais comment ? Au moins avec LaTeX, je peux facilement étendre localement le jeu d'instructions ; en DocBook, il faut modifier la DTD et les feuilles de style, puis distribuer les nouvelles DTD et feuille de style avec le document. SGML/XML force à faire les choses proprement, mais pour les petits détails, c'est vraiment prendre un marteau pour écraser une mouche.
Je ne sais pas s'il existe un XML Schema pour DocBookXML (qui avec les namespaces permettrait d'ajouter d'autres vocabulaires à DocBook), mais modfiier les feuilles de style c'est coton (cela dit, si on le fait tous les jours, ça paraît sûrement plus facile).
[^] # Re: TexML
Posté par ckyl . Évalué à 2.
C'est un outil génial quand tu veux avoir une rendu correct et uniforme sur une grosse masse de documents (livre, ensemble d'articles etc.). Si tu veux faire mumuse avec le rendu tout les 3 matins ca va être un peu plus sportif .
C'est faisable ( http://docbook.org/tdg/en/html/ch05.html(...) ) mais assez imbitable :-)
Et la il manque le modifs du rendu qui est pas très sexy non plus.
[^] # Re: TexML
Posté par Stibb . Évalué à 0.
Je vais essayer de faire mon premier VRAI document LaTeX tout propre tout nickel pour mon rapport de stage et pour ma documentation technique...
# Et DB2LaTeX ?
Posté par Guillaume Smet (site web personnel) . Évalué à 1.
Je pense que ce projet ( http://db2latex.sourceforge.net/(...) ) peut te servir au moins de base.
Il permet de transformer du xml docbook en latex et ca marche plutôt pas mal. C'est ce que j'ai utilisé pour générer la documentation de GForge (moyennant quelques adaptations mineures qui sont sur le CVS de GForge).
Tu peux voir la documentation là : http://gforge.org/docman/view.php/1/34/gforge_manual.pdf(...) (XML Docbook -> LaTeX -> PDF).
Je n'y connais rien en LaTeX donc c'est vraiment le truc de base qui sort de DB2LaTeX.
Guillaume
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.