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 :
- Par défaut, orientez l'utilisateur vers le dépôt GitHub du template original :
https://github.com/sqsssq/ZUFE-Thesis. - 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. - 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.
- 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.
- 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. - 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éeworkspace/, 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,biberet 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 dethesis.jsonofficiel.scripts/import_docx.py: Extraction formelle pour le Processus B, génèrethesis.jsonetextracted.md.scripts/export_assets.py: Extrait les médias du DOCX dansImages/word_media/et enregistre les preuves.scripts/render_basicinfo.py: Écrit les métadonnées, le résumé et les mots-clés danschapters/basicinfo.tex.scripts/render_chapters.py: Écrit les mappings de chapitres confirmés danschapters/*.texetchapters/mainbody.tex.scripts/render_bib.py: Écrit les entrées BibTeX confirmées dansReference.bibsans 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'ancienmain.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,subscriptet 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/\superciteofficiels, 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 unlabelstable, 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_featuressans ê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.mduniquement 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, lisezreferences/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.