¿El paquete 'labbook' es incompatible con el paquete 'subtítulo'?

¿El paquete 'labbook' es incompatible con el paquete 'subtítulo'?

Descargo de responsabilidad:Sé que esta es una pregunta que genera respuestas obstinadas. Todavía quiero preguntarlo, ya que no sé de qué otra manera debo proceder y estoy buscando consejo.

yo suelolabbookescribir, lo has adivinado, un libro de laboratorio. cuando activocaptionen el preámbulo, todo está bien, pero tan pronto como agregosubcaption, XeLaTeX lanza:

Comando \theHsubfigure ya definido.

Para ser honesto, cargocaptionysubcaptionde forma predeterminada, ya que los uso en la mayoría de mis documentos y estoy bastante seguro de que los necesitaré en mi libro de laboratorio, pero todavía no he incluido ninguna imagen en mi documento. Ellabbookla clase no se ha actualizado desde 2003 y el mantenedor parece haber estado activo en ctan a más tardar en 2007, cuando actualizó por última vezalnumsec. La probabilidad delabbookPor lo tanto, experimentar una actualización en el futuro es, en el mejor de los casos, marginal. Mi incomodidad acerca de esta clase surgió cuando recibí el error, a pesar de que mi documento todavía es bastante virgen (tiene 40 líneas de código en total, a partir de ahora). Por tanto mi pregunta es:

¿Qué clase me recomiendas usar en lugar de?labbookescribir mi libro de laboratorio?

Creo que no estoy realmente interesado en continuar con una clase de documento sin mantenimiento para luego chocar con un muro de incompatibilidad inconcebible con algún paquete importante (que por lo demás funciona bien) y luego tener que reescribir todas las partes estructurales de mi archivo TEX.

solo estoy leyendo ellabbookdocumentacion nuevamente y dice

labbook.clsse basa en la clase KOMA-Script scrbook.cls.

¿Podría ser esta la fuente de la incompatibilidad consubcaption? No conozco muy bien el script KOMA. En¿Qué paquetes son incompatibles con KOMA-Script?,subcaptionno aparece.

Además,subcaptionsolía serincompatibleconmemoir, peroya no lo es. no se simemoirestá basado enscrbook, pero eso realmente no importa ahora, ya que se actualizó para funcionar consubcaption. ¿Debería tal vez usarmemoiren lugar delabbook?

Respuesta1

Como ya lo explicó moewe en un comentario y el autor de KOMA-Scripten alemán en komascript.deel problema no es KOMA-Script sino labbook. Para usarlo labbooktienes hyperrefque cargarlo con la opción hyperref. Pero si lo cargas con la opción hyperrefhace un

\newcommand*\theHsubfigure{%
  \theHfigure.\arabic{subfigure}}

justo después de cargar hyperref. Esto resulta en un error, porque subcaptionya define \theHsubfigure. Lo único que puedes hacer esindefinir \theHsubfigureAntes de cargar hyperref. Para hacerlo, puede utilizar:

\documentclass[hyperref]{labbook}
\usepackage{subcaption}
\let\theHsubfigure\relax
\usepackage{hyperref}

\begin{document}
Test
\end{document}

o

\documentclass[hyperref]{labbook}
\BeforePackage{hyperref}{\let\theHsubfigure\relax}
\usepackage{subcaption}
\usepackage{hyperref}

\begin{document}
Test
\end{document}

Sin embargo, debe tener en cuenta que labbookno se mantiene durante varios años y no hay garantía de que dicho truco realmente resuelva al menos el problema de su pregunta.El subcaptionautor tiene algunas palabras muy claras sobre labbookla redefinición de \theHfigurey\theHtabley en mi humilde opinión la definición de \theHsubfigurees muy similar a esa. Entonces, si no hubiera un nuevo mantenedor que solucione todos los problemas, labbookmi recomendación sería la misma que en el comentario de Moewe debajo de la pregunta:Probablemente comenzaría con scrreprt/ scrbooko memoiry escribiría algunas macros.Pero yo no lo usaría labbooky al menos no en combinación con subcaption.

información relacionada