diff options
author | Karl Berry <karl@freefriends.org> | 2015-03-02 22:00:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-03-02 22:00:39 +0000 |
commit | 31370a61758b71ae992cb45a6e475e5d0c4d921f (patch) | |
tree | bf7f3c65116794b8a57092935cbe1960e0b1cdb5 /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | |
parent | d085026f8b51358f65d4f81412f6af6a5094e14a (diff) |
l3kernel (2mar15)
git-svn-id: svn://tug.org/texlive/trunk@36423 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | 1656 |
1 files changed, 901 insertions, 755 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index a5dccfde3e7..dffedf539df 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -80,8 +80,8 @@ %% ----------------------------------------------------------------------- \def\ExplFileName{expl3} \def\ExplFileDescription{L3 programming layer} -\def\ExplFileDate{2015/02/13} -\def\ExplFileVersion{5524} +\def\ExplFileDate{2015/03/01} +\def\ExplFileVersion{5547} \begingroup \def\next{\endgroup} \expandafter\ifx\csname PackageError\endcsname\relax @@ -240,7 +240,7 @@ } } \endgroup -\GetIdInfo$Id: l3bootstrap.dtx 5500 2015-01-27 14:37:04Z joseph $ +\GetIdInfo$Id: l3bootstrap.dtx 5542 2015-02-28 22:47:53Z joseph $ {L3 Bootstrap code} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdfstrcmp\endcsname\relax @@ -326,11 +326,13 @@ \def\@tempa{LaTeX2e} \def\next{} \ifx\fmtname\@tempa - \def\next - {% - \RequirePackage{etex}% - \csname reserveinserts\endcsname{32}% - } + \unless\ifdefined\extrafloats + \def\next + {% + \RequirePackage{etex}% + \csname reserveinserts\endcsname{32}% + } + \fi \fi \expandafter\endgroup \next @@ -393,7 +395,7 @@ \tex_endlinechar:D = 32 \scan_stop: \bool_set_true:N \l__kernel_expl_bool } -%% File: l3names.dtx Copyright (C) 1990-2014 The LaTeX3 project +%% File: l3names.dtx Copyright (C) 1990-2015 The 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 @@ -425,7 +427,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3names.dtx 5343 2014-08-22 19:32:35Z bruno $ +\GetIdInfo$Id: l3names.dtx 5535 2015-02-24 09:11:19Z joseph $ {L3 Namespace for primitives} \let \tex_global:D \global \let \tex_let:D \let @@ -434,441 +436,447 @@ { \tex_global:D \tex_let:D #2 #1 } - \__kernel_primitive:NN \ \tex_space:D - \__kernel_primitive:NN \/ \tex_italiccorrection:D - \__kernel_primitive:NN \- \tex_hyphen:D - \__kernel_primitive:NN \let \tex_let:D - \__kernel_primitive:NN \def \tex_def:D - \__kernel_primitive:NN \edef \tex_edef:D - \__kernel_primitive:NN \gdef \tex_gdef:D - \__kernel_primitive:NN \xdef \tex_xdef:D - \__kernel_primitive:NN \chardef \tex_chardef:D - \__kernel_primitive:NN \countdef \tex_countdef:D - \__kernel_primitive:NN \dimendef \tex_dimendef:D - \__kernel_primitive:NN \skipdef \tex_skipdef:D - \__kernel_primitive:NN \muskipdef \tex_muskipdef:D - \__kernel_primitive:NN \mathchardef \tex_mathchardef:D - \__kernel_primitive:NN \toksdef \tex_toksdef:D - \__kernel_primitive:NN \futurelet \tex_futurelet:D - \__kernel_primitive:NN \advance \tex_advance:D - \__kernel_primitive:NN \divide \tex_divide:D - \__kernel_primitive:NN \multiply \tex_multiply:D - \__kernel_primitive:NN \font \tex_font:D - \__kernel_primitive:NN \fam \tex_fam:D - \__kernel_primitive:NN \global \tex_global:D - \__kernel_primitive:NN \long \tex_long:D - \__kernel_primitive:NN \outer \tex_outer:D - \__kernel_primitive:NN \setlanguage \tex_setlanguage:D - \__kernel_primitive:NN \globaldefs \tex_globaldefs:D - \__kernel_primitive:NN \afterassignment \tex_afterassignment:D - \__kernel_primitive:NN \aftergroup \tex_aftergroup:D - \__kernel_primitive:NN \expandafter \tex_expandafter:D - \__kernel_primitive:NN \noexpand \tex_noexpand:D - \__kernel_primitive:NN \begingroup \tex_begingroup:D - \__kernel_primitive:NN \endgroup \tex_endgroup:D - \__kernel_primitive:NN \halign \tex_halign:D - \__kernel_primitive:NN \valign \tex_valign:D - \__kernel_primitive:NN \cr \tex_cr:D - \__kernel_primitive:NN \crcr \tex_crcr:D - \__kernel_primitive:NN \noalign \tex_noalign:D - \__kernel_primitive:NN \omit \tex_omit:D - \__kernel_primitive:NN \span \tex_span:D - \__kernel_primitive:NN \tabskip \tex_tabskip:D - \__kernel_primitive:NN \everycr \tex_everycr:D - \__kernel_primitive:NN \if \tex_if:D - \__kernel_primitive:NN \ifcase \tex_ifcase:D - \__kernel_primitive:NN \ifcat \tex_ifcat:D - \__kernel_primitive:NN \ifnum \tex_ifnum:D - \__kernel_primitive:NN \ifodd \tex_ifodd:D - \__kernel_primitive:NN \ifdim \tex_ifdim:D - \__kernel_primitive:NN \ifeof \tex_ifeof:D - \__kernel_primitive:NN \ifhbox \tex_ifhbox:D - \__kernel_primitive:NN \ifvbox \tex_ifvbox:D - \__kernel_primitive:NN \ifvoid \tex_ifvoid:D - \__kernel_primitive:NN \ifx \tex_ifx:D - \__kernel_primitive:NN \iffalse \tex_iffalse:D - \__kernel_primitive:NN \iftrue \tex_iftrue:D - \__kernel_primitive:NN \ifhmode \tex_ifhmode:D - \__kernel_primitive:NN \ifmmode \tex_ifmmode:D - \__kernel_primitive:NN \ifvmode \tex_ifvmode:D - \__kernel_primitive:NN \ifinner \tex_ifinner:D - \__kernel_primitive:NN \else \tex_else:D - \__kernel_primitive:NN \fi \tex_fi:D - \__kernel_primitive:NN \or \tex_or:D - \__kernel_primitive:NN \immediate \tex_immediate:D - \__kernel_primitive:NN \closeout \tex_closeout:D - \__kernel_primitive:NN \openin \tex_openin:D - \__kernel_primitive:NN \openout \tex_openout:D - \__kernel_primitive:NN \read \tex_read:D - \__kernel_primitive:NN \write \tex_write:D - \__kernel_primitive:NN \closein \tex_closein:D - \__kernel_primitive:NN \newlinechar \tex_newlinechar:D - \__kernel_primitive:NN \input \tex_input:D - \__kernel_primitive:NN \endinput \tex_endinput:D - \__kernel_primitive:NN \inputlineno \tex_inputlineno:D - \__kernel_primitive:NN \errmessage \tex_errmessage:D - \__kernel_primitive:NN \message \tex_message:D - \__kernel_primitive:NN \show \tex_show:D - \__kernel_primitive:NN \showthe \tex_showthe:D - \__kernel_primitive:NN \showbox \tex_showbox:D - \__kernel_primitive:NN \showlists \tex_showlists:D - \__kernel_primitive:NN \errhelp \tex_errhelp:D - \__kernel_primitive:NN \errorcontextlines \tex_errorcontextlines:D - \__kernel_primitive:NN \tracingcommands \tex_tracingcommands:D - \__kernel_primitive:NN \tracinglostchars \tex_tracinglostchars:D - \__kernel_primitive:NN \tracingmacros \tex_tracingmacros:D - \__kernel_primitive:NN \tracingonline \tex_tracingonline:D - \__kernel_primitive:NN \tracingoutput \tex_tracingoutput:D - \__kernel_primitive:NN \tracingpages \tex_tracingpages:D - \__kernel_primitive:NN \tracingparagraphs \tex_tracingparagraphs:D - \__kernel_primitive:NN \tracingrestores \tex_tracingrestores:D - \__kernel_primitive:NN \tracingstats \tex_tracingstats:D - \__kernel_primitive:NN \pausing \tex_pausing:D - \__kernel_primitive:NN \showboxbreadth \tex_showboxbreadth:D - \__kernel_primitive:NN \showboxdepth \tex_showboxdepth:D - \__kernel_primitive:NN \batchmode \tex_batchmode:D - \__kernel_primitive:NN \errorstopmode \tex_errorstopmode:D - \__kernel_primitive:NN \nonstopmode \tex_nonstopmode:D - \__kernel_primitive:NN \scrollmode \tex_scrollmode:D - \__kernel_primitive:NN \end \tex_end:D - \__kernel_primitive:NN \csname \tex_csname:D - \__kernel_primitive:NN \endcsname \tex_endcsname:D - \__kernel_primitive:NN \ignorespaces \tex_ignorespaces:D - \__kernel_primitive:NN \relax \tex_relax:D - \__kernel_primitive:NN \the \tex_the:D - \__kernel_primitive:NN \mag \tex_mag:D - \__kernel_primitive:NN \language \tex_language:D - \__kernel_primitive:NN \mark \tex_mark:D - \__kernel_primitive:NN \topmark \tex_topmark:D - \__kernel_primitive:NN \firstmark \tex_firstmark:D - \__kernel_primitive:NN \botmark \tex_botmark:D - \__kernel_primitive:NN \splitfirstmark \tex_splitfirstmark:D - \__kernel_primitive:NN \splitbotmark \tex_splitbotmark:D - \__kernel_primitive:NN \fontname \tex_fontname:D - \__kernel_primitive:NN \escapechar \tex_escapechar:D - \__kernel_primitive:NN \endlinechar \tex_endlinechar:D - \__kernel_primitive:NN \mathchoice \tex_mathchoice:D - \__kernel_primitive:NN \delimiter \tex_delimiter:D - \__kernel_primitive:NN \mathaccent \tex_mathaccent:D - \__kernel_primitive:NN \mathchar \tex_mathchar:D - \__kernel_primitive:NN \mskip \tex_mskip:D - \__kernel_primitive:NN \radical \tex_radical:D - \__kernel_primitive:NN \vcenter \tex_vcenter:D - \__kernel_primitive:NN \mkern \tex_mkern:D - \__kernel_primitive:NN \above \tex_above:D - \__kernel_primitive:NN \abovewithdelims \tex_abovewithdelims:D - \__kernel_primitive:NN \atop \tex_atop:D - \__kernel_primitive:NN \atopwithdelims \tex_atopwithdelims:D - \__kernel_primitive:NN \over \tex_over:D - \__kernel_primitive:NN \overwithdelims \tex_overwithdelims:D - \__kernel_primitive:NN \displaystyle \tex_displaystyle:D - \__kernel_primitive:NN \textstyle \tex_textstyle:D - \__kernel_primitive:NN \scriptstyle \tex_scriptstyle:D - \__kernel_primitive:NN \scriptscriptstyle \tex_scriptscriptstyle:D - \__kernel_primitive:NN \nonscript \tex_nonscript:D - \__kernel_primitive:NN \eqno \tex_eqno:D - \__kernel_primitive:NN \leqno \tex_leqno:D - \__kernel_primitive:NN \abovedisplayshortskip \tex_abovedisplayshortskip:D - \__kernel_primitive:NN \abovedisplayskip \tex_abovedisplayskip:D - \__kernel_primitive:NN \belowdisplayshortskip \tex_belowdisplayshortskip:D - \__kernel_primitive:NN \belowdisplayskip \tex_belowdisplayskip:D - \__kernel_primitive:NN \displaywidowpenalty \tex_displaywidowpenalty:D - \__kernel_primitive:NN \displayindent \tex_displayindent:D - \__kernel_primitive:NN \displaywidth \tex_displaywidth:D - \__kernel_primitive:NN \everydisplay \tex_everydisplay:D - \__kernel_primitive:NN \predisplaysize \tex_predisplaysize:D - \__kernel_primitive:NN \predisplaypenalty \tex_predisplaypenalty:D - \__kernel_primitive:NN \postdisplaypenalty \tex_postdisplaypenalty:D - \__kernel_primitive:NN \mathbin \tex_mathbin:D - \__kernel_primitive:NN \mathclose \tex_mathclose:D - \__kernel_primitive:NN \mathinner \tex_mathinner:D - \__kernel_primitive:NN \mathop \tex_mathop:D - \__kernel_primitive:NN \displaylimits \tex_displaylimits:D - \__kernel_primitive:NN \limits \tex_limits:D - \__kernel_primitive:NN \nolimits \tex_nolimits:D - \__kernel_primitive:NN \mathopen \tex_mathopen:D - \__kernel_primitive:NN \mathord \tex_mathord:D - \__kernel_primitive:NN \mathpunct \tex_mathpunct:D - \__kernel_primitive:NN \mathrel \tex_mathrel:D - \__kernel_primitive:NN \overline \tex_overline:D - \__kernel_primitive:NN \underline \tex_underline:D - \__kernel_primitive:NN \left \tex_left:D - \__kernel_primitive:NN \right \tex_right:D - \__kernel_primitive:NN \binoppenalty \tex_binoppenalty:D - \__kernel_primitive:NN \relpenalty \tex_relpenalty:D - \__kernel_primitive:NN \delimitershortfall \tex_delimitershortfall:D - \__kernel_primitive:NN \delimiterfactor \tex_delimiterfactor:D - \__kernel_primitive:NN \nulldelimiterspace \tex_nulldelimiterspace:D - \__kernel_primitive:NN \everymath \tex_everymath:D - \__kernel_primitive:NN \mathsurround \tex_mathsurround:D - \__kernel_primitive:NN \medmuskip \tex_medmuskip:D - \__kernel_primitive:NN \thinmuskip \tex_thinmuskip:D - \__kernel_primitive:NN \thickmuskip \tex_thickmuskip:D - \__kernel_primitive:NN \scriptspace \tex_scriptspace:D - \__kernel_primitive:NN \noboundary \tex_noboundary:D - \__kernel_primitive:NN \accent \tex_accent:D - \__kernel_primitive:NN \char \tex_char:D - \__kernel_primitive:NN \discretionary \tex_discretionary:D - \__kernel_primitive:NN \hfil \tex_hfil:D - \__kernel_primitive:NN \hfilneg \tex_hfilneg:D - \__kernel_primitive:NN \hfill \tex_hfill:D - \__kernel_primitive:NN \hskip \tex_hskip:D - \__kernel_primitive:NN \hss \tex_hss:D - \__kernel_primitive:NN \vfil \tex_vfil:D - \__kernel_primitive:NN \vfilneg \tex_vfilneg:D - \__kernel_primitive:NN \vfill \tex_vfill:D - \__kernel_primitive:NN \vskip \tex_vskip:D - \__kernel_primitive:NN \vss \tex_vss:D - \__kernel_primitive:NN \unskip \tex_unskip:D - \__kernel_primitive:NN \kern \tex_kern:D - \__kernel_primitive:NN \unkern \tex_unkern:D - \__kernel_primitive:NN \hrule \tex_hrule:D - \__kernel_primitive:NN \vrule \tex_vrule:D - \__kernel_primitive:NN \leaders \tex_leaders:D - \__kernel_primitive:NN \cleaders \tex_cleaders:D - \__kernel_primitive:NN \xleaders \tex_xleaders:D - \__kernel_primitive:NN \lastkern \tex_lastkern:D - \__kernel_primitive:NN \lastskip \tex_lastskip:D - \__kernel_primitive:NN \indent \tex_indent:D - \__kernel_primitive:NN \par \tex_par:D - \__kernel_primitive:NN \noindent \tex_noindent:D - \__kernel_primitive:NN \vadjust \tex_vadjust:D - \__kernel_primitive:NN \baselineskip \tex_baselineskip:D - \__kernel_primitive:NN \lineskip \tex_lineskip:D - \__kernel_primitive:NN \lineskiplimit \tex_lineskiplimit:D - \__kernel_primitive:NN \clubpenalty \tex_clubpenalty:D - \__kernel_primitive:NN \widowpenalty \tex_widowpenalty:D - \__kernel_primitive:NN \exhyphenpenalty \tex_exhyphenpenalty:D - \__kernel_primitive:NN \hyphenpenalty \tex_hyphenpenalty:D - \__kernel_primitive:NN \linepenalty \tex_linepenalty:D - \__kernel_primitive:NN \doublehyphendemerits \tex_doublehyphendemerits:D - \__kernel_primitive:NN \finalhyphendemerits \tex_finalhyphendemerits:D - \__kernel_primitive:NN \adjdemerits \tex_adjdemerits:D - \__kernel_primitive:NN \hangafter \tex_hangafter:D - \__kernel_primitive:NN \hangindent \tex_hangindent:D - \__kernel_primitive:NN \parshape \tex_parshape:D - \__kernel_primitive:NN \hsize \tex_hsize:D - \__kernel_primitive:NN \lefthyphenmin \tex_lefthyphenmin:D - \__kernel_primitive:NN \righthyphenmin \tex_righthyphenmin:D - \__kernel_primitive:NN \leftskip \tex_leftskip:D - \__kernel_primitive:NN \rightskip \tex_rightskip:D - \__kernel_primitive:NN \looseness \tex_looseness:D - \__kernel_primitive:NN \parskip \tex_parskip:D - \__kernel_primitive:NN \parindent \tex_parindent:D - \__kernel_primitive:NN \uchyph \tex_uchyph:D - \__kernel_primitive:NN \emergencystretch \tex_emergencystretch:D - \__kernel_primitive:NN \pretolerance \tex_pretolerance:D - \__kernel_primitive:NN \tolerance \tex_tolerance:D - \__kernel_primitive:NN \spaceskip \tex_spaceskip:D - \__kernel_primitive:NN \xspaceskip \tex_xspaceskip:D - \__kernel_primitive:NN \parfillskip \tex_parfillskip:D - \__kernel_primitive:NN \everypar \tex_everypar:D - \__kernel_primitive:NN \prevgraf \tex_prevgraf:D - \__kernel_primitive:NN \spacefactor \tex_spacefactor:D - \__kernel_primitive:NN \shipout \tex_shipout:D - \__kernel_primitive:NN \vsize \tex_vsize:D - \__kernel_primitive:NN \interlinepenalty \tex_interlinepenalty:D - \__kernel_primitive:NN \brokenpenalty \tex_brokenpenalty:D - \__kernel_primitive:NN \topskip \tex_topskip:D - \__kernel_primitive:NN \maxdeadcycles \tex_maxdeadcycles:D - \__kernel_primitive:NN \maxdepth \tex_maxdepth:D - \__kernel_primitive:NN \output \tex_output:D - \__kernel_primitive:NN \deadcycles \tex_deadcycles:D - \__kernel_primitive:NN \pagedepth \tex_pagedepth:D - \__kernel_primitive:NN \pagestretch \tex_pagestretch:D - \__kernel_primitive:NN \pagefilstretch \tex_pagefilstretch:D - \__kernel_primitive:NN \pagefillstretch \tex_pagefillstretch:D - \__kernel_primitive:NN \pagefilllstretch \tex_pagefilllstretch:D - \__kernel_primitive:NN \pageshrink \tex_pageshrink:D - \__kernel_primitive:NN \pagegoal \tex_pagegoal:D - \__kernel_primitive:NN \pagetotal \tex_pagetotal:D - \__kernel_primitive:NN \outputpenalty \tex_outputpenalty:D - \__kernel_primitive:NN \hoffset \tex_hoffset:D - \__kernel_primitive:NN \voffset \tex_voffset:D - \__kernel_primitive:NN \insert \tex_insert:D - \__kernel_primitive:NN \holdinginserts \tex_holdinginserts:D - \__kernel_primitive:NN \floatingpenalty \tex_floatingpenalty:D - \__kernel_primitive:NN \insertpenalties \tex_insertpenalties:D - \__kernel_primitive:NN \lower \tex_lower:D - \__kernel_primitive:NN \moveleft \tex_moveleft:D - \__kernel_primitive:NN \moveright \tex_moveright:D - \__kernel_primitive:NN \raise \tex_raise:D - \__kernel_primitive:NN \copy \tex_copy:D - \__kernel_primitive:NN \lastbox \tex_lastbox:D - \__kernel_primitive:NN \vsplit \tex_vsplit:D - \__kernel_primitive:NN \unhbox \tex_unhbox:D - \__kernel_primitive:NN \unhcopy \tex_unhcopy:D - \__kernel_primitive:NN \unvbox \tex_unvbox:D - \__kernel_primitive:NN \unvcopy \tex_unvcopy:D - \__kernel_primitive:NN \setbox \tex_setbox:D - \__kernel_primitive:NN \hbox \tex_hbox:D - \__kernel_primitive:NN \vbox \tex_vbox:D - \__kernel_primitive:NN \vtop \tex_vtop:D - \__kernel_primitive:NN \prevdepth \tex_prevdepth:D - \__kernel_primitive:NN \badness \tex_badness:D - \__kernel_primitive:NN \hbadness \tex_hbadness:D - \__kernel_primitive:NN \vbadness \tex_vbadness:D - \__kernel_primitive:NN \hfuzz \tex_hfuzz:D - \__kernel_primitive:NN \vfuzz \tex_vfuzz:D - \__kernel_primitive:NN \overfullrule \tex_overfullrule:D - \__kernel_primitive:NN \boxmaxdepth \tex_boxmaxdepth:D - \__kernel_primitive:NN \splitmaxdepth \tex_splitmaxdepth:D - \__kernel_primitive:NN \splittopskip \tex_splittopskip:D - \__kernel_primitive:NN \everyhbox \tex_everyhbox:D - \__kernel_primitive:NN \everyvbox \tex_everyvbox:D - \__kernel_primitive:NN \nullfont \tex_nullfont:D - \__kernel_primitive:NN \textfont \tex_textfont:D - \__kernel_primitive:NN \scriptfont \tex_scriptfont:D - \__kernel_primitive:NN \scriptscriptfont \tex_scriptscriptfont:D - \__kernel_primitive:NN \fontdimen \tex_fontdimen:D - \__kernel_primitive:NN \hyphenchar \tex_hyphenchar:D - \__kernel_primitive:NN \skewchar \tex_skewchar:D - \__kernel_primitive:NN \defaulthyphenchar \tex_defaulthyphenchar:D - \__kernel_primitive:NN \defaultskewchar \tex_defaultskewchar:D - \__kernel_primitive:NN \number \tex_number:D - \__kernel_primitive:NN \romannumeral \tex_romannumeral:D - \__kernel_primitive:NN \string \tex_string:D - \__kernel_primitive:NN \lowercase \tex_lowercase:D - \__kernel_primitive:NN \uppercase \tex_uppercase:D - \__kernel_primitive:NN \meaning \tex_meaning:D - \__kernel_primitive:NN \penalty \tex_penalty:D - \__kernel_primitive:NN \unpenalty \tex_unpenalty:D - \__kernel_primitive:NN \lastpenalty \tex_lastpenalty:D - \__kernel_primitive:NN \special \tex_special:D - \__kernel_primitive:NN \dump \tex_dump:D - \__kernel_primitive:NN \patterns \tex_patterns:D - \__kernel_primitive:NN \hyphenation \tex_hyphenation:D - \__kernel_primitive:NN \time \tex_time:D - \__kernel_primitive:NN \day \tex_day:D - \__kernel_primitive:NN \month \tex_month:D - \__kernel_primitive:NN \year \tex_year:D - \__kernel_primitive:NN \jobname \tex_jobname:D - \__kernel_primitive:NN \everyjob \tex_everyjob:D - \__kernel_primitive:NN \count \tex_count:D - \__kernel_primitive:NN \dimen \tex_dimen:D - \__kernel_primitive:NN \skip \tex_skip:D - \__kernel_primitive:NN \toks \tex_toks:D - \__kernel_primitive:NN \muskip \tex_muskip:D - \__kernel_primitive:NN \box \tex_box:D - \__kernel_primitive:NN \wd \tex_wd:D - \__kernel_primitive:NN \ht \tex_ht:D - \__kernel_primitive:NN \dp \tex_dp:D - \__kernel_primitive:NN \catcode \tex_catcode:D - \__kernel_primitive:NN \delcode \tex_delcode:D - \__kernel_primitive:NN \sfcode \tex_sfcode:D - \__kernel_primitive:NN \lccode \tex_lccode:D - \__kernel_primitive:NN \uccode \tex_uccode:D - \__kernel_primitive:NN \mathcode \tex_mathcode:D - \__kernel_primitive:NN \ifdefined \etex_ifdefined:D - \__kernel_primitive:NN \ifcsname \etex_ifcsname:D - \__kernel_primitive:NN \unless \etex_unless:D - \__kernel_primitive:NN \eTeXversion \etex_eTeXversion:D - \__kernel_primitive:NN \eTeXrevision \etex_eTeXrevision:D - \__kernel_primitive:NN \marks \etex_marks:D - \__kernel_primitive:NN \topmarks \etex_topmarks:D - \__kernel_primitive:NN \firstmarks \etex_firstmarks:D - \__kernel_primitive:NN \botmarks \etex_botmarks:D - \__kernel_primitive:NN \splitfirstmarks \etex_splitfirstmarks:D - \__kernel_primitive:NN \splitbotmarks \etex_splitbotmarks:D - \__kernel_primitive:NN \unexpanded \etex_unexpanded:D - \__kernel_primitive:NN \detokenize \etex_detokenize:D - \__kernel_primitive:NN \scantokens \etex_scantokens:D - \__kernel_primitive:NN \showtokens \etex_showtokens:D - \__kernel_primitive:NN \readline \etex_readline:D - \__kernel_primitive:NN \tracingassigns \etex_tracingassigns:D - \__kernel_primitive:NN \tracingscantokens \etex_tracingscantokens:D - \__kernel_primitive:NN \tracingnesting \etex_tracingnesting:D - \__kernel_primitive:NN \tracingifs \etex_tracingifs:D - \__kernel_primitive:NN \currentiflevel \etex_currentiflevel:D - \__kernel_primitive:NN \currentifbranch \etex_currentifbranch:D - \__kernel_primitive:NN \currentiftype \etex_currentiftype:D - \__kernel_primitive:NN \tracinggroups \etex_tracinggroups:D - \__kernel_primitive:NN \currentgrouplevel \etex_currentgrouplevel:D - \__kernel_primitive:NN \currentgrouptype \etex_currentgrouptype:D - \__kernel_primitive:NN \showgroups \etex_showgroups:D - \__kernel_primitive:NN \showifs \etex_showifs:D - \__kernel_primitive:NN \interactionmode \etex_interactionmode:D - \__kernel_primitive:NN \lastnodetype \etex_lastnodetype:D - \__kernel_primitive:NN \iffontchar \etex_iffontchar:D - \__kernel_primitive:NN \fontcharht \etex_fontcharht:D - \__kernel_primitive:NN \fontchardp \etex_fontchardp:D - \__kernel_primitive:NN \fontcharwd \etex_fontcharwd:D - \__kernel_primitive:NN \fontcharic \etex_fontcharic:D - \__kernel_primitive:NN \parshapeindent \etex_parshapeindent:D - \__kernel_primitive:NN \parshapelength \etex_parshapelength:D - \__kernel_primitive:NN \parshapedimen \etex_parshapedimen:D - \__kernel_primitive:NN \numexpr \etex_numexpr:D - \__kernel_primitive:NN \dimexpr \etex_dimexpr:D - \__kernel_primitive:NN \glueexpr \etex_glueexpr:D - \__kernel_primitive:NN \muexpr \etex_muexpr:D - \__kernel_primitive:NN \gluestretch \etex_gluestretch:D - \__kernel_primitive:NN \glueshrink \etex_glueshrink:D - \__kernel_primitive:NN \gluestretchorder \etex_gluestretchorder:D - \__kernel_primitive:NN \glueshrinkorder \etex_glueshrinkorder:D - \__kernel_primitive:NN \gluetomu \etex_gluetomu:D - \__kernel_primitive:NN \mutoglue \etex_mutoglue:D - \__kernel_primitive:NN \lastlinefit \etex_lastlinefit:D - \__kernel_primitive:NN \interlinepenalties \etex_interlinepenalties:D - \__kernel_primitive:NN \clubpenalties \etex_clubpenalties:D - \__kernel_primitive:NN \widowpenalties \etex_widowpenalties:D - \__kernel_primitive:NN \displaywidowpenalties \etex_displaywidowpenalties:D - \__kernel_primitive:NN \middle \etex_middle:D - \__kernel_primitive:NN \savinghyphcodes \etex_savinghyphcodes:D - \__kernel_primitive:NN \savingvdiscards \etex_savingvdiscards:D - \__kernel_primitive:NN \pagediscards \etex_pagediscards:D - \__kernel_primitive:NN \splitdiscards \etex_splitdiscards:D - \__kernel_primitive:NN \TeXXeTstate \etex_TeXXeTstate:D - \__kernel_primitive:NN \beginL \etex_beginL:D - \__kernel_primitive:NN \endL \etex_endL:D - \__kernel_primitive:NN \beginR \etex_beginR:D - \__kernel_primitive:NN \endR \etex_endR:D - \__kernel_primitive:NN \predisplaydirection \etex_predisplaydirection:D - \__kernel_primitive:NN \everyeof \etex_everyeof:D - \__kernel_primitive:NN \protected \etex_protected:D - \__kernel_primitive:NN \pdfcreationdate \pdftex_pdfcreationdate:D - \__kernel_primitive:NN \pdfcolorstack \pdftex_pdfcolorstack:D - \__kernel_primitive:NN \pdfcompresslevel \pdftex_pdfcompresslevel:D - \__kernel_primitive:NN \pdfdecimaldigits \pdftex_pdfdecimaldigits:D - \__kernel_primitive:NN \pdfhorigin \pdftex_pdfhorigin:D - \__kernel_primitive:NN \pdfinfo \pdftex_pdfinfo:D - \__kernel_primitive:NN \pdflastxform \pdftex_pdflastxform:D - \__kernel_primitive:NN \pdfliteral \pdftex_pdfliteral:D - \__kernel_primitive:NN \pdfminorversion \pdftex_pdfminorversion:D - \__kernel_primitive:NN \pdfobjcompresslevel \pdftex_pdfobjcompresslevel:D - \__kernel_primitive:NN \pdfoutput \pdftex_pdfoutput:D - \__kernel_primitive:NN \pdfrefxform \pdftex_pdfrefxform:D - \__kernel_primitive:NN \pdfrestore \pdftex_pdfrestore:D - \__kernel_primitive:NN \pdfsave \pdftex_pdfsave:D - \__kernel_primitive:NN \pdfsetmatrix \pdftex_pdfsetmatrix:D - \__kernel_primitive:NN \pdfpkresolution \pdftex_pdfpkresolution:D - \__kernel_primitive:NN \pdftexrevision \pdftex_pdftextrevision:D - \__kernel_primitive:NN \pdfvorigin \pdftex_pdfvorigin:D - \__kernel_primitive:NN \pdfxform \pdftex_pdfxform:D - \__kernel_primitive:NN \pdfstrcmp \pdftex_strcmp:D - \__kernel_primitive:NN \XeTeXversion \xetex_XeTeXversion:D - \__kernel_primitive:NN \catcodetable \luatex_catcodetable:D - \__kernel_primitive:NN \directlua \luatex_directlua:D - \__kernel_primitive:NN \expanded \luatex_expanded:D - \__kernel_primitive:NN \initcatcodetable \luatex_initcatcodetable:D - \__kernel_primitive:NN \latelua \luatex_latelua:D - \__kernel_primitive:NN \luaescapestring \luatex_luaescapestring:D - \__kernel_primitive:NN \luatexversion \luatex_luatexversion:D - \__kernel_primitive:NN \savecatcodetable \luatex_savecatcodetable:D - \__kernel_primitive:NN \Uchar \luatex_Uchar:D - \__kernel_primitive:NN \bodydir \luatex_bodydir:D - \__kernel_primitive:NN \mathdir \luatex_mathdir:D - \__kernel_primitive:NN \pagedir \luatex_pagedir:D - \__kernel_primitive:NN \pardir \luatex_pardir:D - \__kernel_primitive:NN \textdir \luatex_textdir:D + \__kernel_primitive:NN \ \tex_space:D + \__kernel_primitive:NN \/ \tex_italiccorrection:D + \__kernel_primitive:NN \- \tex_hyphen:D + \__kernel_primitive:NN \above \tex_above:D + \__kernel_primitive:NN \abovedisplayshortskip \tex_abovedisplayshortskip:D + \__kernel_primitive:NN \abovedisplayskip \tex_abovedisplayskip:D + \__kernel_primitive:NN \abovewithdelims \tex_abovewithdelims:D + \__kernel_primitive:NN \accent \tex_accent:D + \__kernel_primitive:NN \adjdemerits \tex_adjdemerits:D + \__kernel_primitive:NN \advance \tex_advance:D + \__kernel_primitive:NN \afterassignment \tex_afterassignment:D + \__kernel_primitive:NN \aftergroup \tex_aftergroup:D + \__kernel_primitive:NN \atop \tex_atop:D + \__kernel_primitive:NN \atopwithdelims \tex_atopwithdelims:D + \__kernel_primitive:NN \badness \tex_badness:D + \__kernel_primitive:NN \baselineskip \tex_baselineskip:D + \__kernel_primitive:NN \batchmode \tex_batchmode:D + \__kernel_primitive:NN \begingroup \tex_begingroup:D + \__kernel_primitive:NN \belowdisplayshortskip \tex_belowdisplayshortskip:D + \__kernel_primitive:NN \belowdisplayskip \tex_belowdisplayskip:D + \__kernel_primitive:NN \binoppenalty \tex_binoppenalty:D + \__kernel_primitive:NN \botmark \tex_botmark:D + \__kernel_primitive:NN \box \tex_box:D + \__kernel_primitive:NN \boxmaxdepth \tex_boxmaxdepth:D + \__kernel_primitive:NN \brokenpenalty \tex_brokenpenalty:D + \__kernel_primitive:NN \catcode \tex_catcode:D + \__kernel_primitive:NN \char \tex_char:D + \__kernel_primitive:NN \chardef \tex_chardef:D + \__kernel_primitive:NN \cleaders \tex_cleaders:D + \__kernel_primitive:NN \closein \tex_closein:D + \__kernel_primitive:NN \closeout \tex_closeout:D + \__kernel_primitive:NN \clubpenalty \tex_clubpenalty:D + \__kernel_primitive:NN \copy \tex_copy:D + \__kernel_primitive:NN \count \tex_count:D + \__kernel_primitive:NN \countdef \tex_countdef:D + \__kernel_primitive:NN \cr \tex_cr:D + \__kernel_primitive:NN \crcr \tex_crcr:D + \__kernel_primitive:NN \csname \tex_csname:D + \__kernel_primitive:NN \day \tex_day:D + \__kernel_primitive:NN \deadcycles \tex_deadcycles:D + \__kernel_primitive:NN \def \tex_def:D + \__kernel_primitive:NN \defaulthyphenchar \tex_defaulthyphenchar:D + \__kernel_primitive:NN \defaultskewchar \tex_defaultskewchar:D + \__kernel_primitive:NN \delcode \tex_delcode:D + \__kernel_primitive:NN \delimiter \tex_delimiter:D + \__kernel_primitive:NN \delimiterfactor \tex_delimiterfactor:D + \__kernel_primitive:NN \delimitershortfall \tex_delimitershortfall:D + \__kernel_primitive:NN \dimen \tex_dimen:D + \__kernel_primitive:NN \dimendef \tex_dimendef:D + \__kernel_primitive:NN \discretionary \tex_discretionary:D + \__kernel_primitive:NN \displayindent \tex_displayindent:D + \__kernel_primitive:NN \displaylimits \tex_displaylimits:D + \__kernel_primitive:NN \displaystyle \tex_displaystyle:D + \__kernel_primitive:NN \displaywidowpenalty \tex_displaywidowpenalty:D + \__kernel_primitive:NN \displaywidth \tex_displaywidth:D + \__kernel_primitive:NN \divide \tex_divide:D + \__kernel_primitive:NN \doublehyphendemerits \tex_doublehyphendemerits:D + \__kernel_primitive:NN \dp \tex_dp:D + \__kernel_primitive:NN \dump \tex_dump:D + \__kernel_primitive:NN \edef \tex_edef:D + \__kernel_primitive:NN \else \tex_else:D + \__kernel_primitive:NN \emergencystretch \tex_emergencystretch:D + \__kernel_primitive:NN \end \tex_end:D + \__kernel_primitive:NN \endcsname \tex_endcsname:D + \__kernel_primitive:NN \endgroup \tex_endgroup:D + \__kernel_primitive:NN \endinput \tex_endinput:D + \__kernel_primitive:NN \endlinechar \tex_endlinechar:D + \__kernel_primitive:NN \eqno \tex_eqno:D + \__kernel_primitive:NN \errhelp \tex_errhelp:D + \__kernel_primitive:NN \errmessage \tex_errmessage:D + \__kernel_primitive:NN \errorcontextlines \tex_errorcontextlines:D + \__kernel_primitive:NN \errorstopmode \tex_errorstopmode:D + \__kernel_primitive:NN \escapechar \tex_escapechar:D + \__kernel_primitive:NN \everycr \tex_everycr:D + \__kernel_primitive:NN \everydisplay \tex_everydisplay:D + \__kernel_primitive:NN \everyhbox \tex_everyhbox:D + \__kernel_primitive:NN \everyjob \tex_everyjob:D + \__kernel_primitive:NN \everymath \tex_everymath:D + \__kernel_primitive:NN \everypar \tex_everypar:D + \__kernel_primitive:NN \everyvbox \tex_everyvbox:D + \__kernel_primitive:NN \exhyphenpenalty \tex_exhyphenpenalty:D + \__kernel_primitive:NN \expandafter \tex_expandafter:D + \__kernel_primitive:NN \fam \tex_fam:D + \__kernel_primitive:NN \fi \tex_fi:D + \__kernel_primitive:NN \finalhyphendemerits \tex_finalhyphendemerits:D + \__kernel_primitive:NN \firstmark \tex_firstmark:D + \__kernel_primitive:NN \floatingpenalty \tex_floatingpenalty:D + \__kernel_primitive:NN \font \tex_font:D + \__kernel_primitive:NN \fontdimen \tex_fontdimen:D + \__kernel_primitive:NN \fontname \tex_fontname:D + \__kernel_primitive:NN \futurelet \tex_futurelet:D + \__kernel_primitive:NN \gdef \tex_gdef:D + \__kernel_primitive:NN \global \tex_global:D + \__kernel_primitive:NN \globaldefs \tex_globaldefs:D + \__kernel_primitive:NN \halign \tex_halign:D + \__kernel_primitive:NN \hangafter \tex_hangafter:D + \__kernel_primitive:NN \hangindent \tex_hangindent:D + \__kernel_primitive:NN \hbadness \tex_hbadness:D + \__kernel_primitive:NN \hbox \tex_hbox:D + \__kernel_primitive:NN \hfil \tex_hfil:D + \__kernel_primitive:NN \hfill \tex_hfill:D + \__kernel_primitive:NN \hfilneg \tex_hfilneg:D + \__kernel_primitive:NN \hfuzz \tex_hfuzz:D + \__kernel_primitive:NN \hoffset \tex_hoffset:D + \__kernel_primitive:NN \holdinginserts \tex_holdinginserts:D + \__kernel_primitive:NN \hrule \tex_hrule:D + \__kernel_primitive:NN \hsize \tex_hsize:D + \__kernel_primitive:NN \hskip \tex_hskip:D + \__kernel_primitive:NN \hss \tex_hss:D + \__kernel_primitive:NN \ht \tex_ht:D + \__kernel_primitive:NN \hyphenation \tex_hyphenation:D + \__kernel_primitive:NN \hyphenchar \tex_hyphenchar:D + \__kernel_primitive:NN \hyphenpenalty \tex_hyphenpenalty:D + \__kernel_primitive:NN \if \tex_if:D + \__kernel_primitive:NN \ifcase \tex_ifcase:D + \__kernel_primitive:NN \ifcat \tex_ifcat:D + \__kernel_primitive:NN \ifdim \tex_ifdim:D + \__kernel_primitive:NN \ifeof \tex_ifeof:D + \__kernel_primitive:NN \iffalse \tex_iffalse:D + \__kernel_primitive:NN \ifhbox \tex_ifhbox:D + \__kernel_primitive:NN \ifhmode \tex_ifhmode:D + \__kernel_primitive:NN \ifinner \tex_ifinner:D + \__kernel_primitive:NN \ifmmode \tex_ifmmode:D + \__kernel_primitive:NN \ifnum \tex_ifnum:D + \__kernel_primitive:NN \ifodd \tex_ifodd:D + \__kernel_primitive:NN \iftrue \tex_iftrue:D + \__kernel_primitive:NN \ifvbox \tex_ifvbox:D + \__kernel_primitive:NN \ifvmode \tex_ifvmode:D + \__kernel_primitive:NN \ifvoid \tex_ifvoid:D + \__kernel_primitive:NN \ifx \tex_ifx:D + \__kernel_primitive:NN \ignorespaces \tex_ignorespaces:D + \__kernel_primitive:NN \immediate \tex_immediate:D + \__kernel_primitive:NN \indent \tex_indent:D + \__kernel_primitive:NN \input \tex_input:D + \__kernel_primitive:NN \inputlineno \tex_inputlineno:D + \__kernel_primitive:NN \insert \tex_insert:D + \__kernel_primitive:NN \insertpenalties \tex_insertpenalties:D + \__kernel_primitive:NN \interlinepenalty \tex_interlinepenalty:D + \__kernel_primitive:NN \jobname \tex_jobname:D + \__kernel_primitive:NN \kern \tex_kern:D + \__kernel_primitive:NN \language \tex_language:D + \__kernel_primitive:NN \lastbox \tex_lastbox:D + \__kernel_primitive:NN \lastkern \tex_lastkern:D + \__kernel_primitive:NN \lastpenalty \tex_lastpenalty:D + \__kernel_primitive:NN \lastskip \tex_lastskip:D + \__kernel_primitive:NN \lccode \tex_lccode:D + \__kernel_primitive:NN \leaders \tex_leaders:D + \__kernel_primitive:NN \left \tex_left:D + \__kernel_primitive:NN \lefthyphenmin \tex_lefthyphenmin:D + \__kernel_primitive:NN \leftskip \tex_leftskip:D + \__kernel_primitive:NN \leqno \tex_leqno:D + \__kernel_primitive:NN \let \tex_let:D + \__kernel_primitive:NN \limits \tex_limits:D + \__kernel_primitive:NN \linepenalty \tex_linepenalty:D + \__kernel_primitive:NN \lineskip \tex_lineskip:D + \__kernel_primitive:NN \lineskiplimit \tex_lineskiplimit:D + \__kernel_primitive:NN \long \tex_long:D + \__kernel_primitive:NN \looseness \tex_looseness:D + \__kernel_primitive:NN \lower \tex_lower:D + \__kernel_primitive:NN \lowercase \tex_lowercase:D + \__kernel_primitive:NN \mag \tex_mag:D + \__kernel_primitive:NN \mark \tex_mark:D + \__kernel_primitive:NN \mathaccent \tex_mathaccent:D + \__kernel_primitive:NN \mathbin \tex_mathbin:D + \__kernel_primitive:NN \mathchar \tex_mathchar:D + \__kernel_primitive:NN \mathchardef \tex_mathchardef:D + \__kernel_primitive:NN \mathchoice \tex_mathchoice:D + \__kernel_primitive:NN \mathclose \tex_mathclose:D + \__kernel_primitive:NN \mathcode \tex_mathcode:D + \__kernel_primitive:NN \mathinner \tex_mathinner:D + \__kernel_primitive:NN \mathop \tex_mathop:D + \__kernel_primitive:NN \mathopen \tex_mathopen:D + \__kernel_primitive:NN \mathord \tex_mathord:D + \__kernel_primitive:NN \mathpunct \tex_mathpunct:D + \__kernel_primitive:NN \mathrel \tex_mathrel:D + \__kernel_primitive:NN \mathsurround \tex_mathsurround:D + \__kernel_primitive:NN \maxdeadcycles \tex_maxdeadcycles:D + \__kernel_primitive:NN \maxdepth \tex_maxdepth:D + \__kernel_primitive:NN \meaning \tex_meaning:D + \__kernel_primitive:NN \medmuskip \tex_medmuskip:D + \__kernel_primitive:NN \message \tex_message:D + \__kernel_primitive:NN \mkern \tex_mkern:D + \__kernel_primitive:NN \month \tex_month:D + \__kernel_primitive:NN \moveleft \tex_moveleft:D + \__kernel_primitive:NN \moveright \tex_moveright:D + \__kernel_primitive:NN \mskip \tex_mskip:D + \__kernel_primitive:NN \multiply \tex_multiply:D + \__kernel_primitive:NN \muskip \tex_muskip:D + \__kernel_primitive:NN \muskipdef \tex_muskipdef:D + \__kernel_primitive:NN \newlinechar \tex_newlinechar:D + \__kernel_primitive:NN \noalign \tex_noalign:D + \__kernel_primitive:NN \noboundary \tex_noboundary:D + \__kernel_primitive:NN \noexpand \tex_noexpand:D + \__kernel_primitive:NN \noindent \tex_noindent:D + \__kernel_primitive:NN \nolimits \tex_nolimits:D + \__kernel_primitive:NN \nonscript \tex_nonscript:D + \__kernel_primitive:NN \nonstopmode \tex_nonstopmode:D + \__kernel_primitive:NN \nulldelimiterspace \tex_nulldelimiterspace:D + \__kernel_primitive:NN \nullfont \tex_nullfont:D + \__kernel_primitive:NN \number \tex_number:D + \__kernel_primitive:NN \omit \tex_omit:D + \__kernel_primitive:NN \openin \tex_openin:D + \__kernel_primitive:NN \openout \tex_openout:D + \__kernel_primitive:NN \or \tex_or:D + \__kernel_primitive:NN \outer \tex_outer:D + \__kernel_primitive:NN \output \tex_output:D + \__kernel_primitive:NN \outputpenalty \tex_outputpenalty:D + \__kernel_primitive:NN \over \tex_over:D + \__kernel_primitive:NN \overfullrule \tex_overfullrule:D + \__kernel_primitive:NN \overline \tex_overline:D + \__kernel_primitive:NN \overwithdelims \tex_overwithdelims:D + \__kernel_primitive:NN \pagedepth \tex_pagedepth:D + \__kernel_primitive:NN \pagefilllstretch \tex_pagefilllstretch:D + \__kernel_primitive:NN \pagefillstretch \tex_pagefillstretch:D + \__kernel_primitive:NN \pagefilstretch \tex_pagefilstretch:D + \__kernel_primitive:NN \pagegoal \tex_pagegoal:D + \__kernel_primitive:NN \pageshrink \tex_pageshrink:D + \__kernel_primitive:NN \pagestretch \tex_pagestretch:D + \__kernel_primitive:NN \pagetotal \tex_pagetotal:D + \__kernel_primitive:NN \par \tex_par:D + \__kernel_primitive:NN \parfillskip \tex_parfillskip:D + \__kernel_primitive:NN \parindent \tex_parindent:D + \__kernel_primitive:NN \parshape \tex_parshape:D + \__kernel_primitive:NN \parskip \tex_parskip:D + \__kernel_primitive:NN \patterns \tex_patterns:D + \__kernel_primitive:NN \pausing \tex_pausing:D + \__kernel_primitive:NN \penalty \tex_penalty:D + \__kernel_primitive:NN \postdisplaypenalty \tex_postdisplaypenalty:D + \__kernel_primitive:NN \predisplaypenalty \tex_predisplaypenalty:D + \__kernel_primitive:NN \predisplaysize \tex_predisplaysize:D + \__kernel_primitive:NN \pretolerance \tex_pretolerance:D + \__kernel_primitive:NN \prevdepth \tex_prevdepth:D + \__kernel_primitive:NN \prevgraf \tex_prevgraf:D + \__kernel_primitive:NN \radical \tex_radical:D + \__kernel_primitive:NN \raise \tex_raise:D + \__kernel_primitive:NN \read \tex_read:D + \__kernel_primitive:NN \relax \tex_relax:D + \__kernel_primitive:NN \relpenalty \tex_relpenalty:D + \__kernel_primitive:NN \right \tex_right:D + \__kernel_primitive:NN \righthyphenmin \tex_righthyphenmin:D + \__kernel_primitive:NN \rightskip \tex_rightskip:D + \__kernel_primitive:NN \romannumeral \tex_romannumeral:D + \__kernel_primitive:NN \scriptfont \tex_scriptfont:D + \__kernel_primitive:NN \scriptscriptfont \tex_scriptscriptfont:D + \__kernel_primitive:NN \scriptscriptstyle \tex_scriptscriptstyle:D + \__kernel_primitive:NN \scriptspace \tex_scriptspace:D + \__kernel_primitive:NN \scriptstyle \tex_scriptstyle:D + \__kernel_primitive:NN \scrollmode \tex_scrollmode:D + \__kernel_primitive:NN \setbox \tex_setbox:D + \__kernel_primitive:NN \setlanguage \tex_setlanguage:D + \__kernel_primitive:NN \sfcode \tex_sfcode:D + \__kernel_primitive:NN \shipout \tex_shipout:D + \__kernel_primitive:NN \show \tex_show:D + \__kernel_primitive:NN \showbox \tex_showbox:D + \__kernel_primitive:NN \showboxbreadth \tex_showboxbreadth:D + \__kernel_primitive:NN \showboxdepth \tex_showboxdepth:D + \__kernel_primitive:NN \showlists \tex_showlists:D + \__kernel_primitive:NN \showthe \tex_showthe:D + \__kernel_primitive:NN \skewchar \tex_skewchar:D + \__kernel_primitive:NN \skip \tex_skip:D + \__kernel_primitive:NN \skipdef \tex_skipdef:D + \__kernel_primitive:NN \spacefactor \tex_spacefactor:D + \__kernel_primitive:NN \spaceskip \tex_spaceskip:D + \__kernel_primitive:NN \span \tex_span:D + \__kernel_primitive:NN \special \tex_special:D + \__kernel_primitive:NN \splitbotmark \tex_splitbotmark:D + \__kernel_primitive:NN \splitfirstmark \tex_splitfirstmark:D + \__kernel_primitive:NN \splitmaxdepth \tex_splitmaxdepth:D + \__kernel_primitive:NN \splittopskip \tex_splittopskip:D + \__kernel_primitive:NN \string \tex_string:D + \__kernel_primitive:NN \tabskip \tex_tabskip:D + \__kernel_primitive:NN \textfont \tex_textfont:D + \__kernel_primitive:NN \textstyle \tex_textstyle:D + \__kernel_primitive:NN \the \tex_the:D + \__kernel_primitive:NN \thickmuskip \tex_thickmuskip:D + \__kernel_primitive:NN \thinmuskip \tex_thinmuskip:D + \__kernel_primitive:NN \time \tex_time:D + \__kernel_primitive:NN \toks \tex_toks:D + \__kernel_primitive:NN \toksdef \tex_toksdef:D + \__kernel_primitive:NN \tolerance \tex_tolerance:D + \__kernel_primitive:NN \topmark \tex_topmark:D + \__kernel_primitive:NN \topskip \tex_topskip:D + \__kernel_primitive:NN \tracingcommands \tex_tracingcommands:D + \__kernel_primitive:NN \tracinglostchars \tex_tracinglostchars:D + \__kernel_primitive:NN \tracingmacros \tex_tracingmacros:D + \__kernel_primitive:NN \tracingonline \tex_tracingonline:D + \__kernel_primitive:NN \tracingoutput \tex_tracingoutput:D + \__kernel_primitive:NN \tracingpages \tex_tracingpages:D + \__kernel_primitive:NN \tracingparagraphs \tex_tracingparagraphs:D + \__kernel_primitive:NN \tracingrestores \tex_tracingrestores:D + \__kernel_primitive:NN \tracingstats \tex_tracingstats:D + \__kernel_primitive:NN \uccode \tex_uccode:D + \__kernel_primitive:NN \uchyph \tex_uchyph:D + \__kernel_primitive:NN \underline \tex_underline:D + \__kernel_primitive:NN \unhbox \tex_unhbox:D + \__kernel_primitive:NN \unhcopy \tex_unhcopy:D + \__kernel_primitive:NN \unkern \tex_unkern:D + \__kernel_primitive:NN \unpenalty \tex_unpenalty:D + \__kernel_primitive:NN \unskip \tex_unskip:D + \__kernel_primitive:NN \unvbox \tex_unvbox:D + \__kernel_primitive:NN \unvcopy \tex_unvcopy:D + \__kernel_primitive:NN \uppercase \tex_uppercase:D + \__kernel_primitive:NN \vadjust \tex_vadjust:D + \__kernel_primitive:NN \valign \tex_valign:D + \__kernel_primitive:NN \vbadness \tex_vbadness:D + \__kernel_primitive:NN \vbox \tex_vbox:D + \__kernel_primitive:NN \vcenter \tex_vcenter:D + \__kernel_primitive:NN \vfil \tex_vfil:D + \__kernel_primitive:NN \vfill \tex_vfill:D + \__kernel_primitive:NN \vfilneg \tex_vfilneg:D + \__kernel_primitive:NN \vfuzz \tex_vfuzz:D + \__kernel_primitive:NN \voffset \tex_voffset:D + \__kernel_primitive:NN \vrule \tex_vrule:D + \__kernel_primitive:NN \vsize \tex_vsize:D + \__kernel_primitive:NN \vskip \tex_vskip:D + \__kernel_primitive:NN \vsplit \tex_vsplit:D + \__kernel_primitive:NN \vss \tex_vss:D + \__kernel_primitive:NN \vtop \tex_vtop:D + \__kernel_primitive:NN \wd \tex_wd:D + \__kernel_primitive:NN \widowpenalty \tex_widowpenalty:D + \__kernel_primitive:NN \write \tex_write:D + \__kernel_primitive:NN \xdef \tex_xdef:D + \__kernel_primitive:NN \xleaders \tex_xleaders:D + \__kernel_primitive:NN \xspaceskip \tex_xspaceskip:D + \__kernel_primitive:NN \year \tex_year:D + \__kernel_primitive:NN \beginL \etex_beginL:D + \__kernel_primitive:NN \beginR \etex_beginR:D + \__kernel_primitive:NN \botmarks \etex_botmarks:D + \__kernel_primitive:NN \clubpenalties \etex_clubpenalties:D + \__kernel_primitive:NN \currentgrouplevel \etex_currentgrouplevel:D + \__kernel_primitive:NN \currentgrouptype \etex_currentgrouptype:D + \__kernel_primitive:NN \currentifbranch \etex_currentifbranch:D + \__kernel_primitive:NN \currentiflevel \etex_currentiflevel:D + \__kernel_primitive:NN \currentiftype \etex_currentiftype:D + \__kernel_primitive:NN \detokenize \etex_detokenize:D + \__kernel_primitive:NN \dimexpr \etex_dimexpr:D + \__kernel_primitive:NN \displaywidowpenalties \etex_displaywidowpenalties:D + \__kernel_primitive:NN \endL \etex_endL:D + \__kernel_primitive:NN \endR \etex_endR:D + \__kernel_primitive:NN \eTeXrevision \etex_eTeXrevision:D + \__kernel_primitive:NN \eTeXversion \etex_eTeXversion:D + \__kernel_primitive:NN \everyeof \etex_everyeof:D + \__kernel_primitive:NN \firstmarks \etex_firstmarks:D + \__kernel_primitive:NN \fontchardp \etex_fontchardp:D + \__kernel_primitive:NN \fontcharht \etex_fontcharht:D + \__kernel_primitive:NN \fontcharic \etex_fontcharic:D + \__kernel_primitive:NN \fontcharwd \etex_fontcharwd:D + \__kernel_primitive:NN \glueexpr \etex_glueexpr:D + \__kernel_primitive:NN \glueshrink \etex_glueshrink:D + \__kernel_primitive:NN \glueshrinkorder \etex_glueshrinkorder:D + \__kernel_primitive:NN \gluestretch \etex_gluestretch:D + \__kernel_primitive:NN \gluestretchorder \etex_gluestretchorder:D + \__kernel_primitive:NN \gluetomu \etex_gluetomu:D + \__kernel_primitive:NN \ifcsname \etex_ifcsname:D + \__kernel_primitive:NN \ifdefined \etex_ifdefined:D + \__kernel_primitive:NN \iffontchar \etex_iffontchar:D + \__kernel_primitive:NN \interactionmode \etex_interactionmode:D + \__kernel_primitive:NN \interlinepenalties \etex_interlinepenalties:D + \__kernel_primitive:NN \lastlinefit \etex_lastlinefit:D + \__kernel_primitive:NN \lastnodetype \etex_lastnodetype:D + \__kernel_primitive:NN \marks \etex_marks:D + \__kernel_primitive:NN \middle \etex_middle:D + \__kernel_primitive:NN \muexpr \etex_muexpr:D + \__kernel_primitive:NN \mutoglue \etex_mutoglue:D + \__kernel_primitive:NN \numexpr \etex_numexpr:D + \__kernel_primitive:NN \pagediscards \etex_pagediscards:D + \__kernel_primitive:NN \parshapedimen \etex_parshapedimen:D + \__kernel_primitive:NN \parshapeindent \etex_parshapeindent:D + \__kernel_primitive:NN \parshapelength \etex_parshapelength:D + \__kernel_primitive:NN \predisplaydirection \etex_predisplaydirection:D + \__kernel_primitive:NN \protected \etex_protected:D + \__kernel_primitive:NN \readline \etex_readline:D + \__kernel_primitive:NN \savinghyphcodes \etex_savinghyphcodes:D + \__kernel_primitive:NN \savingvdiscards \etex_savingvdiscards:D + \__kernel_primitive:NN \scantokens \etex_scantokens:D + \__kernel_primitive:NN \showgroups \etex_showgroups:D + \__kernel_primitive:NN \showifs \etex_showifs:D + \__kernel_primitive:NN \showtokens \etex_showtokens:D + \__kernel_primitive:NN \splitbotmarks \etex_splitbotmarks:D + \__kernel_primitive:NN \splitdiscards \etex_splitdiscards:D + \__kernel_primitive:NN \splitfirstmarks \etex_splitfirstmarks:D + \__kernel_primitive:NN \TeXXeTstate \etex_TeXXeTstate:D + \__kernel_primitive:NN \topmarks \etex_topmarks:D + \__kernel_primitive:NN \tracingassigns \etex_tracingassigns:D + \__kernel_primitive:NN \tracinggroups \etex_tracinggroups:D + \__kernel_primitive:NN \tracingifs \etex_tracingifs:D + \__kernel_primitive:NN \tracingnesting \etex_tracingnesting:D + \__kernel_primitive:NN \tracingscantokens \etex_tracingscantokens:D + \__kernel_primitive:NN \unexpanded \etex_unexpanded:D + \__kernel_primitive:NN \unless \etex_unless:D + \__kernel_primitive:NN \widowpenalties \etex_widowpenalties:D + \__kernel_primitive:NN \pdfcreationdate \pdftex_pdfcreationdate:D + \__kernel_primitive:NN \pdfcolorstack \pdftex_pdfcolorstack:D + \__kernel_primitive:NN \pdfcompresslevel \pdftex_pdfcompresslevel:D + \__kernel_primitive:NN \pdfdecimaldigits \pdftex_pdfdecimaldigits:D + \__kernel_primitive:NN \pdfhorigin \pdftex_pdfhorigin:D + \__kernel_primitive:NN \pdfinfo \pdftex_pdfinfo:D + \__kernel_primitive:NN \pdflastxform \pdftex_pdflastxform:D + \__kernel_primitive:NN \pdfliteral \pdftex_pdfliteral:D + \__kernel_primitive:NN \pdfminorversion \pdftex_pdfminorversion:D + \__kernel_primitive:NN \pdfobjcompresslevel \pdftex_pdfobjcompresslevel:D + \__kernel_primitive:NN \pdfoutput \pdftex_pdfoutput:D + \__kernel_primitive:NN \pdfrefxform \pdftex_pdfrefxform:D + \__kernel_primitive:NN \pdfrestore \pdftex_pdfrestore:D + \__kernel_primitive:NN \pdfsave \pdftex_pdfsave:D + \__kernel_primitive:NN \pdfsetmatrix \pdftex_pdfsetmatrix:D + \__kernel_primitive:NN \pdfpkresolution \pdftex_pdfpkresolution:D + \__kernel_primitive:NN \pdfvorigin \pdftex_pdfvorigin:D + \__kernel_primitive:NN \pdfxform \pdftex_pdfxform:D + \__kernel_primitive:NN \pdfstrcmp \pdftex_strcmp:D + \__kernel_primitive:NN \pdftexrevision \pdftex_pdftexrevision:D + \__kernel_primitive:NN \pdftexversion \pdftex_pdftexversion:D + \__kernel_primitive:NN \XeTeXcharclass \xetex_charclass:D + \__kernel_primitive:NN \XeTeXinterchartokenstate \xetex_interchartokenstate:D + \__kernel_primitive:NN \XeTeXinterchartoks \xetex_interchartoks:D + \__kernel_primitive:NN \XeTeXrevision \xetex_XeTeXrevision:D + \__kernel_primitive:NN \XeTeXversion \xetex_XeTeXversion:D + \__kernel_primitive:NN \catcodetable \luatex_catcodetable:D + \__kernel_primitive:NN \directlua \luatex_directlua:D + \__kernel_primitive:NN \expanded \luatex_expanded:D + \__kernel_primitive:NN \initcatcodetable \luatex_initcatcodetable:D + \__kernel_primitive:NN \latelua \luatex_latelua:D + \__kernel_primitive:NN \luaescapestring \luatex_luaescapestring:D + \__kernel_primitive:NN \luatexrevision \luatex_luatexrevision:D + \__kernel_primitive:NN \luatexversion \luatex_luatexversion:D + \__kernel_primitive:NN \savecatcodetable \luatex_savecatcodetable:D + \__kernel_primitive:NN \Uchar \luatex_Uchar:D + \__kernel_primitive:NN \bodydir \luatex_bodydir:D + \__kernel_primitive:NN \mathdir \luatex_mathdir:D + \__kernel_primitive:NN \pagedir \luatex_pagedir:D + \__kernel_primitive:NN \pardir \luatex_pardir:D + \__kernel_primitive:NN \textdir \luatex_textdir:D \tex_endgroup:D \etex_ifdefined:D \@@end - \tex_let:D \tex_end:D \@@end - \tex_let:D \tex_everydisplay:D \frozen@everydisplay - \tex_let:D \tex_everymath:D \frozen@everymath - \tex_let:D \tex_hyphen:D \@@hyph - \tex_let:D \tex_input:D \@@input - \tex_let:D \tex_italiccorrection:D \@@italiccorr - \tex_let:D \tex_underline:D \@@underline + \tex_let:D \tex_end:D \@@end + \tex_let:D \tex_everydisplay:D \frozen@everydisplay + \tex_let:D \tex_everymath:D \frozen@everymath + \tex_let:D \tex_hyphen:D \@@hyph + \tex_let:D \tex_input:D \@@input + \tex_let:D \tex_italiccorrection:D \@@italiccorr + \tex_let:D \tex_underline:D \@@underline \tex_let:D \luatex_catcodetable:D \luatexcatcodetable \tex_let:D \luatex_initcatcodetable:D \luatexinitcatcodetable \tex_let:D \luatex_latelua:D \luatexlatelua @@ -3067,7 +3075,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3str.dtx 5368 2014-08-24 22:32:57Z bruno $ +\GetIdInfo$Id: l3str.dtx 5545 2015-03-01 21:24:44Z joseph $ {L3 Strings} \cs_new:Npn \str_head:n #1 { @@ -3156,10 +3164,10 @@ } \cs_new:Npn \__str_case:nnTF #1#2#3#4 { \__str_case:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop } -\cs_generate_variant:Nn \str_case:nn { o } -\cs_generate_variant:Nn \str_case:nnT { o } -\cs_generate_variant:Nn \str_case:nnF { o } -\cs_generate_variant:Nn \str_case:nnTF { o } +\cs_generate_variant:Nn \str_case:nn { o , nV , nv } +\cs_generate_variant:Nn \str_case:nnT { o , nV , nv } +\cs_generate_variant:Nn \str_case:nnF { o , nV , nv } +\cs_generate_variant:Nn \str_case:nnTF { o , nV , nv } \cs_new:Npn \__str_case:nw #1#2#3 { \str_if_eq:nnTF {#1} {#2} @@ -3195,32 +3203,49 @@ { \__str_case_x:nw {#1} } } \cs_new_eq:NN \__str_case_end:nw \__prg_case_end:nw -\cs_new:Npn \str_fold_case:n #1 +\cs_new:Npn \str_fold_case:n #1 { \__str_change_case:nn {#1} { fold } } +\cs_new:Npn \str_lower_case:n #1 { \__str_change_case:nn {#1} { lower } } +\cs_new:Npn \str_upper_case:n #1 { \__str_change_case:nn {#1} { upper } } +\cs_generate_variant:Nn \str_lower_case:n { f } +\cs_generate_variant:Nn \str_upper_case:n { f } +\cs_new:Npn \__str_change_case:nn #1 { - \exp_after:wN \__str_fold_auxi:w \tl_to_str:n {#1} - { ~ \c_empty_tl } \__str_fold_end:w ? ~ + \exp_after:wN \__str_change_case_aux:nn \exp_after:wN + { \tl_to_str:n {#1} } } -\cs_new:Npn \__str_fold_auxi:w #1 ~ +\cs_new:Npn \__str_change_case_aux:nn #1#2 { - \__str_fold_auxii:N #1 { ~ \c_space_tl } - \__str_fold_auxi:w + \__str_change_case_loop:nw {#2} #1 \q_recursion_tail \q_recursion_stop } -\cs_new:Npn \__str_fold_auxii:N #1 +\cs_new:Npn \__str_change_case_loop:nw #1#2 \q_recursion_stop { - \exp_after:wN \__str_fold_auxiii:NNNNNNNN - \int_use:N \__int_eval:w 1000000 + `#1 \__int_eval_end: #1 + \tl_if_head_is_space:nTF {#2} + { \__str_change_case_space:n } + { \__str_change_case_char:nN } + {#1} #2 \q_recursion_stop } -\cs_new:Npn \__str_fold_auxiii:NNNNNNNN #1#2#3#4#5#6#7#8 +\use:x + { \cs_new:Npn \exp_not:N \__str_change_case_space:n ##1 \c_space_tl } { - \exp_args:NNv \str_case_x:nnF #8 - { c__str_fold_ #6 _X_ #7 _tl } + \c_space_tl + \__str_change_case_loop:nw {#1} + } +\cs_new:Npn \__str_change_case_char:nN #1#2 + { + \quark_if_recursion_tail_stop:N #2 + \exp_args:Nf \tl_to_str:n { - #8 - \exp_after:wN \use_none:n #8 + \exp_after:wN \__str_change_case_char:NNNNNNNNn + \int_use:N \__int_eval:w 1000000 + `#2 \__int_eval_end: #2 {#1} } - \__str_fold_auxii:N + \__str_change_case_loop:nw {#1} + } +\cs_new:Npn \__str_change_case_char:NNNNNNNNn #1#2#3#4#5#6#7#8#9 + { + \str_case:nvF #8 + { c__unicode_ #9 _ #6 _X_ #7 _tl } + { #8 } } -\cs_new:Npn \__str_fold_end:w ? #1 \__str_fold_auxi:w { } \cs_new_eq:NN \str_case:nnn \str_case:nnF \cs_new_eq:NN \str_case:onn \str_case:onF \cs_new_eq:NN \str_case_x:nnn \str_case_x:nnF @@ -3784,7 +3809,7 @@ \seq_new:N \l_tmpb_seq \seq_new:N \g_tmpa_seq \seq_new:N \g_tmpb_seq -%% File: l3int.dtx Copyright (C) 1990-2014 The LaTeX3 Project +%% File: l3int.dtx Copyright (C) 1990-2015 The 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 @@ -3816,7 +3841,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3int.dtx 5421 2014-09-14 07:52:58Z joseph $ +\GetIdInfo$Id: l3int.dtx 5529 2015-02-21 16:17:50Z joseph $ {L3 Integers} \cs_new_eq:NN \__int_value:w \tex_number:D \cs_new_eq:NN \__int_eval:w \etex_numexpr:D @@ -6694,7 +6719,7 @@ \cs_generate_variant:Nn \prop_show:N { c } \cs_new_eq:NN \prop_get:Nn \prop_item:Nn \cs_new_eq:NN \prop_get:cn \prop_item:cn -%% File: l3msg.dtx Copyright (C) 2009-2014 The LaTeX3 Project +%% File: l3msg.dtx Copyright (C) 2009-2015 The 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 @@ -6726,7 +6751,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3msg.dtx 5358 2014-08-24 09:19:52Z bruno $ +\GetIdInfo$Id: l3msg.dtx 5537 2015-02-26 21:25:23Z joseph $ {L3 Messages} \tl_new:N \l__msg_internal_tl \tl_const:Nn \c__msg_text_prefix_tl { msg~text~>~ } @@ -7254,8 +7279,8 @@ { Control~sequence~#1~undefined. } { \c__msg_coding_error_text_tl - LaTeX~has~been~asked~to~use~a~command~#1,~but~this~has~not~ - been~defined~yet. + LaTeX~has~been~asked~to~use~a~control~sequence~'#1':\\ + this~has~not~been~defined~yet. } \__msg_kernel_new:nnnn { kernel } { empty-search-pattern } { Empty~search~pattern. } @@ -15974,7 +15999,7 @@ %% %% ----------------------------------------------------------------------- %% -\GetIdInfo$Id: l3candidates.dtx 5523 2015-02-12 22:10:34Z joseph $ +\GetIdInfo$Id: l3candidates.dtx 5544 2015-03-01 18:30:00Z joseph $ {L3 Experimental additions to l3kernel} \group_begin: \tex_lccode:D `? = `: \scan_stop: @@ -17018,9 +17043,6 @@ #1 #2 \l__tl_internal_a_tl } } -\cs_generate_variant:Nn \str_case:nnF { nV , nv } -\cs_generate_variant:Nn \str_case:nnTF { nv } -\cs_generate_variant:Nn \tl_if_blank:nTF { f } \cs_generate_variant:Nn \tl_if_head_eq_catcode:nNTF { o } \cs_new_nopar:Npn \tl_lower_case:n { \__tl_change_case:nnn { lower } { } } \cs_new_nopar:Npn \tl_upper_case:n { \__tl_change_case:nnn { upper } { } } @@ -17030,8 +17052,18 @@ \cs_new_nopar:Npn \tl_mixed_case:nn { \__tl_mixed_case:nn } \cs_new:Npn \__tl_change_case:nnn #1#2#3 { - \__tl_change_case_loop:wnn #3 - \q_recursion_tail \q_recursion_stop {#1} {#2} + \etex_unexpanded:D \exp_after:wN + { + \tex_romannumeral:D + \__tl_change_case_aux:nnn {#1} {#2} {#3} + } + } +\cs_new:Npn \__tl_change_case_aux:nnn #1#2#3 + { + \group_align_safe_begin: + \__tl_change_case_loop:wnn + #3 \q_recursion_tail \q_recursion_stop {#1} {#2} + \__tl_change_case_result:n { } } \cs_new:Npn \__tl_change_case_loop:wnn #1 \q_recursion_stop { @@ -17044,105 +17076,130 @@ } #1 \q_recursion_stop } +\cs_new:Npn \__tl_change_case_output:nwn #1#2 \__tl_change_case_result:n #3 + { #2 \__tl_change_case_result:n { #3 #1 } } +\cs_generate_variant:Nn \__tl_change_case_output:nwn { V , o , f } +\cs_new:Npn \__tl_change_case_end:wn #1 \__tl_change_case_result:n #2 + { + \group_align_safe_end: + \c_zero + #2 + } +\cs_new:Npn \__tl_change_case_group:nwnn #1#2 \q_recursion_stop #3#4 + { + \__tl_change_case_output:own + { + \exp_after:wN + { + \tex_romannumeral:D + \__tl_change_case_aux:nnn {#3} {#4} {#1} + } + } + \__tl_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4} + } +\exp_last_unbraced:NNo \cs_new:Npn \__tl_change_case_space:wnn \c_space_tl + { + \__tl_change_case_output:nwn { ~ } + \__tl_change_case_loop:wnn + } \cs_new:Npn \__tl_change_case_N_type:Nwnn #1#2 \q_recursion_stop { - \quark_if_recursion_tail_stop_do:Nn #1 { \use_none:nnn } - \exp_after:wN \__tl_change_case_N_type:NNN + \quark_if_recursion_tail_stop_do:Nn #1 + { \__tl_change_case_end:wn } + \exp_after:wN \__tl_change_case_N_type:NNNnnn \exp_after:wN #1 \l_tl_case_change_math_tl \q_recursion_tail ? \q_recursion_stop {#2} } -\cs_new:Npn \__tl_change_case_N_type:NNN #1#2#3 +\cs_new:Npn \__tl_change_case_N_type:NNNnnn #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #2 - { \__tl_change_case_N_type:Nnnn #1 } + { \__tl_change_case_N_type:Nnnn #1 } \token_if_eq_meaning:NNTF #1 #2 { \use_i_delimit_by_q_recursion_stop:nw { - \__tl_change_case_math:NNNn #1 #3 - \__tl_change_case_loop:wnn + \__tl_change_case_math:NNNnnn + #1 #3 \__tl_change_case_loop:wnn } } - { \__tl_change_case_N_type:NNN #1 } + { \__tl_change_case_N_type:NNNnnn #1 } } -\cs_new:Npn \__tl_change_case_N_type:Nnnn #1#2#3#4 +\cs_new:Npn \__tl_change_case_math:NNNnnn #1#2#3#4 { - \token_if_cs:NTF #1 - { - \__tl_change_case_cs:Nnnn #1 {#3} - { } - { \__tl_change_case_cs:N #1 } - } - { - \cs_if_exist_use:cF { __tl_change_case_ #3 _ #4 :Nnn } - { \use_iii:nnn } - #1 {#2} - { - \use:c { __tl_change_case_ #3 _ sigma:Nnn } #1 {#2} - { - \exp_after:wN \__tl_change_case_char:NNNNNNNNn - \int_use:N \__int_eval:w 1000000 + `#1 \__int_eval_end: - #1 {#3} - } - } - } - \__tl_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4} + \__tl_change_case_output:nwn {#1} + \__tl_change_case_math_loop:wNNnn #4 \q_recursion_stop #2 #3 } -\cs_new:Npn \__tl_change_case_group:nwnn #1#2 \q_recursion_stop #3#4 - { - { - \__tl_change_case_loop:wnn #1 - \q_recursion_tail \q_recursion_stop {#3} {#4} - } - \__tl_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4} - } -\exp_last_unbraced:NNo \cs_new:Npn \__tl_change_case_space:wnn \c_space_tl - { - \c_space_tl - \__tl_change_case_loop:wnn - } -\cs_new:Npn \__tl_change_case_char:NNNNNNNNn #1#2#3#4#5#6#7#8#9 - { - \str_case:nvF #8 - { c__tl_ #9 _ #6 _X_ #7 _tl } - { \exp_not:n {#8} } - } -\cs_new:Npn \__tl_change_case_math:NNNn #1#2#3#4 - { - \exp_not:n {#1} - \__tl_change_case_math_loop:wNN #4 \q_recursion_stop #2 #3 - } -\cs_new:Npn \__tl_change_case_math_loop:wNN #1 \q_recursion_stop +\cs_new:Npn \__tl_change_case_math_loop:wNNnn #1 \q_recursion_stop { \tl_if_head_is_N_type:nTF {#1} - { \__tl_change_case_math:NwNN } + { \__tl_change_case_math:NwNNnn } { \tl_if_head_is_group:nTF {#1} - { \__tl_change_case_math_group:nwNN } - { \__tl_change_case_math_space:wNN } + { \__tl_change_case_math_group:nwNNnn } + { \__tl_change_case_math_space:wNNnn } } #1 \q_recursion_stop } -\cs_new:Npn \__tl_change_case_math:NwNN #1#2 \q_recursion_stop #3#4 +\cs_new:Npn \__tl_change_case_math:NwNNnn #1#2 \q_recursion_stop #3#4 { \token_if_eq_meaning:NNTF \q_recursion_tail #1 - { #4 \q_recursion_tail \q_recursion_stop } + { \__tl_change_case_end:wn } { - \exp_not:n {#1} + \__tl_change_case_output:nwn {#1} \token_if_eq_meaning:NNTF #1 #3 { #4 #2 \q_recursion_stop } - { \__tl_change_case_math_loop:wNN #2 \q_recursion_stop #3#4 } + { \__tl_change_case_math_loop:wNNnn #2 \q_recursion_stop #3#4 } } } -\cs_new:Npn \__tl_change_case_math_group:nwNN #1#2 \q_recursion_stop +\cs_new:Npn \__tl_change_case_math_group:nwNNnn #1#2 \q_recursion_stop { - { \exp_not:n {#1} } - \__tl_change_case_math_loop:wNN #2 \q_recursion_stop + \__tl_change_case_output:nwn { {#1} } + \__tl_change_case_math_loop:wNNnn #2 \q_recursion_stop } -\exp_last_unbraced:NNo \cs_new:Npn \__tl_change_case_math_space:wNN \c_space_tl +\exp_last_unbraced:NNo + \cs_new:Npn \__tl_change_case_math_space:wNNnn \c_space_tl { - \c_space_tl - \__tl_change_case_math_loop:wNN + \__tl_change_case_output:nwn { ~ } + \__tl_change_case_math_loop:wNNnn + } +\cs_new:Npn \__tl_change_case_N_type:Nnnn #1#2#3#4 + { + \token_if_cs:NTF #1 + { + \__tl_change_case_cs:Nnnn #1 {#3} + { } + { \__tl_change_case_cs:N #1 } + } + { \__tl_change_case_char:Nnn #1 {#3} {#4} } + \__tl_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4} + } +\cs_new:Npn \__tl_change_case_char:Nnn #1#2#3 + { + \cs_if_exist_use:cF { __tl_change_case_ #2 _ #3 :Nnw } + { \use_ii:nn } + #1 + { + \use:c { __tl_change_case_ #2 _ sigma:Nnw } #1 + { \__tl_change_case_char:Nn #1 {#2} } + } + } +\cs_new:Npn \__tl_change_case_char:Nn #1#2 + { + \__tl_change_case_output:fwn + { + \str_case:nvF #1 { c__unicode_ #2 _exceptions_tl } + { + \exp_after:wN \__tl_change_case_char:NNNNNNNNn + \int_use:N \__int_eval:w 1000000 + `#1 \__int_eval_end: + #1 {#2} + } + } + } +\cs_new:Npn \__tl_change_case_char:NNNNNNNNn #1#2#3#4#5#6#7#8#9 + { + \str_case:nvF #8 + { c__unicode_ #9 _ #6 _X_ #7 _tl } + { \exp_stop_f: #8 } } \cs_new:Npn \__tl_change_case_cs:Nnnn #1#2 { @@ -17155,17 +17212,17 @@ { \__tl_change_case_cs_type:Nnnnn #2 { latin } {#3} } { \str_if_eq_x:nnTF - { \__tl_change_case_cs_three:w #1 \q_nil } + { \__tl_change_case_cs_three:NNNw #1 \q_nil } { \str_if_eq:nnTF {#3} { lower } { CYR } { cyr } } { \__tl_change_case_cs_cyr:NnNNNNw #2 {#3} #1 \q_stop } { \str_if_eq_x:nnTF - { \__tl_change_case_cs_three:w #1 \q_nil } + { \__tl_change_case_cs_three:NNNw #1 \q_nil } { acc } { \__tl_change_case_cs_type:Nnnnn #2 { acc } {#3} } { \str_if_eq_x:nnTF - { \__tl_change_case_cs_four:w #1 \q_nil } + { \__tl_change_case_cs_four:NNNNw #1 \q_nil } { text } { \__tl_change_case_cs_type:Nnnnn #2 { greek } {#3} } { \__tl_change_case_cs_type:Nnnnn #2 { misc } {#3} } @@ -17173,13 +17230,8 @@ } } } -\cs_new:Npn \__tl_change_case_cs_three:w #1#2#3#4 \q_nil { #1#2#3 } -\cs_new:Npn \__tl_change_case_cs_four:w #1#2#3#4#5 \q_nil { #1#2#3#4 } -\cs_new:Npn \__tl_change_case_cs_type:Nnnnn #1#2#3 - { - \str_case:nvTF #1 - { c__tl_change_case_ #2 _ #3 _ tl } - } +\cs_new:Npn \__tl_change_case_cs_three:NNNw #1#2#3#4 \q_nil { #1#2#3 } +\cs_new:Npn \__tl_change_case_cs_four:NNNNw #1#2#3#4#5 \q_nil { #1#2#3#4 } \cs_new:Npn \__tl_change_case_cs_cyr:NnNNNNw #1#2#3#4#5#6#7 \q_stop { \__tl_change_case_cs_type:Nnnnn #1 @@ -17197,6 +17249,24 @@ } } } +\cs_new:Npn \__tl_change_case_cs_type:Nnnnn #1#2#3 + { + \exp_args:Nf \__tl_change_case_cs_type:nnn + { + \str_case:nvF #1 + { c__tl_change_case_ #2 _ #3 _ tl } + { \exp_stop_f: } + } + } +\cs_new:Npn \__tl_change_case_cs_type:nnn #1#2#3 + { + \tl_if_blank:nTF {#1} + {#3} + { + \__tl_change_case_output:nwn {#1} + #2 + } + } \cs_new:Npn \__tl_change_case_cs:N #1 { \exp_after:wN \__tl_change_case_cs:NN @@ -17206,7 +17276,10 @@ \cs_new:Npn \__tl_change_case_cs:NN #1#2 { \quark_if_recursion_tail_stop_do:Nn #2 - { \__tl_change_case_cs_expand:N #1 } + { + \__tl_change_case_cs_expand:Nnw #1 + { \__tl_change_case_output:nwn {#1} } + } \str_if_eq:nnTF {#1} {#2} { \use_i_delimit_by_q_recursion_stop:nw @@ -17216,10 +17289,10 @@ } \cs_new:Npn \__tl_change_case_cs:NNn #1#2#3 { - \exp_not:n { #1 {#3} } + \__tl_change_case_output:nwn { #1 {#3} } #2 } -\cs_new:Npn \__tl_change_case_cs_expand:N #1 +\cs_new:Npn \__tl_change_case_cs_expand:Nnw #1#2 { \bool_if:nTF { @@ -17228,31 +17301,32 @@ && ! \token_if_protected_long_macro_p:N #1 } { \__tl_change_case_cs_expand:NN #1 } - { \exp_not:n {#1} } + { #2 } } \cs_new:Npn \__tl_change_case_cs_expand:NN #1#2 { \exp_after:wN #2 #1 } -\cs_new:Npn \__tl_change_case_lower_sigma:Nnn #1#2 +\cs_new:Npn \__tl_change_case_cs_expand:NNnw #1#2#3 + { \__tl_change_case_cs_expand:Nnw #2 {#3} #1 } +\cs_new:Npn \__tl_change_case_lower_sigma:Nnw #1#2#3#4 \q_recursion_stop { \int_compare:nNnTF { `#1 } = { "03A3 } { - \tl_if_head_is_N_type:nTF {#2} - { \__tl_change_case_lower_sigma:Nw #2 \q_recursion_stop } - { - \tl_if_head_is_group:nTF {#2} - { \c__tl_std_sigma_tl } - { \c__tl_final_sigma_tl } - } + \__tl_change_case_output:fwn + { \__tl_change_case_lower_sigma:w #4 \q_recursion_stop } } + {#2} + #3 #4 \q_recursion_stop + } +\cs_new:Npn \__tl_change_case_lower_sigma:w #1 \q_recursion_stop + { + \tl_if_head_is_N_type:nTF {#1} + { \__tl_change_case_lower_sigma:Nw #1 \q_recursion_stop } + { \c__unicode_final_sigma_tl } } \cs_new:Npn \__tl_change_case_lower_sigma:Nw #1#2 \q_recursion_stop { \token_if_cs:NTF #1 - { - \token_if_eq_meaning:NNTF #1 \q_recursion_tail - { \c__tl_final_sigma_tl } - { \c__tl_std_sigma_tl } - } + { \c__unicode_final_sigma_tl } { \exp_after:wN \__tl_change_case_lower_sigma_loop:NN \exp_after:wN #1 \l_tl_case_change_after_final_sigma_tl @@ -17261,18 +17335,160 @@ } \cs_new:Npn \__tl_change_case_lower_sigma_loop:NN #1#2 { - \quark_if_recursion_tail_stop_do:nn {#2} - { \c__tl_std_sigma_tl } + \quark_if_recursion_tail_stop_do:Nn #2 + { \c__unicode_std_sigma_tl } \int_compare:nNnT { `#1 } = { `#2 } - { \use_i_delimit_by_q_recursion_stop:nw { \c__tl_final_sigma_tl } } + { \use_i_delimit_by_q_recursion_stop:nw { \c__unicode_final_sigma_tl } } \__tl_change_case_lower_sigma_loop:NN #1 } -\cs_new_eq:NN \__tl_change_case_upper_sigma:Nnn \use_iii:nnn -\cs_new_eq:NN \__tl_change_case_mixed_sigma:Nnn \use_iii:nnn +\cs_new_eq:NN \__tl_change_case_upper_sigma:Nnw \use_ii:nn +\cs_new:Npn \__tl_change_case_lower_tr:Nnw #1#2 + { + \int_compare:nNnTF { `#1 } = { "0049 } + { \__tl_change_case_lower_tr_auxi:Nw } + { + \int_compare:nNnTF { `#1 } = { "0130 } + { \__tl_change_case_output:nwn { i } } + {#2} + } + } +\cs_new:Npn \__tl_change_case_lower_tr_auxi:Nw #1#2 \q_recursion_stop + { + \tl_if_head_is_N_type:nTF {#2} + { \__tl_change_case_lower_tr_auxii:Nw #2 \q_recursion_stop } + { \__tl_change_case_output:Vwn \c__unicode_dotless_i_tl } + #1 #2 \q_recursion_stop + } +\cs_new:Npn \__tl_change_case_lower_tr_auxii:Nw #1#2 \q_recursion_stop + { + \bool_if:nTF + { + \token_if_cs_p:N #1 + || ! ( \int_compare_p:nNn { `#1 } = { "0307 } ) + } + { \__tl_change_case_output:Vwn \c__unicode_dotless_i_tl } + { + \__tl_change_case_output:nwn { i } + \use_i:nn + } + } +\cs_new:Npn \__tl_change_case_upper_tr:Nnw #1#2 + { + \int_compare:nNnTF { `#1 } = { "0069 } + { \__tl_change_case_output:Vwn \c__unicode_dotted_I_tl } + {#2} + } +\cs_new_eq:NN \__tl_change_case_lower_az:Nnw \__tl_change_case_lower_tr:Nnw +\cs_new_eq:NN \__tl_change_case_upper_az:Nnw \__tl_change_case_upper_tr:Nnw +\cs_new:Npn \__tl_change_case_lower_lt:Nnw #1 + { + \exp_args:Nf \__tl_change_case_lower_lt:nNnw + { \str_case:nVF #1 \c__unicode_accents_lt_tl \exp_stop_f: } + #1 + } +\cs_new:Npn \__tl_change_case_lower_lt:nNnw #1#2 + { + \tl_if_blank:nTF {#1} + { + \exp_args:Nf \__tl_change_case_lower_lt:nnw + { + \int_case:nnF {`#2} + { + { "0049 } i + { "004A } j + { "012E } \c__unicode_i_ogonek_tl + } + \exp_stop_f: + } + } + { + \__tl_change_case_output:nwn {#1} + \use_none:n + } + } +\cs_new:Npn \__tl_change_case_lower_lt:nnw #1#2 + { + \tl_if_blank:nTF {#1} + {#2} + { + \__tl_change_case_output:nwn {#1} + \__tl_change_case_lower_lt:Nw + } + } +\cs_new:Npn \__tl_change_case_lower_lt:Nw #1#2 \q_recursion_stop + { + \tl_if_head_is_N_type:nT {#2} + { \__tl_change_case_lower_lt:NNw } + #1 #2 \q_recursion_stop + } +\cs_new:Npn \__tl_change_case_lower_lt:NNw #1#2#3 \q_recursion_stop + { + \bool_if:nT + { + ! \token_if_cs_p:N #2 + && + ( + \int_compare_p:nNn { `#2 } = { "0300 } + || \int_compare_p:nNn { `#2 } = { "0301 } + || \int_compare_p:nNn { `#2 } = { "0303 } + ) + } + { \__tl_change_case_output:Vwn \c__unicode_dot_above_tl } + #1 #2#3 \q_recursion_stop + } +\cs_new:Npn \__tl_change_case_upper_lt:Nnw #1 + { + \exp_args:Nf \__tl_change_case_upper_lt:nnw + { + \int_case:nnF {`#1} + { + { "0069 } I + { "006A } J + { "012F } \c__unicode_I_ogonek_tl + } + \exp_stop_f: + } + } +\cs_new:Npn \__tl_change_case_upper_lt:nnw #1#2 + { + \tl_if_blank:nTF {#1} + {#2} + { + \__tl_change_case_output:nwn {#1} + \__tl_change_case_upper_lt:Nw + } + } +\cs_new:Npn \__tl_change_case_upper_lt:Nw #1#2 \q_recursion_stop + { + \tl_if_head_is_N_type:nT {#2} + { \__tl_change_case_upper_lt:NNw } + #1 #2 \q_recursion_stop + } +\cs_new:Npn \__tl_change_case_upper_lt:NNw #1#2#3 \q_recursion_stop + { + \bool_if:nTF + { + ! \token_if_cs_p:N #2 + && \int_compare_p:nNn { `#2 } = { "0307 } + } + { #1 } + { #1 #2 } + #3 \q_recursion_stop + } \cs_new:Npn \__tl_mixed_case:nn #1#2 { - \__tl_mixed_case_loop:wn #2 - \q_recursion_tail \q_recursion_stop {#1} + \etex_unexpanded:D \exp_after:wN + { + \tex_romannumeral:D + \__tl_mixed_case_aux:nn {#1} {#2} + } + } +\cs_new:Npn \__tl_mixed_case_aux:nn #1#2 + { + \group_align_safe_begin: + \__tl_mixed_case_loop:wn + #2 \q_recursion_tail \q_recursion_stop {#1} + \__tl_change_case_result:n { } } \cs_new:Npn \__tl_mixed_case_loop:wn #1 \q_recursion_stop { @@ -17285,14 +17501,32 @@ } #1 \q_recursion_stop } +\cs_new:Npn \__tl_mixed_case_group:nwn #1#2 \q_recursion_stop #3 + { + \__tl_change_case_output:own + { + \exp_after:wN + { + \tex_romannumeral:D + \__tl_mixed_case_aux:nn {#3} {#1} + } + } + \__tl_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3} + } +\exp_last_unbraced:NNo \cs_new:Npn \__tl_mixed_case_space:wn \c_space_tl + { + \__tl_change_case_output:nwn { ~ } + \__tl_mixed_case_loop:wn + } \cs_new:Npn \__tl_mixed_case_N_type:Nwn #1#2 \q_recursion_stop { - \quark_if_recursion_tail_stop_do:Nn #1 { \use_none:nn } - \exp_after:wN \__tl_mixed_case_N_type:NNN + \quark_if_recursion_tail_stop_do:Nn #1 + { \__tl_change_case_end:wn } + \exp_after:wN \__tl_mixed_case_N_type:NNNnn \exp_after:wN #1 \l_tl_case_change_math_tl \q_recursion_tail ? \q_recursion_stop {#2} } -\cs_new:Npn \__tl_mixed_case_N_type:NNN #1#2#3 +\cs_new:Npn \__tl_mixed_case_N_type:NNNnn #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #2 { \__tl_mixed_case_N_type:Nnn #1 } @@ -17300,11 +17534,11 @@ { \use_i_delimit_by_q_recursion_stop:nw { - \__tl_change_case_math:NNNn #1 #3 - \__tl_mixed_case_loop:wn + \__tl_change_case_math:NNNnnn + #1 #3 \__tl_mixed_case_loop:wn } } - { \__tl_mixed_case_N_type:NNN #1 } + { \__tl_mixed_case_N_type:NNNnn #1 } } \cs_new:Npn \__tl_mixed_case_N_type:Nnn #1#2#3 { @@ -17321,177 +17555,89 @@ } } { - \cs_if_exist_use:cF { __tl_change_case_mixed_ #3 :Nnn } - { - \cs_if_exist_use:cF { __tl_change_case_upper_ #3 :Nnn } - { \use_iii:nnn } - } - #1 {#2} - { - \exp_after:wN \__tl_mixed_case_skip:NNn - \exp_after:wN #1 \l_tl_mixed_case_ignore_tl - \q_recursion_tail \q_recursion_stop - { - \str_case:nVF #1 \c__tl_mixed_exceptions_tl - { - \exp_after:wN \__tl_change_case_char:NNNNNNNNn - \int_use:N - \__int_eval:w 1000000 + `#1 \__int_eval_end: - #1 { upper } - } - } - } + \__tl_mixed_case_char:Nn #1 {#3} \__tl_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3} } } -\cs_new:Npn \__tl_mixed_case_skip:NNn #1#2 +\cs_new:Npn \__tl_mixed_case_char:Nn #1#2 { - \quark_if_recursion_tail_stop_do:nn {#2} { \use:n } - \int_compare:nNnT { `#1 } = { `#2 } + \cs_if_exist_use:cF { __tl_change_case_mixed_ #2 :Nnw } { - \use_i_delimit_by_q_recursion_stop:nw - { - #1 - \__tl_mixed_case_skip_tidy:nNwn - } + \cs_if_exist_use:cF { __tl_change_case_upper_ #2 :Nnw } + { \use_ii:nn } } - \__tl_mixed_case_skip:NNn #1 - } -\cs_new:Npn \__tl_mixed_case_skip_tidy:nNwn #1#2#3 \q_recursion_stop #4 - { - \__tl_mixed_case_loop:wn #3 \q_recursion_stop - } -\cs_new:Npn \__tl_mixed_case_group:nwn #1#2 \q_recursion_stop #3 - { - \tl_if_blank:fTF {#1} - { { } \__tl_mixed_case_loop:wn #2 \q_recursion_stop {#3} } - { - { - \__tl_mixed_case_loop:wn #1 - \q_recursion_tail \q_recursion_stop {#3} - } - \__tl_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3} - } - } -\exp_last_unbraced:NNo \cs_new:Npn \__tl_mixed_case_space:wn \c_space_tl - { - \c_space_tl - \__tl_mixed_case_loop:wn + #1 + { \__tl_mixed_case_skip:N #1 } } -\cs_new:Npn \__tl_change_case_lower_tr:Nnn #1#2#3 +\cs_new:Npn \__tl_mixed_case_skip:N #1 { - \int_compare:nNnTF { `#1 } = { "0049 } - { - \tl_if_head_is_N_type:nTF {#2} - { \__tl_change_case_lower_tr:Nw #2 \q_recursion_stop } - { \c__tl_dotless_i_tl } - } - { - \int_compare:nNnTF { `#1 } = { "0130 } - { i } - {#3} - } + \exp_after:wN \__tl_mixed_case_skip:NN + \exp_after:wN #1 \l_tl_mixed_case_ignore_tl + \q_recursion_tail \q_recursion_stop } -\cs_new_nopar:Npn \__tl_change_case_lower_az:Nnn - { \__tl_change_case_lower_tr:Nnn } -\cs_new:Npn \__tl_change_case_lower_tr:Nw #1#2 \q_recursion_stop +\cs_new:Npn \__tl_mixed_case_skip:NN #1#2 { - \bool_if:nTF - { - \token_if_cs_p:N #1 - || ! ( \int_compare_p:nNn { `#1 } = { "0307 } ) - } - { \c__tl_dotless_i_tl } + \quark_if_recursion_tail_stop_do:nn {#2} { - i - \use_i:nn + \exp_args:Nf \__tl_mixed_case_char:nN + { \str_case:nVF #1 \c__unicode_mixed_exceptions_tl \exp_stop_f: } + #1 } - } -\cs_new:Npn \__tl_change_case_upper_tr:Nnn #1#2#3 - { - \int_compare:nNnTF { `#1 } = { "0069 } - { \c__tl_dotted_I_tl } - {#3} - } -\cs_new_nopar:Npn \__tl_change_case_upper_az:Nnn - { \__tl_change_case_upper_tr:Nnn } -\cs_new:Npn \__tl_change_case_lower_lt:Nnn #1#2#3 - { - \str_case:nVF #1 \c__tl_accents_lt_tl + \int_compare:nNnT { `#1 } = { `#2 } { - #3 - \bool_if:nT - { - \int_compare_p:nNn { `#1 } = { "0049 } - || \int_compare_p:nNn { `#1 } = { "004A } - || \int_compare_p:nNn { `#1 } = { "012E } - } + \use_i_delimit_by_q_recursion_stop:nw { - \tl_if_head_is_N_type:nT {#2} - { \__tl_change_case_lower_lt:Nw #2 \q_recursion_stop } + \__tl_change_case_output:nwn {#1} + \__tl_mixed_case_skip_tidy:Nwn } } + \__tl_mixed_case_skip:NN #1 } -\cs_new:Npn \__tl_change_case_lower_lt:Nw #1#2 \q_recursion_stop +\cs_new:Npn \__tl_mixed_case_skip_tidy:Nwn #1#2 \q_recursion_stop #3 { - \bool_if:nT - { - ! ( \token_if_cs_p:N #1 ) - && - ( - \int_compare_p:nNn { `#1 } = { "0300 } - || \int_compare_p:nNn { `#1 } = { "0301 } - || \int_compare_p:nNn { `#1 } = { "0303 } - ) - } - { \c__tl_dot_above_tl } + \__tl_mixed_case_loop:wn #2 \q_recursion_stop } -\cs_new:Npn \__tl_change_case_upper_lt:Nnn #1#2#3 +\cs_new:Npn \__tl_mixed_case_char:nN #1#2 { - #3 - \bool_if:nT - { - \tl_if_head_is_N_type_p:n {#2} - && - ( - \int_compare_p:nNn { `#1 } = { "0069 } - || \int_compare_p:nNn { `#1 } = { "006A } - || \int_compare_p:nNn { `#1 } = { "012F } - ) - } - { \__tl_change_case_upper_lt:Nw #2 \q_recursion_stop } + \tl_if_blank:nTF {#1} + { \__tl_change_case_char:Nn #2 { upper } } + { \__tl_change_case_output:nwn {#1} } } -\cs_new:Npn \__tl_change_case_upper_lt:Nw #1#2 \q_recursion_stop +\cs_new:Npn \__tl_change_case_mixed_nl:Nnw #1 { - \bool_if:nT + \bool_if:nTF { - ! ( \token_if_cs_p:N #1 ) - && - \int_compare_p:nNn { `#1 } = { "0307 } + \int_compare_p:nNn { `#1 } = { `i } + || \int_compare_p:nNn { `#1 } = { `I } } - { \use_i:nn } - } -\cs_new:Npn \__tl_change_case_mixed_nl:Nnn #1#2 - { - \int_compare:nNnTF { `#1 } = { `i } { - I - \tl_if_head_is_N_type:nT {#2} - { \__tl_change_case_mixed_nl:Nw #2 \q_recursion_stop } + \__tl_change_case_output:nwn { I } + \__tl_change_case_mixed_nl:Nw } } \cs_new:Npn \__tl_change_case_mixed_nl:Nw #1#2 \q_recursion_stop { - \bool_if:nT + \tl_if_head_is_N_type:nT {#2} + { \__tl_change_case_mixed_nl:NNw } + #1 #2 \q_recursion_stop + } +\cs_new:Npn \__tl_change_case_mixed_nl:NNw #1#2#3 \q_recursion_stop + { + \bool_if:nTF { - ! ( \token_if_cs_p:N #1 ) + ! ( \token_if_cs_p:N #2 ) && - \int_compare_p:nNn { `#1 } = { `j } + ( + \int_compare_p:nNn { `#2 } = { `j } + || \int_compare_p:nNn { `#2 } = { `J } + ) } { - J - \use_i:nn + \__tl_change_case_output:nwn { J } + #1 } + { #1 #2 } + #3 \q_recursion_stop } \tl_new:N \l_tl_case_change_math_tl \tl_set:Nn \l_tl_case_change_math_tl @@ -17534,14 +17680,14 @@ \cs_set:Npn \__tl_change_case_map:NN #1#2 { \quark_if_recursion_tail_stop:N #1 - \exp_not:N #1 \exp_not:n { { \exp_not:n {#2} } } + \exp_not:N #1 \exp_not:n { { \exp_stop_f: #2 } } \__tl_change_case_map:NN } \cs_set:Npn \__tl_change_case_map:NNN #1#2#3 { \str_if_eq:nnT {#1} {#2} { \use_none_delimit_by_q_recursion_stop:w } - \exp_not:N #3 \exp_not:n { { \exp_not:n {#2} } } + \exp_not:N #3 \exp_not:n { { \exp_stop_f: #2 } } \__tl_change_case_map:NNN #1 } \__tl_change_case_setup:nnnn @@ -17723,47 +17869,47 @@ { \textsigma } \tl_const:Nn \c__tl_change_case_acc_upper_tl { - \accdasia { \exp_not:n { \LGR@accdropped } } - \accdasiaoxia { \exp_not:n { \LGR@hiatus } } - \accdasiavaria { \exp_not:n { \LGR@accdropped } } - \accdasiaperispomeni { \exp_not:n { \LGR@accdropped } } - \accpsili { \exp_not:n { \LGR@hiatus } } - \accpsilioxia { \exp_not:n { \LGR@hiatus } } - \accpsilivaria { \exp_not:n { \LGR@hiatus } } - \accpsiliperispomeni { \exp_not:n { \LGR@accdropped } } - \acctonos { \exp_not:n { \LGR@hiatus } } - \accvaria { \exp_not:n { \LGR@accdropped } } - \accdialytikatonos { \exp_not:n { \LGR@accDialytika } } - \accdialytikavaria { \exp_not:n { \LGR@accDialytika } } - \accdialytikaperispomeni { \exp_not:n { \LGR@accDialytika } } - \accperispomeni { \exp_not:n { \LGR@accdropped } } + \accdasia { \exp_stop_f: \LGR@accdropped } + \accdasiaoxia { \exp_stop_f: \LGR@hiatus } + \accdasiavaria { \exp_stop_f: \LGR@accdropped } + \accdasiaperispomeni { \exp_stop_f: \LGR@accdropped } + \accpsili { \exp_stop_f: \LGR@hiatus } + \accpsilioxia { \exp_stop_f: \LGR@hiatus } + \accpsilivaria { \exp_stop_f: \LGR@hiatus } + \accpsiliperispomeni { \exp_stop_f: \LGR@accdropped } + \acctonos { \exp_stop_f: \LGR@hiatus } + \accvaria { \exp_stop_f: \LGR@accdropped } + \accdialytikatonos { \exp_stop_f: \LGR@accDialytika } + \accdialytikavaria { \exp_stop_f: \LGR@accDialytika } + \accdialytikaperispomeni { \exp_stop_f: \LGR@accDialytika } + \accperispomeni { \exp_stop_f: \LGR@accdropped } } \tl_const:Nn \c__tl_change_case_acc_lower_tl { } \tl_const:Nn \c__tl_change_case_misc_upper_tl { - \ypogegrammeni { \exp_not:n { \prosgegrammeni } } - \abreve { \exp_not:n { \Abreve } } - \acircumflex { \exp_not:n { \Acircumflex } } - \ecircumflex { \exp_not:n { \Ecircumflex } } - \ocircumflex { \exp_not:n { \Ocircumflex } } - \ohorn { \exp_not:n { \Ohorn } } - \uhorn { \exp_not:n { \Uhorn } } + \ypogegrammeni { \exp_stop_f: \prosgegrammeni } + \abreve { \exp_stop_f: \Abreve } + \acircumflex { \exp_stop_f: \Acircumflex } + \ecircumflex { \exp_stop_f: \Ecircumflex } + \ocircumflex { \exp_stop_f: \Ocircumflex } + \ohorn { \exp_stop_f: \Ohorn } + \uhorn { \exp_stop_f: \Uhorn } } \tl_const:Nn \c__tl_change_case_misc_lower_tl { - \prosgegrammeni { \exp_not:n { \ypogegrammeni } } - \Abreve { \exp_not:n { \abreve } } - \Acircumflex { \exp_not:n { \acircumflex } } - \Ecircumflex { \exp_not:n { \ecircumflex } } - \Ocircumflex { \exp_not:n { \ocircumflex } } - \Ohorn { \exp_not:n { \ohorn } } - \Uhorn { \exp_not:n { \uhorn } } - \ABREVE { \exp_not:n { \abreve } } - \ACIRCUMFLEX { \exp_not:n { \acircumflex } } - \ECIRCUMFLEX { \exp_not:n { \ecircumflex } } - \OCIRCUMFLEX { \exp_not:n { \ocircumflex } } - \OHORN { \exp_not:n { \ohorn } } - \UHORN { \exp_not:n { \uhorn } } + \prosgegrammeni { \exp_stop_f: \ypogegrammeni } + \Abreve { \exp_stop_f: \abreve } + \Acircumflex { \exp_stop_f: \acircumflex } + \Ecircumflex { \exp_stop_f: \ecircumflex } + \Ocircumflex { \exp_stop_f: \ocircumflex } + \Ohorn { \exp_stop_f: \ohorn } + \Uhorn { \exp_stop_f: \uhorn } + \ABREVE { \exp_stop_f: \abreve } + \ACIRCUMFLEX { \exp_stop_f: \acircumflex } + \ECIRCUMFLEX { \exp_stop_f: \ecircumflex } + \OCIRCUMFLEX { \exp_stop_f: \ocircumflex } + \OHORN { \exp_stop_f: \ohorn } + \UHORN { \exp_stop_f: \uhorn } } \group_end: \cs_new_protected:Npn \tl_log:N #1 |