Communitygithub.com

SeraphinaGlacia/ZUFE-Thèse-Skill

Skill de mise en forme automatique des mémoires de fin d'études et des rapports de stage professionnel pour les étudiants de l'Université de Finance et d'Économie du Zhejiang (ZUFE). L'utilisateur interagit simplement avec l'IA pour transformer un brouillon Word en PDF et projet LaTeX aux normes spécifiques à l'université, simple et efficace, sans perdre de temps en mise en page.

Qu'est-ce que ZUFE-Thèse-Skill ?

Ce skill, nommé 'ZUFE Thesis Typesetter', automate la conversion des mémoires et rapports rédigés sous Microsoft Word en un rendu final conforme aux normes de l'Université de Finance et d'Économie du Zhejiang (ZUFE), au format PDF et LaTeX. Il s'appuie sur un processus strict en trois phases (A, B, C) pour garantir la qualité : vérification de l'environnement et du template LaTeX, extraction sémantique du contenu Word avec validation de l'utilisateur, puis compilation LaTeX et contrôle qualité. L'outil est conçu pour fonctionner avec le template officiel 'ZUFE-Thesis' disponible sur GitHub ou Gitee, et requiert l'installation de dépendances comme Python, python-docx, XeLaTeX et Biber. Il est adapté aux utilisateurs non techniques en fournissant des retails clairs dans la conversation, tout en offrant des scripts détaillés pour les utilisateurs avancés. Le skill est capable d'extraire et de conserver les attributs de run (gras, italique, exposant, indice), de gérer les citations, les figures, les tableaux, et de produire des rapports de diagnostic en cas d'échec de compilation, le tout en respectant des contraintes strictes de qualité de conversion.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add SeraphinaGlacia/ZUFE-Thesis-Skill

Demander à votre IA préférée

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

Documentation

ZUFE Thesis Typesetter

Vue d'ensemble

Utilisez cette skill pour convertir un mémoire Word en livrable LaTeX/PDF aux normes ZUFE-Thesis. Suivez scrupuleusement les trois processus :

  • Processus A : Contrôle d'accès strict et préparation intelligente.
  • Processus B : Extraction formelle du DOCX, inventaire du contenu, confirmation sémantique et écriture dans le template.
  • Processus C : Compilation, diagnostic, contrôle qualité et instructions de livraison.

Les retours principaux destinés aux utilisateurs non techniques doivent être donnés dans la conversation. Les scripts assurent la vérification stable, l'extraction, l'écriture des fichiers, la compilation et la génération de preuves lisibles par la machine.

Contrat principal

Doit être exécuté depuis le répertoire racine du template ZUFE-Thesis. Avant de modifier tout fichier, vérifier d'abord l'intégrité de la signature du template.

Si l'utilisateur n'a pas encore préparé le projet template, expliquez que cette skill dépend du template LaTeX original ZUFE-Thesis, et traitez dans l'ordre suivant :

  1. Par défaut, orientez l'utilisateur vers le dépôt GitHub du template original : https://github.com/sqsssq/ZUFE-Thesis.
  2. Si GitHub est indisponible en raison du réseau, après accord de l'utilisateur, utilisez le lien miroir national : https://gitee.com/cwf818/ZUFE-Thesis.
  3. Si GitHub et Gitee sont tous deux indisponibles, arrêtez la conversion et demandez à l'utilisateur de fournir une archive zip du template, un répertoire de template complet décompressé, ou une autre méthode d'obtention fiable.

L'agent peut, après confirmation de l'utilisateur, aider à télécharger, décompresser ou se placer dans le répertoire racine du template, mais ne doit pas ignorer silencieusement la préparation du template, ni continuer la conversion dans un répertoire vide, le dépôt de cette skill, ou un répertoire dépourvu de la signature du template.

Entrées standard :

workspace/input/thesis.docx
workspace/input/metadata.yaml

Produits intermédiaires standard :

workspace/intermediate/thesis.json
workspace/intermediate/extracted.md

Sorties standard :

main.pdf
workspace/output/report.md
workspace/output/qa_report.md

Ordre des processus

Exécutez les processus dans l'ordre, ne sautez pas le contrôle d'accès en espérant qu'un script ultérieur pourra corriger.

  1. Processus A : Vérifiez le template, l'espace de travail, le DOCX, les métadonnées, les sorties précédentes, l'environnement Python DOCX, et les environnements LaTeX/Biber.
  2. Processus B : Écrivez chaque bloc de contenu visible ou extractible du Word dans thesis.json ; l'Agent est responsable de l'attribution des emplacements sémantiques et de la confirmation avec l'utilisateur des contenus à faible confiance ; le script ne rend que les mappings confirmés.
  3. Processus C : Archivez les anciens artefacts de compilation, exécutez xelatex -> biber -> xelatex -> xelatex, diagnostiquez les échecs, effectuez des réparations mécaniques limitées, et effectuez le contrôle qualité du nouveau PDF.

Utilisation des scripts

Tous les scripts acceptent --root et produisent du JSON ou écrivent des rapports JSON. L'Agent utilise le JSON pour la prise de décision, puis traduit les résultats en une courte liste compréhensible pour un utilisateur lambda.

  • scripts/check_template.py : Vérifie la signature du template ZUFE-Thesis.
  • scripts/prepare_workspace.py : Crée workspace/, place le DOCX dans le chemin standard, et peut archiver les anciennes sorties après approbation de l'utilisateur.
  • scripts/check_env.py : Vérifie Python, python-docx, xelatex, biber et les packages TeX clés du template.
  • scripts/prescan_docx.py : Pré-analyse légère du DOCX et extraction candidate de métadonnées pour le Processus A. Ne doit pas générer de thesis.json officiel.
  • scripts/import_docx.py : Extraction formelle pour le Processus B, génère thesis.json et extracted.md.
  • scripts/export_assets.py : Extrait les médias du DOCX dans Images/word_media/ et enregistre les preuves.
  • scripts/render_basicinfo.py : Écrit les métadonnées, le résumé et les mots-clés dans chapters/basicinfo.tex.
  • scripts/render_chapters.py : Écrit les mappings de chapitres confirmés dans chapters/*.tex et chapters/mainbody.tex.
  • scripts/render_bib.py : Écrit les entrées BibTeX confirmées dans Reference.bib sans inventer de références.
  • scripts/check_flow_b_gate.py : Empêche la finalisation du Processus B si des blocs sources restent non traités, non confirmés ou non rendus.
  • scripts/build.py : Archive l'ancien main.pdf, nettoie les fichiers de compilation temporaires, exécute la chaîne de compilation fixe.
  • scripts/diagnose_build.py : Classe les échecs de construction en problèmes actionnables.
  • scripts/qa.py : Vérifie la fraîcheur du PDF, le texte, les signaux clés, les références non résolues, la boucle de fermeture BibTeX/références, les résidus du template et les placeholders.

Responsabilités de l'Agent

L'Agent est responsable du jugement sémantique, les scripts ne doivent pas le remplacer :

  • Déterminer si un paragraphe correspond à un titre de section, du corps de texte, un résumé, des références, des remerciements, des annexes, une légende de figure/tableau, ou du bruit à ignorer.
  • Regrouper les problèmes de faible confiance et les soumettre à l'utilisateur pour confirmation.
  • Expliquer dans la conversation où le blocage se produit, pourquoi et quelles sont les prochaines étapes.
  • Ne pas ignorer silencieusement le contenu, ne pas le placer au mauvais endroit silencieusement.
  • Ne pas deviner l'institut, la spécialité, la date, le directeur ou le type de rapport à partir du nom de fichier ; les métadonnées doivent provenir de preuves Word ou de la confirmation de l'utilisateur.
  • Ne pas traiter les problèmes de style au niveau run comme de simples problèmes de texte ordinaire ; les exposants, indices, tailles de police anormales dans les tableaux doivent être exposés pendant les processus B/C.
  • Le Processus C ne corrige pas la sémantique du document ; les erreurs d'attribution de contenu doivent être renvoyées au Processus B.

Contraintes dures de qualité de conversion

  • Les paragraphes du DOCX ne doivent pas conserver uniquement le texte brut ; les preuves de bold, italic, superscript, subscript et de taille de police au niveau run doivent être conservées. Les chiffres en exposant doivent être rendus sous la forme \textsuperscript{...}, ne pas les aplatir en chiffres normaux du corps de texte.
  • Les chiffres en exposant dans Word qui semblent être des appels de note ne doivent pas être silencieusement réécrits en texte brut. Pour les convertir en \cite/\supercite officiels, le mapping de la référence doit d'abord être confirmé ; sinon, conservez au moins l'exposant visuel.
  • Les numéros de figures et tableaux saisis à la main dans le corps du texte Word, par exemple 图2.1, 图 2.1, 表1.2, ne doivent pas être conservés tels quels dans le code source final du chapitre. L'Agent doit confirmer le bloc de figure/tableau correspondant, lui attribuer un label stable, et réécrire le corps en 图~\ref{...} ou 表~\ref{...} ; en cas d'incapacité de confirmation, bloquer le Processus B.
  • Les guillemets ASCII doubles dans le texte ordinaire doivent être convertis en guillemets LaTeX gauche/droit ``...'' ; les guillemets intelligents chinois sont conservés par défaut. Ne pas appliquer la conversion de guillemets de texte ordinaire au LaTeX brut, aux chemins d'images, aux commandes de citation et aux formules.
  • En cas d'absence de résumé en anglais ou de mots-clés en anglais, l'utilisateur doit choisir : confirmer laisser vide, fournir manuellement ou autoriser la génération ; ne pas laisser vide par défaut ou générer automatiquement à partir du chinois. Si l'utilisateur autorise la génération, expliquez d'abord qu'il s'agit d'un complément de contenu et enregistrez l'autorisation dans les métadonnées.
  • Lors de la génération de chapters/basicinfo.tex, vous devez écrire \hypersetup{hidelinks,pdfborder={0 0 0},pdfborderstyle={/S/U/W 0}} globalement pour éviter que les références de figures et les URL n'affichent des bordures colorées dans le PDF.
  • Les tableaux utilisent par défaut la taille de police du template \zihao{5}. N'utilisez pas \resizebox{\textwidth}{!}{...} sans condition, car cela agrandirait les tableaux étroits et briserait la taille de police.
  • Seulement si la largeur naturelle du tableau dépasse effectivement la zone de composition et qu'il n'existe pas de solution de largeur de colonne plus fiable, autorisez la réduction du tableau ; interdisez l'agrandissement du tableau pour "remplir la zone de composition".
  • Les notes de bas de page, notes de fin, formules, hyperliens, commentaires, traces de révision, zones de texte, en-têtes et pieds de page, etc., dont le contenu n'est pas encore automatiquement converti, doivent entrer dans unsupported_features sans être ignorés silencieusement.

Références détaillées

  • Avant d'exécuter le Processus A, lisez references/flow-a-gatekeeping.md.
  • Pour les diagnostics ou réparations d'environnement, lisez d'abord references/environment-sop.md.
  • Lisez references/environment-setup-and-repair.md uniquement lorsque des commandes de plateforme, des détails d'installation, des corrections de PATH ou des installations de packages TeX sont nécessaires.
  • Avant l'extraction ou le rendu du Processus B, lisez references/flow-b-conversion.md.
  • Avant la compilation ou le contrôle qualité du Processus C, lisez references/flow-c-export-and-qa.md.
  • Avant de modifier manuellement thesis.json, lisez references/thesis-json-schema.md.

Retours utilisateur

Les utilisateurs non techniques n'ont pas besoin d'ouvrir d'abord le rapport. Donnez d'abord dans la conversation :

  • Où se trouve le blocage du contrôle d'accès.
  • Pourquoi continuer serait risqué.
  • Ce que l'Agent peut réparer automatiquement.
  • Quelles actions nécessitent l'approbation de l'utilisateur ou la fourniture de fichiers.

Pour les utilisateurs techniques ayant besoin de détails, complétez ensuite avec le chemin du rapport.

Skills associés