diff options
author | Norbert Preining <norbert@preining.info> | 2021-06-19 03:01:48 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-06-19 03:01:48 +0000 |
commit | daa6873fe1d06863ffc2980970295b39071f02ba (patch) | |
tree | 436daaf0d6464d12d7ad7af294e5aeed5851f8fb /macros/latex/contrib/l3kernel/l3text.dtx | |
parent | 3ecc00c27119bc47ba26b518b7d26c00b69599df (diff) |
CTAN sync 202106190301
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3text.dtx')
-rw-r--r-- | macros/latex/contrib/l3kernel/l3text.dtx | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index 724c190681..c7ced6efbf 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-06-01} +% \date{Released 2021-06-18} % % \maketitle % @@ -625,6 +625,8 @@ % \begin{macro}[EXP]{\@@_expand_exclude:nN} % \begin{macro}[EXP]{\@@_expand_exclude:NN} % \begin{macro}[EXP]{\@@_expand_exclude:Nn} +% \begin{macro}[EXP]{\@@_expand_accent:N} +% \begin{macro}[EXP]{\@@_expand_accent:NN} % \begin{macro}[EXP]{\@@_expand_letterlike:N} % \begin{macro}[EXP]{\@@_expand_letterlike:NN} % \begin{macro}[EXP]{\@@_expand_cs:N, \@@_expand_encoding:N} @@ -858,15 +860,13 @@ } % \end{macrocode} % Next we exclude math commands: this is mainly as there \emph{might} be an -% \cs{ensuremath}. We also handle accents, which are basically the same issue -% but are kept separate for semantic reasons. +% \cs{ensuremath}. % \begin{macrocode} \cs_new:Npn \@@_expand_exclude:N #1 { \exp_args:Ne \@@_expand_exclude:nN { \exp_not:V \l_text_math_arg_tl - \exp_not:V \l_text_accents_tl \exp_not:V \l_text_expand_exclude_tl } #1 @@ -879,7 +879,7 @@ \cs_new:Npn \@@_expand_exclude:NN #1#2 { \@@_if_recursion_tail_stop_do:Nn #2 - { \@@_expand_letterlike:N #1 } + { \@@_expand_accent:N #1 } \str_if_eq:nnTF {#1} {#2} { \@@_use_i_delimit_by_q_recursion_stop:nw @@ -893,6 +893,29 @@ \@@_expand_loop:w } % \end{macrocode} +% Accents. +% \begin{macrocode} +\cs_new:Npn \@@_expand_accent:N #1 + { + \exp_after:wN \@@_expand_accent:NN \exp_after:wN + #1 \l_text_accents_tl + \q_@@_recursion_tail \q_@@_recursion_stop + } +\cs_new:Npn \@@_expand_accent:NN #1#2 + { + \@@_if_recursion_tail_stop_do:Nn #2 + { \@@_expand_letterlike:N #1 } + \cs_if_eq:NNTF #2 #1 + { + \@@_use_i_delimit_by_q_recursion_stop:nw + { + \@@_expand_store:n {#1} + \@@_expand_loop:w + } + } + { \@@_expand_accent:NN #1 } + } +% \end{macrocode} % Another list of exceptions: these ones take no arguments so are % easier to handle. % \begin{macrocode} @@ -1091,6 +1114,8 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro} % { |