diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3doc.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3doc.dtx | 78 |
1 files changed, 59 insertions, 19 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx index bfac8aa6125..e68eec7c91a 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx @@ -79,7 +79,7 @@ and all files in that bundle must be distributed together. % % \title{The \cls{l3doc} class} % \author{\Team} -% \date{Released 2019-07-01} +% \date{Released 2019-07-25} % \maketitle % \tableofcontents % @@ -266,7 +266,7 @@ and all files in that bundle must be distributed together. % % Additionally, commands can be used in the argument of \cs{cs}. For % instance, |\cs{\meta{name}:\meta{signature}}| produces -% \cs{\meta{name}:\meta{signature}}. +% \cs[no-index]{\meta{name}:\meta{signature}}. % % The \meta{options} are a key--value list which can contain the % following keys: @@ -782,19 +782,23 @@ and all files in that bundle must be distributed together. % \begin{variable} % { % \l_@@_index_macro_tl, \l_@@_index_key_tl, -% \l_@@_index_module_tl, \l_@@_index_internal_bool +% \l_@@_index_module_tl, \l_@@_index_internal_bool, +% \l_@@_macro_do_not_index_tl % } % When analyzing a control sequence found within a \env{macrocode} % environment, \cs{l_@@_index_macro_tl} holds the control sequence % (partially a string), \cs{l_@@_index_key_tl} holds the future % sort key in the index, and \cs{l_@@_index_module_tl} is the -% subindex in which the control sequence should be listed. Finally, +% subindex in which the control sequence should be listed. % \cs{l_@@_index_internal_bool} indicates when the control sequence is % internal and should be indexed in a slightly different subindex. +% Finally, \cs{l_@@_macro_do_not_index_tl} indicates control sequences +% which should not be indexed in a specifiv \env{macro} envronment. % \begin{macrocode} \tl_new:N \l_@@_index_macro_tl \tl_new:N \l_@@_index_key_tl \tl_new:N \l_@@_index_module_tl +\tl_new:N \l_@@_macro_do_not_index_tl \bool_new:N \l_@@_index_internal_bool % \end{macrocode} % \end{variable} @@ -970,6 +974,7 @@ and all files in that bundle must be distributed together. \cs_generate_variant:Nn \tl_remove_all:Nn { Nx } \cs_generate_variant:Nn \tl_replace_all:Nnn { Nx , Nnx, No , Nno } \cs_generate_variant:Nn \tl_replace_once:Nnn { Noo } +\cs_generate_variant:Nn \tl_set_rescan:Nnn { NnV } \cs_generate_variant:Nn \tl_to_str:n { f , o } \cs_generate_variant:Nn \prop_get:NnNTF { Nx } \cs_generate_variant:Nn \prop_put:Nnn { Nx } @@ -1945,7 +1950,7 @@ and all files in that bundle must be distributed together. } % \end{macrocode} % -% \begin{macro}{\@@_cmd:nn, \@@_cmd:no} +% \begin{macro}[do-not-index={\\,\_,\1,\c,\2}]{\@@_cmd:nn, \@@_cmd:no} % Apply the key--value \meta{options}~|#1| after setting some % default values. Then (unless |replace=false|) replace |@@| in~|#2|, % which is a bit tricky: the |_| must be given the catcode expected by @@ -2424,7 +2429,8 @@ and all files in that bundle must be distributed together. } % \end{macrocode} % -% \begin{macro}{\@@_date_set:Nn,\@@_date_set_past:Nn} +% \begin{macro}[do-not-index={\A,\Z,\d,\1,\2,\3}] +% {\@@_date_set:Nn,\@@_date_set_past:Nn} % Normalize the date into the format \texttt{YYYY-MM-DD}; more % precisely month and day are allowed to be single digits. The % \cs{@@_date_set_past:Nn} function only allows dates in the past (or @@ -2917,6 +2923,9 @@ and all files in that bundle must be distributed together. verb .bool_set:N = \l_@@_names_verb_bool , module .tl_set:N = \l_@@_override_module_tl , documented-as .tl_set:N = \l_@@_macro_documented_tl , + do-not-index .value_required:n = true , + do-not-index .tl_set:N = \l_@@_macro_do_not_index_tl , + % do-not-index .default:n = \q_no_value , } % \end{macrocode} % @@ -2936,6 +2945,7 @@ and all files in that bundle must be distributed together. \keys_set:nn { l3doc/macro } {#1} \@@_names_get_seq:nN {#2} \l_@@_names_seq \@@_names_parse: + \@@_macro_exclude_index: \@@_macro_save_names: \@@_names_typeset: \@@_macro_dump: @@ -3011,6 +3021,37 @@ and all files in that bundle must be distributed together. % \end{macrocode} % \end{macro} % +% \begin{macro}{\@@_macro_exclude_index:} +% Some control sequences in a \env{macrocode} environment shouldn't +% be indexed, for different reasons. This macro parses the argument +% of the |do-not-index| option and locally removes the given macros +% from the index. +% +% The optional argument to \env{macro} is not scanned with verbatim +% catcodes, so we use \cs{tl_set_rescan:NnV} to rescan the commands +% with the same catcodes as \cs{DoNotIndex}. The scanned token list +% contains spaces after control sequences, which are not there when +% \cs{DoNotIndex} is used. Since \cs{seq_set_from_clist:Nn} removes +% spaces around the items, we can abuse that and \cs{seq_use:Nn} to +% normalise each item. After that \cs{DoNotIndex} can do its thing. +% \begin{macrocode} +\cs_new_protected:Npn \@@_macro_exclude_index: + { + \tl_if_empty:NF \l_@@_macro_do_not_index_tl + { + \tl_set_rescan:NnV \l_@@_macro_do_not_index_tl + { \MakePrivateLetters \catcode`\\12 } + \l_@@_macro_do_not_index_tl + \exp_args:NNV \seq_set_from_clist:Nn + \l_@@_tmpa_seq \l_@@_macro_do_not_index_tl + \tl_set:Nx \l_@@_macro_do_not_index_tl + { \seq_use:Nn \l_@@_tmpa_seq { , } } + \exp_args:NV \DoNotIndex \l_@@_macro_do_not_index_tl + } + } +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\@@_macro_dump:} % This calls |\makelabel{}| % \begin{macrocode} @@ -3494,7 +3535,7 @@ and all files in that bundle must be distributed together. % \end{macrocode} % \end{macro} % -% \begin{environment}{\NOTE} +% \begin{environment}{NOTE} % \begin{NOTE}{wspr} % this is what I #$%& think about this! % \end{NOTE} @@ -3686,10 +3727,12 @@ and all files in that bundle must be distributed together. \@tempswatrue \if@partsw \@tempswafalse - \cs_set:Npx \@tempb{#1} - \@for\@tempa:=\@partlist\do + \cs_set:Npx \@tempb {#1} + \clist_map_inline:Nn \@partlist { - \ifx\@tempa\@tempb\@tempswatrue\fi + \if_meaning:w \@tempa \@tempb + \@tempswatrue + \fi: } \fi \if@tempswa @@ -3825,7 +3868,7 @@ and all files in that bundle must be distributed together. } \cs_new_protected:Npn \@@_xmacro_code:w #1 < @ @ = #2 > { - % Add code before <@@=...> + % Add code before <@@@@=...> \tl_set:Nn \l_@@_tmpb_tl {#1} \@@_detect_internals:N \l_@@_tmpb_tl \@@_replace_at_at:N \l_@@_tmpb_tl @@ -3833,7 +3876,7 @@ and all files in that bundle must be distributed together. % Check for \q_recursion_tail \quark_if_recursion_tail_stop_do:nn {#2} { \tl_use:N \l_@@_tmpa_tl } - % Change module name and add <@@=#2> to typeset output + % Change module name and add <@@@@=#2> to typeset output \tl_gset:Nn \g_@@_module_name_tl {#2} \tl_put_right:Nn \l_@@_tmpa_tl { < \text { \verbatim@font @ @ = #2 } > } % Loop @@ -4221,7 +4264,7 @@ and all files in that bundle must be distributed together. % \begin{macrocode} \cs_new_protected:Npn \@@_quote_special_char:N #1 { - \tl_map_inline:nn { \quotechar \actualchar \encapchar \levelchar } + \tl_map_inline:nn { \quotechar \actualchar \encapchar \levelchar \bslash } { \tl_replace_all:Nxn #1 { \tl_to_str:N ##1 } { \quotechar \tl_to_str:N ##1 } @@ -4452,12 +4495,7 @@ and all files in that bundle must be distributed together. \tl_const:Nn \Team { The~\LaTeX3~Project\thanks - { - Frank~Mittelbach,~Denys~Duchier,~Chris~Rowley,~ - Rainer~Sch\"opf,~Johannes~Braams,~Michael~Downes,~ - David~Carlisle,~Alan~Jeffrey,~Morten~H\o{}gholm,~Thomas~Lotze,~ - Javier~Bezos,~Will~Robertson,~Joseph~Wright,~Bruno~Le~Floch - } + {\url{https://www.latex-project.org/latex3/}} } % \end{macrocode} % @@ -4521,6 +4559,7 @@ and all files in that bundle must be distributed together. % Frank: at the moment we do not distribute or generate this file. % \file{gind.ist} is used instead. % +% \begin{macro}[do-not-index={\\,\n}]{} % \begin{macrocode} actual '=' quote '!' @@ -4548,6 +4587,7 @@ headings_flag 1 % Remove R so I is treated in sequence I J K not I II III page_precedence "rnaA" % \end{macrocode} +% \end{macro} % % \begin{macrocode} %</docist> |