Wie füge ich einem Paket, das ich schreibe, optionale Argumente hinzu?

Wie füge ich einem Paket, das ich schreibe, optionale Argumente hinzu?

Ich möchte ein Paket erstellen, das Zeilen optional mit doppeltem Zeilenabstand setzen kann. Etwa so:

\ProvidePackage{mypackage}
% actual functional codes

Dann kann ich das Paket folgendermaßen verwenden:

\usepackage[doublespc=yes]{mypackage}

Damit werden alle Zeilen mit doppeltem Zeilenabstand gesetzt. Wenn ich dieses optionale Argument in der Präambel weglasse, werden alle Zeilen mit einfachem Zeilenabstand gesetzt.

Antwort1

Hier ist eine grundlegende Implementierung gemäß der AnleitungLaTeX 2e für Klassen- und Paketautoren(Abschnitt4.3 Optionserklärung, S. 18):

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{filecontents}% http://ctan.org/pkg/filecontents

\begin{filecontents*}{mypackage.sty}
\ProvidesPackage{mypackage}
\newif\if@doublespace
\DeclareOption{doublespace}{\@doublespacetrue}
\ProcessOptions
\if@doublespace\RequirePackage{setspace}\doublespacing\fi
\endinput
\end{filecontents*}

\usepackage[doublespace]{mypackage}
\begin{document}
Here is some

text in two paragraphs.
\end{document}

Das Paket mypackage.stydeklariert eine Option doublespace, die die Bedingung festlegt \@doublespacetrue. Wenn diese auf true gesetzt ist, wird \RequiresPackage{setspace}festgelegt \doublespacing.

verwandte Informationen