
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):
\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.sty
deklariert eine Option doublespace
, die die Bedingung festlegt \@doublespacetrue
. Wenn diese auf true gesetzt ist, wird \RequiresPackage{setspace}
festgelegt \doublespacing
.