KTUG 한국 텍 사용자 그룹

Menu

KTUG :: Q&A 마당 › l3regex 정규식 패턴으로 매크로를 사용할 때 \c를 사용해야 되는 이유?

Zeta | 2023.11.22 12:35:32 | 메뉴 건너뛰기 쓰기

l3regex는 정규식 매칭할 때 매크로 확장을 하지 않고 "그대로" 비교한다고 알고 있습니다.

1. 그런데 아래 MWE에서 \SetDelim{\in}이 아니라 \c{in}으로 해야하는 이유가 무엇인가요?

2. 나아가서, \SetDelim이 그냥 \SetDelim{\in}으로 받게 하려면 (내부적으로 매크로들을 \c{_}으로 변환하게) 어떻게 해야할까요? (가능하다면)

\documentclass{article}
\ExplSyntaxOn
\tl_new:N \l__delim_tl
\regex_new:N \l__delim_regex
\cs_generate_variant:Nn \regex_set:Nn { NV }

\NewDocumentCommand \SetDelim { m }
  {
    \tl_set:Nn \l__delim_tl { #1 }
  }
\NewDocumentCommand \SplitText { m }
  {
    \regex_set:NV \l__delim_regex \l__delim_tl
    \regex_split:NnN \l__delim_regex { #1 } \l_tmpa_seq
    \seq_map_inline:Nn \l_tmpa_seq { \fbox{##1} }
  }
\ExplSyntaxOff
\begin{document}
\SetDelim{\c{in}}
\SplitText{a\in A}
\end{document}

댓글 [7]

댓글 쓰기

목록

KTUG 한국 텍 사용자 그룹