phi hat geschrieben:Hallo,
für Schlüssel-Wert-Optionen musst du eines der Dutzenden Pakete benutzen, die es dafür gibt, z.B. kvoptions, kvsetkeys, l3keys2e, scrbase, xkeyval...
Danke für den guten Hinweis. Ich hatte bisher über pgfkeys gelesen, war mir aber unsicher ob das auch für Optionen einer eigenen Klasse geeignet ist. Nun habe ich mich in "kvoptions" eingearbeitet und ein Minalmalbeispiel konstruiert.
Die Klassendatei:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{keyvaltest}
\RequirePackage{ifthen}
\RequirePackage[patch]{kvoptions}
\SetupKeyvalOptions
{
family = mrm,
prefix = mrm@
}
\DeclareStringOption[0mm]{bincor}
\ProcessKeyvalOptions* %diese Zeile erzeugt die "falsche" Warnung
\ProcessOptions\relax
\LoadClass[12pt,a4paper]{scrbook}
\evensidemargin=-\mrm@bincor
\oddsidemargin=\mrm@bincor
Die tex-Datei:
\documentclass[bincor=5mm]{keyvaltest}
\usepackage{blindtext}
\begin{document}
\Blindtext
\end{document}
Der dem Key übergebene Wert wird richtig verarbeitet. Da meine spätere Klasse aber auch standard-Optionen verarbeiten möchte, bekomme ich bei der Verwendung der beiden Befehle
\ProcessKeyvalOptions*
\ProcessOptions\relax
miteinander die Warnung:
LaTeX Warning: Unused global option(s):
[bincor=5mm].
Hat jemand eine Idee wie ich diese Warnung unterdrücken kann? Der Benutzer soll später nicht das Gefühl haben, dass etwa seine Option falsch wäre, denn sie ist es ja nicht!
Lg Stephan