¿Cómo agregar argumentos opcionales a un paquete que estoy escribiendo?

¿Cómo agregar argumentos opcionales a un paquete que estoy escribiendo?

Quiero crear un paquete que, opcionalmente, pueda escribir líneas en doble espacio. Algo como esto:

\ProvidePackage{mypackage}
% actual functional codes

Entonces puedo usar el paquete de esta manera:

\usepackage[doublespc=yes]{mypackage}

De modo que todas las líneas se escribirán en doble espacio. Si omito ese argumento opcional en el preámbulo, todas las líneas se escribirán en un solo espacio.

Respuesta1

Aquí hay una implementación básica, siguiendo la guía.LaTeX 2e para escritores de clases y paquetes(sección4.3 Declaración de opción, pág. 18):

ingrese la descripción de la imagen aquí

\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}

El paquete mypackage.stydeclara una opción doublespaceque establece la condición \@doublespacetrue. Si esto se establece en verdadero, se \RequiresPackage{setspace}establece \doublespacing.

información relacionada