Habilidad de Re-editación Tipográfica (Re-typeset) de Libros de Matemáticas LaTeX
Objetivo y Alcance
Reproducir con alta fidelidad monografías matemáticas escaneadas o en PDF como código fuente LaTeX que sea compilable, navegable y con referencias cruzadas. Esta habilidad condensa la metodología y el mapa de dificultades de proyectos reales. Origen práctico:
-
Occidental: Re-editación completa de "A Course in Functional Analysis" de Conway (GTM 96, 436 págs., 11 capítulos + 3 apéndices, 0 errores de compilación / 0 enlaces rotos / 1606 saltos internos).
-
Chino: Re-editación completa de "Mathematical Analysis (Volumen 1)" de Xu Senlin y Xue Chunhua (551 págs., 6 capítulos + prefacio + referencias bibliográficas, 40 archivos fuente de capítulos, 23 TikZ nativos, 0 errores / 0 caracteres faltantes / 0 referencias indefinidas / 0 Overfull / 0 '??' en la capa PDF).
-
Occidental con paginación por capítulo: Re-editación completa de "Abelian l-Adic Representations and Elliptic Curves" de Serre (203 págs. originales → 129 págs., prefacio + 4 capítulos + dos conjuntos de referencias bibliográficas + índice, paginación por capítulo I-1/II-42/B-5/Index-3, 0 errores / 0 indefinidos / 0 etiquetas duplicadas, entornos de sentencias numeradas manualmente + clave de ordenación
sortkeyde biblatex para fijar la numeración original del libro). -
Occidental de un solo volumen con paginación continua: Re-editación completa de "Algebraic Theory of Numbers" de Samuel (110 págs. de texto original → 104 págs., numeración simple dentro de la sección
Teorema 1/(1), referencias bibliográficas[1]–[9], ejercicios numerados por capítulo, enlaces de índice V.2; 371 etiquetas / 846 destinos de enlaces internos / 922 anotaciones de enlace PDF / 110 Q.E.D., 0 errores / 0 enlaces rotos / color de enlace medido (0,0,178)). -
Aplicable a: Re-editación de libros originales (sin traducción). Cuatro rutas: ① Formato de contador único tipo Springer GTM (contador compartido
gtmitem, numeración\thesection.\arabic{gtmitem}); ②clspropio para libros chinos (xeCJK + Fandol, archivos separados por capítulo + generador para vertido); ③clspropio para monografías con paginación por capítulo (\chapcode+ redefinición de\thepage, entornos de sentencias numerados manualmente); ④clspropio para monografías de un solo volumen con paginación continua y numeración simple por sección (contadores separados por palabra clave + reinicio por sección,\foliosolo al inicio de las divisiones). Los gráficos siguen la derivación de "Ilustraciones matemáticas ordinarias". Los editables y redibujables usan TikZ nativo; para los que se reutilizan con fidelidad, se puede conservar el PDF vectorial del libro original. -
No aplicable a: Proyectos de traducción pura de tipo
mathtranslation(pertenecen a la habilidadmathtranslation).
Cuándo Usar
- Cuando el usuario diga "re-editación tipográfica de tal libro", "componer un PDF en LaTeX", "completar referencias cruzadas", "reparar overfull", "numeración de ecuaciones desplazada" o "código OCR corrupto".
- Cuando se asume un proyecto de re-editación tipográfica y se necesita establecer una disciplina estricta antes de comenzar.
- Cuando la compilación produce errores como
multiply defined/undefined references, desplazamiento de numeración o numerosos overfull.
Disciplina Estricta (Línea Roja, Confirmar Antes de Empezar)
| Elemento | Requisito |
|---|---|
| Final de línea | CRLF, UTF-8 sin BOM (para todos los .tex/.cls/.py) |
| Compilación | xelatex -interaction=batchmode main.tex × 3 (después de cambiar etiquetas, limpiar aux × 4) |
| Línea roja de calidad | 0 errores de compilación, 0 referencias indefinidas, 0 caracteres faltantes, 0 overfull en nuevos capítulos |
| Fuente del contenido | Basado en la imagen PDF del libro original; el OCR se utiliza solo como índice de búsqueda |
| Modificar contenido | Solo modificar el generador (make_chNN_secM.py) → ensamblar; nunca editar directamente chapters/*.tex |
| Numeración | Primero elegir la ruta según el libro original: GTM usa el contador compartido gtmitem; para monografías con numeración manual o exámenes, se puede usar el número de visualización original + contador de anclaje oculto. No cambiar la numeración original por razones de continuidad |
| Ecuaciones | Las ecuaciones interlineales no numeradas usar \[\] / align* simple, o equation\notag; está prohibido asignarles un número |
| Gráficos | Priorizar redibujo con TikZ/PGFPlots nativo; si el libro original tiene una figura vectorial fiable, se puede conservar directamente el PDF vectorial. Prohibido convertir una figura vectorial a PNG primero y luego afirmar que no tiene pérdidas; las imágenes de mapa de bits del libro original deben registrar sus limitaciones originales |
Mapeo de Páginas del Libro Original
Página física = Página del libro + desplazamiento (desplazamiento GTM96 = 15). Primero medir el desplazamiento; todas las posteriores "comprobaciones con el libro original" se posicionan según la página física.
Ilustraciones Matemáticas Ordinarias: Fidelidad, Legibilidad y Verificación por Figura
Esta sección aplica a curvas, superficies, campos vectoriales, rejillas de coordenadas, orientación/límites, figuras geométricas facetadas, etc.; los diagramas conmutativos continúan con la auditoría borde a borde de la siguiente sección. Utilizar el proceso de reparación de ilustraciones compartido por ambas habilidades, no aplicar mecánicamente el marco de recorte o la escala de un libro en particular.
Primero hacer un inventario independiente de las figuras en el libro original y en la cadena de compilación real, luego crear un registro detallado por figura, anotando la página física/marco de recorte, el número de figura, todas las subfiguras, etiquetas, flechas/orientación, activos fuente, página PDF final y evidencia de verificación. El mismo número o nombre de archivo no descarta que "una figura incorrecta haya reemplazado a la correcta"; verificar las figuras adyacentes, especialmente varias figuras en la misma página y las notas de figura alineadas a izquierda y derecha.
Priorizar la conservación del contenido vectorial fiable del libro original; cuando sea necesario adaptar al chino, unificar fuentes o reparar geometría, redibujar con TikZ/PGFPlots nativo. Antes de redibujar, listar los hechos matemáticos visibles: coordenadas/relaciones de curvas, puntos finales de vectores, número de curvas de nivel y sus valores, orientación, símbolos de límite, oclusión y proyección. No alterar estos hechos por razones estéticas. Las figuras de superficies y campos complejos no deben degradarse a diagramas esquemáticos de significado similar. La reorganización de subfiguras debe preservar el orden de lectura, la importancia de la escala y las relaciones de conexión.
La renderización a 400 DPI es solo un mapa de bits; la reutilización vectorial real debe conservar las rutas PDF, los glifos, la transparencia y revisar la salida. El cuadro delimitador de la ruta dado por el paquete de dibujo puede contener puntos de control de la curva o estar sujeto a restricciones de recorte interno; no se debe tomar ciegamente la unión, ni se puede intersecar con el marco de recorte como evidencia de truncamiento. El recorte automático solo genera candidatos; se debe verificar visualmente la página original completa, la figura candidata y la página final del libro. Conservar flechas delgadas, etiquetas distantes, números de subfiguras y un margen de seguridad adecuado.
El tamaño de la figura está determinado por el tamaño de fuente final y el espacio de la página; no se establece un ancho mínimo/máximo uniforme para todo el libro; el ancho usa el \linewidth local, manteniendo la relación de aspecto. Las figuras densas se pueden ampliar o reorganizar, no se pueden reducir recortando los bordes o las etiquetas. La entrega del libro completo debe tener una correspondencia de página final para cada figura; la compilación exitosa, 256 números de figura correspondientes a 256 archivos, y una alta similitud de píxeles no pueden reemplazar respectivamente el contenido, la cobertura y la verificación visual.
Auditoría de Fidelidad de Diagramas Conmutativos y Flechas
Esta sección se refiere específicamente a diagramas conmutativos compuestos por nodos y morfismos, mallas de secuencias exactas, diagramas de pullback/pushout, etc.; las ilustraciones geométricas ordinarias, los gráficos de curvas y las matrices de fórmulas continúan bajo sus propias reglas. Al dibujar o auditar, usar tikzcd, no usar por defecto array para ensamblar diagramas de flechas. Al encontrar un borrador antiguo, no buscar solo tikzcd: ejecutar scripts/inventory_diagrams.py de la habilidad de auditoría asociada, cubriendo todos los archivos fuente, archivos de entrada, notas al pie/apéndices y definiciones de macros que realmente participan en la compilación; los candidatos se clasifican elemento por elemento como diagramas conmutativos, fórmulas/tablas, macros para expandir o pendientes. Los diagramas de flechas en array/aligned/matrix/CD/xymatrix también se incluyen; las matrices ordinarias no se migran mecánicamente por contener un entorno de matriz.
Para cada figura, establecer la malla de nodos y la lista de aristas tanto desde el PDF del libro original como desde la versión re-editada, y luego comparar cada arista: origen, destino, cabeza de flecha, extremo de gancho de inyección, cabeza doble/línea de signo igual/sin cabeza, línea continua/discontinua, etiqueta y su lado, nodos vacíos y filas/columnas cero. r/l/u/d son desplazamientos geométricos, no pueden reemplazar el juicio sobre la dirección del mapeo; verificar from/to explícito, opciones de flecha inversa, nodos nombrados y macros expandidas reales. La inyección debe mostrar el gancho en el PDF final, y la sobreyección debe mostrar la cabeza doble. hook' solo cambia el lado del gancho, no invierte la flecha; \hookrightarrow en una etiqueta tampoco cambia el estilo de la arista. Verificar las opciones locales y el orden de apilamiento de \tikzcdset, every arrow/.style y macros personalizadas; configuraciones posteriores como rightarrow pueden eliminar el hook anterior. La compilación exitosa y la presencia de hook en el código fuente no pueden reemplazar la verificación de los extremos.
Determinar los hechos visibles de nodos y aristas basándose en la imagen de la edición publicada del libro original; el TeX original, el OCR y la semántica matemática son solo evidencia auxiliar. Mapear las páginas físicas del libro original y de la versión re-editada por separado; no inferir la página de la figura directamente desde el número de página del teorema/proposición. Primero observar la estructura general de la figura, luego ampliar para verificar los ganchos, las cabezas dobles, los extremos de las flechas y los recortes; al mismo tiempo, verificar las muestras pequeñas aisladas y la página final del libro.
Si no es posible ver la imagen directamente, primero confirmar la ruta local de la imagen y la herramienta de visualización, y luego intentar de nuevo; un error de ruta/herramienta no equivale a que el modelo no tenga capacidad visual. Si aún no es posible la verificación visual, seguir el procedimiento de verificación sin visión de la habilidad asociada: expandir la malla desde el código fuente según los &/\\ de nivel superior (conservando los nodos vacíos y manejando las macros anidadas), verificar la dirección de las aristas y los estilos efectivos; en el área de recorte del PDF ya confirmado, verificar el tramo de texto y las rutas/glifos vectoriales, distinguiendo entre tres tipos de evidencia: topología del código fuente, geometría del PDF y observación visual directa. El hecho de que el PDF no haya extraído los trazos de la cabeza de la flecha no puede probar que la figura original no tuviera flechas. Conservar las figuras, aristas, números de línea, páginas del libro original/posiciones de recorte que no se puedan confirmar; estos detalles deben marcarse como pendientes, y no se puede reemplazar la verificación visual con una compilación exitosa o con el → del OCR.
Referencia Rápida de Dificultades Clave
La tabla completa está en references/pitfalls.md. Las más frecuentes:
- Trampa de texto en dos capas del PDF: El libro original incrusta una capa de texto oculta
HiddenHorzOCR, yget_text()mezcla basura (ej.Jf= ℋ,&i(= ℬ). Las fórmulas deben renderizarse conget_pixmapy verificarse visualmente. - Contador compartido para ecuaciones numeradas: Las ecuaciones interlineales numeradas usan
gtmeq(avanza el contador); las que tienen un número en blanco a la izquierda usanequation\notag(no avanza).equationsimple caerá en el contador de equation y se renderizará como número de capítulo. - Claims numerados por capítulo:
claim*sin número en los capítulos 1 y 2;claimcon número en los capítulos 3, 4 y 9. - No añadir etiquetas de entorno por semántica: El libro original tiene muchos párrafos simples; envolverlos erróneamente en
remarkconsumirá un número y desplazará la numeración de todos los elementos siguientes. - Referencias cruzadas A–E (ver
references/crossref.md):\gtmtargetdesplazado antes de\item, dos formas de escribir bloques de ejercicios, daño por expresión regular\\S, reemplazo secundario de espacios en lote + falsos errores por.auxobsoleto, suplemento de número de capítulo cero /\ref{}vacío. - Fuga de
\pagestyle{empty}(pérdida de encabezado y número de página en todo el libro): El archivo de portada establece\pagestyle{empty}pero nunca lo restaura, causando que todas las páginas subsiguientes del libro no tengan encabezado ni número de página.\thispagestylesolo afecta a la primera página; se debe restaurar explícitamente con\pagestyle{fancy}en las macros de cabecera de capítulo/prefacio/bibliografía/índice (ver a continuación "Sección Especial para Monografías con Paginación por Capítulo").
Sección Especial para Monografías con Paginación por Capítulo (Formato \chapcode)
Los libros originales tipo Serre tienen paginación independiente por capítulo con prefijo de capítulo (I-1…I-30, II-1…II-42, B-1…B-8, Index-1…Index-3). El cls personalizado añade toda una categoría de dificultades más allá de la ruta del contador compartido GTM. La versión completa está en references/chapcode-retypeset.md. Las cinco más frecuentes:
| Síntoma | Solución Correcta |
|---|---|
| Las páginas subsiguientes del libro no tienen encabezado ni número de página | Fuga de \pagestyle{empty} desde front/titlepages.tex; dentro de cada macro de cabecera (\chapterhead/\fmhead/bib/index), restaurar explícitamente con \pagestyle{...}, no solo con \thispagestyle (solo afecta a la primera página) |
El formato de página es restablecido por \pagenumbering | El kernel \pagenumbering{roman} redefine \thepage; se debe separar el "formato de impresión" del "conteo", y después de cada \pagenumbering, reconstruir \thepage/\theHpage (este último = número de página impreso, para que el ancla coincida con el número de página) |
| El folio de prefacio salta repetidamente / se imprime dos veces | \fmhead[folio#] solo avanza cuando el folio destino es > que el valor actual (solo avanza, nunca retrocede), evitando saltos hacia adelante |
| La numeración de las sentencias no coincide con el libro original | El libro original tiene numeración manual (mezcla de numeradas/sin número, a menudo se reinicia): usar "parámetros de numeración manual + contador de anclaje oculto", \begin{stmt}{LEMMA}{3}, y si no tiene número, el segundo parámetro vacío |
| La numeración de biblatex desordena el orden del libro original | Plantilla de ordenación personalizada + campo sortkey en cada entrada, fijando refnumber al original [1]–[88] |
| La impresión por categoría pierde exactamente la última entrada de cada categoría | El } final de \addtocategory en una nueva línea → TeX lee el salto de línea como un espacio, la clave final se convierte en xxx␠, y biblatex la anota en el .aux y no puede coincidir con la entrada. Solución: añadir % al final de la línea de la clave final para eliminar el salto de línea. Primero verificar si hay espacios al final en \abx@aux@category{...} del .aux (defernumbers=true no puede repararlo) |
| Los números de página en la tabla de contenido son enlaces muertos | hyperref no genera un destino page.<folio> para algunas páginas; usar \hyperref[<etiqueta de la propia entrada>] (capítulo chap:I/sección sec:I.2/referencia bib:main), con \@ifundefined{r@…} como respaldo a \hyperlink{page.<folio>} |
Cuatro tipos de convenios de encabezado para libros con paginación por capítulo (verificar cada tipo según el libro original; la tabla completa está en references/chapcode-retypeset.md):
Capítulos del cuerpo principal (página par: título del libro / página impar: título corto del capítulo), secciones preliminares (nombre de la sección reemplaza al título del libro), bibliografía principal/suplementaria, índice (solo números de página desnudos en el lateral exterior).
Sección Especial para Monografías con Numeración Simple dentro de la Sección (Tipo Samuel)
Un solo volumen, paginación arábiga continua, sentencias con contadores separados por palabra clave y reinicio por sección imprimiendo números simples, ecuaciones reiniciadas por sección imprimiendo (1), referencias bibliográficas [n], ejercicios numerados por capítulo. La versión completa está en references/samuel-style-retypeset.md. Las nueve más frecuentes:
| Síntoma | Solución Correcta |
|---|---|
| La numeración de una sentencia con nombre no es correcta (Proposition 3 se imprime como 2) | El envoltorio de la sentencia debe incondicionalmente hacer \refstepcounter; el parámetro opcional solo es responsable de imprimir el nombre |
| No coinciden las páginas con el escaneo página por página | No forzar página por página; solo ajustar \folio{n} al inicio de un capítulo/Supplement/Exercises/Bib/Index (solo avanza, nunca retrocede) |
| El encabezado debe mostrar el intervalo de números de sección de la sección actual dentro de la página | \pagefirstsec + \afterpage para recordar la primera sección de la página anterior; verso folio|título del capítulo|§§ c.a–c.b, recto al revés |
Un número de capítulo de una obra externa se enlaza incorrectamente (ej. [1], Algèbre, Chapter VI, Chapter V of [9]) | Excluir según tres reglas: proximidad de [n] y Chapter, of [n], \emph{Algèbre}; proteger primero \divhead{Chapter X} |
El enlace [n] de la referencia bibliográfica no funciona | \item[\textbf{[n]}] \phantomsection\label{bib:n}; en el texto: \hyperref[bib:n]{[n]} (el texto mostrado está fijado) |
| La cadena de referencias de ejercicios no funciona | Dentro de \exitem, hacer \refstepcounter{exno} + \label{exer:c.n}; cada capítulo \exchap{X} reinicia; Review Problems usar R1/R2/R3 para evitar coincidencias con el último capítulo |
Las entradas de lista (1)(2) no tienen ancla | \item\label{prop:c.s.i}; el texto aún debe escribir \hyperref[...]{(1)}, porque \ref de enumerate no incluye paréntesis |
| La auditoría de referencias simples está llena de falsos positivos | Se debe bloquear todo \hyperref[...]{...} (coincidencia de llaves); el bloqueo de \[...\] requiere re.S |
.aux informa que la etiqueta no existe / el color del código fuente no coincide con el PDF | Analizar \newlabel con coincidencia de llaves (el valor de la entrada tiene la forma {{(1)}}); para el color, usar muestreo a 300 dpi del rectángulo del enlace para afirmar (0,0,178) |
Compilación: si el cls usa fontspec, pdflatex fallará inevitablemente (fontspec requires XeTeX or LuaTeX); usar lualatex/xelatex; latexmk puede dejar un fdb que aún podría invocar pdflatex, si es necesario llamarlo directamente.
Sección Especial para Libros Chinos (xeCJK)
La re-editación tipográfica de libros de matemáticas chinos tiene toda una categoría de dificultades que no se encuentran en los libros occidentales. La versión completa está en references/cjk-retypeset.md. Las cinco más frecuentes:
| Síntoma | Solución Correcta |
|---|---|
Fallo de análisis de \draw/\fill/\path[domain=…] plot (…) en TikZ | Cambiar a plot[smooth] coordinates{…}, las coordenadas son calculadas e inyectadas por scripts/gen_tikz_curve.py en Python |
Missing character: … (U+6685) in font FandolSong | Fandol carece de caracteres raros en todas las familias; añadir en cls una familia de respaldo \newCJKfontfamily\zmbhan{SimSun}, y en el texto usar 祖{\zmbhan 暅} |
Línea puramente CJK con 2–3pt Overfull, \hspace{0pt plus 3pt} inválido, plus 1fil produce un espacio enorme | Primero diagnosticar con \tracingparagraphs; la solución correcta es usar localmente \begingroup\xeCJKsetup{CJKglue={\hskip 0pt plus 1pt}}…\endgroup para un espaciado uniforme y suave |
Etiquetas de marcas densas superpuestas (ej. 2n / 2n+1 / 2n+2) | Seguir el libro original usando un diseño de "caída escalonada" o "línea de derivación oblicua", no forzar todo en una línea |
Aparición de \extref{6.3.2} como referencia de texto sin formato en todo el libro | Una vez vertido el capítulo de destino, rellenarlo como teorema~\ref{thm:6.3.2}, y modificar solo la fuente del generador antes de volver a verter |
Los libros chinos también tienen tres "fenómenos normales" que se confunden fácilmente como defectos:
xelatex fatal: memory exhausted (presión de memoria instantánea, reejecutar y pasará),
página en blanco al final del texto (\cleardoublepage dentro de \makebibliography, si coincide con la paridad del libro original es el diseño esperado),
OCR de fondo que corta entre páginas y omite preguntas (hay que contar cada pregunta contra la página facsímil).
Completar Referencias Cruzadas (Siete Pasos Progresivos)
Referencias codificadas en el texto (Theorem X.Y / (2.3) / Exercise N / Section N) → Estrategia completa para hipervínculos \ref/\eqref, ver references/crossref.md: primero estandarizar los nombres de las etiquetas (kind:c.s.i), añadir etiquetas sec:/exercise:, luego convertir paso a paso: entre capítulos → paréntesis dentro del capítulo → números simples dentro del capítulo, verificando con la compilación en cada paso.
Los libros con numeración simple de un solo volumen tienen otros tres tipos de objetos no cubiertos en crossref.md: referencias bibliográficas [n] (ancla en la línea de la entrada, en el texto usar \hyperref[bib:n]{[n]}), números de ejercicios por capítulo (exer:c.n, Review Problems usan prefijo R), y entradas de lista (1)(2) dentro de sentencias (\item\label{...}). También hay dos tipos que deben conservarse como texto sin formato: el número de capítulo de una obra externa y los errores tipográficos del libro original (por ejemplo, "§4, Proposition 2" cuando esa sección solo tiene Proposition 1—conservar el texto impreso, enlazar al destino real y anotarlo en STATE.md). Ver references/samuel-style-retypeset.md.
Habilidades de Auditoría Asociadas (Ya Instaladas, Llamar Según sea Necesario)
latex-eq-numbering-audit— Verificar elemento por elemento las ecuaciones numeradas con el libro original.latex-display-layout-audit— Formato de ecuaciones interlineales (over-wrap / falsa alineación).latex-footnote-fidelity-audit— Verificar que todas las notas al pie hayan sido colocadas.latex-ocr-math-defect-audit— Matemáticas destruidas silenciosamente por el OCR.- Habilidad de auditoría de diagramas conmutativos — Inventario de candidatos de diagramas antiguos, verificación borde a borde de dirección/gancho/cabeza doble, comprobación de anulación de estilos y procedimiento sin evidencia visual.
latex-bookmark-anchor-audit— Anclajes de marcadores PDF.mathtranslation— Compilación xelatex/biber y verificación visual (references/build-verify.md).
Criterios de Aceptación
Ver references/verification.md: después de limpiar aux, 4 pasadas con exit=0; 0 errores / 0 duplicados / 0 indefinidos / 0 enlaces rotos;
numeración de ejercicios continua por sección; cumplimiento de CRLF/BOM; mantener las inconsistencias de numeración del libro original como texto sin formato y auditar la cantidad.
Tres elementos adicionales para libros chinos (ejecutar de una vez con scripts/verify_cjk_book.py main.pdf --log main.log --bib-page N):
0 instancias de ?? en la capa de texto PDF, 0 instancias de Missing character, y que las referencias rellenadas se resuelvan como números en el PDF (no como texto original).
Un elemento adicional para libros con paginación por capítulo: usar scripts/dump_page_heads.py main.pdf para volcar el texto de la parte superior/inferior página por página,
afirmando que cada página subsiguiente tiene encabezado y número de página, cada primera página no tiene encabezado y tiene un número de página desnudo centrado en la parte inferior, y que el formato del número de página (I-2 / B-5 / Index-3 / números romanos) sea correcto.
Los enlaces de números de página en la tabla de contenido se verifican adicionalmente con --check-toc-links para afirmar que todos los destinos nombrados page.* se resuelven.
Dos elementos adicionales para libros con numeración simple de un solo volumen: scripts/audit_internal_links.py afirma que todos los destinos de \ref/\eqref/\pageref/\hyperref
están presentes (no solo verificar \ref); scripts/check_link_color.py main.pdf --expect 0,0,178 usa muestreo de píxeles
para afirmar el color del enlace (el colorlinks en el código fuente no cuenta como evidencia). El escaneo de referencias simples se realiza con scripts/audit_bare_xrefs.py,
y los elementos restantes deben juzgarse uno por uno como "etiqueta de lista / referencia a obra externa" y no como una referencia.
Scripts Clave
scripts/audit_text_refs.py: Escanea.texpara listar referencias codificadas aún no convertidas a\ref(lista de tareas pendientes, no modifica archivos).scripts/rebuild_exercise_labels.py: Reconstruye de forma seguraexercise:c.s.i(dry-run por defecto, maneja correctamente\gtmtargeten la misma línea y bloques de ejercicios manuales).scripts/gen_tikz_curve.py: Cuandoplot[domain=…]no está disponible enclsxeCJK, lo usa para convertir curvas paramétricas / cartesianas / polares en literalesplot[smooth] coordinates{…}(--wrappara generar directamente el\drawcompleto).scripts/verify_cjk_book.py: Verificador final de todo el libro (residuos??/ número de marcadores / ubicación de referencias rellenadas / entradas de bibliografía / caracteres faltantes), sale con exit=1 si algún umbral estricto falla; se debe ejecutar antes de la entrega.scripts/dump_page_heads.py: Verificador final de encabezado/número de página para libros con paginación por capítulo. Vuelca el texto de la parte superior/inferior página por página, informa el running head y el folio de cada página;--check-toc-linksadicionalmente afirma que todos los destinos nombradospage.*en la tabla de contenido se resuelven.scripts/audit_internal_links.py: Verifica todos los\ref/\eqref/\pageref/\hyperref[...]contramain.aux(coincidencia de llaves\newlabel; omite automáticamente los directorios de copia de seguridadwork/bak/render/build), sale con exit=1 si hay algún destino faltante.scripts/audit_bare_xrefs.py: Primero bloquea todo el texto ya enlazado, las matemáticas, los parámetros opcionales de\item[...]/\pdfbookmark[...], etc., y luego enumera losTheorem 3/(4)/[3]/exercise 8simples, generando un recuento de STMT/PAREN/FORM/BIB/EXERC.scripts/check_link_color.py: Renderiza el PDF, calcula el histograma de píxeles no blancos para cada rectángulo de enlace, afirma el color del texto del enlace;--expect 0,0,178corresponde ablue!70!black, evitando que\hypersetupsobrescriba posteriormente.
Recursos
references/discipline.md— Clases de documento / referencia rápida de contadores, mapeo de páginas, parámetros de composición tipográfica del área de bibliografía.references/pitfalls.md— Todas las dificultades para libros occidentales (OCR / ecuaciones numeradas / Claims / etiquetas de entorno / overfull / referencias cruzadas A–E).references/cjk-retypeset.md— Sección especial para libros chinos (curvas TikZ / respaldo de caracteres faltantes / espaciado suave CJKglue / superposición de etiquetas / relleno de extref / memory exhausted / biber bibliografía / único punto de salida para vertido).references/chapcode-retypeset.md— Sección especial para monografías con paginación por capítulo (mecanismo de paginación\chapcode/ fuga de\pagestyle{empty}/ cuatro tipos de convenios de encabezado / sentencias con numeración manual / clave de ordenaciónsortkeyde biblatex / enlaces de números de página en tabla de contenido).references/samuel-style-retypeset.md— Sección especial para monografías de un solo volumen con numeración simple (reinicio de numeración por palabra clave/sección,\foliosolo al inicio de las divisiones, intervalo de números de sección en el encabezado, exclusión de números de capítulo de obras externas, anclasbib:nyexer:, referencias de entradas de lista, análisis de\newlabelcon coincidencia de llaves, verificación del color del enlace mediante píxeles).references/crossref.md— Estrategia de siete pasos para completar referencias cruzadas + algoritmo de reconstrucción de ejercicios + lista de texto sin formato a conservar.references/verification.md— Comandos de compilación, lista de verificación de aceptación, comprobación de CRLF/BOM.scripts/audit_text_refs.py— Escáner de referencias codificadas.scripts/rebuild_exercise_labels.py— Reconstructor seguro de etiquetas de ejercicios.scripts/gen_tikz_curve.py— Conversión de curvas paramétricas/cartesianas/polares a fragmentosplot[smooth] coordinates{…}.scripts/verify_cjk_book.py— Verificador final de todo el libro (??en PDF / marcadores / ubicación de referencias rellenadas / entradas de bibliografía / caracteres faltantes).scripts/dump_page_heads.py— Verificador final de encabezado/número de página para libros con paginación por capítulo + enlaces de números de página en tabla de contenido.scripts/audit_internal_links.py— Verificación de todos los destinos de enlaces internos (\ref/\eqref/\pageref/\hyperref) contra aux.scripts/audit_bare_xrefs.py— Enumeración de referencias simples después de bloquear el texto ya enlazado (STMT/PAREN/FORM/BIB/EXERC).scripts/check_link_color.py— Muestreo de píxeles de rectángulos de enlace PDF, afirma el color del enlace (por defecto0,0,178).
Colecciones de Exámenes de Recuerdo Chinos
Para exámenes de múltiples años de múltiples universidades, cada examen con su propia numeración y puntuación, y cuando se revisa el contenido durante la re-editación, leer la sección especial para exámenes de recuerdo. Se debe identificar por separado un error en la transcripción de un error en el examen original; verificar si los encabezados y pies de página descartados por el OCR contienen números de pregunta ocultos; no escribir que "la pregunta ya ha sido verificada como correcta" hasta que no se haya completado la verificación de cada pregunta.
Paralelismo Acotado y Fuente OCR a Nivel de Página
Cuando se necesita reducir el contexto de un solo agente para una tarea de libro completo, consultar subagentes acotados, fuente OCR a nivel de página y mapeo de índices. Incluye propiedad de archivos, transferencia entre agentes interrumpidos, deduplicación de tablas de revisión, fuentes matemáticas y alcance de sentencias, verificación de enlace de hash PDF, así como métodos probados para mover párrafos entre páginas en el borrador de Ahlfors, reinicio local de la paginación de un volumen, múltiples figuras en un bloque, revisión final de agrupación semántica del índice, cierre de puntos dudosos, revisión de notas al pie entre páginas y registro de correcciones editoriales.