我想构建一个可以选择性地以双倍行距排版的包。像这样:
\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
选项。如果将其设置为 true,则它会设置。doublespace
\@doublespacetrue
\RequiresPackage{setspace}
\doublespacing