CommunityImagegithub.com

retex-pdf

Traduit automatiquement un PDF académique dans la langue cible et compile un nouveau PDF à partir d'un modèle LaTeX générique de type arXiv. Prend en charge les projets TeX existants.

Qu'est-ce que retex-pdf ?

Cette compétence permet de traduire intégralement un PDF académique (ou un projet LaTeX existant) dans la langue demandée, puis de compiler le résultat en un nouveau PDF. Elle est conçue pour les agents d'IA comme Claude Code, Cursor ou Codex. L'agent analyse la mise en page, traduit les unités de prose, préserve les formules mathématiques et les figures sous forme de vecteurs, et vérifie que chaque élément source a bien une traduction avant la compilation. Elle prépare automatiquement l'environnement (Python et Tectonic) sur Windows et macOS, sans modifier le système. La compétence refuse catégoriquement de sauter des parties, de résumer ou d'omettre des sections. Elle produit un dossier complet avec le PDF final, le projet LaTeX modifiable, et un rapport de couverture pour garantir la traçabilité.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sadgsk/RetexPDF/tree/main/skills/retex-pdf

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

RetexPDF

La requête normale est : PDF en entrée → traduction complète → modèle LaTeX générique arXiv → PDF compilé. Effectuez ce travail, y compris la classification de la mise en page et la traduction. N'exigez pas que l'utilisateur trouve le TeX de l'auteur, utilise LaTeX, configure une API de traduction ou exécute des scripts. L'agent traduit ; les scripts persistent, assemblent et compilent. Le PDF fourni est l'édition faisant autorité.

Préparer automatiquement l'environnement

Windows :

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "<skill>/scripts/bootstrap.ps1" -WithPdf

macOS :

bash "<skill>/scripts/bootstrap.sh" ensure --with-pdf

Utilisez l'exécutable python absolu dans le JSON renvoyé. Exigez status: ready. L'amorçage réutilise d'abord un environnement privé fonctionnel et un Python installé compatible ; ne télécharge Python que lorsqu'aucun Python compatible n'est trouvé. Un -PythonPath / --python explicitement fourni a priorité. L'environnement PDF géré prend en charge Python 64 bits 3.10–3.14. Il installe PyMuPDF (version épinglée) dans un environnement privé et détecte ou installe Tectonic. Ne modifiez pas le Python système, le PATH, les profils shell ou le registre. N'installez pas de distribution TeX complète. Utilisez le cache existant sous %LOCALAPPDATA%/RetexPDF ou ~/Library/Caches/RetexPDF.

La première utilisation nécessite un accès réseau pour les dépendances, paquets et polices manquants. Ne passez pas -Offline / --offline lors d'une première utilisation ordinaire. Doctor est en lecture seule ; offline interdit explicitement les téléchargements. Les points d'entrée macOS existent mais ont encore besoin d'une validation native Mac. Conservez les journaux concrets en cas d'échec de l'environnement et réparez-le si possible ; n'envoyez pas les utilisateurs installer LaTeX manuellement.

Sélectionner la voie d'entrée

  • PDF fourni : utilisez le workflow PDF, scripts/pdf_translate.py et assets/arxiv-paper.tex. Ne déviez pas pour trouver le TeX de l'auteur ou geler un extrait reconstitué. La source de l'auteur n'est pas un prérequis. L'agent doit classer le PDF rendu et remplir le registre de traduction complet.
  • Projet TeX existant fourni : utilisez le registre source et scripts/translation_ledger.py. Le TeX mathématique original peut être conservé directement. Conservez la classe fournie sauf si l'utilisateur demande le modèle générique.
  • Lien/ID d'article fourni : obtenez le PDF exact demandé. La source correspondante est facultative ; ne substituez jamais silencieusement une édition différente.

Utilisez la langue cible et la locale demandées par l'utilisateur. Inférez une cible établie à partir de la conversation ; ne demandez que si elle est vraiment non spécifiée. Le chinois n'est pas une cible fixe. Choisissez les polices et la prise en charge linguistique pour le système d'écriture demandé.

Règles de contenu non négociables

  1. Traduisez l'intégralité de l'article, y compris tous les paragraphes, titres, légendes, notes de bas de page ordinaires, remerciements, algorithmes, démonstrations et annexes. Une demande pour voir l'effet signifie toujours l'article complet, sauf si un échantillon est explicitement demandé. Ne résumez jamais, ne raccourcissez pas une dérivation et ne remplacez pas une section par une explication de ce qui a été omis.
  2. Conservez intacts le bloc des auteurs : noms, ordre, texte d'affiliation, exposants, notes de contribution/correspondance et courriels. Conservez les entrées bibliographiques et leur numérotation. Conservez les données, les identifiants et les étiquettes de formules. Conservez les illustrations et valeurs des figures/tableaux ; traduisez les légendes. Si l'utilisateur demande la traduction du texte dans les illustrations/tableaux, ajoutez un workflow de couche de texte mappé séparé plutôt que de le traiter silencieusement comme traduit.
  3. Gardez chaque formule en ligne dans sa phrase. Conservez chaque formule affichée, chaque dérivation multi-ligne et chaque symbole. Pour une entrée PDF, copiez les régions de formules/figures/tableaux sous forme de clips vectoriels PDF, y compris les fractions, radicaux, accents et numéros d'équation. Ne redessinez jamais les mathématiques avec génération d'image. Ne reconstruisez pas une formule à partir d'un ordre de caractères extrait non fiable.
  4. Conservez l'ordre source. Joignez les phrases coupées entre les pages avant de traduire. Gardez les légendes des figures/tableaux avec leurs objets et les algorithmes ensemble lorsqu'ils tiennent sur une page. Utilisez le modèle générique pour redistribuer le texte ; les coordonnées originales et le nombre de pages original ne sont pas une exigence sauf demande explicite.
  5. N'ajoutez pas de préface du traducteur, d'instructions de lecture, de note d'omission, de résumé ou de nouveau contenu à l'intérieur de l'article. Les rapports techniques appartiennent à l'extérieur du PDF.
  6. Persistez l'original, l'inventaire complet et chaque traduction avant l'assemblage. Chaque unité source doit avoir une traduction ou un actif préservé explicitement légitime. N'utilisez jamais un recours à la prose inchangée pour masquer une traduction incomplète. Les limites de contexte signifient sauvegarder et reprendre les unités en attente, pas les omettre.
  7. Un inventaire de glyphes prouve uniquement la couverture mécanique des glyphes extraits. Comparez les pages sources rendues avec l'inventaire pour détecter les dessins, textes scannés, ordre de lecture multi-colonnes et extraction endommagée. Comparez chaque unité traduite avec sa source complète. Un indicateur reviewed enregistre le travail réel ; ce n'est pas un raccourci pour réussir une compilation.

Exécution PDF

Suivez la référence détaillée pour les formats de commandes et JSON :

  1. extract : conservez le PDF original exact, toutes les pages, glyphes, polices et positions.
  2. Inspectez les rendus de pages ; classifiez les blocs d'auteurs, figures, tableaux, légendes et mathématiques affichées dans layout.json. Corrigez la segmentation et les jointures des mathématiques en ligne. Marquez les pages comme révisées uniquement après avoir comparé leur contenu visible avec l'inventaire. Incluez tout contenu graphique sans texte natif.
  3. prepare --target-language ... : assignez des identifiants de traduction et figez la mise en page, la prose et les fragments vectoriels. Chaque glyphe natif doit être pris en compte exactement une fois.
  4. pending : lisez les unités complètes avec leur contexte. Traduisez par lots et sauvegardez avec put --file ... --reviewed uniquement après une comparaison réelle avec la source. Les espaces réservés mathématiques doivent rester complets et ordonnés. Utilisez un glossaire cohérent.
  5. build --output <new-project> : assemblez un nouveau main.tex et fragments.pdf, puis compilez automatiquement. Les traductions manquantes, source/mise en page modifiée, jetons de formule manquants ou unités/pages non révisées interrompent la compilation. N'utilisez jamais le compilateur seul pour contourner ces vérifications pour une traduction incomplète.
  6. Rendez et inspectez le PDF compilé réel. Réparez le rognage, le chevauchement, les mauvais glyphes, les légendes détachées et les formules en ligne cassées. Vérifiez que chaque page source et chaque section, y compris l'appendice final, a un contenu de sortie correspondant. Ne livrez qu'après que le travail soit complet.

Un changement de mise en page nécessite un nouveau prepare. Les identifiants de traduction peuvent changer : réconciliez les anciennes lignes par le hachage de source gelé et la page, puis vérifiez le mappage. Ne copiez jamais aveuglément des lignes clés anciennes et ne recalculez pas les hachages pour approuver un contenu modifié.

Pour les scans ou les extractions de texte cassées, ajoutez une transcription OCR/visuelle à l'inventaire persisté avant de traduire. L'extracteur natif de ce script n'est pas un moteur OCR et ne doit pas traiter les pages sans image comme vides. Si un bloc ne peut pas encore être lu, continuez à le récupérer ; ne l'omettez pas silencieusement et ne prétendez pas avoir une sortie complète.

Polices, compilation et livraison

Le modèle fourni est un article académique générique à une colonne adapté à une sortie de type arXiv, et non un modèle officiel unique arXiv. Le chinois utilise ctex avec Fandol par défaut. D'autres écritures peuvent fournir --language-setup contenant les bons paquets de polices/langues ; confirmez la couverture, le façonnage et la direction avec un titre, un paragraphe et une formule représentatifs. Ne considérez pas le paramètre de langue cible seul comme une preuve que les polices sont configurées.

Tectonic télécharge automatiquement les paquets/polices manquants. Réparez les erreurs du compilateur dans la copie de travail générée ou le générateur, jamais en supprimant du contenu. failed n'est pas un livrable ; review_required signifie qu'un PDF existe mais que ses avertissements nécessitent une résolution. compiled confirme uniquement la compilation, pas l'exhaustivité sémantique ou visuelle. Pour les demandes de compilation source uniquement, utilisez retex.ps1 -Action Compile ou retex.sh compile directement. L'échappement shell reste désactivé.

Conservez les fichiers de travail/intermédiaires dans le cache de travail RetexPDF ou un répertoire de travail désigné par l'utilisateur. Livrez le PDF traduit complet et le projet assemblé modifiable ; conservez l'instantané original, la mise en page, le registre de traduction et le rapport de couverture pour la traçabilité. N'intégrez pas les données de l'article ou la traduction dans la compétence installée. Divulguez les limitations concrètes restantes en dehors de l'article, y compris les étiquettes en langue originale préservées dans les figures/tableaux lorsque cela est applicable. Ne promettez jamais que les vérifications mécaniques garantissent une traduction sémantique parfaite pour chaque PDF possible.

Skills associés