Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Theorem patch with cleveref and amsthm loaded

Abierto
#413 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
44/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
latex
Área
tooling

Línea de trabajo

Comience con el parche de refstepcounter en hyperref.dtx, en las líneas 11129–11135, y siga después cómo cleveref, junto con amsthm, redefine @thm mediante cref@thmnoarg y cref@thmoptarg. Determine cómo deberían recibir el parche del teorema ambas rutas, incluido el caso con argumento opcional, y verifique el comportamiento de esta combinación de paquetes con respecto a los problemas señalados en los issues #336 y latex2e #1779.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The theorem patch does the following:
https://github.com/latex3/hyperref/blob/d2eb2fae09eee648f81659613a37e3e45566e479/hyperref.dtx#L11129-L11135

If cleveref is loaded, it hooks some spacing stuff in there. I guess it's because cleveref with amsthm loaded redefines things with

  \let\cref@thmnoarg\@thm%
  \def\@thm{\@ifnextchar[{\cref@thmoptarg}{\cref@thmnoarg}}%]

Or maybe there's another reason I don't understand.

Anyway, what I'm confused about is the \refstepcounter patch in \@thm. If cleveref is loaded, then this patch isn't being done at all, but why not?
Patching \@thm no longer works, but patching \cref@thmnoarg seems like it does.

For completeness, \cref@thmoptarg should probably also be patched then, but that would probably also require a variant of \Hy@theorem@refstepcounter with an optional argument, like \cref@thmoptarg wants to use it.

I guess this might be related to #336 and https://github.com/latex3/latex2e/issues/1779. And perhaps amsthm should just be improved like https://github.com/latex3/latex2e/pull/1301, instead of piling more patches on top of each other for this package combination.

Lenguaje dominante
TeX
Estrellas
206
Forks
41
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de latex3/hyperref

Todos los issues de latex3/hyperref

Issues similares

Más issues de DevTools

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.