
Я хочу создать пакет, который может опционально набирать строки с двойным интервалом. Что-то вроде этого:
\ProvidePackage{mypackage}
% actual functional codes
Тогда я могу использовать пакет следующим образом:
\usepackage[doublespc=yes]{mypackage}
Так что вся строка будет набрана двойным интервалом. Если я опущу этот необязательный аргумент в преамбуле, то вся строка будет набрана одинарным интервалом.
решение1
Вот базовая реализация, следуя руководствуLaTeX 2e для разработчиков классов и пакетов(раздел4.3 Декларация опций, стр. 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}
Пакет mypackage.sty
объявляет опцию doublespace
, которая задает условие \@doublespacetrue
. Если это установлено в true, он \RequiresPackage{setspace}
и задает \doublespacing
.