Zitat von
voss
man hat sich eigentlich angewöhnt den Standardwert auch dann zu setzen, wenn er false ist.
Selbst im LaTeX-Kern ist das nur halbherzig gemacht und in den Standardklassen gar nicht, was vielleicht auch daran liegt, dass \newif selbst bereits \let#1\iffalse enthält, um einen definierten Zustand herzustellen. Eine Alternative wäre übrigens, auch eine Gegenoption zu implementieren und diese als Default auszuführen:
Code:
% Nach der Paket-Praeambel
% Neue Conditional anlegen, welche bei der Optionsdeklaration verwendet wird
\newif\ifMY@draft % Option anlegen
\DeclareOption{draft}{\MY@drafttrue}
\DeclareOption{final}{\MY@draftfalse}
% Default-Optionen:
\ExecuteOptions{final}
% Gegebene Optionen ausfuehren
\ProcessOptions\relax
So machen das auch die Standardklassen.
Im clsguide wird übrigens empfohlen, nach \ProcessOptions immer ein \relax anzufügen (damit nicht weiter nach einem * gesucht wird).
Lesezeichen