如何向我正在编写的包添加可选参数?

如何向我正在编写的包添加可选参数?

我想构建一个可以选择性地以双倍行距排版的包。像这样:

\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

相关内容