Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

Logiciel : dblatex : Docbook XML -> LaTeX -> PDF

Posté par SaintGermain (). Modéré le 22 novembre 2006.
Bureautique
La sortie de la version 0.2 de dblatex est l'occasion de présenter ce logiciel relativement méconnu.

Dblatex est un logiciel permettant de convertir un document Docbook en un document LaTeX qui pourra alors être publié en PDF (ou PostScript et DVI).

Contrairement aux autres moteurs de publication traditionnellement associé à Docbook comme FOP ou XEP qui s'appuient essentiellement sur XSL-FO et Java, dblatex s'appuie sur Python, xsltproc et des feuilles XSL pour réaliser la conversion XML->LaTeX et sur un moteur TeX pour la publication.

Dblatex supporte une grande partie de la spécification Docbook et comporte des fonctionnalités peu ou pas supportées par les autres alternatives, par exemple :
Sa grande force réside dans l'interfaçage et l'utilisation de technologies/logiciels standards, portables et éprouvés (Python, xsltproc, LaTeX).
Cela conduit à un logiciel :
  • facile à installer/administrer
  • facile d'utilisation
  • libre
  • portable (*BSD, GNU/Linux, MacOS, Windows)
  • performant (grâce à xsltproc et LaTeX)
  • pérenne (tant que xsltproc et LaTeX seront là...)
  • au rendu très agréable à l'oeil ;-)

D'un côté nous avions LaTeX qui était (est toujours ?) la référence en matière de publication scientifique depuis des années et qui possède un moteur de rendu extrêmement puissant en plus d'un nombre infini de paquets/contributions et de l'autre une technologie très prometteuse pour l'édition de documentations techniques qui sépare enfin proprement le fond et la forme : Docbook.
Dblatex jette enfin un pont entres les deux mondes.

> Lire la dépêche (24 commentaires, moyenne: 2,3).  

Etant utilisateur depuis un petit moment de LaTeX pour sa capacité à traiter les équations, mon avis est sans doute légèrement biaisé. Je pense néanmoins que la publication de document est quelque chose de délicat et qu'il n'est pas du tout facile de créer un programme permettant de pondre de manière 'propre' un document destiné à être imprimé (faire la césure au bon endroit, prendre en compte les caractéristiques de chaque langue, faire une bonne mise en page, etc...).

Pour moi LaTeX reste la référence et je n'ai rien vu qui puisse m'offrir une si belle mise en page. Pour autant j'ai souvent été frustré par la complexité de LaTeX qui nécessite parfois de devoir faire des contorsions inimaginables pour arriver à faire ce que l'on veut (essayer par exemple de mettre de la couleur dans un tableau avec des cellules fusionnées...) et surtout qui requiert un effort surhumain pour séparer convenablement fond et forme.

Etant également un gros producteur de documents scientifiques, j'ai été attiré par XML/Docbook mais ce qui me retenait étaient les limitations actuelles des programmes et donc la peur de ne pouvoir faire exactement ce que je veux.
Les technologies autour de XSL-FO et de FOP ne m'avaient pas convaincu (en plus je n'appréciais que moyennement que l'on soit contraint d'utiliser Java) et j'avais toujours des trucs un peu tordus à faire dans mes documents (comme des équations...).

Dblatex est pour moi la solution idéale : je peux rédiger proprement le fond de mon texte et bénéficier de la mise en page de LaTeX.
La personnalisation se fait au travers de feuilles de style XSL et de code LaTeX. Et si, par hasard, j'ai besoin de quelque chose de vraiment exotique qui n'est pas pris en compte par dblatex je peux toujours insérer des bouts de code LaTeX en 'sous-marin' dans le code XML/Docbook (c'est mal mais ça dépanne).
En plus c'est assez rapide et n'est pas trop gourmand en ressources mémoire et CPU.

Dans le cadre d'une entreprise c'est impeccable : les employés s'occupent de taper leur texte au kilomètre et une seule personne est responsable du style de la mise en page (en-têtes, pied de pages, style des paragraphes, ...).
Et comme dblatex tourne depuis peu impeccablement sous Windows, il n'y a vraiment plus d'excuses pour ne pas l'adopter en entreprise. ;-)
La pérennité est de plus assurée et la prise en compte de nouvelles fonctionnalités relativement rapide. En effet comme LaTeX est déjà capable de faire à peu près tout et n'importe quoi, prendre en compte une nouvelle fonctionnalité se résume à trouver le bon paquet LaTeX et à faire l'interface adéquate (je simplifie beaucoup mais bon l'idée est là).

Dblatex n'est quand même pas parfait, pour ne donner qu'un exemple il n'est pas donné à n'importe qui de pouvoir faire une personnalisation poussée de son document car cela nécessite de maîtriser à la fois les feuilles de style XSL et surtout LaTeX. De plus tout Docbook n'est pas supporté et il subsiste sans doute de nombreux bogues. Cependant son auteur est très sympa et très réactif et à l'écoute des utilisateurs.

En conclusion, j'encourage tout le monde à lui donner une chance et à l'essayer puis... à l'adopter ! ;-)

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Et LyX ?

Posté par MiniMoi () le 22/11/2006 à 12:44. (lien). Évalué à 3.

Je profite d'une dépêche qui parle de LaTeX pour parler de LyX.
C'est vraiment un excellent logiciel qui permet de produire des documents ms en page par LaTeX sans se fatiguer, avec toujours la possibilité d'insérer du code LaTeX si besoin est, et de retoucher le document en faisant un export LaTeX en cas de problème.

Il y a même un support DocBook dedans mais j'avoue ne pas avoir testé.

Seul défaut : la gestion de l'UTF8 qui donne quelque chose d'assez ignoble pour l'interface sur Edgy...

L'union fait la force

Posté par flyer () le 22/11/2006 à 13:30. (lien). Évalué à 2.

Le projet de feuilles de style libres qui fait référence en matière DocBook permet déjà la transformation DocBook -> Latex:
http://wiki.docbook.org/topic/formats

Pouquoi ne pas rejoindre le projet original?
http://docbook.sourceforge.net/

Je ne vois pas l'intérêt de dblatex. On peut déjà se passer de FOP avec le projet référence:

fichiers en DocBook (XML) ---[xsltproc]---> HTML
fichiers en DocBook (XML) ---[xsltproc]---> XSLFO -----[FOP/XEP]-----> PDF
fichiers en DocBook (XML) ---[xsltproc]---> Latex -----[outils latex]---> PDF

Les feuilles de style XSL du projet référence s'utilisent déjà avec xsltproc. Dans notre dernier cas nous n'avons utilisé aucun programme java pour obtenir du PDF. On pourrait n'utiliser aucun programme java s'il y avait des formatteur XSLFO existant en d'autres langages.

Note: FOP peu remplacer xsltproc mais est plus lent. FOP a 2 rôles: processeur XSLT et XLSFO. On peu utiliser l'un sans l'autre et c'est ce que je fait.

lxml support les transformation xslt

Posté par champi () le 22/11/2006 à 13:41. (lien). Évalué à 4.

A noter qu'il est possible de faire des transformations XSL directement depuis python grace a lxml:

http://codespeak.net/lxml/api.html#xslt

lxml est basé sur libxml2/libxslt tout comme xsltproc donc les performances doivent être les mêmes.

Editeur DocBook

Posté par Frédéric COIFFIER () le 22/11/2006 à 15:08. (lien). Évalué à 3.

Existe-t-il des éditeurs spécifiques à DocBook permettant d'écrire des documents facilement (disons pour un non informaticien qui a besoin de documenter un produit) ou au pire, dans le style de Kile pour LaTeX ?
Qu'utilisez-vous pour écrire vos documents DocBook ?

écrire du XML

Posté par Mildred (Jabber id, page perso, ) le 22/11/2006 à 22:33. (lien). Évalué à 3.

Le XML ne m'a pas l'air d'être un langage pratique en l'écrivant à la main, sauf à utiliser des éditeurs spécialisés. Et j'en sait quelque chose pour écrire mes pages web XHTML à la main.

Pour l'édition de documents, un jour quelqu'un avait parlé de Tbook¹ qui semble plus adapté pour une utilisation non technique. A mon avis c'est une bonne solution sauf que je n'ai pas envie d'écrire à la main le XML.
J'envisage d'utiliser une syntaxe à la lisp pour cela. Cela m'a l'air beaucoup plus facile, moins de parenthèses ... et comme j'aimerais pouvoir éventuellement automatiser certaines parties, j'aimerais bien que ce soit un vrai langage de programmation. Il y a bien Skribe² mais le backend XML n'est pas parfait et j'avais du l'adapter (et ce n'est pas encore parfait). C'est pour cela que je préfère créer ma propre solution :)

¹ http://tbookdtd.sourceforge.net/
² http://www-sop.inria.fr/mimosa/fp/Skribe/

Edition collaborative de docs XML

Posté par zoggy () le 23/11/2006 à 07:45. (lien). Évalué à 3.

Bonjour,

Je vois un obstacle à l'utilisation d'éditeurs spécialisés pour le XML, c'est l'édition collaborative de documents par exemple avec subversion. En cas de conflit, le document XML a des chances de ne plus être valide.
Questions donc:
- Y a-t-il des éditeurs XML qui gèrent-ils les marquages de conflits dans le document ?
- Y a-t-il des outils de merge de modifications qui peuvent utiliser une DTD pour proposer un fusion des différences ou un marquage des conflits tout en conservant un document correct ?

Aussi, en Perl...

Posté par domq () le 23/11/2006 à 11:29. (lien). Évalué à 2.

IDX-DocBkXML2LaTeX, dont je suis le modeste auteur : http://www.idealx.com/content/view/200/213/lang,en/ Mais le travail de Benoît est beaucoup plus complet que le mien en matière de fonctionnalités. Respects !

Revenir en haut de page