diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx b/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx deleted file mode 100644 index 8cb3a45240b..00000000000 --- a/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx +++ /dev/null @@ -1,308 +0,0 @@ -% \iffalse -%% File: l3keys2e.dtx (C) Copyright 2009,2011 LaTeX3 Project -%% -%% It may be distributed and/or modified under the conditions of the -%% LaTeX Project Public License (LPPL), either version 1.3c of this -%% license or (at your option) any later version. The latest version -%% of this license is in the file -%% -%% http://www.latex-project.org/lppl.txt -%% -%% This file is part of the ``l3keys2e'' (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% The released version of this bundle is available from CTAN. -%% -%% ----------------------------------------------------------------------- -%% -%% The development version of the bundle can be found at -%% -%% http://www.latex-project.org/svnroot/experimental/trunk/ -%% -%% for those people who are interested. -%% -%%%%%%%%%%% -%% NOTE: %% -%%%%%%%%%%% -%% -%% Snapshots taken from the repository represent work in progress and may -%% not work or may contain conflicting material! We therefore ask -%% people _not_ to put them into distributions, archives, etc. without -%% prior consultation with the LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -%% -% -%<*driver|package> -\RequirePackage{l3names} -%</driver|package> -%\fi -\GetIdInfo$Id: l3keys2e.dtx 2320 2011-05-06 16:56:27Z joseph $ - {Parsing LaTeX3 keyvals as LaTeX2e package options} -%\iffalse -%<*driver> -%\fi -\ProvidesFile{\filename.\filenameext} - [\filedate\space v\fileversion\space\filedescription] -%\iffalse -\documentclass{l3doc} -\begin{document} - \DocInput{l3keys2e.dtx} -\end{document} -%</driver> -% \fi -% -% \title{The \textsf{l3keys2e} package\thanks{This file -% has version number \fileversion, last revised \filedate.}\\ -% Parsing \LaTeX3 keyvals as \LaTeXe\ package options} -% \author{\Team} -% \date{\filedate} -% \maketitle -% -%\begin{documentation} -% -%\section{Key--value arguments as \LaTeXe\ class and package options} -% -% The key--value method for optional arguments is very popular, as it -% allows the class or package author to define a large number of -% options with a simple interface. The \pkg{expl3} bundle of \LaTeX3 -% base code includes the module \pkg{l3keys} for defining keys, but -% to use these when loading \LaTeXe\ packages and classes requires -% extra support. That support is provided by this small package, which -% is intended to enable \LaTeXe\ packages to benefit from the power of -% the \LaTeX3 key--value system. -% -%\subsection{Creating and using keyval options} -% -% As with any key--value input, using key--value pairs as package or -% class options has two parts. The first stage is to define one or -% more keys, using the \cs{keys_define:nn} function. For example, an -% option which simply stores a value would be created using: -%\begin{verbatim} -% \keys_define:nn { module } { -% option .set:N = \l_module_variable_tl -% } -%\end{verbatim} -% On its own, this will not make the key an option for the package or -% class containing the definition. The second stage is therefore to -% process the current options, searching for applicable keys. -% -%\begin{function}{ \ProcessKeysOptions } -% \begin{syntax} -% \cs{ProcessKeysOptions} \Arg{module} -% \end{syntax} -% The \cs{ProcessKeysOptions} function is used to check the current -% option list against the keys defined for \Arg{module}. Global (class) -% options and local (package) options are checked when this function -% is called in a package. Each option which does match a key name is -% then used to attempt to set the appropriate key using -% \cs{keys_set:nn}. For example, the option defined earlier would be -% processed by the line -% \begin{verbatim} -% \ProcessKeysOptions { module } -% \end{verbatim} -%\end{function} -% -%\begin{function}{ \ProcessKeysPackageOptions } -% \begin{syntax} -% \cs{ProcessKeysPackageOptions} \Arg{module} -% \end{syntax} -% This function works in a similar manner to \cs{ProcessKeysOptions}. -% When used in a \LaTeXe\ package, \cs{ProcessKeysPackageOptions} -% will not examine any class options available. In contrast, -% \cs{ProcessKeysOptions} does parse class options (in common with the -% \LaTeXe\ kernel function \cs{ProcessOptions}). -%\end{function} -% -%\end{documentation} -% -%\begin{implementation} -% -%\subsection{Implementation} -% -% The usual lead-off. -% \begin{macrocode} -%<*package> -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\RequirePackage { xparse } -% \end{macrocode} -% -%\begin{macro}{\keys_latexe_options_clist} -% A single list is used for all options, into which they are collected -% before processing. -% \begin{macrocode} -\clist_new:N \keys_latexe_options_clist -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\_l_keys_process_class_bool} -% A flag to indicate that class options should be processed for -% packages. -% \begin{macrocode} -\bool_new:N \_l_keys_process_class_bool -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\keys_latexe_options:n} -% The main function calls functions to collect up the global and local -% options into \cs{keys_latexe_options_clist} before calling the -% underlying functions to actually do the processing. So that a suitable -% message is produced if the option is unknown, the special -% \texttt{unknown} key is set if it does not already exist for the -% current module. -% \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options:n #1 { - \clist_clear:N \keys_latexe_options_clist - \keys_latexe_options_global:n {#1} - \keys_latexe_options_local: - \cs_if_exist:cTF { \c_keys_root_tl {#1} / unknown .cmd:n } - { - \keys_define:nn {#1} - { - unknown .code:n = - { - \msg_kernel_error:nnxx { keyvalue } { option-unknown } - { \l_keys_key_tl } { \@currname } - } - } - } - \keys_set:nV {#1} \keys_latexe_options_clist - \AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: } -} -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\keys_latexe_options_global:n} -% Global (class) options are handled differently for \LaTeXe\ packages -% and classes. Hence this function is essentially a check on the current -% file type. The initial test is needed as \LaTeXe\ allows variables to -% be equal to \cs{scan_stop:}, which is forbidden in \LaTeX3 code. -% \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options_global:n #1 { - \cs_if_eq:NNF \@classoptionslist \scan_stop: - { - \cs_if_eq:NNTF \@currext \@clsextension - { \keys_latexe_options_class:n {#1} } - { - \bool_if:NT \_l_keys_process_class_bool - { \keys_latexe_options_package:n {#1} } - } - } -} -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\keys_latexe_options_class:n} -% For classes, each option (stripped of any content after `\texttt{=}') -% is checked for existence as a key. If found, the option is added to -% the combined list for processing. On the other hand, unused options -% are stored up in \cs{@unusedoptionlist}. -% \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options_class:n #1 { - \clist_map_inline:Nn \@classoptionslist - { - \cs_if_exist:cTF - { - \c_keys_root_tl #1 / - \keys_latexe_remove_equals:n {##1} .cmd:n - } - { \clist_put_right:Nn \keys_latexe_options_clist {##1} } - { \clist_put_right:Nn \@unusedoptionlist {##1} } - } -} -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\keys_latexe_options_package:n} -% For global options when processing a package, the tasks are slightly -% different from those for a class. The check is the same, but here -% there is nothing to do if the option is not applicable. Each valid -% option also needs to be removed from \cs{@unusedoptionlist}. -% \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options_package:n #1 { - \clist_map_inline:Nn \@classoptionslist - { - \cs_if_exist:cT - { - \c_keys_root_tl #1 / - \keys_latexe_remove_equals:n {##1} .cmd:n - } - { - \clist_put_right:Nn \keys_latexe_options_clist {##1} - \clist_remove_element:Nn \@unusedoptionlist {##1} - } - } -} -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\keys_latexe_options_local:} -% If local options are found, the are added to the processing list. -% \LaTeXe\ stores options for each file in a macro which may or may not -% exist, hence the need to use \cs{cs_if_exist:c}. -% \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_latexe_options_local: { - \cs_if_eq:NNF \@currext \@clsextension - { - \cs_if_exist:cT { opt@ \@currname . \@currext } - { - \exp_args:NNc \clist_put_right:NV \keys_latexe_options_clist - { opt@ \@currname . \@currext } - } - } -} -% \end{macrocode} -%\end{macro} -% -%\begin{macro}{\keys_latexe_remove_equals:n} -%\begin{macro}{\keys_latexe_remove_equals:w} -% As the name suggests, this is a simple function to remove an equals -% sign from the input. This is all wrapped up in an \texttt{n} function -% so that there will always be a sign available. -% \begin{macrocode} -\cs_new:Npn \keys_latexe_remove_equals:n #1 { - \keys_latexe_remove_equals:w #1 = \q_stop -} -\cs_new:Npn \keys_latexe_remove_equals:w #1 = #2 \q_stop {#1} -% \end{macrocode} -%\end{macro} -%\end{macro} -% -%\begin{macro}{\ProcessKeysOptions} -%\begin{macro}{\ProcessKeysOptions} -% The user macro are simply wrappers around the internal process. In -% contrast to other similar packages, the module name is always required -% here. -% \begin{macrocode} -\cs_new_protected:Npn \ProcessKeysOptions #1 { - \bool_set_true:N \_l_keys_process_class_bool - \keys_latexe_options:n {#1} -} -\cs_new_protected:Npn \ProcessKeysPackageOptions #1 { - \bool_set_false:N \_l_keys_process_class_bool - \keys_latexe_options:n {#1} -} -\@onlypreamble \ProcessKeysOptions -\@onlypreamble \ProcessKeysPackageOptions -% \end{macrocode} -%\end{macro} -%\end{macro} -% -% One message to give. -% \begin{macrocode} -\msg_kernel_new:nnnn { keyvalue } { option-unknown } - { Unknown~option~'#1'~for~package~#2. } - { - LaTeX~has~been~asked~to~set~an~option~called~'#1'\\ - but~the~#2~package~has~not~created~an~option~with~this~name. - } -% \end{macrocode} -% -% \begin{macrocode} -%</package> -% \end{macrocode} -% -% \end{implementation} -% -% \PrintIndex |