Schaue mal in den clsguide ("texdoc clsguide"), insbesondere Abschnitt "3.3 Declaring options".
In Kürze: Du kannst Optionen auch vor dem Laden der Klasse apa6 mit \PassOptionsToClass für das spätere Laden vormerken. So hast du die Möglichkeit, Optionen wie "man", "jou" und "doc" selber zu behandeln und unbekannte Optionen an apa6 weiterzureichen, z.B. so:
Code:
% Die Optionen "man", "jou" und "doc" so definieren, daß sie jeweils \apasixg@mode setzen
\DeclareOption{man}{\def\apasixg@mode{man}}
\DeclareOption{jou}{\def\apasixg@mode{jou}}
\DeclareOption{doc}{\def\apasixg@mode{doc}}
% Alle anderen Optionen transparent an apa6 durchreichen
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{apa6}}
% "a4paper,man,biblatex,babel,noextraspace" ausführen, "man" belegt hierbei lediglich \apasixg@mode vor
\ExecuteOptions{a4paper,man,biblatex,babel,noextraspace}
% Optionen des Anwenders ausführen (z.B. "doc,ngerman")
\ProcessOptions\relax
% \apasixg@mode ist nun gesetzt, also an apa6 weiterreichen
% (Ist das \@expandtwoargs wirklich notwendig? Keine Ahnung, aber auf jeden Fall schadet es hier nicht.)
\@expandtwoargs\PassOptionsToClass{\apasixg@mode}{apa6}
% apa6 mit all den vorgemerkten Optionen laden
\LoadClass{apa6}
Nun kann man deine Klasse mit \documentclass[ngerman]{apa6g} laden, dies würde den "man"-Modus verwenden, da dieser voreingestellt ist. \documentclass[jou,ngerman]{apa6g} hingegen würde den "jou"-Modus von apa6 verwenden.
(Viel einfacher wäre es, wenn sich in apa6.cls die Optionen "man", "jou" und "doc" jeweils überschreiben würden, für mich sieht es allerdings so aus, als wäre apa6.cls auf die Angabe von mehr als einer der drei Modi nicht vorbereitet, daher die etwas umständliche Lösung oben.)
P.S.: Danke für den indirekten Hinweis auf den Fehler im endfloat-Paket. Ich werde das in die nächste Version, die ich (hoffentlich) im August (endlich) veröffentlichen werde, einpflegen.
Lesezeichen