Establezca la opción global (y pásela a todos los paquetes) en un archivo de clase personalizado

Establezca la opción global (y pásela a todos los paquetes) en un archivo de clase personalizado

Tenía un texarchivo que básicamente comenzaba de la siguiente manera

\documentclass[
  a4paper, hyperref, amsmath, headinclude=true, ngerman, final
]{scrbook}
\usepackage{babel}
\usepackage{ntheorem}
\usepackage{graphix}

Convertí esto en mi propio archivo de clase personalizado.

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{kitbook}[2015/04/23 KITbook]

\RequirePackage{kvoptions}
\SetupKeyvalOptions{family=KIT,prefix=KIT@}
...
\ProcessKeyvalOptions*\relax

\LoadClass[
  a4paper, hyperref, amsmath, headinclude=true, ngerman, final
]{scrbook}
\RequirePackage{babel}
\RequirePackage{ntheorem}
\RequirePackage{graphix}

El texarchivo se reduce a

\documentclass{kitbook}

Pero de repente recibo una advertencia de LaTeX que indica que las opciones hyperrefno amsmathse headinclude=trueutilizan. Babel da el error de que no se especifica ningún idioma y la clase finalutiliza la opción scrbook, pero no el graphixpaquete.

Parece que hay una diferencia en la semántica de \documentclassy \LoadClass. Las opciones que se dan \documentclassse hacen globales y se pasan implícitamente a todos los paquetes. Pero las opciones dadas \LoadClasssolo las usa la clase misma. Ésa es la razón por la que babelno lo consigue ngermany así sucesivamente.

¿Hay alguna forma de hacer que las opciones sean globales en un archivo de clase personalizado?

Especialmente, veo un problema importante. La opción headinclude=trueno la utiliza ningún paquete que esté cargado explícitamente. (Creo que lo usa y typearealo carga en sí scrbook). Por supuesto, podría usarlo, \PassOptionToPackage{headinclude=true}{typearea}pero el problema con este enfoque es que necesito averiguar qué paquete usa qué opción para cada opción y paquete y luego llamar \PassOptionToPackageexplícitamente. Este enfoque no es muy prometedor.

información relacionada