summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/kvoptions
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-17 15:10:51 +0000
committerKarl Berry <karl@freefriends.org>2022-06-17 15:10:51 +0000
commit512fc03528e5fcd428eaa815242603174fd48ef9 (patch)
tree6536540257e3d5e8e7ac1fe857f69a9ec83f3d2b /Master/texmf-dist/doc/latex/kvoptions
parent68be342fc7797d7bef6e48eede211c8adf215573 (diff)
kvoptions with .sty restored
git-svn-id: svn://tug.org/texlive/trunk@63622 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/kvoptions')
-rw-r--r--Master/texmf-dist/doc/latex/kvoptions/example-mycolorsetup.sty143
1 files changed, 143 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/kvoptions/example-mycolorsetup.sty b/Master/texmf-dist/doc/latex/kvoptions/example-mycolorsetup.sty
new file mode 100644
index 00000000000..8af06758834
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/kvoptions/example-mycolorsetup.sty
@@ -0,0 +1,143 @@
+%%
+%% 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: 2022-06-15 v3.15
+%%
+%% Copyright (C)
+%% 2004, 2006, 2007, 2009-2011 Heiko Oberdiek
+%% 2016-2022 Oberdiek Package Support Group
+%%
+%% 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
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://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".
+%%
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/kvoptions/issues
+%%
+%% 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}[2019/11/29 Managing my colors]
+
+\RequirePackage{iftex}
+\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'.