如何為我正在編寫的套件添加可選參數?

如何為我正在編寫的套件添加可選參數?

我想建立一個可以選擇以雙倍行距排版的套件。像這樣的東西:

\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

相關內容