diff options
author | Karl Berry <karl@freefriends.org> | 2017-12-06 23:56:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-12-06 23:56:06 +0000 |
commit | cc862e582aa0dd7c0dee16bb5475394338a07641 (patch) | |
tree | b03dbc5b6657d47f5c61b8fcc26f04a564ad6afd /Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx | |
parent | 7ffad570b11726b0ca150867d23878fc1a949865 (diff) |
l3 (7dec17)
git-svn-id: svn://tug.org/texlive/trunk@46003 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx | 110 |
1 files changed, 55 insertions, 55 deletions
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx index 3727f843911..7dfc3d4d0eb 100644 --- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx +++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx @@ -11,7 +11,7 @@ % 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 +% https://www.latex-project.org/lppl.txt % % This file is part of the "l3packages bundle" (The Work in LPPL) % and all files in that bundle must be distributed together. @@ -27,8 +27,8 @@ %<*driver|package> % The version of expl3 required is tested as early as possible, as % some really old versions do not define \ProvidesExplPackage. -\RequirePackage{expl3}[2017/11/14] -%<package>\@ifpackagelater{expl3}{2017/11/14} +\RequirePackage{expl3}[2017/12/05] +%<package>\@ifpackagelater{expl3}{2017/12/05} %<package> {} %<package> {% %<package> \PackageError{xparse}{Support package l3kernel too old} @@ -67,7 +67,7 @@ % }^^A % } % -% \date{Released 2017/11/14} +% \date{Released 2017/12/05} % % \maketitle % @@ -776,7 +776,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xparse}{2017/11/14}{} +\ProvidesExplPackage{xparse}{2017/12/05}{} {L3 Experimental document command parser} % \end{macrocode} % @@ -1008,8 +1008,8 @@ % \subsection{Declaring commands and environments} % % \begin{macro}{\@@_declare_cmd:Nnn, \@@_declare_expandable_cmd:Nnn} -% \begin{macro}[aux]{\@@_declare_cmd_aux:Nnn} -% \begin{macro}[int] +% \begin{macro}{\@@_declare_cmd_aux:Nnn} +% \begin{macro} % {\@@_declare_cmd_internal:Nnn, \@@_declare_cmd_internal:cnx} % The main functions for creating commands set the appropriate flag then % use the same internal code to do the definition. @@ -1076,7 +1076,7 @@ % \end{macro} % % \begin{macro}{\@@_declare_cmd_code:Nnn} -% \begin{macro}[aux] +% \begin{macro} % {\@@_declare_cmd_code_aux:Nnn, \@@_declare_cmd_code_expandable:Nnn} % The appropriate auxiliary is called. % \begin{macrocode} @@ -1180,7 +1180,7 @@ % \end{macro} % % \begin{macro}{\@@_declare_env:nnnn} -% \begin{macro}[int]{\@@_declare_env_internal:nnnn} +% \begin{macro}{\@@_declare_env_internal:nnnn} % The lead-off to creating an environment is much the same as that for % creating a command: issue the appropriate message, store the argument % specification then hand off to an internal function. @@ -1242,7 +1242,7 @@ % \subsection{Structure of \pkg{xparse} commands} % % \begin{macro}{\@@_start:nNNnnn} -% \begin{macro}[aux]{\@@_start_aux:nNNnnn} +% \begin{macro}{\@@_start_aux:nNNnnn} % This sets up a few variables to minimize the boilerplate code % included in all \pkg{xparse}-defined commands. It then runs the % grabbers~|#4|. Again, the argument specification |#1| is only for @@ -1283,8 +1283,8 @@ % \end{macro} % % \begin{macro}{\@@_defaults:} -% \begin{macro}[aux]{\@@_defaults_def:, \@@_defaults_def:nn, \@@_defaults_def:nnn} -% \begin{macro}[aux]{\@@_defaults_aux:, \@@_defaults_error:w} +% \begin{macro}{\@@_defaults_def:, \@@_defaults_def:nn, \@@_defaults_def:nnn} +% \begin{macro}{\@@_defaults_aux:, \@@_defaults_error:w} % First construct \cs{@@_tmp:w} (see below) that will receive % the arguments found so far and determine default values for any % missing argument. Then call it repeatedly until the set of @@ -1360,7 +1360,7 @@ % \end{macro} % % \begin{macro}{\@@_args_process:} -% \begin{macro}[aux]{\@@_args_process_loop:nn, \@@_args_process_aux:n, \@@_args_process_aux:nn} +% \begin{macro}{\@@_args_process_loop:nn, \@@_args_process_aux:n, \@@_args_process_aux:nn} % Loop through arguments (stored in \cs{l_@@_args_tl}) and the % corresponding processors (in \cs{l_@@_process_all_tl}) % simultaneously, apply all processors for each argument and store the @@ -1404,11 +1404,11 @@ % \end{macro} % % \begin{macro}[EXP]{\@@_end_expandable:NNw} -% \begin{macro}[EXP,aux]{\@@_end_expandable_aux:w} -% \begin{macro}[EXP,aux]{\@@_end_expandable_aux:nNNNN} -% \begin{macro}[EXP,aux]{\@@_end_expandable_defaults:nnnNNn} -% \begin{macro}[EXP,aux]{\@@_end_expandable_defaults:nnw} -% \begin{macro}[EXP,aux]{\@@_end_expandable_defaults:nw} +% \begin{macro}[EXP]{\@@_end_expandable_aux:w} +% \begin{macro}[EXP]{\@@_end_expandable_aux:nNNNN} +% \begin{macro}[EXP]{\@@_end_expandable_defaults:nnnNNn} +% \begin{macro}[EXP]{\@@_end_expandable_defaults:nnw} +% \begin{macro}[EXP]{\@@_end_expandable_defaults:nw} % Followed by a function |#1| to determine default values (or |?| if % there are no defaults), the code % |#2|, arguments that have been grabbed, then \cs{q_@@} and two generic @@ -1655,7 +1655,7 @@ % \@@_normalize_type_G:w, % \@@_normalize_type_t:w, % } -% \begin{macro}[aux]{\@@_normalize_E_unique_check:w} +% \begin{macro}{\@@_normalize_E_unique_check:w} % Optional argument types. Check that all required data is present % (and consists of single characters if applicable) and check for % forbidden types for expandable commands. For \texttt{E}-type @@ -2321,7 +2321,7 @@ % \end{macro} % % \begin{macro}{\@@_add_expandable_type_E:w} -% \begin{macro}[aux]{\@@_add_expandable_type_E_aux:n} +% \begin{macro}{\@@_add_expandable_type_E_aux:n} % For each embellishment, use \cs{@@_get_grabber:NN} to obtain an % auxiliary delimited by that token and store a pair constituted of % the auxiliary and the token in \cs{l_@@_tmpb_tl}, before appending @@ -2438,8 +2438,8 @@ % \end{macro} % % \begin{macro}{\@@_get_grabber:NN} -% \begin{macro}[aux]{\@@_get_grabber_auxi:NN} -% \begin{macro}[aux]{\@@_get_grabber_auxii:NN} +% \begin{macro}{\@@_get_grabber_auxi:NN} +% \begin{macro}{\@@_get_grabber_auxii:NN} % Given a token |#1|, defines an expandable function delimited by that % token and stores it in the token list~|#2|. The function is named % after the token, unless that function name is already taken by some @@ -2519,8 +2519,8 @@ \cs_new_protected:Npn \@@_grab_D_long_trailing:w #1#2#3 \@@_run_code: { \@@_grab_D_aux:NNnNn #1 #2 {#3} \cs_set_protected:Npn { } } % \end{macrocode} -% \begin{macro}[aux]{\@@_grab_D_aux:NNnNn} -% \begin{macro}[aux]{\@@_grab_D_aux:NNnN} +% \begin{macro}{\@@_grab_D_aux:NNnNn} +% \begin{macro}{\@@_grab_D_aux:NNnN} % This is a bit complicated. The idea is that, in order to check for % nested optional argument tokens (\texttt{[[...]]} and so on) the % argument needs to be grabbed without removing any braces at all. If @@ -2571,8 +2571,8 @@ % \end{macro} % \end{macro} % \end{macro} -% \begin{macro}[aux]{\@@_grab_D_nested:NNnN} -% \begin{macro}[aux]{\@@_grab_D_nested:w} +% \begin{macro}{\@@_grab_D_nested:NNnN} +% \begin{macro}{\@@_grab_D_nested:w} % \begin{macro}{\l_@@_nesting_a_tl} % \begin{macro}{\l_@@_nesting_b_tl} % \begin{macro}{\q_@@} @@ -2670,9 +2670,9 @@ % \@@_grab_E:w, \@@_grab_E_long:w, % \@@_grab_E_trailing:w, \@@_grab_E_long_trailing:w % } -% \begin{macro}[aux]{\@@_grab_E:nnNn} -% \begin{macro}[aux]{\@@_grab_E_loop:nnN} -% \begin{macro}[aux]{\@@_grab_E_finalise:} +% \begin{macro}{\@@_grab_E:nnNn} +% \begin{macro}{\@@_grab_E_loop:nnN} +% \begin{macro}{\@@_grab_E_finalise:} % Everything here needs to point to a loop. % \begin{macrocode} \cs_new_protected:Npn \@@_grab_E:w #1#2 \@@_run_code: @@ -2748,7 +2748,7 @@ % \begin{macro}{\@@_grab_G_long:w} % \begin{macro}{\@@_grab_G_trailing:w} % \begin{macro}{\@@_grab_G_long_trailing:w} -% \begin{macro}[aux]{\@@_grab_G_aux:nNn} +% \begin{macro}{\@@_grab_G_aux:nNn} % Optional groups are checked by meaning, so that the same code will % work with, for example, Con\TeX{}t-like input. % \begin{macrocode} @@ -2783,7 +2783,7 @@ % % \begin{macro}{\@@_grab_l:w} % \begin{macro}{\@@_grab_l_long:w} -% \begin{macro}[aux]{\@@_grab_l_aux:nN} +% \begin{macro}{\@@_grab_l_aux:nN} % Argument grabbers for mandatory \TeX{} arguments are pretty simple. % \begin{macrocode} \cs_new_protected:Npn \@@_grab_l:w #1 \@@_run_code: @@ -2833,7 +2833,7 @@ % \begin{macro}{\@@_grab_m_7:w} % \begin{macro}{\@@_grab_m_8:w} % \begin{macro}{\@@_grab_m_9:w} -% \begin{macro}[aux]{\@@_grab_m_aux:Nnnnnnnnn} +% \begin{macro}{\@@_grab_m_aux:Nnnnnnnnn} % Grabbing 1--8 mandatory arguments is done by giving 8--1 known % arguments to a 9-argument function that stores them in % \cs{l_@@_args_tl}. For simplicity, grabbing 9 mandatory arguments @@ -2911,7 +2911,7 @@ % \end{macro} % % \begin{macro}{\@@_grab_R:w, \@@_grab_R_long:w} -% \begin{macro}[aux]{\@@_grab_R_aux:NNnN} +% \begin{macro}{\@@_grab_R_aux:NNnN} % The grabber for \texttt{R}-type arguments is basically the same as % that for \texttt{D}-type ones, but always skips spaces (as it is mandatory) % and has a hard-coded error message. @@ -2940,7 +2940,7 @@ % \begin{macro}{\@@_grab_t_long:w} % \begin{macro}{\@@_grab_t_trailing:w} % \begin{macro}{\@@_grab_t_long_trailing:w} -% \begin{macro}[aux]{\@@_grab_t_aux:NNw} +% \begin{macro}{\@@_grab_t_aux:NNw} % Dealing with a token is quite easy. Check the match, remove the % token if needed and add a flag to the output. % \begin{macrocode} @@ -2970,7 +2970,7 @@ % % \begin{macro}{\@@_grab_u:w} % \begin{macro}{\@@_grab_u_long:w} -% \begin{macro}[aux]{\@@_grab_u_aux:nnN} +% \begin{macro}{\@@_grab_u_aux:nnN} % Grabbing up to a list of tokens is quite easy: define the grabber, % and then collect. % \begin{macrocode} @@ -3271,10 +3271,10 @@ % \subsection{Grabbing arguments expandably} % % \begin{macro}[EXP]{\@@_expandable_grab_D:w} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:NNNwNNn} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:NNNwNNnnn} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:Nw} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:nnNNNwNN} +% \begin{macro}[EXP]{\@@_expandable_grab_D:NNNwNNn} +% \begin{macro}[EXP]{\@@_expandable_grab_D:NNNwNNnnn} +% \begin{macro}[EXP]{\@@_expandable_grab_D:Nw} +% \begin{macro}[EXP]{\@@_expandable_grab_D:nnNNNwNN} % The first step is to grab the first token or group. The generic grabbers % \cs{\meta{function}}\verb*| | and \cs{\meta{function}}\verb*| | are just after \cs{q_@@}, we go and find % them (and use the long one). @@ -3450,12 +3450,12 @@ % \end{macro} % % \begin{macro}[EXP]{\@@_expandable_grab_E:w, \@@_expandable_grab_E_long:w} -% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_aux:w} -% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_test:nnw} -% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_loop:nnnNNw} -% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_find:w} -% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_find:nnw} -% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_end:nnw} +% \begin{macro}[EXP]{\@@_expandable_grab_E_aux:w} +% \begin{macro}[EXP]{\@@_expandable_grab_E_test:nnw} +% \begin{macro}[EXP]{\@@_expandable_grab_E_loop:nnnNNw} +% \begin{macro}[EXP]{\@@_expandable_grab_E_find:w} +% \begin{macro}[EXP]{\@@_expandable_grab_E_find:nnw} +% \begin{macro}[EXP]{\@@_expandable_grab_E_end:nnw} % We keep track of long/short by placing the appropriate grabber as % the third token after \cs{q_@@}; it is eventually removed by the % \texttt{end:nnw} auxiliary. The \texttt{aux:w} auxiliary will be @@ -3527,7 +3527,7 @@ % \end{macro} % % \begin{macro}[EXP]{\@@_expandable_grab_m:w, \@@_expandable_grab_m_long:w} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_m_aux:wNn} +% \begin{macro}[EXP]{\@@_expandable_grab_m_aux:wNn} % The mandatory case is easy: find the auxiliary after the \cs{q_@@}, % and use it directly to grab the argument, then correctly position % the argument before \cs{q_@@}. @@ -3543,7 +3543,7 @@ % \end{macro} % % \begin{macro}[EXP]{\@@_expandable_grab_R:w} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_R_aux:NNNwNNn} +% \begin{macro}[EXP]{\@@_expandable_grab_R_aux:NNNwNNn} % Much the same as for the \texttt{D}-type argument, with only the lead-off % function varying. % \begin{macrocode} @@ -3614,7 +3614,7 @@ % \end{macro} % % \begin{macro}[EXP]{\@@_expandable_grab_t:w} -% \begin{macro}[EXP, aux]{\@@_expandable_grab_t_aux:NNwn} +% \begin{macro}[EXP]{\@@_expandable_grab_t_aux:NNwn} % As for a \texttt{D}-type argument, here we compare the grabbed tokens using % the only parser we have in order to work out if |#2| is exactly equal to % the output of the grabber. @@ -3664,8 +3664,8 @@ % % \begin{variable}{\l_@@_split_list_seq, \l_@@_split_list_tl} % \begin{macro}{\@@_split_list:nn} -% \begin{macro}[aux]{\@@_split_list_multi:nn, \@@_split_list_multi:nV} -% \begin{macro}[aux]{\@@_split_list_single:Nn} +% \begin{macro}{\@@_split_list_multi:nn, \@@_split_list_multi:nV} +% \begin{macro}{\@@_split_list_single:Nn} % Splitting can take place either at a single token or at a longer % identifier. To deal with single active tokens, a two-part procedure is % needed. @@ -3712,9 +3712,9 @@ % \end{variable} % % \begin{macro}{\@@_split_argument:nnn} -% \begin{macro}[aux]{\@@_split_argument_aux:nnnn} -% \begin{macro}[aux, EXP]{\@@_split_argument_aux:n} -% \begin{macro}[aux, rEXP]{\@@_split_argument_aux:wn} +% \begin{macro}{\@@_split_argument_aux:nnnn} +% \begin{macro}[EXP]{\@@_split_argument_aux:n} +% \begin{macro}[rEXP]{\@@_split_argument_aux:wn} % Splitting to a known number of items is a special version of splitting % a list, in which the limit is hard-coded and where there will always be % exactly the correct number of output items. An auxiliary function is @@ -3930,7 +3930,7 @@ % \end{macro} % % \begin{macro}{\@@_tl_mapthread_function:NNN, \@@_tl_mapthread_function:nnN} -% \begin{macro}[aux]{\@@_tl_mapthread_loop:w} +% \begin{macro}{\@@_tl_mapthread_loop:w} % Analogue of \cs{seq_mapthread_function:NNN} for token lists. % \begin{macrocode} \cs_new:Npn \@@_tl_mapthread_function:NNN #1#2#3 @@ -3964,7 +3964,7 @@ % \end{macro} % % \begin{macro}{\@@_cmd_if_xparse:NTF} -% \begin{macro}[aux]{\@@_cmd_if_xparse_aux:N} +% \begin{macro}{\@@_cmd_if_xparse_aux:N} % To determine whether the command is an \pkg{xparse} command check % that its |arg_spec| is empty (this also excludes non-macros) and % that its |replacement_spec| starts with either \cs{@@_start:nNNnnn} |