summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-30 22:19:04 +0000
committerKarl Berry <karl@freefriends.org>2019-11-30 22:19:04 +0000
commit296ed3e2e65f36c6c418b68a25b6398586f61abf (patch)
tree179c4df51b037921e794e7a4b92205bd90504dc2 /Master/texmf-dist/doc
parent4b5127164d0e1d685bfd39748c2df3dd613040e1 (diff)
kvoptions (30nov19)
git-svn-id: svn://tug.org/texlive/trunk@52985 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/latex/kvoptions/README.md7
-rw-r--r--Master/texmf-dist/doc/latex/kvoptions/example-mycolorsetup.sty143
-rw-r--r--Master/texmf-dist/doc/latex/kvoptions/kvoptions.pdfbin0 -> 488653 bytes
3 files changed, 150 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/kvoptions/README.md b/Master/texmf-dist/doc/latex/kvoptions/README.md
new file mode 100644
index 00000000000..b307ffc87f1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/kvoptions/README.md
@@ -0,0 +1,7 @@
+# kvoptions
+
+kvoptions package for LaTeX
+
+This package is intended for package authors who want to
+use options in key value format for their package options.
+
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..7db8cc90e73
--- /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: 2019/11/29 v3.13
+%%
+%% Copyright (C)
+%% 2004, 2006, 2007, 2009-2011 Heiko Oberdiek
+%% 2016-2019 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'.
diff --git a/Master/texmf-dist/doc/latex/kvoptions/kvoptions.pdf b/Master/texmf-dist/doc/latex/kvoptions/kvoptions.pdf
new file mode 100644
index 00000000000..d3c53e30962
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/kvoptions/kvoptions.pdf
Binary files differ