Skip to content

Commit 03652f8

Browse files
committed
fix: aplicar revisiones de CodeRabbit del PR #20
- marco-teorico.tex: corregir contrato de argumentos de \metricbox en el ejemplo y en los demos; el 4º arg es un icono (\faArrowDown), no un nombre de color; actualizar también la descripción del componente - revision-rapida.py: preservar número de líneas al vaciar bloques de código (evita que los diagnósticos apunten a líneas incorrectas) - revision-rapida.py: recoger \label{} solo fuera de bloques de código para que etiquetas de ejemplo (latexcode/codigosimple) no oculten referencias rotas reales - eps-arquitectura.sty: envolver \SuspendTagging / \ResumeTagging con \IfPackageLoadedTF{tagpdf}{...}{} para garantizar compatibilidad con instalaciones sin tagpdf (LaTeX < 2024 sin DocumentMetadata)
1 parent 51ca9ec commit 03652f8

3 files changed

Lines changed: 24 additions & 18 deletions

File tree

contenido/capitulos/marco-teorico.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -676,19 +676,19 @@ \subsection{Logs y Métricas}
676676
\end{logbox}
677677

678678
\minisec{Tarjeta de métrica (metricbox)}
679-
Muestra un valor con etiqueta, unidad y color indicador.
679+
Muestra un valor con etiqueta, variación y un icono indicador.
680680

681681
\begin{codigosimple}{latex}{Sintaxis: metricbox}
682-
\metricbox{Etiqueta}{valor}{unidad}{color}
682+
\metricbox{Etiqueta}{valor}{variación}{\faArrowDown}
683683
\end{codigosimple}
684684

685685
\vspace{1em}
686686
\noindent
687-
\metricbox{Tiempo de respuesta}{45}{ms}{eps-success}
687+
\metricbox{Tiempo de respuesta}{45 ms}{-12\%}{\faArrowDown}
688688
\hfill
689-
\metricbox{Uso de CPU}{78}{\%}{eps-warning}
689+
\metricbox{Uso de CPU}{78\%}{+5\%}{\faArrowUp}
690690
\hfill
691-
\metricbox{Memoria}{2.4}{GB}{eps-info}
691+
\metricbox{Memoria}{2.4 GB}{-0.3 GB}{\faArrowDown}
692692

693693

694694
%% =============================================================================

scripts/revision-rapida.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,18 @@ def eliminar_bloques_codigo(texto: str) -> str:
112112
"phpcode", "phpcodeNN", "terminal",
113113
]
114114
for entorno in entornos:
115-
# Reemplaza el CONTENIDO del entorno por una línea vacía,
116-
# manteniendo \begin y \end para no desplazar números de línea en exceso.
117-
texto = re.sub(
118-
r"(\\begin\{" + re.escape(entorno) + r"\}(?:\[[^\]]*\])?(?:\{[^}]*\})*(?:\{[^}]*\})*)(.*?)(\\end\{" + re.escape(entorno) + r"\})",
119-
r"\1\n\3",
120-
texto,
121-
flags=re.DOTALL,
115+
# Reemplaza el CONTENIDO del entorno preservando el número de líneas,
116+
# para que los números de línea de los diagnósticos posteriores sean correctos.
117+
patron = (
118+
r"(\\begin\{" + re.escape(entorno) + r"\}(?:\[[^\]]*\])?"
119+
r"(?:\{[^}]*\})*(?:\{[^}]*\})*)(.*?)(\\end\{" + re.escape(entorno) + r"\})"
122120
)
121+
122+
def _vaciar_bloque(match):
123+
lineas = max(match.group(2).count("\n"), 1)
124+
return match.group(1) + ("\n" * lineas) + match.group(3)
125+
126+
texto = re.sub(patron, _vaciar_bloque, texto, flags=re.DOTALL)
123127
# Eliminar contenido de \verb|...|, \verb!...!, \verb+...+ (verbatim inline)
124128
texto = re.sub(r"\\verb([^a-zA-Z*])(.*?)\1", r"\\verb\1VERBATIM\1", texto)
125129
return texto
@@ -272,11 +276,12 @@ def analizar_referencias_cruzadas(archivos_tex: list) -> list:
272276

273277
for ruta in archivos_tex:
274278
texto_raw = eliminar_comentarios(leer_tex(ruta))
275-
# Labels se recogen del texto completo (pueden definirse dentro de entornos)
276-
for m in re.finditer(r"\\label\{([^}]+)\}", texto_raw):
277-
labels_definidos.add(m.group(1))
278-
# Referencias se buscan solo fuera de bloques de código
279+
# Labels y referencias se recogen solo fuera de bloques de código,
280+
# para evitar que etiquetas de ejemplo (dentro de codigosimple/latexcode)
281+
# se registren como definiciones reales y oculten referencias rotas.
279282
texto = eliminar_bloques_codigo(texto_raw)
283+
for m in re.finditer(r"\\label\{([^}]+)\}", texto):
284+
labels_definidos.add(m.group(1))
280285
for m in re.finditer(r"\\(?:ref|pageref|cref|Cref)\{([^}]+)\}", texto):
281286
linea = texto[:m.start()].count("\n") + 1
282287
refs_usadas.append((str(ruta.relative_to(RAIZ)), linea, m.group(1)))

sty/componentes/eps-arquitectura.sty

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@
158158
\setcounter{partidanum}{0}
159159
\subsection*{#1}
160160
% Suspender tagging PDF/UA-2 para evitar artefactos con longtable+multicolumn
161-
\SuspendTagging{presupuesto-longtable}%
161+
% Guard: solo si tagpdf está cargado (LaTeX 2024+ o con DocumentMetadata)
162+
\IfPackageLoadedTF{tagpdf}{\SuspendTagging{presupuesto-longtable}}{}%
162163
% Columnas con ancho fijo para asegurar alineación correcta y evitar desborde
163164
% p{1.5cm}: Código
164165
% p{desc}: Descripción (calculada)
@@ -179,7 +180,7 @@
179180
\endlastfoot
180181
}{%
181182
\end{longtable}
182-
\ResumeTagging{presupuesto-longtable}%
183+
\IfPackageLoadedTF{tagpdf}{\ResumeTagging{presupuesto-longtable}}{}%
183184
\endgroup
184185
}
185186

0 commit comments

Comments
 (0)