1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
%%
%% This is file `example-mycolorsetup.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% kvoptions.dtx (with options: `example')
%%
%% This is a generated file.
%%
%% Project: kvoptions
%% Version: 2011/06/30 v3.11
%%
%% Copyright (C) 2004, 2006, 2007, 2009-2011 by
%% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%% http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
%% This Current Maintainer of this work is Heiko Oberdiek.
%%
%% This work consists of the main source file kvoptions.dtx
%% and the derived files
%% kvoptions.sty, kvoptions.pdf, kvoptions.ins, kvoptions.drv,
%% kvoptions-patch.sty, example-mycolorsetup.sty,
%% kvoptions-test1.tex, kvoptions-test2.tex,
%% kvoptions-test3.tex, kvoptions-test4.tex,
%% kvoptions-test4.sty.
%%
%% No we don't need the option 'color'.
%% With color support option 'emphcolor' will dynamically
%% change the color of \emph statements.
% Package identification
% -----------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{example-mycolorsetup}[2011/06/30 Managing my colors]
\RequirePackage{ifpdf}
\RequirePackage{kvoptions}
% Option declarations
% -------------------
\SetupKeyvalOptions{
family=MCS,
prefix=MCS@
}
% Use a shorter family name and prefix
% Option print
\DeclareBoolOption{print}
% is the same as
% \DeclareBoolOption[false]{print}
% Option driver
\ifpdf
\DeclareStringOption[pdftex]{driver}
\else
\DeclareStringOption[dvips]{driver}
\fi
% Alternative interface for driver options
\DeclareVoidOption{dvips}{\SetupDriver}
\DeclareVoidOption{dvipdfm}{\SetupDriver}
\DeclareVoidOption{pdftex}{\SetupDriver}
% In \SetupDriver we take the current option \CurrentOption
% and pass it to the driver option.
% The \expandafter commands expand \CurrentOption at the
% time, when \SetupDriver is executed and \CurrentOption
% has the correct meaning.
\newcommand*{\SetupDriver}{%
\expandafter\@SetupDriver\expandafter{\CurrentOption}%
}
\newcommand*{\@SetupDriver}[1]{%
\setkeys{MCS}{driver={#1}}%
}
% Option emph
% An empty value means, we want to have no color for \emph.
% If the user specifies option emph without value, the red is used.
\DeclareStringOption{emph}[red]
% is the same as
% \DeclareStringOption[]{emph}[red]
% Default option rule
\DeclareDefaultOption{%
\ifx\CurrentOptionValue\relax
\PackageWarningNoLine{\@currname}{%
Unknown option `\CurrentOption'\MessageBreak
is passed to package `color'%
}%
% Pass the option to package color.
% Again it is better to expand \CurrentOption.
\expandafter\PassOptionsToPackage
\expandafter{\CurrentOption}{color}%
\else
% Package color does not take options with values.
% We provide the standard LaTeX error.
\@unknownoptionerror
\fi
}
% Process options
% ---------------
\ProcessKeyvalOptions*
% Implementation depending on option values
% -----------------------------------------
% Code for print mode
\ifMCS@print
\PassOptionsToPackage{monochrome}{color}
% tells package color to use black and white
\fi
\RequirePackage[\MCS@driver]{color}
% load package color with the correct driver
% \emph setup
\ifx\MCS@emph\@empty
% \@empty is a predefined macro with empty contents.
% the option value of option emph is empty, thus
% we do not want a redefinition of \emph.
\else
\renewcommand*{\emph}[1]{%
\textcolor{\MCS@emph}{#1}%
}
\fi
\endinput
%%
%% End of file `example-mycolorsetup.sty'.
|