Le LaTeX est de la composition typographique académique, avec ses formules et ses renvois. Le DOCX, c'est Word au format OOXML, avec ses titres, ses tableaux et ses styles nommés. pandoc se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier TEX en route vers le DOCX.
Ce qui s'exécute quand un fichier TEX devient un DOCX
pandoc en deux passes, sur une machine que nous louons et que nous surveillons. Votre fichier TEX est envoyé une fois, pandoc s'exécute une fois, le fichier DOCX revient, et aucun des deux fichiers n'est conservé. TEX vers DOCX fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier TEX dans le fichier DOCX
La hiérarchie des titres. pandoc analyse le fichier TEX vers son propre arbre de document et écrit cet arbre en DOCX, si bien qu'un titre de niveau deux reste un titre de niveau deux et non simplement du texte en gras.
Les tableaux, reconstruits en syntaxe DOCX plutôt que photographiés. C'est la différence entre un tableau qu'une machine sait lire et l'image d'un tableau, et c'est toute la raison de faire passer un fichier TEX par pandoc plutôt que par une imprimante.
Les listes du fichier TEX, imbrications comprises, plus les blocs de code, les citations et les liens, tous réexprimés en DOCX.
Les images : pandoc les extrait du fichier TEX vers un répertoire de travail et les réintègre dans le DOCX, si bien que rien ne finit par pointer vers un fichier qui n'existe plus.
Ce que la conversion TEX vers DOCX vous coûte
Tout ce que le fichier TEX va chercher ailleurs. La passe de lecture tourne en bac à sable : \input et \include ne sont pas suivis. Sans cela, un fichier TEX venu d'un inconnu lirait des fichiers quelconques sur le serveur et les imprimerait dans le DOCX, et le serveur garde ses propres identifiants dans un fichier.
D'où viennent les fichiers TEX et DOCX
DOCX. Word l'écrit, et Google Docs aussi à l'export. C'est la norme ISO/IEC 29500, une archive zip de XML, et c'est ce qui permet à un programme de lire le document sans ouvrir Word.
Si un modèle doit lire le fichier DOCX
Le DOCX est une bonne destination pour une personne et une destination médiocre pour un modèle : la structure est réelle, mais enfouie dans du XML entouré de beaucoup d'emballage. Si le prochain lecteur de ce fichier TEX est un assistant plutôt qu'un collègue, TEX vers Markdown est le chemin le plus court et coûte moins de jetons pour exactement le même contenu.
TEX vers DOCX, mesuré plutôt que promis
En passant TEX vers DOCX sur le moteur réel avec un vrai fichier, pandoc a écrit 10 172 octets au format DOCX en 0,1 secondes, machine par ailleurs au repos. C'est un fichier TEX un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict TEX vers DOCX a été obtenu par un aller-retour pandoc, c'est-à-dire que la sortie a été relue par pandoc et devait encore contenir un mot témoin planté dans la source, ce qui prouve que le contenu a voyagé et pas seulement le conteneur. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier DOCX contient.
Le même fichier TEX, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier TEX, pour que le coût du choix du format DOCX se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin TEX.
TEX vers MD : 276 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
TEX vers EPUB : 5 046 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
TEX vers TXT : 267 octets en 0,1 secondes, vérifié par la relecture du texte.
TEX vers HTML : 4 032 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
TEX vers RTF : 691 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
TEX vers ODT : 7 547 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
Les autres routes vers DOCX, et ce qu'elles ont mesuré
Parmi les routes publiées vers DOCX, TEX est la sixième plus grosse sortie des 12 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
AZW3 vers DOCX : 23 936 octets en 0,6 secondes.
CSV vers DOCX : 9 945 octets en 0,1 secondes.
JSON vers DOCX : 10 106 octets en 0,1 secondes.
MOBI vers DOCX : 24 070 octets en 0,6 secondes.
PDF vers DOCX : 23 905 octets en 0,9 secondes.
Ce que nous ne prétendrons pas sur TEX vers DOCX
Un fichier TEX de plus de 25 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion TEX vers DOCX qui dépasse 60 secondes est tuée, et le processus pandoc avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
32 des 935 paires sondées dans la famille qui sert TEX vers DOCX ont échoué, et celle-ci n'en fait pas partie. Elles échouent pour des raisons qu'il vaut mieux connaître : un rédacteur incapable de porter ce dont le document est fait, ou une sortie que le moteur n'a pas su relire. Elles sont comptées ici plutôt que cachées, parce qu'une paire qui échoue en silence est pire qu'une paire qui échoue bruyamment.
pandoc n'écrit jamais le DOCX en passant par un moteur TeX ici, et il n'écrit pas de PDF du tout : les onze moteurs qu'il lui faudrait ne sont pas sur cette machine, et une distribution TeX pèse plusieurs gigaoctets. Qui veut un PDF à partir d'un fichier TEX passe par LibreOffice ou par calibre, qui en sont réellement capables.
Un fichier TEX à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
TEX vers DOCX : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier TEX en DOCX ?
C'est pandoc qui s'en charge, en deux passes, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier TEX est envoyé une fois, pandoc s'exécute une fois, le DOCX revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion TEX vers DOCX ?
Sur le fichier utilisé par la sonde, pandoc a mis 0,1 seconde et écrit 10 172 octets de DOCX. C'est une mesure réelle sur un fichier TEX réel, pas une moyenne et pas une promesse sur le vôtre : un TEX plus gros prend plus longtemps, et au-delà de 60 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant du TEX au DOCX ?
Celle qu'il faut connaître en premier : tout ce que le fichier TEX va chercher ailleurs. La passe de lecture tourne en bac à sable : \input et \include ne sont pas suivis. Sans cela, un fichier TEX venu d'un inconnu lirait des fichiers quelconques sur le serveur et les imprimerait dans le DOCX, et le serveur garde ses propres identifiants dans un fichier.
Les tableaux de mon fichier TEX sont-ils encore des tableaux dans le DOCX ?
Oui. pandoc lit les tableaux du TEX dans son propre arbre de document et les réécrit en syntaxe DOCX, si bien que vous obtenez un tableau qu'une machine sait analyser plutôt qu'une image de tableau.
La conversion TEX vers DOCX est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion TEX vers DOCX coûte un demi-crédit dessus. Quand la franchise est épuisée, l'outil le dit et s'arrête, plutôt que de vous remettre discrètement un DOCX moins bon.