한글의 캣코드가 other라는 것에 착안해서 다음과 같이 만들었습니다.
\cs_new:Npn \lettercolor_emphasize_words:n #1 { \tl_set:Nn \l_tmpa_tl { #1 } \tl_set:Nn \l_tmpb_tl { #1 } \regex_replace_all:nnN { ['":;,.!?(){}\[\]] }{} \l_tmpb_tl % for Latin \exp_args:NNx \regex_set:Nn \l_tmpa_regex { \l_tmpb_tl } \seq_if_in:NxTF \l_lettercolor_words_seq { \str_foldcase:V \l_tmpb_tl } { \regex_replace_once:NnN \l_tmpa_regex { \c{textlc}\cB\{ \0 \cE\} } \l_tmpa_tl }{ % for Hangul \tl_if_head_eq_catcode:oNT { \l_tmpb_tl } \c_catcode_other_token { \seq_map_inline:Nn \l_lettercolor_words_seq { \tl_if_in:NnT \l_tmpa_tl { ##1 } { \regex_replace_once:nnN { ##1 }{ \c{textlc}\cB\{ \0 \cE\} } \l_tmpa_tl } } } } \tl_if_eq:VnF \l_lettercolor_transition_tl { none } { \lettercolor_assign_color: } \l_tmpa_tl\space }
KTUG 한국 텍 사용자 그룹
한글의 캣코드가 other라는 것에 착안해서 다음과 같이 만들었습니다.
\cs_new:Npn \lettercolor_emphasize_words:n #1
{
\tl_set:Nn \l_tmpa_tl { #1 }
\tl_set:Nn \l_tmpb_tl { #1 }
\regex_replace_all:nnN { ['":;,.!?(){}\[\]] }{} \l_tmpb_tl
% for Latin
\exp_args:NNx \regex_set:Nn \l_tmpa_regex { \l_tmpb_tl }
\seq_if_in:NxTF \l_lettercolor_words_seq { \str_foldcase:V \l_tmpb_tl }
{
\regex_replace_once:NnN \l_tmpa_regex { \c{textlc}\cB\{ \0 \cE\} } \l_tmpa_tl
}{ % for Hangul
\tl_if_head_eq_catcode:oNT { \l_tmpb_tl } \c_catcode_other_token
{
\seq_map_inline:Nn \l_lettercolor_words_seq
{
\tl_if_in:NnT \l_tmpa_tl { ##1 }
{
\regex_replace_once:nnN { ##1 }{ \c{textlc}\cB\{ \0 \cE\} } \l_tmpa_tl
}
}
}
}
\tl_if_eq:VnF \l_lettercolor_transition_tl { none }
{
\lettercolor_assign_color:
}
\l_tmpa_tl\space
}