Ceux qui connaissent LaTeX, ou qui ont suivi la série d'articles correspondante par Fabien Conus et moi-même sur ce site, savent que ce langage/programme a pour point fort sa qualité de mise en page, laquelle respecte les canons typographiques les plus stricts.
Et pourtant, depuis la sortie de PDFTeX en 2000, LaTeX a franchi un pas supplémentaire dans cette qualité, avec la possibilité d'utiliser la microtypographie dans un document, grâce au paquet microtype.
Entre autres possibilités (dont la plupart sont au-dessus de mes compétences, voir la documentation pour tous les détails), ce paquet permet la protrusion et l'expansion des caractères de la fonte utilisée. Ces deux propriétés à elles seules permettent d'améliorer grandement ce qu'on appelle le gris typographique occupé par votre texte.
Protrusion, expansion ? C'est quoi ? De bonnes illustrations valant mieux qu'un long discours, voici une série d'exemples tirés de la documentation de microtype, à partir d'un texte-test (du créateur de PDFTeX, Han The Thanh, sur ces deux notions). Pour commencer, voici ce texte composé par PDFLaTeX mais sans protrusion ni expansion.
Le même, protrusion activée :
Si vous regardez attentivement (cliquez sur les images pour les agrandir, ce sera plus net), vous constaterez que les ponctuations et le tiret de césure se trouvant en fin de ligne sont repoussées vers la marge. L'œil n'est absolument pas gêné par cette entorse à la mise en paragraphe habituelle : au contraire même il apprécie l'espace plus uniforme occupé par le texte proprement dit, l'impression visuelle laissée par un signe de ponctuation étant nettement moins importante que celle laissée par une lettre. C'est cela la protrusion.
Maintenant le même texte, expansion activée (sans protrusion) :
Vous aurez remarqué que la coupure de mot qui figurait en fin d'une des lignes de ce texte a disparu. C'est un des effets produits par l'expansion de caractères, qui adapte de manière imperceptible à l'œil la taille (en largeur) de la fonte sur une ligne, de façon à diminuer (si la ligne est « lâche ») ou augmenter (si la ligne est « serrée ») les espaces entre les mots. Il faut savoir que dans un programme de mise en page digne de ce nom comme LaTeX bien sûr, InDesign, Word probablement, lorsque le texte est justifié les espaces inter-mots sont toujours « élastiques », pour obtenir des paragraphes au gris typographique plus uniforme. Faire varier (micrométriquement !) la taille de la fonte permet d'optimiser encore mieux cette « élasticité ».
Là encore, outre la diminution du nombre de coupures de mot en fin de ligne, le résultat avec expansion de caractères est plus agréable à l'œil puisque les espaces inter-mots sont mieux uniformisés sur un paragraphe entier.
Et maintenant voici le même texte, protrusion et expansion activées simultanément : le meilleur des mondes ! :-)
D'accord, tout cela est bien joli, mais comment l'utiliser en pratique ? C'est enfantin, il suffit de charger le paquet microtype en préambule de votre fichier .tex.
\usepackage{microtype} |
Avec PDFLaTeX et LuaLaTeX, la protrusion et l'expansion de votre texte seront alors activées par défaut. Mais attention, avec LuaLaTeX, les autres possibilités de microtype hors protrusion et expansion ne sont pas forcément disponibles, voyez encore une fois la documentation pour les détails. À l'heure actuelle, microtype ne fonctionne à 100 % de ses possibilités qu'avec PDFLaTeX.
Si vous êtes restés fidèle au format de sortie DVI originel de LaTeX, charger microtype sans option activera la protrusion mais pas l'expansion. Pour disposer des deux il faut dans ce cas entrer en préambule
\usepackage[expansion=true]{microtype} |
Enfin, avec XeLaTeX le chargement de microtype n'activera que la protrusion, le reste des fonctionnalités du paquet n'étant pas compatible avec le moteur XeTeX.
Il faut cependant remarquer que pour XeLaTeX comme LuaLaTeX, certaines propriétés microtypographiques (celles abordées ici et d'autres) peuvent être activées via la fonte utilisée elle-même, quand elle est de type OpenType. La disponibilité de ces propriétés dépend alors de la fonte en question. Si vous êtes concernés, voyez la documentation de l'incontournable paquet fontspec pour les détails.
On peut néanmoins espérer que dans un avenir proche toutes ces propriétés seront activables également par microtype, ce qui nous fournira une « interface microtypographique » unifiée pour le plus grand bonheur du rédacteur !
, le 04.09.2013 à 09:53
Ah ! Le gris typographique…
Cette notion est si mal gérée par la majorité des traitements de texte et/ou logiciels de mise en pages que Franck Pastor risque de me convertir à LaTex !
J’ai importé dans iPhoto les quatre images successives qu’il nous propose. En les faisant défiler avec les flèches du clavier, la différence est spectaculaire.
, le 04.09.2013 à 10:50
Salut
Autant je suis convaincu par l’élégance de la protusion, autant je reste perplexe quant aux avantages supposés de l’expansion. J’ai parfois repéré des textes imprimés dont quelques lignes expansées n’étaient pas du plus bel effet. (À moins d’avoir eu affaire à un défaut d’imprimante.) En tout état de cause, je formule une question pour Franck. Il me semble que l’on obtient un beau gris typographique en travaillant sur l’équilibre des mots, des lettres et des espaces non pas non pas sur une ligne, mais sur un paragraphe entier. Ce package microtype opère-t-il bien sur un paragraphe entier ?
Je rêve parfois que les moteurs typographiques de nos navigateurs web soient capables de telles prouesses. Le défi est de taille, puisque même la gestion des césures est très problématique. (En général, il n’y en a pas.) Le web nous habituant à lire des textes mal ficelés, c’est toujours un vrai repos visuel de lire un « beau » texte.
Amitiés
, le 04.09.2013 à 11:01
merci pour cet interessant article! je n’utilise pas latex, mais je suis sensible à la typographie. me souvient de la joie à la sortie d’indesign qui permettait la protrusion. chose que xpress ne permettait pas (en tout cas à l’epoque).
ce n’est pas tout à fait correct, les moteurs typographiques des navigateurs (modernes) sont capables, en tout cas de faire les césures. mais encore faut-il le leur indiquer. voir cet article
ciao, n
, le 04.09.2013 à 11:48
Merci Franck pour tes articles sur LaTeX toujours fort utile.
Petite demande de précision au cas où j’ai mal compris mais ce que tu veux dire c’est que la gestion microtype c’est d’augmenter de façon imperceptible la taille des caractères (et non des espaces) pour atteindre le but d’une meilleure protrusion et expansion?
Car sauf erreur, la protrusion et l’expansion sont déjà gérés par LaTeX et là, le but, c’est d’améliorer cette gestion en intervenant au niveau de la modification de la police et non plus au niveau des espaces / césures, non?
, le 04.09.2013 à 14:57
Voilà de quoi améliorer encore le rendu de textes. Merci beaucoup.
, le 04.09.2013 à 18:01
C’est tout le mal que je te souhaite ! ;-)
LaTeX lui-même (ou plutôt TeX, son moteur, ainsi que ses évolutions ultérieures PDFTeX, LuaTeX, XeTeX…) agit en effet sur le paragraphe entier. Son algorithme de composition de paragraphes est décrit en détail dans le TeXbook de Donald Knuth, son créateur, et a été repris ensuite par des programmes comme InDesign.
Ensuite (si j’ai bien saisi sa documentation) microtype active les capacités microtypographiques de PDFTeX/LuaTeX/XeTeX qui agiraient ligne par ligne sur le paragraphe préalablement constitué. J’imagine qu’après chaque modification microtypographique l’algorithme de mise en paragraphe TeXien intervient à nouveau, avec les nouvelles données, mais il faudrait que j’étudie la doc. de PDFTeX pour savoir comment ça marche vraiment.
Sans microtype, LaTeX ne gère pas du tout la protrusion ni l’expansion, ni d’autres aspects microtypographiques, à moins d’exploiter dans le cas de LuaLaTeX et XeLaTeX les propriétés microtypographiques de certaines fontes OpenType, via le paquet fontspec.
Pour la protrusion, je ne connais pas les détails techniques (pour ce faire il faudrait étudier la doc. de PDFTeX) mais il me semble qu’on agit bien sur les espaces d’une ligne, et non sur la taille des caractères, pour arriver à repousser dans la marge les ponctuations de fin de ligne.
Edit : si comme l’auteur de la doc de microtype le fait, on compte faisant partie de la microtypographie les ligatures ou le crénage, alors TeX s’en occupe depuis sa création en effet.
, le 04.09.2013 à 19:18
Moi non plus, je ne sais pas si c’est grave mais selon un sujet récent, j’espère que c’est rien de douloureux et je te souhaite un bon rétablissement!
Courage!
, le 05.09.2013 à 08:33
Bah, y a pire dans la vie… Par exemple être racheté par Micro$oft… :-b
, le 08.09.2013 à 07:05
Quelle finesse dans la mise en page! Je dois dire que j’ai vu des documents produits par deux de mes fils en LaTeX, c’est assez époustouflant.
Petite question: tout le monde ne jure que par Markdown maintenant (pas moi, mais sinon tout le monde): quelle est la compatibilité entre les deux mondes? LaTeX est immensément plus puissant déjà j’imagine?
, le 08.09.2013 à 08:34
Il ne s’agit pas du même monde en fait. Markdown est un langage de balisage prévu pour une lisibilité maximale du code, une portabilité aisée vers une multitude d’autres langages et, essentiellement, une publication sur le Web après conversion du code Markdown en code HTML.
Le point commun entre LaTeX et Markdown étant que, côté interface utilisateur, il s’agit de langages à balises.
Mais un code Markdown est bien plus lisible qu’un code LaTeX et c’est ce qui fait sa force, ainsi qu’une portabilité remarquable vers d’autres langages (vers LaTeX aussi d’ailleurs).
En contrepartie Markdown est beaucoup moins puissant et flexible que LaTeX quand il s’agit de produire des documents destinés à l’impression écrite ou à la lecture prolongée (au format PDF le plus souvent) sur un écran d’ordinateur ou iPad. Les documents composés aux petits oignons (microtypographie…), contenant un index, ou une table des matières , ou des références croisées dans le cours du texte, ou une bibliographie… ou tout cela à la fois, et pourquoi pas plusieurs indexes, tables, biblio… tu vois le genre. C’est un autre monde, inaccessible à Markdown qui n’est pas assez élaboré pour gérer toutes ces fonctionnalités. Du reste, s’il l’était, cela irait à l’encontre de son exigence de simplicité.