diff options
author | Karl Berry <karl@freefriends.org> | 2019-11-30 22:19:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-11-30 22:19:04 +0000 |
commit | 296ed3e2e65f36c6c418b68a25b6398586f61abf (patch) | |
tree | 179c4df51b037921e794e7a4b92205bd90504dc2 /Master/texmf-dist/doc | |
parent | 4b5127164d0e1d685bfd39748c2df3dd613040e1 (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.md | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/kvoptions/example-mycolorsetup.sty | 143 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/kvoptions/kvoptions.pdf | bin | 0 -> 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 Binary files differnew file mode 100644 index 00000000000..d3c53e30962 --- /dev/null +++ b/Master/texmf-dist/doc/latex/kvoptions/kvoptions.pdf |