Le DOCX, c'est Word au format OOXML, avec ses titres, ses tableaux et ses styles nommés. Le JATS est le XML dans lequel les éditeurs de revues et PubMed archivent les articles. pandoc se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier DOCX en route vers le JATS.
Ce qui s'exécute quand un fichier DOCX devient un JATS
pandoc en deux passes, sur une machine que nous louons et que nous surveillons. Votre fichier DOCX est envoyé une fois, pandoc s'exécute une fois, le fichier JATS revient, et aucun des deux fichiers n'est conservé. DOCX vers JATS 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 DOCX dans le fichier JATS
La hiérarchie des titres. pandoc analyse le fichier DOCX vers son propre arbre de document et écrit cet arbre en JATS, 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 JATS 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 DOCX par pandoc plutôt que par une imprimante.
Les listes du fichier DOCX, imbrications comprises, plus les blocs de code, les citations et les liens, tous réexprimés en JATS.
Les images : pandoc les extrait du fichier DOCX vers un répertoire de travail et les réintègre dans le JATS, si bien que rien ne finit par pointer vers un fichier qui n'existe plus.
Ce que la conversion DOCX vers JATS vous coûte
La couche de présentation. pandoc ne traduit pas le fichier DOCX en JATS, il le reconstruit depuis son propre arbre de document : les styles personnalisés, la mise en page, les en-têtes et les pieds de page ne traversent pas. La structure, si, et c'est de cela que l'arbre est fait.
D'où viennent les fichiers DOCX et JATS
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.
JATS. Journal Article Tag Suite, une norme NISO et le format dans lequel PubMed Central, Crossref et la plupart des éditeurs conservent les articles. Si un article part dans une chaîne éditoriale de revue plutôt que sur une page web, c'est sous cette forme qu'il doit arriver.
Si un modèle doit lire le fichier JATS
La structure est ce qui subsiste du fichier DOCX, et la structure est ce dont un modèle a besoin. DOCX en entrée, JATS en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
DOCX vers JATS, mesuré plutôt que promis
En passant DOCX vers JATS sur le moteur réel avec un vrai fichier, pandoc a écrit 1 116 octets au format JATS en 0,1 secondes, machine par ailleurs au repos. C'est un fichier DOCX un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict DOCX vers JATS a été obtenu par la recherche d'un marqueur propre au format, et du mot témoin avec lui, c'est-à-dire que la sortie porte un marqueur qu'aucun autre format n'écrit, et le mot témoin planté dans la source y est encore. Rien ne sait relire ces cibles, les deux ont donc été exigés : le mot seul prouverait que le texte a voyagé, le marqueur seul que la forme est bonne. 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 JATS contient.
Le même fichier DOCX, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier DOCX, pour que le coût du choix du format JATS 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 DOCX.
DOCX vers PDF : 11 917 octets en 1,2 secondes, vérifié par une signature de format.
DOCX vers MD : 266 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
DOCX vers EPUB : 5 040 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
DOCX vers TXT : 264 octets en 0,1 secondes, vérifié par la relecture du texte.
DOCX vers HTML : 4 018 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
DOCX vers RTF : 4 205 octets en 1,1 secondes, vérifié par la relecture du type interne et la recherche d'un mot témoin.
Ce que nous ne prétendrons pas sur DOCX vers JATS
Un fichier DOCX 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 DOCX vers JATS 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 DOCX vers JATS 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 JATS 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 DOCX passe par LibreOffice ou par calibre, qui en sont réellement capables.
Un fichier DOCX à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
DOCX vers JATS : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier DOCX en JATS ?
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 DOCX est envoyé une fois, pandoc s'exécute une fois, le JATS revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion DOCX vers JATS ?
Sur le fichier utilisé par la sonde, pandoc a mis 0,1 seconde et écrit 1 116 octets de JATS. C'est une mesure réelle sur un fichier DOCX réel, pas une moyenne et pas une promesse sur le vôtre : un DOCX 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 DOCX au JATS ?
Celle qu'il faut connaître en premier : la couche de présentation. pandoc ne traduit pas le fichier DOCX en JATS, il le reconstruit depuis son propre arbre de document : les styles personnalisés, la mise en page, les en-têtes et les pieds de page ne traversent pas. La structure, si, et c'est de cela que l'arbre est fait.
Les tableaux de mon fichier DOCX sont-ils encore des tableaux dans le JATS ?
Oui. pandoc lit les tableaux du DOCX dans son propre arbre de document et les réécrit en syntaxe JATS, si bien que vous obtenez un tableau qu'une machine sait analyser plutôt qu'une image de tableau.
La conversion DOCX vers JATS est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion DOCX vers JATS 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 JATS moins bon.