summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-02-14 00:00:07 +0000
committerKarl Berry <karl@freefriends.org>2015-02-14 00:00:07 +0000
commitf771ad279813f9da9d3c76a8236e7ca94207ba28 (patch)
tree4f85df2affad6a2e75cc0c1f09fed7ea7f0f3d6e /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
parent798876c6f2e5e0bce28929bb6fc2a1c3497df469 (diff)
l3kernel (13feb15)
git-svn-id: svn://tug.org/texlive/trunk@36271 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.tex528
1 files changed, 497 insertions, 31 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 4f63da38cfb..a5dccfde3e7 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/01/29}
-\def\ExplFileVersion{5502}
+\def\ExplFileDate{2015/02/13}
+\def\ExplFileVersion{5524}
\begingroup
\def\next{\endgroup}
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -15974,7 +15974,7 @@
%%
%% -----------------------------------------------------------------------
%%
-\GetIdInfo$Id: l3candidates.dtx 5499 2015-01-27 14:33:48Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 5523 2015-02-12 22:10:34Z joseph $
{L3 Experimental additions to l3kernel}
\group_begin:
\tex_lccode:D `? = `: \scan_stop:
@@ -17018,6 +17018,10 @@
#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 } { } }
\cs_new_nopar:Npn \tl_mixed_case:n { \__tl_mixed_case:nn { } }
@@ -17040,11 +17044,35 @@
}
#1 \q_recursion_stop
}
-\cs_new:Npn \__tl_change_case_N_type:Nwnn #1#2 \q_recursion_stop #3#4
+\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
+ \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
+ {
+ \quark_if_recursion_tail_stop_do:Nn #2
+ { \__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_N_type:NNN #1 }
+ }
+\cs_new:Npn \__tl_change_case_N_type:Nnnn #1#2#3#4
{
- \quark_if_recursion_tail_stop_do:Nn #1 { \use_none:nn }
\token_if_cs:NTF #1
- { \exp_not:N #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 }
@@ -17060,10 +17088,13 @@
}
\__tl_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4}
}
-\cs_new:Npn \__tl_change_case_group:nwnn #1#2 \q_recursion_stop
+\cs_new:Npn \__tl_change_case_group:nwnn #1#2 \q_recursion_stop #3#4
{
- { \exp_not:n {#1} }
- \__tl_change_case_loop:wnn #2 \q_recursion_stop
+ {
+ \__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
{
@@ -17072,10 +17103,135 @@
}
\cs_new:Npn \__tl_change_case_char:NNNNNNNNn #1#2#3#4#5#6#7#8#9
{
- \exp_args:NNv \str_case:nnF #8
+ \str_case:nvF #8
{ c__tl_ #9 _ #6 _X_ #7 _tl }
- { \exp_not:N #8 }
+ { \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
+ {
+ \tl_if_head_is_N_type:nTF {#1}
+ { \__tl_change_case_math:NwNN }
+ {
+ \tl_if_head_is_group:nTF {#1}
+ { \__tl_change_case_math_group:nwNN }
+ { \__tl_change_case_math_space:wNN }
+ }
+ #1 \q_recursion_stop
+ }
+\cs_new:Npn \__tl_change_case_math:NwNN #1#2 \q_recursion_stop #3#4
+ {
+ \token_if_eq_meaning:NNTF \q_recursion_tail #1
+ { #4 \q_recursion_tail \q_recursion_stop }
+ {
+ \exp_not:n {#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 }
+ }
}
+\cs_new:Npn \__tl_change_case_math_group:nwNN #1#2 \q_recursion_stop
+ {
+ { \exp_not:n {#1} }
+ \__tl_change_case_math_loop:wNN #2 \q_recursion_stop
+ }
+\exp_last_unbraced:NNo \cs_new:Npn \__tl_change_case_math_space:wNN \c_space_tl
+ {
+ \c_space_tl
+ \__tl_change_case_math_loop:wNN
+ }
+\cs_new:Npn \__tl_change_case_cs:Nnnn #1#2
+ {
+ \exp_args:Nf \__tl_change_case_cs:nNnnn
+ { \cs_to_str:N #1 } #1 {#2}
+ }
+\cs_new:Npn \__tl_change_case_cs:nNnnn #1#2#3
+ {
+ \tl_if_head_eq_catcode:oNTF { \use_none:nnn #1 a a a a } a
+ { \__tl_change_case_cs_type:Nnnnn #2 { latin } {#3} }
+ {
+ \str_if_eq_x:nnTF
+ { \__tl_change_case_cs_three:w #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 }
+ { acc }
+ { \__tl_change_case_cs_type:Nnnnn #2 { acc } {#3} }
+ {
+ \str_if_eq_x:nnTF
+ { \__tl_change_case_cs_four:w #1 \q_nil }
+ { text }
+ { \__tl_change_case_cs_type:Nnnnn #2 { greek } {#3} }
+ { \__tl_change_case_cs_type:Nnnnn #2 { misc } {#3} }
+ }
+ }
+ }
+ }
+\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_cyr:NnNNNNw #1#2#3#4#5#6#7 \q_stop
+ {
+ \__tl_change_case_cs_type:Nnnnn #1
+ { cyrillic }
+ {
+ #2 _
+ \int_to_roman:n
+ {
+ 1 +
+ \int_div_truncate:nn
+ {
+ `#6 - \str_if_eq:nnTF {#2} { lower } { `A } { `a }
+ }
+ { 7 }
+ }
+ }
+ }
+\cs_new:Npn \__tl_change_case_cs:N #1
+ {
+ \exp_after:wN \__tl_change_case_cs:NN
+ \exp_after:wN #1 \l_tl_case_change_exclude_tl
+ \q_recursion_tail \q_recursion_stop
+ }
+\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 }
+ \str_if_eq:nnTF {#1} {#2}
+ {
+ \use_i_delimit_by_q_recursion_stop:nw
+ { \__tl_change_case_cs:NNn #1 }
+ }
+ { \__tl_change_case_cs:NN #1 }
+ }
+\cs_new:Npn \__tl_change_case_cs:NNn #1#2#3
+ {
+ \exp_not:n { #1 {#3} }
+ #2
+ }
+\cs_new:Npn \__tl_change_case_cs_expand:N #1
+ {
+ \bool_if:nTF
+ {
+ \token_if_expandable_p:N #1
+ && ! \token_if_protected_macro_p:N #1
+ && ! \token_if_protected_long_macro_p:N #1
+ }
+ { \__tl_change_case_cs_expand:NN #1 }
+ { \exp_not:n {#1} }
+ }
+\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
{
\int_compare:nNnTF { `#1 } = { "03A3 }
@@ -17098,18 +17254,18 @@
{ \c__tl_std_sigma_tl }
}
{
- \exp_after:wN \__tl_change_case_lower_sigma_loop:Nw
- \exp_after:wN #1 \c__tl_after_final_sigma_clist
- , \q_recursion_tail , \q_recursion_stop
+ \exp_after:wN \__tl_change_case_lower_sigma_loop:NN
+ \exp_after:wN #1 \l_tl_case_change_after_final_sigma_tl
+ \q_recursion_tail \q_recursion_stop
}
}
-\cs_new:Npn \__tl_change_case_lower_sigma_loop:Nw #1#2 ,
+\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 }
- \int_compare:nNnT { `#1 } = { "#2 }
+ \int_compare:nNnT { `#1 } = { `#2 }
{ \use_i_delimit_by_q_recursion_stop:nw { \c__tl_final_sigma_tl } }
- \__tl_change_case_lower_sigma_loop:Nw #1
+ \__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
@@ -17129,11 +17285,41 @@
}
#1 \q_recursion_stop
}
-\cs_new:Npn \__tl_mixed_case_N_type:Nwn #1#2 \q_recursion_stop #3
+\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
+ \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
+ {
+ \quark_if_recursion_tail_stop_do:Nn #2
+ { \__tl_mixed_case_N_type:Nnn #1 }
+ \token_if_eq_meaning:NNTF #1 #2
+ {
+ \use_i_delimit_by_q_recursion_stop:nw
+ {
+ \__tl_change_case_math:NNNn #1 #3
+ \__tl_mixed_case_loop:wn
+ }
+ }
+ { \__tl_mixed_case_N_type:NNN #1 }
+ }
+\cs_new:Npn \__tl_mixed_case_N_type:Nnn #1#2#3
+ {
\token_if_cs:NTF #1
- { \exp_not:N #1 }
+ {
+ \__tl_change_case_cs:Nnnn #1 { upper }
+ {
+ \__tl_change_case_loop:wnn
+ #2 \q_recursion_stop { lower } {#3}
+ }
+ {
+ \__tl_change_case_cs:N #1
+ \__tl_mixed_case_loop:wn #2 \q_recursion_stop {#3}
+ }
+ }
{
\cs_if_exist_use:cF { __tl_change_case_mixed_ #3 :Nnn }
{
@@ -17142,11 +17328,11 @@
}
#1 {#2}
{
- \exp_after:wN \__tl_mixed_case_skip:Nwn \exp_after:wN #1
- \c__tl_mixed_skip_clist , \q_recursion_tail ,
- \q_recursion_stop
+ \exp_after:wN \__tl_mixed_case_skip:NNn
+ \exp_after:wN #1 \l_tl_mixed_case_ignore_tl
+ \q_recursion_tail \q_recursion_stop
{
- \exp_args:NNV \str_case:nnF #1 \c__tl_mixed_exceptions_tl
+ \str_case:nVF #1 \c__tl_mixed_exceptions_tl
{
\exp_after:wN \__tl_change_case_char:NNNNNNNNn
\int_use:N
@@ -17155,13 +17341,13 @@
}
}
}
+ \__tl_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3}
}
- \__tl_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3}
}
-\cs_new:Npn \__tl_mixed_case_skip:Nwn #1#2 ,
+\cs_new:Npn \__tl_mixed_case_skip:NNn #1#2
{
\quark_if_recursion_tail_stop_do:nn {#2} { \use:n }
- \int_compare:nNnT { `#1 } = { "#2 }
+ \int_compare:nNnT { `#1 } = { `#2 }
{
\use_i_delimit_by_q_recursion_stop:nw
{
@@ -17169,16 +17355,23 @@
\__tl_mixed_case_skip_tidy:nNwn
}
}
- \__tl_mixed_case_skip:Nwn #1
+ \__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
+\cs_new:Npn \__tl_mixed_case_group:nwn #1#2 \q_recursion_stop #3
{
- { \exp_not:n {#1} }
- \__tl_change_case_loop:wnn #2 \q_recursion_stop { lower }
+ \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
{
@@ -17224,7 +17417,7 @@
{ \__tl_change_case_upper_tr:Nnn }
\cs_new:Npn \__tl_change_case_lower_lt:Nnn #1#2#3
{
- \exp_args:NNV \str_case:nnF #1 \c__tl_accents_lt_tl
+ \str_case:nVF #1 \c__tl_accents_lt_tl
{
#3
\bool_if:nT
@@ -17300,6 +17493,279 @@
\use_i:nn
}
}
+\tl_new:N \l_tl_case_change_math_tl
+\tl_set:Nn \l_tl_case_change_math_tl
+ { $ $ \( \) }
+\tl_new:N \l_tl_case_change_exclude_tl
+\tl_set:Nn \l_tl_case_change_exclude_tl
+ { \cite \ensuremath \label \ref }
+\tl_new:N \l_tl_case_change_after_final_sigma_tl
+\tl_set:Nx \l_tl_case_change_after_final_sigma_tl
+ { % (
+ ) % [
+ ] % \{
+ \cs_to_str:N \}
+ . : ; ,
+ ! ? ' "
+ }
+\tl_new:N \l_tl_mixed_case_ignore_tl
+\tl_set:Nx \l_tl_mixed_case_ignore_tl
+ {
+ ( % )
+ [ % ]
+ \cs_to_str:N \{ % \}
+ `
+ -
+ }
+\group_begin:
+ \cs_set_protected:Npn \__tl_change_case_setup:nnnn #1#2#3#4
+ {
+ \tl_const:cx { c__tl_change_case_ #1 _upper #2 _tl }
+ {
+ \__tl_change_case_map:NN
+ #3 \q_recursion_tail ? \q_recursion_stop
+ }
+ \tl_const:cx { c__tl_change_case_ #1 _lower #2 _tl }
+ {
+ \__tl_change_case_map:NNN #4
+ #3 \q_recursion_tail ? \q_recursion_stop
+ }
+ }
+ \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} } }
+ \__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} } }
+ \__tl_change_case_map:NNN #1
+ }
+ \__tl_change_case_setup:nnnn
+ { latin }
+ { }
+ {
+ \aa \AA
+ \ae \AE
+ \dh \DH
+ \dj \DJ
+ \l \L
+ \ng \NG
+ \o \O
+ \oe \OE
+ \ss \SS
+ \th \TH
+ \i I
+ \j J
+ }
+ { \i }
+ \__tl_change_case_setup:nnnn
+ { cyrillic }
+ { _i }
+ {
+ \cyra \CYRA
+ \cyrabhch \CYRABHCH
+ \cyrabhchdsc \CYRABHCHDSC
+ \cyrabhdze \CYRABHDZE
+ \cyrabhha \CYRABHHA
+ \cyrae \CYRAE
+ \cyrb \CYRB
+ \cyrbyus \CYRBYUS
+ \cyrc \CYRC
+ \cyrch \CYRCH
+ \cyrchldsc \CYRCHLDSC
+ \cyrchrdsc \CYRCHRDSC
+ \cyrchvcrs \CYRCHVCRS
+ \cyrd \CYRD
+ \cyrdelta \CYRDELTA
+ \cyrdje \CYRDJE
+ \cyrdze \CYRDZE
+ \cyrdzhe \CYRDZHE
+ \cyre \CYRE
+ \cyreps \CYREPS
+ \cyrerev \CYREREV
+ \cyrery \CYRERY
+ \cyrf \CYRF
+ \cyrfita \CYRFITA
+ \cyrg \CYRG
+ \cyrgdsc \CYRGDSC
+ \cyrgdschcrs \CYRGDSCHCRS
+ \cyrghcrs \CYRGHCRS
+ \cyrghk \CYRGHK
+ \cyrgup \CYRGUP
+ }
+ { \q_recursion_tail }
+ \__tl_change_case_setup:nnnn
+ { cyrillic }
+ { _ii }
+ {
+ \cyrh \CYRH
+ \cyrhdsc \CYRHDSC
+ \cyrhhcrs \CYRHHCRS
+ \cyrhhk \CYRHHK
+ \cyrhrdsn \CYRHRDSN
+ \cyri \CYRI
+ \cyrie \CYRIE
+ \cyrii \CYRII
+ \cyrishrt \CYRISHRT
+ \cyrishrtdsc \CYRISHRTDSC
+ \cyrizh \CYRIZH
+ \cyrje \CYRJE
+ \cyrk \CYRK
+ \cyrkbeak \CYRKBEAK
+ \cyrkdsc \CYRKDSC
+ \cyrkhcrs \CYRKHCRS
+ \cyrkhk \CYRKHK
+ \cyrkvcrs \CYRKVCRS
+ \cyrl \CYRL
+ \cyrldsc \CYRLDSC
+ \cyrlhk \CYRLHK
+ \cyrlje \CYRLJE
+ \cyrm \CYRM
+ \cyrmdsc \CYRMDSC
+ \cyrmhk \CYRMHK
+ \cyrn \CYRN
+ \cyrndsc \CYRNDSC
+ \cyrng \CYRNG
+ \cyrnhk \CYRNHK
+ \cyrnje \CYRNJE
+ \cyrnlhk \CYRNLHK
+ }
+ { \q_recursion_tail }
+ \__tl_change_case_setup:nnnn
+ { cyrillic }
+ { _iii }
+ {
+ \cyro \CYRO
+ \cyrotld \CYROTLD
+ \cyrp \CYRP
+ \cyrphk \CYRPHK
+ \cyrq \CYRQ
+ \cyrr \CYRR
+ \cyrrdsc \CYRRDSC
+ \cyrrhk \CYRRHK
+ \cyrrtick \CYRRTICK
+ \cyrs \CYRS
+ \cyrsacrs \CYRSACRS
+ \cyrschwa \CYRSCHWA
+ \cyrsdsc \CYRSDSC
+ \cyrsemisftsn \CYRSEMISFTSN
+ \cyrsftsn \CYRSFTSN
+ \cyrsh \CYRSH
+ \cyrshch \CYRSHCH
+ \cyrshha \CYRSHHA
+ \cyrt \CYRT
+ \cyrtdsc \CYRTDSC
+ \cyrtetse \CYRTETSE
+ \cyrtshe \CYRTSHE
+ \cyru \CYRU
+ \cyrushrt \CYRUSHRT
+ }
+ { \q_recursion_tail }
+ \__tl_change_case_setup:nnnn
+ { cyrillic }
+ { _iv }
+ {
+ \cyrv \CYRV
+ \cyrw \CYRW
+ \cyry \CYRY
+ \cyrya \CYRYA
+ \cyryat \CYRYAT
+ \cyryhcrs \CYRYHCRS
+ \cyryi \CYRYI
+ \cyryo \CYRYO
+ \cyryu \CYRYU
+ \cyrz \CYRZ
+ \cyrzdsc \CYRZDSC
+ \cyrzh \CYRZH
+ \cyrzhdsc \CYRZHDSC
+ }
+ { \q_recursion_tail }
+ \__tl_change_case_setup:nnnn
+ { greek }
+ { }
+ {
+ \textalpha \textAlpha
+ \textbeta \textBeta
+ \textchi \textChi
+ \textdelta \textDelta
+ \textdigamma \textDigamma
+ \texteta \textEta
+ \textepsilon \textEpsilon
+ \textgamma \textGamma
+ \textiota \textIota
+ \textkappa \textKappa
+ \textlambda \textLambda
+ \textmu \textMu
+ \textnu \textNu
+ \textomega \textOmega
+ \textomicron \textOmicron
+ \textphi \textPhi
+ \textpi \textPi
+ \textpsi \textPsi
+ \textqoppa \textQoppa
+ \textrho \textRho
+ \textsampi \textSampi
+ \textautosigma \textSigma
+ \textstigma \textStigma
+ \texttheta \textTheta
+ \texttau \textTau
+ \textupsilon \textUpsilon
+ \textxi \textXi
+ \textzeta \textZeta
+ \textsigma \textSigma
+ \textvarsigma \textSigma
+ \textvarstigma \textStigma
+ }
+ { \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 } }
+ }
+ \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 } }
+ }
+ \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 } }
+ }
+\group_end:
\cs_new_protected:Npn \tl_log:N #1
{
\tl_if_exist:NTF #1