ZUFE Thesis Typesetter
Resumen
Usa este skill para convertir tu tesis en Word a un entregable LaTeX/PDF siguiendo la plantilla ZUFE-Thesis. Debes avanzar estrictamente por los tres flujos:
- Flujo A: Control de acceso estricto y preparación inteligente.
- Flujo B: Extracción formal del DOCX, inventario de contenidos, confirmación semántica y escritura en plantilla.
- Flujo C: Compilación, diagnóstico, control de calidad e instrucciones de entrega.
La retroalimentación principal para usuarios no técnicos debe darse en la conversación. Los scripts se encargan de la verificación estable, extracción, escritura de archivos, compilación y generación de evidencia legible por máquina.
Contrato principal
Debe ejecutarse desde el directorio raíz de la plantilla ZUFE-Thesis. Antes de modificar cualquier archivo, confirma que la firma de la plantilla esté completa.
Si el usuario aún no ha preparado el proyecto de plantilla, explica que este skill depende de la plantilla original ZUFE-Thesis LaTeX y procede en el siguiente orden:
- Por defecto, guía al usuario al repositorio original de la plantilla en GitHub:
https://github.com/sqsssq/ZUFE-Thesis. - Si GitHub no está disponible por restricciones de red, tras confirmación del usuario, puedes usar el enlace de respaldo nacional:
https://gitee.com/cwf818/ZUFE-Thesis. - Si tanto GitHub como Gitee no están disponibles, detén la conversión y solicita al usuario el archivo comprimido de la plantilla, el directorio completo descomprimido, u otro método de obtención confiable.
El agente puede ayudar al usuario a descargar, descomprimir o cambiar al directorio raíz de la plantilla tras confirmación, pero no debe omitir silenciosamente la preparación de la plantilla, ni continuar la conversión en un directorio vacío, en el repositorio de este skill, o en un directorio sin la firma de la plantilla.
Entrada estándar:
workspace/input/thesis.docx
workspace/input/metadata.yaml
Productos intermedios estándar:
workspace/intermediate/thesis.json
workspace/intermediate/extracted.md
Salida estándar:
main.pdf
workspace/output/report.md
workspace/output/qa_report.md
Orden de los flujos
Ejecuta los flujos en orden, no omitas el control de acceso aunque scripts posteriores puedan resolverlo.
- Flujo A: Verifica plantilla, workspace, DOCX, metadata, salidas antiguas, entorno Python DOCX, entorno LaTeX/Biber.
- Flujo B: Escribe cada bloque de contenido visible o extraíble del Word en
thesis.json; el agente asigna categorías semánticas y confirma con el usuario los elementos de baja confianza; el script solo renderiza las asignaciones confirmadas. - Flujo C: Archiva productos de compilación antiguos, ejecuta
xelatex -> biber -> xelatex -> xelatex, diagnostica fallos, realiza reparaciones mecánicas limitadas y realiza control de calidad del nuevo PDF.
Uso de scripts
Todos los scripts aceptan --root y generan salida JSON o escriben informes JSON. El agente usa el JSON para tomar decisiones y luego traduce los resultados a una lista breve comprensible para usuarios normales.
scripts/check_template.py: Verifica la firma de la plantilla ZUFE-Thesis.scripts/prepare_workspace.py: Creaworkspace/, coloca el DOCX en la ruta estándar y puede archivar salidas antiguas tras aprobación del usuario.scripts/check_env.py: Verifica Python,python-docx,xelatex,bibery los paquetes TeX clave de la plantilla.scripts/prescan_docx.py: Prescan ligero del DOCX y extracción candidata de metadata para el Flujo A. No debe generarthesis.jsonformal.scripts/import_docx.py: Extracción formal del Flujo B, generathesis.jsonyextracted.md.scripts/export_assets.py: Extrae los medios del DOCX aImages/word_media/y registra evidencia.scripts/render_basicinfo.py: Escribe metadata, resumen y palabras clave enchapters/basicinfo.tex.scripts/render_chapters.py: Escribe las asignaciones de capítulos confirmadas enchapters/*.texychapters/mainbody.tex.scripts/render_bib.py: Escribe las referencias BibTeX confirmadas enReference.bib, sin inventar referencias.scripts/check_flow_b_gate.py: Si aún hay bloques fuente no procesados, no confirmados o no renderizados, impide que el Flujo B se complete.scripts/build.py: Archiva elmain.pdfantiguo, limpia archivos de compilación temporales y ejecuta la cadena de compilación fija.scripts/diagnose_build.py: Clasifica los fallos de compilación en problemas accionables.scripts/qa.py: Verifica la frescura del PDF, texto, señales clave, referencias no resueltas, cierre de BibTeX/referencias, residuos de plantilla y marcadores de posición.
Responsabilidades del agente
El agente es responsable de las decisiones semánticas; los scripts no deben reemplazarlo:
- Determinar si un párrafo pertenece a título de capítulo, cuerpo, resumen, referencias, agradecimientos, apéndice, título de figura/tabla o ruido descartable.
- Consolidar problemas de baja confianza y confirmar con el usuario.
- Explicar en la conversación dónde está bloqueado, por qué y qué hacer a continuación.
- No descartar contenido silenciosamente, ni colocar contenido en el lugar incorrecto sin notificar.
- No inferir facultad, especialidad, fecha, tutor o tipo de memoria a partir del nombre del archivo; la metadata solo puede provenir de evidencia en el Word o confirmación del usuario.
- No ignorar problemas de estilo a nivel de run como si fueran problemas de texto plano; superíndice, subíndice y tamaño de fuente anómalo en tablas deben exponerse en los Flujos B/C.
- El Flujo C no corrige la semántica del documento; los errores de asignación de contenido deben devolverse al Flujo B.
Restricciones duras de calidad de conversión
- Los párrafos del DOCX no deben conservar solo el texto plano; deben preservar evidencia de
bold,italic,superscript,subscripty tamaño de fuente a nivel de run. Los números en superíndice deben renderizarse como\textsuperscript{...}, no aplanarse como texto normal. - Los números en superíndice sospechosos de ser números de referencia en Word no deben convertirse silenciosamente a texto plano. Para convertirlos en
\cite/\superciteformales, primero debe confirmarse la asignación de referencias; de lo contrario, al menos mantener el superíndice visual. - Los números de figura/tabla escritos manualmente en el cuerpo del Word, por ejemplo
图2.1,图 2.1,表1.2, no deben llevarse textualmente al código fuente final del capítulo. El agente debe confirmar el bloque de figura/tabla correspondiente, asignar unlabelestable a la figura/tabla, y reescribir el texto del cuerpo como图~\ref{...}o表~\ref{...}; si no se puede confirmar, bloquear el Flujo B. - Las comillas dobles ASCII en el texto normal deben convertirse a comillas izquierda/derecha LaTeX ``...''; las comillas inteligentes chinas se conservan por defecto. No aplicar la conversión de comillas a LaTeX raw, rutas de imagen, comandos de referencia y fórmulas.
- Si falta el resumen en inglés o las palabras clave en inglés, se debe pedir al usuario que elija: confirmar dejarlos vacíos, proporcionarlos manualmente o permitir su generación. No dejarlos vacíos por defecto ni completarlos automáticamente a partir del chino. Si el usuario permite la generación, se debe explicar que es una adición de contenido y registrar la autorización en metadata.
- Al generar
chapters/basicinfo.tex, se debe escribir globalmente\hypersetup{hidelinks,pdfborder={0 0 0},pdfborderstyle={/S/U/W 0}}para evitar que las referencias a figuras y URL muestren bordes de enlace de color en el PDF. - Las tablas usan por defecto el tamaño de fuente del estilo de plantilla
\zihao{5}. No se debe usar\resizebox{\textwidth}{!}{...}incondicionalmente, ya que agranda tablas estrechas y daña el tamaño de fuente. - Solo se permite reducir el tamaño de una tabla si su ancho natural excede el área de composición y no hay una solución de ancho de columna más segura; está prohibido agrandar tablas para "rellenar" el área de composición.
- Notas al pie, notas al final, fórmulas, hipervínculos, comentarios, marcas de revisión, cuadros de texto, encabezados y pies de página, etc., cuyo contenido no se convierte automáticamente por ahora, deben incluirse en
unsupported_features, no ignorarse silenciosamente.
Referencias detalladas
- Antes de hacer el Flujo A, lee
references/flow-a-gatekeeping.md. - Antes de hacer diagnóstico o reparación del entorno, lee
references/environment-sop.md. - Solo cuando se necesiten comandos de plataforma, detalles de instalación, reparación de PATH o instalación de paquetes TeX, lee
references/environment-setup-and-repair.md. - Antes de hacer extracción o renderizado del Flujo B, lee
references/flow-b-conversion.md. - Antes de hacer compilación o QA del Flujo C, lee
references/flow-c-export-and-qa.md. - Antes de editar manualmente
thesis.json, leereferences/thesis-json-schema.md.
Retroalimentación al usuario
Los usuarios no técnicos no necesitan abrir informes primero. Da primero en la conversación:
- Dónde está bloqueado el acceso.
- Por qué continuar no es seguro.
- Qué puede reparar automáticamente el agente.
- Qué operaciones requieren aprobación del usuario o provisión de archivos.
Cuando los usuarios técnicos necesiten detalles, entonces menciona las rutas de los informes.