Journal Typographie, petit comparatif

Posté par (page perso) .
1
16
oct.
2007
Au commencement, il y avait des scribes, puis des moines copistes écrivant, recopiant, enluminant des manuscrits. Puis vint Gutenberg et l'impression, la calligraphie laissait la place à la typographie. L'art de la typographie a progressé depuis et s'est surtout démocratisé, bien loin est le temps où produire un nouvel exemplaire d'un livre était long et réservé aux rares spécialistes, l'avènement des ordinateurs personnels et des imprimantes à bas coût et de bonnes qualité a donné à chacun la possibilité de réaliser ses propres ouvrages.

Passons en effet sur les machines à écrire qui produisaient une copie laide en un temps long sans droit à l'erreur, les logiciels de traitement de texte permettent de faire rapidement du beau et de le modifier. Ne parlons pas de la révolution que cela a pu causer pour les rédacteurs de toutes sortes d'ouvrages, mais concentrons-nous sur les offres qui existent.

Les traitements de texte wysiwyg permettent de façon très simple de formatter son texte et de l'imprimer de façon jolie. Malheureusement, cette simplicité a un revers : il est aussi fort simple de produire un document laid. De plus, de par leur mode de fonctionnement, ils ne peuvent proposer le meilleur possible mais seulement un document suffisamment beau.

Faisons une petite parenthèse sur le beau. Il existe diverses normes de beauté pour les textes imprimés. Certaines ont pour but de faciliter la lecture, d'autres sont plus axées sur un plaisir des yeux, un équilibre de la feuille. Car la première unité de travail n'est pas le mot ou la phrase, mais bien la feuille. Une norme veut que le bloc de texte ait ses coins sur les diagonales de la feuille. Le bloc de texte ne doit pas être trop large pour éviter la perte de ligne à la lecture, il ne doit pas non plus être trop étroit, car même si cela favorise la lecture rapide, cela augmente les risques de mauvaise justification.

Les logiciels de typesetting sont l'autre solution pour produire de beaux textes. Ces logiciels utilisent en général un format de fichier texte particulier contenant des balises de mise en forme, à la manière des balises html. Les exceptions sont soit des front-ends pour ces logiciels (texmacs, lyx, Scientific Word) ou des curiosités comme tofu [http://amarsagoo.info/tofu]. L'écriture dans leurs langages n'est donc pas naturelle, mais elle permet de séparer le fond (le texte) de la forme (les titres, la mise en page, les mises en exergue), ce que ne font pas les traitements de texte (en tout cas, ce que ne font pas la plupart des utilisateurs de traitements de texte). Ces différents langages ont leurs plus et leurs moins. On pourrait aussi citer les langages de wiki, par exemple reStructuredText ou textile, mais le but n'en est pas la typographie, seulement la production simple de texte structuré[1].

LaTeX est probablement le format le plus utilisé et le roi pour ce qui est de la rédaction de documents mathématiques.


\documentclass[a4paper,11pt]{scrartcl}
\usepackage[OT1]{fontenc}
\usepackage[utf-8]{inputenc}
\usepackage[francais]{babel}
\title{Typesetting}
\author{Ernest H.}
\begin{document}
\maketitle
\section{Un grand titre}
\subsection{Un petit titre}
Un peu de texte avec des caract{\`e}res spéciaux.
\end{document}


Troff est un des plus anciens autres choix possibles. Le balisage est assez minimal : les balises sont en général constituées d'un point suivi de 2 lettres.


.nr PS 12
.TL
Test de typesetting
.AU
Ernest H.
.AI
Mon institution

.NH 1
Objectifs
.PP
Quelques mots
.NH 2
Petit titre
.PP
Un paragraphe indenté pour une \[oe]uvre de qualité.


Lout se comporte de façon assez proche de troff, avec quelques particularités, comme la possibilité de faire des camemberts très simplement. Le fait de devoir fermer les sections est un peu fatiguant.


@SysInclude { report }
@Report
@Title { Lout est typographe }
@Author { Ernest H. }
@Institution { Un institut }
@CoverSheet { No }
@InitialFont { Times Base 12p }
@InitialLanguage { French }
//
@Section
@Title {Objectifs}
@Begin
@PP
Quelques mots

@BeginSubsections
@Subsection
@Title { Hello world }
@PP
Un paragraphe indenté pour une {@Char oe}uvre de qualité.
@End @Subsection
@EndSubsections
@End @Section


skribe [http://www-sop.inria.fr/mimosa/fp/Skribe/] est programmé en scheme et reprend une syntaxe du même genre avec de beaux blocs de parenthèses.


(document :title [Hello World!]
:author (author :name "Ernest H."
:affiliation "Une institution")

(section :title [A section] [
That section contains an ,(bold itemize) construction:
,(itemize (item [first item])
(item [second item])
(item [third item]))]))


ant [http://ant.berlios.de/] semble ne plus bouger beaucoup. Je ne l'ai pas essayé.

texinfo et docbook sont avant tout fait pour rédiger des manuels. Ils sont cependant utilisables pour n'importe quel type de document. docbook a une syntaxe en xml, ce qui signifie des balises ouvrantes et fermantes à la html et un source docbook est donc assez difficile à lire. De plus, l'installation de docbook et ses feuilles de style peut être assez compliquée suivant le système que vous utilisez. texinfo est basé sur tex, mais sa syntaxe n'y ressemble pas, et a pour but premier de produire les pages info (et les documentations html liées, celles utilisées l'aide de Mac OS X par exemple).



Langage Format d'entrée Formats de sortie
LaTeX tex pdf, dvi
lout lout ps
troff/groff man, ms, mm ps, html, texte, dvi
ant \ant pdf
skribe skb html, tex
texinfo texi info, html, pdf
docbook xml pdf, html



Des 3 langages plus longuement évoqués ci-dessus, latex semble le plus compact en nombre de ligne, c'est aussi celui dans lequel la rédaction de formules mathématiques est la plus simple (en particulier grace aux raccourcis _ et ^ pour les mises en indice ou en exposant).

Troff est le plus ramassé en nombre de caractères Les informations de formatage sont minimales, ce qui fait qu'écrire un script pour convertir le source en un autre format n'est pas trop compliqué (excepté quand il s'agit de trouver des fins de section). Il a également l'avantage (si vous utilisez une version récente de groff) de produire du html, ou du dvi (le format intermédiaire de latex). Produire du html en latex est loin d'être simple, plusieurs solutions existent mais ne savent traiter que des documents formés de la bonne façon.

Lout n'est ni bon ni mauvais, il apporte de bonnes choses (en particulier du typage) dans les systèmes de formattage de texte, mais n'est pas d'une utilisation très agréable. Peut-être nonpareil résoudra-t-il ce problème.

LaTeX, Troff et lout savent faire des mathématiques (lout possède même un module par défaut pour tracer des camemberts). En termes de fonctionnalités, on retrouve dans ces trois logiciels les capacités indispensables que sont la structuration, les notes de bas de page, les bibliographies. Troff a l'avantage de permettre une sortie en html sans difficultés.

Au final, ma préférences va à LaTeX pour les documents mathématiques et à troff pour les autres documents. Mais je me tourne de temps en temps vers txt2tags pour produire des pages web

[1]: On pourra se reporter à http://en.wikipedia.org/wiki/Comparison_of_lightweight_marku(...) pour une liste et comparaison de certains de ces préprocesseurs. Notons en passant qu'ils permettent parfois une sortie en LaTeX, lout, docbook ou troff en plus du code html.


Pour aller plus loin :
http://home.alltel.net/kollar/utp/
http://www.gutenberg.eu.org/publications/cahiers/r23-cahiers(...)
http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/27(...)
  • # Ce journal n'a rien à faire ici.

    Posté par . Évalué à 9.

    Il est tellement bon qu'il devrait être mis en dépêche de première page :) !

    BeOS le faisait il y a 15 ans !

    • [^] # Re: Ce journal n'a rien à faire ici.

      Posté par (page perso) . Évalué à 10.

      En fait j'avais l'ambition soit de le mettre sur mon blog (mais je n'ai pas de blog) soit effectivement d'en faire une dépêche. Mais je trouve que ça manque d'unité, de liant pour l'instant. Si je parviens à rajouter ce que j'ai oublié de dire (par exemple que l'algorithme de mise en page de tex est intelligent : recherche d'optimum) et à mettre ça en meilleur ordre, j'essaierai de le soumettre en dépêche. Le problème est le temps...
  • # XeTeX: TeX avec Unicode et fontes natives

    Posté par . Évalué à 3.

    Avec XeTeX, maintenant intégré dans TeXLive, plus besoin de ce genre de manips "caract{\`e}res spéciaux" et on peut utiliser les fontes natives du système.

    Tous les détails sont sur
    http://scripts.sil.org/XeTeX

    D'ailleurs j'en profite pour envoyer les liens vers les vidéos d'une des dernières conf TUG: au menu entre autres présentation et démo de XeTeX par son auteur:
    http://www.river-valley.tv/conferences/tex/tug2007

    Ca vaut le coup d'essayer :)
  • # dans le genre de txt2tags, il y a aussi "aft"

    Posté par (page perso) . Évalué à 10.

    AFT pour Almost Free Text est un peu du genre de txt2tags. Il est très pratique pour écrire du HTML ou du LaTeX sans peine:
    http://www.maplefish.com/todd/aft.html

    exemple:


    *Title: le titre
    *Author: Benoît Rouits
    *TOC

    *Tips
    Pour obtenir une TOC il faut lancer aft 2 fois de suite sur le fichier.
    Il faut toujours sauter une ligne après la TOC

    *Section 1
    Pour faire une section, il faut précéder le titre
    par une simple '*'.
    Ce sera un H2 en html car le H1 est réservé au Title

    une tabulation permet de créer un block plus ou moins verbatim.
    Ici, je suis passé à la ligne.

    Paragraphe: un paragraphe n'a pas de
    titre. Passer à la ligne dans un
    paragraphe ne chage rien (comme en html)

    Il faut laisser une ligne vide pour créer un
    nouveau paragraphe (<p> en html).
    Mettre une contre-oblique puis un '\n' >\
    < comme ceci permet à aft de se croire sur la
    même ligne. Sinon, une \ sans retour à la ligne
    immédiat s'affichera normalement.

    * Section 2
    Ici, j'ai mis un espace apres '*'.
    Cela ne change rien.
    ** subsecton
    Pour la subsection, il a fallu mettre 2 '*'
    *** subsubsection
    Pour la subsubsection, il a fallu 3 '*'.

    Voici une liste:
    * item 1
    * item 2
    et un tableau:
    !titre du tableau!
    !heure!min!sec!
    !20!23!03!

    *Conclusion
    C'est cool aft :-)

    Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. \n -- Jules Claretie

  • # les developpements semblent arrêtés

    Posté par . Évalué à 2.

    J'ai l'impression que plus personne ne développe de paquetage latex.
    On ne trouve pas de tutoriel sur comment faire ça, ni d'information. (je parle de programmer en profondeur, du genre calcul de positionnement de cadre, etc...)

    Ça donne l'impression que latex est une vieille technologie qui n'évolue plus.

    Par exemple on pourrait imaginer de nouveaux modules qui feraient les choses suivantes :
    - inclure des images de tous les formats possibles (jpg, png, svg, ... tout cela dans le même paquetage)
    - en-têtes de pages évoluées, cartcouches
    - tableaux évoluées
    - etc...

    Ça manque de paquetages modernes en somme !
    • [^] # Re: les developpements semblent arrêtés

      Posté par (page perso) . Évalué à 2.

      Il y a des packages pour tout ce que tu cites (enfin peut être pas pour les images en .svg).

      Par exemple pour les images : on utilise de plus en plus souvent pdflatex plutot que latex. Du coup, les jpg et les png ne posent plus de problèmes.

      Bref, beaucoup (beaucoup!) de choses existent déjà, le plus dur étant de trouver le nom du package (sur les serveurs CTAN) qui fait ce qu'on souhaite. Pour cela, les forums usenet restent toujours très actifs et leurs membres très qualifiés.

      Quant au futur de LaTeX, il y a bien le projet latex3 :
      http://www.latex-project.org/latex3.html
      mais je ne sais pas si il avance beaucoup.
    • [^] # Re: les developpements semblent arrêtés

      Posté par (page perso) . Évalué à 2.

      Les jpg et png peuvent être inclus (le package graphicx fait ça depuis quelques temps). Pour le svg, je ne sais pas, mais si ça se convertit en en autre format vectoriel (pdf ou eps), tu peux faire une DeclareGraphicsRule pour que latex produise quelque chose qu'il saura inclure à la volée.

      Pour le reste, c'est vrai que latex n'est pas très flexible, il existe quand même de quoi faire des entêtes et pieds de page évolués (avec le titre sur les pages paires, le nom de section sur les pages impaires par exemple). Pour les tableaux, je ne sais pas faire de cases qui prennent plusieurs colonnes, mais je sais faire des colonnes de la largeur que je veux avec alignement à gauche ou centré.

      LaTeX est une vieille technologie, c'est un fait. Et il évolue assez peu. Et écrire un .sty est loin d'être simple. C'est une des raisons pour le développement de lout et ant (même si ant doit être mort), une autre étant la taille à l'installation : une installation standard de teTeX prend plus de 200Mo, texlive aussi. Lout 7 Mo.
      • [^] # Re: les developpements semblent arrêtés

        Posté par . Évalué à 1.

        Pour les tableaux, je ne sais pas faire de cases qui prennent plusieurs colonnes, mais je sais faire des colonnes de la largeur que je veux avec alignement à gauche ou centré.

        N'est-ce pas ce que fait le package multicolumn ? Combiné avec multirow, on peut faire des choses assez sympa.
        Pour avoir une présentation "à la excel"^W avec les en-têtes et pieds de tableaux répétés sur toutes les pages, il existe au moins deux paquets : longtable et xtabular.
        De mémoire, xtabular est basé sur longtable, mais pour avoir essayé les deux, je crois qu'il est difficile, voir impossible de valoriser plus l'un que l'autre, car avec les tableaux que je génère parfois, le rendu est dégueu avec l'un, et parfait avec l'autre.
        L'avantage, c'est que les commandes des deux sont les mêmes, et du coup, pour passer de l'un à l'autre, il n'y a que le nom du package utilisé à changer, et le nom de l'environnement (xtab devient longtable et réciproquement, selon les cas).
    • [^] # Re: les developpements semblent arrêtés

      Posté par (page perso) . Évalué à 4.

      Franchement je trouve que LaTeX a pris un méchant coup de vieux avec une macro comme ConTeXt. LaTeX est bien mais dès que tu veux faire un truc un peu spécifique c'est la croix et la bannière. ConTeXt permet de faire tout ce que LaTeX fait, mais en plus simple et en plus il conserve une base PLAIN TeX, ce que ne fait pas LaTeX (et oui, c'est bien dommage).

      http://wiki.contextgarden.net/Main_Page
      • [^] # Re: les developpements semblent arrêtés

        Posté par . Évalué à 3.

        Très intéressant, il va falloir que je regarde ça.

        Autant j'aime beaucoup TeX (pas forcément pour des raisons objectives d'ailleurs, le TeXbook y est pour beaucoup ...), autant j'ai toujours trouvé LaTeX beaucoup trop complexe dès que l'on veut changer le comportement par défaut. En gros, il faut trouver le paquetage qui va bien, on ne peut rien faire seul. Il doit y avoir moyen de faire aussi puissant mais plus configurable.
    • [^] # Re: les developpements semblent arrêtés

      Posté par . Évalué à 5.

      Un gros probleme c'est aussi le biais de google pour le contenu recent. Il existe une floppée de site avec des tutoriaux pour tex/latex, mais pas autant que le nouveaux contenus qui apparait. En tout cas c'est l'impression que j'ai, j'ai de plus en plus de mal a trouver mes soluces pour latex en googlant.
  • # Petite correction

    Posté par . Évalué à 2.

    Très intéressant! Par contre, LaTeX produit par défaut du postscript, le pdf est obtenu soit par pdflatex, soit par ps2pdf.
    • [^] # Re: Petite correction

      Posté par (page perso) . Évalué à 6.

      Non, latex produit du dvi. pdflatex est latex avec un format particulier et produit du pdf, donc ce n'est pas un abus de dire que LaTeX produit du pdf.

      Par contre, le ps est obtenu en utilisant d'autres programmes (dvips).
      • [^] # Re: Petite correction

        Posté par . Évalué à 3.

        D'ailleurs, il me semble que dans les versions récentes, la commande latex n'est plus qu'un frontend de pdflatex.
  • # Et puisque l'on parle de typographie...

    Posté par . Évalué à 6.

    On pourra utiliser le meilleur système de formatage possible, si l'on ignore les règles de base, on obtiendra jamais rien de convenable (d'un point de vue typographique).
    A ce sujet, deux références (de l'avis général. Je ne suis pas du tout professionnel dans le domaine):

    Manuel de typographie française élémentaire (1) de Y. Perrousseaux, très adapté à la mise en page et rédaction de textes en PAO, et qui présente en première partie un historique fort interessant de l'écriture.

    Lexique des règles typographiques en usage à l'Imprimerie nationale (2), qui regroupe en un lexique bien pratique toutes les règles de ponctuation, capitalisation, présentation de bibliographie, accentuation, orthographe piégeux, etc., et qui fait pour beaucoup office de référence.

    J'ajoute que la lecture de http://www.uzine.net/article1802.html [uZine 3] est très instructive en matière de publication sur internet.

    Cordialement,

    FLG

    (1) http://www.amazon.fr/Manuel-typographie-fran%C3%A7aise-%C3%A(...)
    (2) http://www.amazon.fr/Lexique-r%C3%A8gles-typographiques-lImp(...)
  • # Il manque des infos !

    Posté par . Évalué à 3.

    Eh oui, il manque des infos qui intéressent les gens qui font de la typographie (c'est-à dire qui font des livres).

    Lesquels de ces systèmes sont capables de gérer automatiquement le calibrage correct d'une page, c'est-à dire de jouer subtilement sur l'interlignage et l'interlettrage pour exterminer (sauvagement) veuves et orphelines? Lesquels implémentent automatiquement les règles typo (celles "en usage à l'Imprimerie nationale", bien sûr) concernant la mise en page des dialogues, les espacements autour des signes de ponctuation, etc ?
    • [^] # Re: Il manque des infos !

      Posté par (page perso) . Évalué à 3.

      Oui, il manque pas mal d'infos...

      Les troff, lout et latex sont capables de gérer la mise en page intelligemment pour diminuer la probabilité de veuves et orphelins (lout utilise je crois l'algorithme de Knuth fait pour tex). Par contre, je ne crois pas qu'ils jouent sur l'interlignage, mais ils font en sorte que chaque paragraphe soit le plus joli possible, ce qui signifie éventuellement être un peu plus mauvais sur une ligne et nettement meilleur sur d'autres.

      Pour ce qui est des règles de typographie française, LaTeX va être le seul où tu trouveras une vraie localisation typographique. troff/groff est vraiment tourné anglais, il ne sait pas a priori faire la césure dans d'autres langues (mais ça peut se faire). Lout fait la différence, en particulier, il sait placer les espaces autour des signes de ponctuation, mais je ne crois pas que sa capacité à faire de la vraie typographie française soit à la hauteur de LaTeX.

      Cela dit, ce n'est évidemment pas complètement automatique, il faut charger le bon paquet ou mettre les bonnes options (\usepackage[francais]{babel} dans latex, @InitialLanguage { French } dans lout, dans troff, il faut charger des macros, mais je ne crois pas qu'il y en ait d'officielles).
  • # Ou alors

    Posté par . Évalué à 3.

    Il existe des logiciels spécialisés dans la mise en page comme Scribus.
    • [^] # Re: Ou alors

      Posté par . Évalué à 3.

      On a dit typographie ...
      • [^] # Re: Ou alors

        Posté par . Évalué à 2.

        Oui, et ? Tu sais que ces logiciels gèrent le positionnement et les styles de texte, dis-moi ?

        Scribus est au moins largement aussi concerné par ce sujet que ne le sont les "traitements de texte" évoqués au début du texte.
  • # Dommage...

    Posté par . Évalué à 7.

    Tu ne parles pas de typographie dans ton journal. La Typographie c'est l'art d'agencer des caractères pour former mots et des phrases.

    Tu te concentre sur l'aspect mis en pages des outils que tu présente, alors que ça ne fait pas partie de la typographie. Par contre, le fait que Latex transforme automatiquement le texte d'entrée pour qu'il respecte les différentes règles (une espace insécable après une double ponctuation par ex.) ça c'est clairement de la typographie. Ou que MS Word à la réputation d'être un vrai cochon :). Mais il y a plein d'autres choses en typographie (où placer les majuscules, comment utiliser les abréviations...)

    Bref un comparatif des mêmes outils que tu listes ici en présentant ce qu'ils offrent pour t'aider a avoir une typographie propre, ca serait super. (Et cent balles et un mars aussi)
  • # Docbook : pas si mauvais

    Posté par (page perso) . Évalué à 3.

    Pour avoir longtemps utilisé LaTeX, je pense que cet article ne donne pas l'éclairage mérité par Docbook.

    Il est vrai que, contrairement à LaTeX, Docbook est UNIQUEMENT un format de fichier, un dialecte XML comme on dit. Mais Docbook n'est pas une application. Une fois le document écrit, il faut le traiter avec un outil et là ça se complique car il y en a plusieurs.

    Outre cette difficulté de la mise en oeuvre, il faut reconnaître que Docbook permet d'aller beaucoup plus loin dans la séparation fond/forme. En effet, contrairement à (La)TeX, il est strictement impossible de mettre des directives de présentation dans le document.

    Pour la saisie, j'ai découvert XXE (http://www.xmlmind.com/xmleditor/). Cet outil (pas libre) est très pratique. Il permet de saisir son texte dans un environnement qui ressemble à du WYSIWYG, sans en être. Sur un projet professionnel, nous l'avons utlisé pour faire la documentation d'un logiciel. J'ai été très surpris de voir que tout le monde a su s'y mettre sans soucis. Le seul inconvénient : Docbook est riche, très riche, et les gens ont de mauvaises habitudes et préfère bricoler des trucs plutôt que d'imaginer qu'il y a des tags prévus (par exemple guimenu).


    Sinon, magnifique article. Bravo Bravo.
    • [^] # Re: Docbook : pas si mauvais

      Posté par . Évalué à 1.

      Connais-tu un tutoriel ou un document expliquant comment produire un PDF à partir d'un fichier DocBook avec les StyleSheets associés ?
      Quel outil utilises-tu pour faire cette conversion ?
      • [^] # Re: Docbook : pas si mauvais

        Posté par (page perso) . Évalué à 1.

        Perso, je préfère faire ma prepre DTD (ou schéma, c'est selon) avec une syntaxe vraiment adaptée au document à produire, et ensuite faire une feuille de style XSLT+XSL-FO pour produire un PDF avec FOP.

        Par contre, ça demande d'écrire pas mal de code pour chaque document ... Et ça demande aussi d'avoir soit un bon éditeur XML, soit un langage plus pratique à utiliser, et un bon convertisseur vers XML.
        J'utilise xmlcopyeditor¹ quand j'ai besoin d'un éditeur XML. Pas parfait, mais le meilleur que je trouve en libre.

        ¹ http://xml-copy-editor.sourceforge.net
      • [^] # Re: Docbook : pas si mauvais

        Posté par (page perso) . Évalué à 1.

        Je n'ai pas de tutorial sous la main. Mais voici quelques mots clé qui peuvent aider à trouver l'info.

        Pour produire du PDF, je connais deux solutions :
        - les feuilles de styles XSL/FO "officielles" et l'outil fop pour traiter le fichier .fo produit
        - db2latex, un outil produisant du PS/PDF à partir de document DocBook, en passant par du LaTeX (solution plus simple à bidouiller pour adapter la feuille de style)

        En espérant que cela aide.
  • # J'utilise Asciidoc...

    Posté par . Évalué à 1.

    ... qui est aussi assez lisible et intuitif pour obtenir un texte formatté à partir d'un source texte (http://www.methods.co.nz/asciidoc/), sinon, Docbook est plus compliqué à mettre en ½uvre, mais parfois bien adapté à certains travaux (manuels techniques par exemple)...

Suivre le flux des commentaires

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