Overleaf, LaTeX et Turnitin : ce qu’un PDF compilé peut changer

Le fichier `.tex` et le PDF compilé sont deux objets différents. Notre montage fixe montre à quel point tout dépend à la fois du compilateur et de l’extracteur : le nombre de mots a bougé, les coupures de fin de ligne ont bougé, des ligatures sont apparues pour deux outils mais pas pour un troisième, et une phrase visuellement intacte s’est retrouvée coupée par une note de bas de page, un numéro de page, un tableau et une figure.

L'équipe HumanPen

· 11 min de lecture

Écrire en LaTeX change-t-il ce que voit un rapport d’IA Turnitin ?

Turnitin accepte le PDF, mais cela ne révèle pas ce que voit son extracteur privé. Dans notre montage reproductible, mutool et PyMuPDF ont renvoyé chacun 694 mots délimités par des espaces à partir d’un même fichier pdfTeX sur deux colonnes ; pypdf en a renvoyé 692. La compilation et l’extracteur ont tous deux façonné le flux de texte. Voilà qui est mesurable. Un effet sur l’entrée ou le score Turnitin ne l’est pas.

Cette frontière, c’est tout l’article. La source, trois PDF, neuf flux d’extraction bruts et le script de mesure sont conservés avec le dossier de preuves ; la vérification de cinq minutes vers la fin est celle à faire tourner sur votre propre article.

Ce que nous avons compilé et avec quoi nous l’avons lu

Un seul fichier `.tex` : la classe standard `article`, `twocolumn`, 10pt. Il contient un résumé, quatre sections numérotées, des mathématiques en ligne et en bloc, une liste `itemize`, un environnement `algorithm` avec des lignes de pseudocode numérotées, un flottant `table`, un flottant `figure` dont la légende est une phrase complète, une note de bas de page assez longue pour passer à la ligne, et deux appels `\cite` résolus en une bibliographie numérotée. Les compilations sur deux colonnes produisent deux pages ; le témoin sur une colonne en produit trois.

Compilé avec pdfTeX 3.141592653-2.6-1.40.26, TeX Live 2024. Lu avec trois extracteurs indépendants : mutool 1.25.6, PyMuPDF 1.26.0 et pypdf 6.4.0.

Après avoir réduit chaque suite d’espaces à un seul espace, mutool et PyMuPDF ont renvoyé chacun 694 mots du PDF pdfTeX sur deux colonnes. Pypdf en a renvoyé 692. Les trois flux conservent le même ordre général des sections, mais l’écart de deux mots suffit à rejeter l’affirmation commode selon laquelle des extracteurs indépendants verraient un objet identique.

L’ordre de lecture sur deux colonnes a tenu

L’avertissement le plus répété à propos d’un PDF sur deux colonnes, c’est que l’extracteur lit tout droit à travers les deux colonnes et transforme votre article en un charabia entrelacé. Cela ne s’est pas produit ici. La dernière phrase du résumé, en bas de la première colonne, arrive juste avant la première phrase de l’Introduction, en haut de la deuxième colonne. L’ordre est intact sur tout le document.

Une mise en page, une classe, trois extracteurs, une machine. Voilà la portée de l’affirmation. La `.cls` propre à une revue, avec un placement de flottants inhabituel ou un encadré latéral, pourrait se comporter différemment, et c’est précisément pourquoi la vérification de la fin de cet article mérite cinq minutes sur votre propre fichier plutôt que sur le nôtre.

C’est autre chose qui s’est cassé à la place, et dont on parle beaucoup moins.

Flottants, notes de bas de page et numéros de page au milieu des phrases

Voici un extrait littéral du flux PyMuPDF, avec les espaces normalisés et sans rien supprimer entre les deux bornes citées :

"…justification for treating a visually correct page as a reliable 1This footnote is deliberately long enough to wrap onto a second line so that its position in the extracted stream can be observed and compared with nearby prose. 1 Table 1: Primary outcome by condition. Condition Mean SD Control 12.4 3.1 Intervention 18.9 2.7 Figure 1: The framed area is a fixture rather than a reported empirical result. text stream…" (… justification pour traiter une page visuellement correcte comme un fiable 1Cette note de bas de page est délibérément assez longue pour passer à une deuxième ligne, afin que sa position dans le flux extrait puisse être observée et comparée à la prose voisine. 1 Tableau 1 : Critère de jugement principal par condition. Condition Moyenne ÉT Témoin 12.4 3.1 Intervention 18.9 2.7 Figure 1 : La zone encadrée est un élément du montage et non un résultat empirique rapporté. flux de texte …)

Dans la source, `reliable text stream` ne forme qu’une seule expression. Dans cette extraction, la note de bas de page, un numéro de page brut, la légende du tableau avec ses cellules et la légende de la figure se retrouvent tous entre `reliable` et `text stream`. Ailleurs, la marque de note se colle aussi à la ponctuation qui précède, sous la forme `follows:1`.

Le `1` brut dans cette citation, c’est le numéro de page. Si l’on rassemble les flux des pages, il se trouve entre la note de bas de page et le tableau, alors qu’aucun lecteur ne le voit comme faisant partie de l’un ou l’autre passage.

Rien de tout cela n’est un dommage visible du PDF. C’est ce que cet extracteur local nommé a renvoyé, et cela montre pourquoi « la phrase d’avant » et « la phrase d’après » ne sont pas des notions stables tant que la méthode d’extraction n’est pas connue.

De vingt-deux coupures de fin de ligne à cinq

LaTeX peut couper les mots en fin de ligne, et une colonne étroite multiplie les occasions. PyMuPDF a trouvé 22 tokens coupés dans notre compilation pdfTeX sur deux colonnes. En voici six :

Par exemple : ex- poses · differ- ences · specifica- tions · observa- tions · justifica- tion · partici- pants

Nous avons ensuite compilé la même source sur une seule colonne, en ne changeant que l’option de classe. PyMuPDF a renvoyé 678 mots normalisés et cinq tokens coupés au lieu de 22 : `or- dinary`, `extrac- tion`, `jus- tification`, `partici- pants`, `par- ticular`.

Même source, un simple changement de mise en page, et un ensemble de coupures différent. C’est un cas unique plutôt qu’une règle valable pour chaque fichier de classe, mais cela suffit à justifier de vérifier le fichier compilé plutôt que de supposer que la tokénisation de la source a survécu.

Le compilateur choisi a changé les caractères

Nous avons compilé la même source une troisième fois avec XeLaTeX, avec la même mise en page sur deux colonnes et les mêmes mots sur la page.

Dans la compilation pdfLaTeX, les trois outils n’ont exposé aucun token contenant les points de code de ligature `ff`, `fi`, `fl`, `ffi` or `ffl`. In the XeLaTeX build, PyMuPDF and pypdf each exposed six: `affiliated`, `affiliation`, `difficult`, `efficiency`, `insufficient`, `office` (dans la compilation XeLaTeX, PyMuPDF et pypdf en ont exposé six chacun). Mutool n’en a exposé aucun parce qu’il a normalisé ces glyphes pour revenir à des lettres ordinaires. Une recherche naïve de `efficiency` réussit donc dans un flux et échoue dans un autre.

L’équation a changé dans l’autre sens. Dans le fichier pdfTeX, mutool a renvoyé un caractère de remplacement Unicode à la place du signe somme, tandis que PyMuPDF et pypdf ont renvoyé un `X` majuscule. In the XeLaTeX file, all three exposed the actual `∑` (dans le fichier XeLaTeX, les trois ont exposé le vrai caractère). Le compilateur et l’extracteur comptaient tous les deux.

Les pages Turnitin citées ici n’identifient pas son extracteur et ne décrivent pas ces transformations, et nous ne prétendons pas que tout cela déplace un score. Nous avançons quelque chose de plus étroit et de vérifiable : la couche de texte est un produit de la compilation, et différents extracteurs peuvent exposer différents caractères à partir du même PDF.

Ce que Turnitin dit bien, à propos d’un article de cette forme

Quatre passages de la documentation du fournisseur lui-même concernent directement un article de cette forme. Ces pages en disent plus ; voici les quatre qui touchent une soumission LaTeX.

Le format est accepté. Les exigences de fichier de Turnitin pour un AI Writing Report listent `.docx, .pdf, .txt, .rtf`. Cela prouve qu’un PDF peut être traité ; cela ne dit rien sur la chaîne d’extraction utilisée. Turnitin détecte-t-il l’IA dans un PDF parcourt la partie documentée de cette question.

Seule la prose compte. La FAQ définit ce qui est analysé comme texte éligible :

« This qualifying text includes only prose sentences, meaning that we only analyze blocks of text that are written in standard grammatical sentences and do not include other types of writing such as lists, bullet points (short non-sentence structures), or other non-sentence structures. » (Ce texte éligible n’inclut que des phrases de prose, c’est-à-dire que nous n’analysons que des blocs de texte rédigés en phrases grammaticales standard et qui n’incluent pas d’autres types d’écriture comme les listes, les puces (structures courtes non phrastiques) ou d’autres structures non phrastiques.)

La phrase suivante est celle à retenir : « This percentage is not necessarily the percentage of the entire submission. » (Ce pourcentage n’est pas nécessairement celui de l’ensemble du dépôt.) Vos puces `itemize` et vos lignes `algorithm` ne sont pas des phrases. Une rangée de cellules de tableau non plus. Comment Turnitin traite les équations mathématiques et le contenu non-prose détaille ce que cela signifie pour un article fait surtout de formules. Notez toutefois ce qui compte, en revanche : une légende rédigée avec `\caption` comme une phrase grammaticale complète, ce qui est la façon dont la plupart des gens écrivent les légendes, arrive dans le flux exactement comme de la prose de corps de texte.

Les bibliographies sont exclues. Une note de version datée du 9 août 2023 indique qu’un bug qui surlignait de l’écriture IA à l’intérieur des références a été corrigé, et « Bibliographies are now excluded when processing the AI writing report » (les bibliographies sont désormais exclues lors du traitement du rapport d’écriture IA), la même note ajoutant que les dépôts existants doivent être soumis à nouveau avant que cela ne s’applique à eux. Ce que le fournisseur ne publie pas, c’est la façon dont une bibliographie est identifiée dans un flux de texte aplati, et notre extraction ne donne pas davantage d’indice : `References` arrive comme un mot ordinaire, suivi de `[1] J. Smith, "A study of things," Journal of Testing, vol. 4, no. 2, pp. 100–110, 2019.`, sans rien qui marque la frontière. Ne bâtissez pas votre plan sur l’une ou l’autre de ces lectures. Ce que les exclusions de références couvrent réellement détaille ce qui est documenté et ce qui ne l’est pas.

Les articles courts se comportent différemment. Dès qu’un document descend à quelques centaines de mots, la formulation du fournisseur lui-même est que la prédiction devient « mostly 'all or nothing' because we're predicting on a single segment without the opportunity to overlap » (en grande partie « tout ou rien », parce que nous prédisons sur un seul segment sans possibilité de chevauchement), et sa phrase suivante ajoute qu’un contenu mixte peut alors être signalé comme entièrement généré par IA. Un article de conférence de six pages composé à moitié d’équations peut ne contenir que très peu de texte éligible. Documents courts et le problème du tout ou rien détaille le mécanisme.

Au moment où quelqu’un le lit, une commande de citation n’est plus qu’un crochet et un chiffre

`\cite{smith2019,jones2020}` est arrivé dans l’extraction sous la forme des quatre caractères `[1, 2]`. `\ref{sec:method}` est arrivé sous la forme `2`. `\label` n’a rien laissé du tout. Les titres de section sont arrivés avec leur numéro et leur titre séparés, si bien que `2 Method` se trouve dans le flux juste après la phrase précédente, et que le renvoi antérieur `Section 2 describes the method.` se lit comme de la prose contenant un chiffre égaré.

Cela signifie que tout plan fondé sur la mise en forme des citations agit sur quelque chose qui n’existe pas. Il n’y a aucun objet de citation dans le texte extrait, seulement des crochets et des chiffres, et la description publiée du calcul par Turnitin ne mentionne une citation à aucune étape. Pourquoi Turnitin a-t-il signalé mes références liste les modifications précises qui en découlent, et pourquoi chacune n’a rien sur quoi agir.

La vérification de cinq minutes, sur votre article plutôt que sur le nôtre

Vous n’avez besoin d’aucun des outils que nous avons utilisés. Ouvrez votre PDF compilé dans le lecteur de votre choix, sélectionnez tout et collez le tout dans un éditeur de texte brut. C’est un chemin d’extraction de plus, pas un substitut à Turnitin, mais cela peut révéler des problèmes dans la couche de texte que vous soumettez réellement.

Lisez-le en cherchant ceci, dans cet ordre :

  1. Mots coupés. Recherchez un trait d’union suivi d’un retour à la ligne. Chaque occurrence est un mot qui a cessé d’être un seul mot.
  2. Là où vos flottants ont atterri. Trouvez la légende d’un tableau et lisez les deux phrases autour. Si la légende et ses cellules ont atterri à l’intérieur d’un paragraphe, c’est désormais l’ordre de lecture de ce paragraphe.
  3. Vos légendes. Si une légende est une phrase grammaticale complète, elle ressemble à de la prose, parce que c’en est.
  4. Les mathématiques. Lisez une équation en bloc dans le texte collé. Ce que vous voyez, c’est ce qu’un extracteur a obtenu. S’il manque des caractères ou s’ils sont faux, cela dit quelque chose de l’incorporation de vos polices, pas de votre algèbre.
  5. Le début de la bibliographie. Regardez si quoi que ce soit dans le texte brut marque l’endroit où commence la liste de références. Chez nous, rien ne le faisait.
  6. Votre nom et votre affiliation. Ils sont aussi dans la couche de texte, ce qui compte si vous soumettez quelque part où l’on attend l’anonymat.

Si votre `.tex` est sous Git ou dans Overleaf, faites-le une fois par révision majeure plutôt qu’une seule fois à la fin. Et sur la question distincte de savoir si l’historique d’écriture dans Overleaf vaut quelque chose comme preuve, là où se trouve l’historique des versions dans Word, Google Docs et Overleaf détaille les règles de conservation du forfait gratuit et ce qu’il faut en faire, qui sont plus précises que la plupart des gens ne l’imaginent.

Si des phrases doivent changer

Pour un article LaTeX, la réponse est ennuyeuse et juste : modifiez la source, recompilez, et n’éditez jamais le PDF. La phrase vit dans le fichier `.tex`. Tout le reste n’est qu’un rendu de celui-ci.

La chaîne devient malcommode lorsqu’elle ne finit pas sur un PDF. Un directeur peut vouloir un suivi des modifications, une revue peut exiger un manuscrit Word, ou quelqu’un peut renvoyer un rapport d’écriture IA établi sur le PDF compilé et demander quels passages vont changer. Vous avez maintenant le même article dans deux formats.

Pour une version DOCX en anglais, L’outil HumanPen peut limiter une réécriture aux passages que vous sélectionnez ou aux passages correspondants d’un rapport Turnitin ou iThenticate. Humanize est aujourd’hui réservé à l’anglais ; il ne prend ni `.tex` ni un PDF compilé comme source modifiable. Confirmez le périmètre au niveau du paragraphe, gardez la source LaTeX comme document maître et revérifiez le document converti après le téléchargement. Les passages éligibles peuvent être relancés gratuitement.

Questions fréquentes

Dois-je soumettre le fichier `.tex` à la place du PDF ? Soumettez ce que demandent le devoir ou la revue. Un fichier `.tex` est du texte brut avec des balises, et chaque commande arriverait comme des caractères littéraux : ce n’est donc pas une version plus propre de votre article pour quelque lecteur que ce soit, humain ou non.

Mes équations font-elles monter mon score d’IA ? Ce ne sont pas des phrases de prose : selon la définition du fournisseur lui-même, elles sont donc hors du texte éligible. Les phrases explicatives autour, elles, sont dedans. Sur un article fait surtout d’équations, cela signifie que le chiffre est calculé sur une petite tranche des pages.

Le format sur deux colonnes pose-t-il problème en lui-même ? L’ordre général des sections a tenu dans ce montage. Sous PyMuPDF, la compilation sur deux colonnes comptait 22 coupures de fin de ligne et celle sur une colonne en comptait 5. C’est une différence mesurée pour ce fichier de classe, pas une règle pour tous les modèles de revue.

Mon établissement veut un fichier Word et j’écris en LaTeX. Vous avez donc une étape de conversion, et c’est là que la numérotation, les renvois et les champs de citation risquent le plus de casser. Convertissez une seule fois, tard, et vérifiez les types d’objets plutôt que de lire les deux premières pages.

Puis-je utiliser l’historique d’Overleaf pour montrer comment l’article a été écrit ? C’est un registre, pas un verdict, et avec le forfait gratuit l’essentiel disparaît au bout d’un jour, à moins d’étiqueter les versions. L’article cité plus haut détaille la règle exacte et l’habitude d’étiquetage qui permet d’y remédier.

CONTINUER LA LECTURE